可以把整个大模型训练想象成“从零开始培养一个通才学生,再把他定向培养成听话的专业人才”。整个过程主要分三大步:预训练(学语言)→ 微调(学做事)→ 对齐(学规矩)。
核心机制:大模型(本质是深度学习模型)的工作方式,不是真正“理解”文字,而是根据上下文预测下一个词的概率。比如看到“我正在烹饪”,它预测下一个词最可能是“食物”而非“飞机”。
数字视角:所有文字先被切成小碎片(叫Token),每个碎片变成一个数字编号。模型内部有海量参数(可以理解为无数个旋钮),通过调整这些旋钮,让预测越来越准。
三大训练阶段:从“通才”到“专家”再到“乖孩子”
第一阶段:预训练——疯狂“刷题”打基础
- 做什么:喂给模型海量文本(几乎整个互联网的公开内容),让它不断做“填空/续写”题,即根据前文预测下一个词。这个阶段极其烧钱,万亿参数级别的模型硬件成本就要5亿到20亿美元。
- 产出:一个“通才”基础模型。它语言流畅、知识丰富,但不听话——你问它问题,它可能像复读机一样给你续写一段,而不是回答问题。
预训练后面的步骤都可以叫后训练,包含监督微调、奖励建模、强化学习等子环节,还可以按微调,对齐来分。RLHF 的全称是 Reinforcement Learning from Human Feedback(基于人类反馈的强化学习)是一套完整的对齐框架,它刚好覆盖了“奖励建模+强化学习”这两个子环节;而DPO是轻量化的对齐算法,它跳过了单独训练奖励模型的步骤,直接用偏好数据通过损失函数完成对齐优化,不需要显式的强化学习流程。简单来说:强化学习是实现对齐的核心技术手段之一。
第二阶段:微调——教它“听懂指令”
- 做什么:用大量“问题-标准答案”的配对数据(比如“把这段话总结一下→总结好的文字”),继续训练模型,让它学会遵循指令、完成任务、多轮对话。
- 数字/生活视角:相当于给通才学生做“专项培训”。全参数微调效果最好但最贵;现在最常用LoRA(低秩适配),只训练少量新增参数,显存占用降低80%,效果接近全量微调,是中小团队和企业的首选。
第三阶段:对齐——教它“守规矩”
- 为什么需要:模型可能“自信地胡说”(幻觉),或输出有害内容。对齐就是塑造模型的“价值观”,让它更有用、更诚实、更无害。
- 主流方法:
- RLHF(人类反馈强化学习):这是经典路线。先让模型生成多个答案,由人类标注员对答案好坏排序,据此训练一个“奖励模型”来给答案打分,最后用PPO(近端策略优化)算法调整模型,让它倾向输出高分的答案。
- DPO(直接偏好优化):更简单的替代方案,不需要训练奖励模型,直接用“好回答 vs 差回答”的数据对训练模型,成本低、上手快,中小团队常用。
一些概念:
损失函数:模型进步的“老师”和“导航”
损失值是个数字,比如0.5或100。训练的目标就是让这个数字越来越小,直到接近0。模型通过梯度下降算法,沿着“损失变小”的方向一步步调整参数。
常见类型:
均方误差(MSE):用于预测连续数值(如房价)。它把误差平方,大错误会被放大地惩罚。
交叉熵(Cross-Entropy):用于分类问题(如识别猫狗)。它不仅惩罚“答错”,还惩罚“答对但不够自信”——模型给出0.51概率判断正确,和给出0.99概率判断正确,损失不一样,迫使模型给出又正确又有把握的答案。
强化学习:就像玩游戏。你采取一个策略,得分高就强化这个策略,得分低就调整。它不需要大量标注好的“标准答案”,而是通过自己不断尝试和反馈(奖励信号)来进步。
一句话总结全过程:预训练让模型“会说话”,微调让模型“会办事”,对齐让模型“守规矩”,损失函数是全程的“老师”,强化学习则是“自我进化”的高级手段。整个训练就是“预测-算损失-调参数”的循环,直到损失足够小,模型就“毕业”了。
- 泛化能力:是大模型最核心的底层能力,指模型把训练数据中学到的通用规律,迁移到从未见过的未知新数据上的能力,本质是模型对数据分布的外推能力,而非单纯记忆训练样本。
- 过拟合:是泛化能力的反面典型,指模型过度学习了训练集里的噪声、局部特例,把这些偶然特征当成了普遍规律,最终表现为训练集上误差极低、得分虚高,但在测试集和真实场景中性能断崖式下跌。
- 迁移学习:是提升泛化能力的核心工程手段,它通过“知识迁移”机制,把源域(比如大规模通用语料预训练的模型)学到的通用特征,迁移到目标域(比如医疗、方言这类小众垂直场景),用极少的目标域数据就能快速适配新任务。在医疗问诊、工业控制这类标注数据稀缺的场景,基于通用大模型做LoRA微调,就是典型的迁移学习应用。它既不会让模型遗忘预训练阶段学到的通用知识,又能快速适配垂直场景的专业术语,避免小数据集全量微调带来的严重过拟合,最终让模型在真实业务场景下保持稳定的泛化性能。
联邦学习:不是把数据汇总到一起训练,而是“数据不动,模型动”:把初始模型下发给各参与方,各方用本地数据训练,只上传模型参数或梯度,由中央服务器聚合后更新全局模型,再下发进行下一轮迭代。核心价值:既打破了“数据孤岛”,让多方协作提升模型效果,又因为原始数据不出本地,从根源上规避了隐私泄露风险,符合《个人信息保护法》等合规要求。
KV Cache
Transformer 模型生成文字时,每生成一个新 token,都要和之前所有的 token 做注意力计算。如果不缓存,每次都得把历史 token 的 Key 和 Value 重新算一遍,非常浪费。KV Cache 的做法是把算过的 Key 和 Value 存起来,新 token 来了直接复用,只算自己的 Query 就行。
这样做的好处很直接:
- 推理提速:把自注意力计算的复杂度从 O(n²) 降到 O(n),生成速度明显变快。
- 省显存:虽然 KV Cache 本身也占显存,但比起反复重算,整体上还是划算得多,尤其长文本场景。
不过 KV Cache 也有自己的麻烦——占显存。序列越长、模型越大,缓存体积就越夸张,有时候甚至比模型本身还占地方。 所以业界又搞出了一堆优化方案:
- MQA / GQA:让多个注意力头共享同一组 Key/Value,减少缓存量。
- MLA:先把 Key/Value 压缩成低维向量再缓存,用的时候解压,显存占用能再降一截,DeepSeek 用的就是这套。
- 滑动窗口注意力:只缓存最近 N 个 token 的 K/V,超出窗口的直接丢掉,控制缓存大小。
简单说,KV Cache 是 LLM 推理加速的基石,后续的 MQA、GQA、MLA 都是在解决它“太占显存”这个副作用。
需要我帮你整理 KV Cache 优化方案的适用场景对比吗?能帮你快速匹配最适合当前模型的优化方式。