Skip to content

约 7 分钟阅读

模型训练与调优 ​

聊天助手能回答问题、语音输入法能把话变成字、相册能按“发票”搜出照片,背后都是一个训练好的模型。训练是把大量例子喂给模型、让它的参数一点点调整到“做得对”的过程;调优是在一个现成模型的基础上,用自己的数据让它更适合某个任务。两件事用的是同一套机制,规模却能差上百万倍:从头训练一个 80 亿参数的大语言模型要上百万 GPU 小时,在它上面做一次 LoRA 微调,一张卡几十分钟就能跑完。

这个系列讲主流模型是怎样训练出来、又怎样针对自己的任务调优的,覆盖大语言模型、语音识别与合成、视觉、图文多模态、图像生成,以及检索用的向量与重排模型。读完以后,面对一个“要不要训练、怎么训练”的问题,你应该能回答四件事:这件事该在哪个阶段解决(改提示词、接检索、微调还是根本不该训练);一张卡能不能训、要训多久;训练过程中曲线和评估出了什么问题;以及怎样证明训练后的模型真的更好、没有在别处变坏。

先读哪里 ​

不需要会推导反向传播,也不需要先学 Transformer。读过站内的模型训练入门(从运费预测讲最小训练循环)最好,没读过也能跟上:第 02 篇会把“损失、梯度、参数更新”放到语言模型上重新走一遍。公式出现时都给一组可以手算的数字。

模型训练与调优系列的五个部分:训练的共同底座,大语言模型,语音模型,视觉、多模态与向量模型,评估与工程

全系列沿用大模型推理优化里的公司内部资料助手。推理系列讲怎样把它部署上线,这里讲团队想让它更好用时,哪些问题要靠训练解决:回答要按公司口径并注明制度条款,不知道就说不知道;不能自信地乱承诺;算加班费要算对;语音提问时要听准“OKR”“钉钉审批”这类内部词;员工上传的报销单截图要看得懂;检索要找对条款。也会讲清楚哪些问题不该靠训练:经常变化的制度用检索,实时状态用工具,从零预训练对绝大多数团队都不现实。

计算类例子统一用 Llama-3.1-8B(约 80 亿参数)和 80 GB 显存的 NVIDIA H100,与推理系列的数字可以直接对照;动手实践用能在笔记本上跑的 Qwen2.5-0.5B-Instruct。

五个部分 ​

第一部分:训练的共同底座。 不管训练哪种模型,都绕不开同样的几笔账:一步训练里发生了什么,显存花在哪里,算力要多少,曲线怎么看。这一部分把它们算清楚,后面各类模型都会用到。

文章回答的问题
01. 训练全景一个模型从数据到上线经过哪些阶段?什么时候该训练,什么时候不该?
02. 一步训练发生了什么前向、损失、反向、优化器各做什么?batch、step、epoch、学习率调度、混合精度是什么?
03. 训练显存账本权重、梯度、优化器状态、激活各占多少?8B 模型全参、LoRA、QLoRA 各要多少显存?
04. 算力账与规模定律训练要多少卡多少天?参数和数据该怎样配比,为什么小模型要“多读书”?
05. 读懂训练曲线loss 和验证 loss 怎么看?过拟合、发散、loss 尖峰、NaN 怎样排查?

第二部分:大语言模型。 资料助手的主线。先看基础模型怎样从海量文本里预训练出来、怎样拆到上千张卡上,再看团队真正会做的后训练:SFT 教口径,LoRA 降成本,偏好对齐教它分辨好坏,强化学习教它把题算对,蒸馏把能力搬到更小的模型上。实践篇在笔记本上把 LoRA 微调完整跑一遍。

