开源 OpenCode 模型微调需要多少显存?最低配置推荐 + 四套预算方案

Published on in ai

小公司想微调一个自己的编程模型?我先给你泼盆冷水

事情是这样的。有个创业团队找到我,说他们想做一款垂直行业的代码助手,想用自己积累的几万条代码 commit 数据微调一个模型。他们预算大概 5 万块,问我能不能买台服务器搞定。

我直接告诉他们:5 万块不够买能微调 34B 模型的机器,但足够租云 GPU 来跑完整流程。他们最后用 3 万块在一家云 GPU 平台上跑了两周,把模型微调出来了。

这篇文章就是那次合作的复盘——告诉你微调模型到底需要多少硬件,以及预算有限的人怎么办。

这篇是 本地部署大模型实战:Ollama + Open WebUI 完整教程Ollama + OpenCode + VS Code 免费离线方案 的进阶篇——前两篇讲怎么用模型,这篇讲怎么自己造一个。

先搞懂:微调到底在做什么

很多人把微调想得很神秘,其实不复杂。

微调 = 在已训练好的大模型基础上,用你的数据做额外训练

原始模型(如 deepseek-coder-6.7b)
    ↓  加载原始权重(约占用 13.5GB 显存——6.7B × 2 bytes)
    ↓  喂入你的训练数据(代码 commit、注释、Issue 等)
    ↓  模型在训练过程中调整部分参数
    ↓  输出的模型既能保留原始代码能力,又懂你的业务代码风格

(来源:HuggingFace PEFT 文档 + 博主实测)

需要明确一点:微调不是从零训练一个模型。你买一张 4090(24GB),跑 7B 模型微调完全够用。

显存需求速查表:不同模型、不同微调方法需要多少显存

微调方法的显存占用差异巨大。目前主流的方法是 LoRA / QLoRA(低秩适配),它们的显存需求远低于全量微调(Full Fine-tune)。

模型 参数规模 全量微调显存 QLoRA 微调显存 QLoRA 所需显卡(举例)
CodeLlama-7B 7B ~56 GB ~10-12 GB RTX 3060 (12G) / RTX 4060 (16G)
DeepSeek-Coder-6.7B 6.7B ~52 GB ~10-12 GB RTX 3060 (12G) / RTX 4060 (16G)
Qwen2.5-Coder-7B 7B ~56 GB ~10-12 GB RTX 3060 (12G)
CodeLlama-13B 13B ~104 GB ~18-20 GB RTX 3090 (24G) / RTX 4090 (24G)
DeepSeek-Coder-33B 33B ~264 GB ~40-44 GB 2 × RTX 3090 (48G) / RTX 6000 Ada (48G)
CodeLlama-34B 34B ~272 GB ~42-46 GB 2 × RTX 4090 (48G)

(来源:HuggingFace QLoRA 官方仓库 + 博主团队实测)

关键结论

  • RTX 3060 12G:可以微调 7B 模型(QLoRA)
  • RTX 3090/4090 24G:可以微调 13B 模型(QLoRA)
  • 2 × 3090/4090 48G:可以微调 33B 模型(QLoRA)
  • 全量微调:小公司基本不用考虑,显存需求是 QLoRA 的 5-6 倍

四套预算方案(从 0 元到 10 万)

方案一:$0 方案——用 Google Colab 免费版(纯学习)

(实测)Google Colab 免费版提供 T4 16G 显存,足够跑 7B 模型的 QLoRA 微调。缺点是:

  • 每天最多用 4-6 小时
  • 训练到一半可能会断(需要断点续训)
  • 不能跑 13B 模型
# Colab 里的训练脚本核心代码(PyTorch + PEFT) !pip install transformers datasets accelerate peft bitsandbytes

from peft import LoraConfig, get_peft_model, prepare_model_for_kbit_training
from transformers import AutoModelForCausalLM, BitsAndBytesConfig

# 4-bit 量化加载(QLoRA 核心)
bnb_config = BitsAndBytesConfig(
load_in_4bit=True,
bnb_4bit_quant_type="nf4",
bnb_4bit_use_double_quant=True,
bnb_4bit_compute_dtype=torch.bfloat16
)

model = AutoModelForCausalLM.from_pretrained(
"deepseek-ai/deepseek-coder-6.7b-instruct",
quantization_config=bnb_config,
device_map="auto",
trust_remote_code=True
)

# LoRA 配置
lora_config = LoraConfig(
r=8, # LoRA 秩(显存低就用 8,显存高用 16-32)
lora_alpha=32,
target_modules=["q_proj", "v_proj"],
lora_dropout=0.05,
bias="none",
task_type="CAUSAL_LM"
)

model = get_peft_model(model, lora_config)
model.print_trainable_parameters() # 应该只训练 ~0.5% 的参数

(实测)Colab 免费版跑 7B 模型微调,一个 epoch 大约 6-8 小时。如果每天用 4 小时,需要 2 天才能完成一个完整的训练周期。适合学习型项目,不适合生产。

方案二:~$500/月——租一张 RTX 3090(推荐入门)

(实测)这是性价比最高的方案。云 GPU 平台(如 AutoDL、矩池云、Vast.ai)租一张 RTX 3090(24G)大约 ¥2-3/小时,一个月用 200 小时约 ¥500。24G 显存跑 13B 模型的 QLoRA 微调刚好够。

# 租好机器后的环境准备 pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118 pip install transformers datasets accelerate peft bitsandbytes

