AI · 机器学习

如何微调小型语言模型(SLM):实用指南

Raphael TingRaphael Ting 2026 年 3 月 10 日 8 分钟阅读

过去,微调意味着昂贵的 GPU 集群与数百万条样本。如今,一份精心准备、仅数千条样本的数据集,加上一块消费级 GPU,就能把一个小型语言模型(SLM)适配到你的具体任务上。这正是我们在 Code Language Hub 用来交付生产级智能体的工作流程。

什么才算「小型」语言模型?

我们说的「小型」大致指 0.5B–8B 参数量 的模型 —— 例如 Llama 3 8B、Qwen 2.5 7B、Gemma 2、Mistral 7B 或 Phi-3。这些模型足够大,能真正派上用场;又足够小,可用参数高效方法微调,并以低成本、低延迟运行,甚至可本地部署。

对多数企业而言,一个专注于 单一 任务的 SLM —— 例如给工单分类、从发票中抽取字段、以固定语气回答问题 —— 在该任务上会胜过庞大的通用模型,而运行成本只是其零头。

第 1 步 —— 先判断你是否真的需要微调

微调适合用来教「行为」:一致的格式、语气或任务。它不适合用来注入「会变化的事实」—— 那是检索增强生成(RAG)该做的事。

什么时候用微调……什么时候用 RAG……
你需要一致的风格、语气或输出格式你的知识每周都在变,或必须可溯源引用
任务范围窄且可重复你有庞大且不断增长的文档库
你想要更低延迟 / 更短提示你需要答案可追溯到来源

实践中我们常常两者并用:用微调塑造行为,再用 RAG 提供最新事实。可参阅姊妹文章 RAG 还是微调:何时用哪个

第 2 步 —— 准备数据集(这占了 80% 的工作)

模型质量取决于数据质量。对指令式微调,把每条样本组织成一个消息三元组 —— 系统指令、用户输入、以及理想的助手回复:

# 每行一条样本(JSONL)
{"messages": [
  {"role":"system", "content":"你是 CLH 的客服,请用两句话回答。"},
  {"role":"user", "content":"一个网站项目需要多久?"},
  {"role":"assistant", "content":"多数网站视范围需 3–6 周。我们会在免费咨询后确认时间线。"}
]}

第 3 步 —— 用 LoRA / QLoRA 高效训练

你几乎从不需要更新模型的全部权重。LoRA(低秩适配)在冻结基座模型的同时,只训练一小组适配器权重。QLoRA 再加上 4-bit 量化,使 7B–8B 模型能在单块 16–24GB 显存的 GPU 上从容微调。

第 4 步 —— 用任务本身评估,而非只看 loss

训练 loss 只能说明模型在学「某些东西」,并不能说明模型「好用」。构建一个贴近真实使用、诚实的小型评测集并打分:

第 5 步 —— 部署与监控

用 vLLM、Ollama 或托管端点等推理服务来部署合并后的模型(或基座 + 适配器)。然后闭环:记录真实的输入与输出、标记失败案例,并把它们并入下一版数据集。微调不是一次性的 —— 它是一个循环。

想让我们帮你做?Code Language Hub 端到端设计、微调并部署生产级 AI 智能体。告诉我们你的使用场景 →

关键要点

常见问题解答

什么是小型语言模型(SLM)?

小型语言模型是参数量大致在 0.5B 到 8B 之间、可在普通硬件上微调与部署的语言模型。当你需要低延迟、低成本、本地部署,或一个专精于窄领域的模型时,Llama 3 8B、Qwen 2.5 7B、Phi-3 与 Gemma 等 SLM 非常理想。

我该微调还是用 RAG?

当知识经常变化或必须可引用时用 RAG;当你需要一致的风格、格式或任务行为时用微调。许多生产系统两者并用。

微调一个 SLM 需要多少数据?

用 LoRA 做任务或风格适配时,几百到几千条高质量样本通常就够了。质量与一致性远比数量重要。

正在为你的业务打造 AI 智能体?

数据准备、微调、评估与部署,我们全包 —— 从马来西亚 100% 在线。

开始项目