文章回答的问题
06. 预训练数据与分词语料从哪来,怎样过滤、去重、配比?分词器为什么影响成本?什么是评测污染?
07. 预训练预测下一个 token 怎样变成通用能力?长上下文怎样扩展?继续预训练什么时候值得?
08. 分布式训练数据并行、ZeRO/FSDP、张量并行、流水线并行各拆了什么?
09. 指令微调 SFT数据格式、对话模板、只对回答算损失;怎样避免学坏和遗忘?
10. LoRA 与 QLoRA为什么只训练千分之五的参数就够?秩和目标模块怎么选?什么时候该全参?
实践:用 LoRA 微调资料助手从基线评估、训练、对比评估到合并适配器,在笔记本上实际跑一遍,结果说明了什么?
11. 偏好对齐RLHF 的奖励模型和 KL 约束做什么?DPO 怎样绕过奖励模型?偏好数据怎样标?
12. 强化学习与推理模型可验证奖励和 GRPO 怎样训练出会推理的模型?奖励为什么会被钻空子?
13. 蒸馏、继续预训练与模型合并怎样把大模型的能力迁到小模型?几个微调版本能不能合成一个?

第三部分:语音模型。 语音提问要先听准,回答要用统一的声音播报。语音模型的难点在于声音和文字的长度对不上,训练方法也因此和文本模型很不一样。

文章回答的问题
14. 语音识别怎样训练声音怎样变成特征?CTC、Transducer、注意力编解码怎样解决对齐?Whisper 靠什么数据?
15. 语音识别微调内部术语、口音、噪声怎样处理?热词和微调怎样分工?CER 之外还要看什么?
16. 语音合成怎样训练经典的声学模型加声码器,和基于语音 token 的大模型 TTS 有什么不同?声音授权怎样处理?

第四部分:视觉、多模态与向量模型。 报销单截图要看得懂,宣传海报要有统一风格,检索要找对条款。这几类模型大多从一个预训练好的骨干出发,调优的关键在数据和损失函数。

文章回答的问题
17. 视觉模型迁移学习怎样用少量图片训出分类器?数据增强什么时候会改坏标签?ViT 和自监督是什么?
18. 图文模型与多模态大模型CLIP 怎样把图和文对齐?多模态大模型分几个阶段训练?怎样微调它读表单截图?
19. 扩散模型从噪声里画图是怎样训练的?LoRA、DreamBooth 怎样学一种风格?版权和肖像怎样把关?
20. 向量与重排模型检索找错条款时,怎样用日志构造训练对、挖难负例,微调向量和重排模型?

第五部分:评估与工程。 训练只是中间一步。怎样证明新模型更好且没有变坏,怎样选框架、保存检查点、估算成本、检查许可证,决定了一次实验能不能变成可交付的模型。

文章回答的问题
21. 评估基准分数为什么不够?业务评测集怎样建?用大模型当评委有哪些偏差?要多少题才能看出差距?
22. 训练工程与选型各类训练框架分别适合什么场景?怎样断点续训、保证可复现?成本和许可证怎样核对?

两种读法 ​

第一次系统学习训练,按顺序读第 1—5 篇,再读第 9、10 篇并跟着实践篇跑一遍,然后读第 21 篇的评估。这几篇读完,你已经能判断一个微调需求值不值得做、一张卡够不够,并完成一次有对照的实验。

带着具体任务来的,可以直接跳:想让大模型按固定口径回答,看第 9、10 篇和实践篇;回答自信但不靠谱,看第 11 篇;数学和计算类问题算不对,看第 12 篇;想要更小更便宜的模型,看第 13 篇;语音识别听不准术语,看第 15 篇;检索找错资料,看第 20 篇;训练曲线看不懂或者 loss 变成 NaN,看第 5 篇;显存不够,看第 3、8 篇。

模型训练好以后怎样部署、怎样让很多人同时用,是大模型推理优化系列的内容;FP32、BF16、FP8 这些数值格式本身的原理,在模型数值精度专题里从零讲起。

接下来从第 01 篇:训练全景开始,看一个模型从一堆数据变成能上线的服务,中间经过了哪几个阶段,每个阶段又是谁在做。

别急,先让缓存热一下。