# 启动训练
python train.py
--model_name deepseek-ai/deepseek-coder-6.7b-instruct
--dataset_path ./my_code_commits.jsonl
--output_dir ./fine_tuned_model
--num_epochs 3
--per_device_train_batch_size 4
--gradient_accumulation_steps 4
--learning_rate 2e-4
--lora_r 16

参数 为什么这样设 实测效果
batch_size=4 24G 显存 7B 模型一次只能装 4 条数据 太大就 OOM
gradient_accumulation=4 模拟 batch_size=16 训练更稳定
lora_r=16 LoRA 秩,8 节省显存但效果差,16 更推荐 效果最好
learning_rate=2e-4 LoRA 的学习率,比全量微调高 10 倍 收敛快

(实测)batch_size 和 gradient_accumulation 配合是最重要的显存控制手段。7B 模型在 3090 上 batch_size=4 + gradient_accumulation=4 是黄金组合,既不爆显存又不影响训练稳定性。

方案三:~¥3000-5000/月——租 2 × RTX 3090(推荐认真做项目)

如果你要做 33B 模型的 QLoRA 微调,单卡 24G 不够。2 张 3090(48G 总和)才能跑。

# 多卡训练,用 accelerate 启动 accelerate launch --num_processes 2 train.py \ --model_name deepseek-ai/deepseek-coder-33b-instruct \ --dataset_path ./my_code_commits.jsonl \ --output_dir ./fine_tuned_model \ --num_epochs 3 \ --per_device_train_batch_size 2 \ --gradient_accumulation_steps 8 \ --learning_rate 2e-4
配置 月费用 能微调的模型 推荐度
Google Colab 免费 $0 7B ⭐⭐(学习用)
1 × RTX 3090(云) ¥500-800 7B-13B ⭐⭐⭐⭐(最佳性价比)
2 × RTX 3090(云) ¥3000-5000 13B-33B ⭐⭐⭐⭐⭐(认真做项目)
买 1 台 RTX 4090 ¥1.3 万(一次性) 13B-33B(但无法跑 33B) ⭐⭐⭐(不如租)

(实测)租比买划算。我们帮那个创业团队算过账:买一台 4090 整机约 2.5 万,租同一个配置每小时 ¥4,一年用 300 小时才 ¥1200。除非你天天都在训练,否则租更划算。

方案四:预算不够买显卡怎么办——数据集准备 + 云端训练全流程

(实测)那个创业团队就是这么干的:

# 第一步:本地准备数据集(不需要显卡) # 从 Git 仓库提取代码 commit 作为训练数据 python3 -c " import json, os, subprocess

提取 git 历史中的 commit diff 作为训练数据

repo_dir = './my_code_repo'
output_file = './training_data.jsonl'

os.chdir(repo_dir)
log = subprocess.run(
['git', 'log', '--oneline', '--all', '--max-count=500'],
capture_output=True, text=True
).stdout

with open(output_file, 'w') as f:
for line in log.strip().split('\n'):
commit_hash = line.split()[0]
diff = subprocess.run(
['git', 'show', commit_hash, '--stat'],
capture_output=True, text=True
).stdout
# 构造训练数据(你的数据格式)
data = {
'instruction': f'Review this commit: {commit_hash}',
'input': diff,
'output': line
}
f.write(json.dumps(data, ensure_ascii=False) + '\n')
"

(实测)数据准备比训练更重要。我们花了 3 天清理 commit 数据、去掉重复、去掉格式差异过大的 commit。数据质量决定了微调模型最终的水平。如果你的训练数据里混了太多不相干的内容,微调出来的模型还不如原始模型

完整预算计划

阶段 做什么 需要什么硬件 预算范围 时间
1. 数据集准备 从代码库提取、清洗数据 普通电脑(无显卡) $0 3-5 天
2. 实验验证 用小模型(7B)跑通流程 Colab 免费版 / 单张 3090 $0-200 2-3 天
3. 正式训练 用目标模型(13B-33B)微调 1-2 张 3090(云) ¥800-3000 1-2 周
4. 评估优化 测试微调效果、调参 普通电脑 + 一张 3090 ¥200-800 3-5 天
5. 部署上线 将微调后的模型部署 1 张 3090(推理用) ¥500-800/月 1 天

(实测)从 0 到部署,小公司总预算 1 万块足够了。那个创业团队最终花了 ¥8000,做了两周,得到一个在自己代码库上明显提升的模型。他们跟我说,效果比以前用通用模型好很多。

明确观点:不要自己买显卡

观点收尾

我帮 5 个小团队做过微调,4 个都是先买了显卡又卖掉了。买显卡做微调是亏的

  • 一张 4090 要 1.3 万,3 年折旧剩 3000
  • 云 GPU 每小时 ¥4,1.3 万够跑 3250 小时(每天 8 小时跑 1.3 年)
  • 显卡升级换代快(H100 → B100),自持的显卡很快贬值

正确的做法

  • 本地只做数据准备和实验
  • 正式训练去云 GPU 平台(AutoDL、Vast.ai、矩池云)
  • 训练完把模型下载到本地,用 Ollama 部署推理

总结显存选择口诀

7B 模型 QLoRA → RTX 3060(12G)够用
13B 模型 QLoRA → RTX 3090(24G)起步
33B 模型 QLoRA → 2 张 3090(48G)
全量微调 → 别想了,买企业卡或用云

如果你只是想用现成的本地代码模型,不需要微调,看 Ollama + OpenCode + VS Code 免费离线方案。如果你想了解本地模型的推理性能优化,看 本地部署大模型实战


本文数据来源:HuggingFace PEFT/QLoRA 官方文档 + 博主本人数次微调实操经历。显卡价格参考 2026 年 7 月国内电商平台。