LLM 训练我按阶段记:预训练给语言和知识,SFT 给格式,RLHF/DPO 给偏好。数据量级和成本差在哪,比背三个缩写更有用。
Q1: LLM 训练的完整流程是什么?
LLM 的训练不是一步到位的,而是一个多阶段的渐进式能力塑造过程。Andrej Karpathy 在其 “State of GPT” 演讲中将这个流程清晰地划分为四个阶段 [1]:1
预训练 (Pre-training): 学习语言和知识
在海量互联网文本上训练基座模型,让模型学会语言的统计规律、世界知识和基础推理能力。这一步消耗了 95% 以上的训练算力,产出的是一个”会补全文本但不会回答问题”的基座模型。
2
监督微调 (SFT): 学会按指令回答
用高质量的”指令-回答”对微调基座模型,让它学会按人类期望的格式和风格回答问题。这一步把”文本补全机器”变成”对话助手”。
3
奖励模型 + RLHF: 对齐人类偏好
训练奖励模型学习人类对回答质量的排序偏好,再用强化学习(PPO)优化模型输出,使其更符合人类期望——更有帮助、更安全、更诚实。
4
DPO 等新方法: 简化对齐流程
2023-2025 年,DPO(Direct Preference Optimization)等方法跳过了奖励模型训练,直接从偏好数据中优化模型,大幅简化了对齐流程 [2]。
LLM 训练是一个从”学习语言”到”学习做人”的多阶段过程——预训练学知识,SFT 学格式,RLHF/DPO 学偏好。
🚫 没有 SFT 和 RLHF
基座模型像一个读过所有书但从没跟人交流过的学者——它知识渊博,但不会用对话的方式表达,可能答非所问甚至编造信息。你问它”今天天气怎么样”,它可能续写成一首关于天气的诗。
✅ 引入 SFT 和 RLHF
经过 SFT 和 RLHF 训练的模型像一个既博学又善于沟通的顾问——它用清晰的格式回答问题,知道什么该说什么不该说,能根据你的需求给出有用的建议。
Q2: 预训练(Pre-training)—— 基座模型是怎么炼成的?
预训练是 LLM 训练中成本最高、耗时最长的阶段。它的核心任务是让模型在海量文本数据上学习”预测下一个 token”,从而掌握语言规律、世界知识和基础推理能力 [1]。预训练数据的质量与配比
预训练数据不是”越多越好”,数据的质量和配比直接影响模型能力:从 GPT-1 到 GPT-4 的训练演进
Q3: SFT(Supervised Fine-Tuning)—— 让模型学会回答问题
SFT 是 LLM 训练的第二阶段,用高质量的”指令-回答”对微调基座模型,把它从”文本补全机器”变成”对话助手” [1]。前端工程师关注的 SFT 响应格式
SFT 不仅教会模型”回答什么”,还教会它”怎么格式化回答”。对前端工程师来说,以下格式尤为重要:SFT 与预训练的关键区别
Q4: RLHF(Reinforcement Learning from Human Feedback)—— 对齐人类偏好
RLHF 是 LLM 训练的第三阶段,通过人类反馈的强化学习,让模型的输出更符合人类期望——更有帮助、更安全、更诚实 [1] [2]。PPO 算法的核心思想
PPO(Proximal Policy Optimization)是 RLHF 中最常用的强化学习算法:RLHF 需要解决的三个核心挑战
Q5: DPO(Direct Preference Optimization)—— RLHF 的简化版本
DPO 是 2023 年提出的 RLHF 替代方案,它的核心创新是跳过奖励模型训练,直接从偏好数据中优化模型 [2]。2024-2025 年,DPO 及其变体(IPO、KTO、SimPO、ORPO)已成为主流对齐方法。DPO vs RLHF 全面对比
DPO 的变体(2024-2025 年)
Q6: 微调方法(LoRA、QLoRA、全量微调)—— 前端工程师最实用的技能
对于前端工程师来说,从零训练基座模型不现实,但基于开源模型做微调是完全可以落地的。LoRA 和 QLoRA 让消费级 GPU 也能微调大模型 [3]。三种微调方法全面对比
微调数据准备的最佳实践
Q7: 高频面试题
基础梳理
专家视角深度剖析
很多人能背出”预训练 → SFT → RLHF”的流程,但实际更在意的是:每个阶段的设计动机是什么?为什么不能跳过某个阶段?这些权衡对前端工程师意味着什么? 预训练阶段的核心价值不是”让模型知道很多东西”,而是”让模型学会语言的内在结构”。基座模型在预训练后学到的不仅是知识,更是一种”语言直觉”——它知道什么样的句子是通顺的、什么样的推理是合理的。这种能力无法通过 SFT 从零教会——就像你无法通过岗前培训让一个不会中文的人写出流畅的中文文章。 SFT 阶段的核心价值是”格式对齐”而非”知识注入”。很多人的误区是认为 SFT 是在”教模型新知识”——实际上,SFT 的数据量(1-10 万条)远不足以注入新知识。SFT 真正做的是教会模型”按什么格式回答”和”什么场景下该说什么话”。这也是为什么 SFT 数据质量如此重要——一条高质量的示例,能让模型学到一种回答模式。 RLHF/DPO 阶段的核心价值是”价值对齐”——教会模型什么是”好的回答”。这是一个比”格式对齐”更深层的问题。一个好的回答不仅要格式正确,还要准确、安全、有帮助。RLHF 通过人类反馈让模型学会这种”品味”,DPO 则通过偏好对比实现同样的目标 [1] [2]。 对于前端工程师来说,理解这些阶段的实际意义是:当你用 LLM 构建应用时,你需要知道哪些能力来自哪个阶段。模型的知识来自预训练(所以它可能不知道最新的 API),回答格式来自 SFT(所以你可以通过 prompt 调整格式),回答质量来自 RLHF/DPO(所以不同模型的”品味”不同)。🔍 底层源码:LoRA 的矩阵运算
LoRA 的低秩分解是怎么在 Transformer 中实现的?
LoRA 在 Transformer 的 Attention 层中注入低秩适配器(详见 LoRA 论文):
Q8: 满分回答 vs 及格回答
问题:“请描述 LLM 从零到可用的完整训练流程”
及格回答(60-70分):“先预训练,用海量数据训练基座模型。然后 SFT 微调,用高质量数据教模型回答问题。最后 RLHF,用人类反馈优化模型输出。”问题出在:知道流程但不理解每个阶段的设计动机和权衡。 满分回答(90-100分):
“LLM 训练是一个从’学习语言’到’学习做人’的多阶段过程,核心分为四个阶段。预训练阶段在数万亿 tokens 的互联网文本上训练,目标是 next-token prediction,让模型学会语言结构和世界知识。这一步消耗了 95% 以上的训练算力,GPT-3 级别的训练成本约 $4.6M。产出的基座模型会续写文本但不会回答问题。[1]”
“SFT 阶段用 1-10 万条高质量的指令-回答对微调基座模型。关键原则是数据质量远比数量重要——1 万条精心标注的数据效果优于 100 万条低质量数据。SFT 真正做的是’格式对齐’而非’知识注入’,教会模型按人类期望的格式回答问题。[1]”
“RLHF 阶段训练奖励模型学习人类对回答质量的排序偏好,再用 PPO 算法优化策略模型。关键工程细节是 KL 散度约束——防止模型学会’欺骗’奖励模型(Reward Hacking)。2023 年后 DPO 跳过了奖励模型训练,直接从偏好数据优化模型,训练更稳定、成本更低,已成为 2024-2025 年的主流方法。[2]”
“对于前端工程师来说,最实用的技能是 LoRA/QLoRA 微调。LoRA 通过低秩矩阵分解,只训练 0.06% 的参数就能接近全量微调的效果。QLoRA 在此基础上加 4-bit 量化,让 RTX 3090 就能微调 7B 模型。这意味着前端工程师可以在自己的开发机上定制领域模型,比如专门用于前端代码审查的 LLM。[3]“
常见追问
预训练的数据量大概是什么量级?
预训练的数据量大概是什么量级?
答题要点:
用具体数字说明规模,对比不同模型。高分回答:
“GPT-3 的预训练数据是 300B tokens(约 45TB 文本),使用了 1024 张 V100 GPU 训练了约 34 天,成本约 $4.6M。GPT-4 的具体数据未公开,但业界估计训练数据在 10T+ tokens 级别,使用了 25000 张 A100 GPU,训练成本超过 $100M。Llama 3 405B 的训练数据是 15T+ tokens,使用了 16000 张 H100 GPU。数据来源主要是互联网网页(Common Crawl,占比 60-70%)、书籍和论文(10-15%)、代码(10-15%)、维基百科(3-5%)。数据质量和配比比数据量更重要——Meta 在 Llama 3 的技术报告中详细描述了数据清洗和去重流程,这比简单堆数据量有效得多。”
SFT 数据的质量标准是什么?
SFT 数据的质量标准是什么?
答题要点:
从准确性、格式、多样性三个维度回答。高分回答:
“SFT 数据的质量标准有三个维度:
- 准确性:回答内容必须事实正确、逻辑清晰。一条错误的示例可能教会模型一种错误的回答模式。所以 SFT 数据通常需要人工审核或用强模型(GPT-4)生成后人工校验。
- 格式一致性:同类任务的回答格式必须统一。如果 10 条代码审查示例中,5 条用 JSON 格式、5 条用 Markdown 格式,模型学到的格式就会不稳定。
- 多样性:覆盖不同任务类型和难度。如果所有示例都是简单的代码解释,模型遇到代码审查任务就不知道怎么处理。数据集需要覆盖问答、代码、翻译、摘要等多种任务。
RLHF 中的 Reward Model 是怎么训练的?
RLHF 中的 Reward Model 是怎么训练的?
答题要点:
解释偏好数据收集、奖励模型架构、训练目标。高分回答:
“Reward Model 的训练分三步:
- 收集偏好数据:对同一个问题,让 SFT 模型生成 4-9 个不同的回答(通过不同的温度/采样参数),然后由人类标注员对这些回答进行排序。例如:‘回答 A 最好,回答 C 次之,回答 B 最差’。每两个回答构成一个偏好对 (chosen, rejected)。
- 模型架构:Reward Model 通常基于 SFT 模型初始化,去掉最后的语言模型头,换成一个线性层输出标量分数。输入是 (问题, 回答) 的拼接,输出是一个浮点数表示回答质量。
-
训练目标:对于每对偏好数据,优化 Bradley-Terry 模型——让 chosen 的分数高于 rejected 的分数。损失函数是
-log(sigmoid(r_chosen - r_rejected))。训练数据通常有 10-50 万对偏好数据。”
PPO 算法在 RLHF 中是怎么工作的?
PPO 算法在 RLHF 中是怎么工作的?
答题要点:
解释 PPO 的核心机制和 KL 约束。高分回答:
“PPO 在 RLHF 中的工作流程:
- 采样阶段:SFT 模型(策略模型)对一批 prompt 生成回答。
- 评分阶段:Reward Model 对每个回答打分,得到奖励值。
- KL 惩罚:计算当前策略模型与参考模型(SFT 原始模型)的 KL 散度,防止偏离太远。
- 优势估计:用 GAE(Generalized Advantage Estimation)估计每个 token 的优势函数。
- PPO 更新:用 Clip 机制限制策略更新幅度——新策略概率与旧策略概率的比值被裁剪在 [1-ε, 1+ε] 范围内(ε 通常取 0.2)。
DPO 为什么能跳过奖励模型?
DPO 为什么能跳过奖励模型?
答题要点:
解释 DPO 的数学推导核心思想。高分回答:
“DPO 能跳过奖励模型的原因是它发现了一个数学等价关系:RLHF 中奖励模型的最优解可以被解析求解,从而把奖励模型的参数用策略模型的参数表示出来。具体来说,RLHF 的目标是最大化奖励的同时保持与参考模型的 KL 散度约束。这个优化问题的最优解有一个闭合形式:最优策略的概率比(chosen vs rejected)与奖励差成指数关系。DPO 直接把这个关系代入损失函数,用策略模型自身的概率来隐式表达奖励。所以 DPO 的损失函数只需要两样东西:策略模型的概率和参考模型的概率。不需要单独训练奖励模型,直接从偏好数据中优化策略模型。这不仅简化了流程,还消除了奖励模型这个’中间商’可能引入的误差。”
LoRA 的秩 r 应该取多少?
LoRA 的秩 r 应该取多少?
答题要点:
解释 r 的选择与任务复杂度的关系。高分回答:
“LoRA 的秩 r 的选择取决于任务复杂度和数据量:
- r = 4-8:适合简单的格式对齐任务(如让模型用 JSON 格式输出、调整回答风格)。参数量极少,训练快。
- r = 16-32:适合中等复杂度的任务(如领域知识注入、代码审查)。大多数场景的推荐值。
- r = 64-128:适合复杂任务(如数学推理、复杂代码生成)。接近全量微调效果。
🔥 预训练、SFT、RLHF 哪个阶段最重要?
🔥 预训练、SFT、RLHF 哪个阶段最重要?
答题要点:
这是一个争议性问题,需要展示辩证思维。高分回答:
“表面上看,预训练最重要——没有预训练就没有后面的一切。但这个答案太浅了。反面的证据:2023 年的研究表明,用 GPT-3.5 做 SFT 和 RLHF 的效果,可能超过用更好的基座模型但不做对齐。Alpaca 项目用 Llama 7B + 52K 条 SFT 数据,效果接近 GPT-3.5,说明 SFT 和对齐的价值可能被低估。我的判断是:三个阶段缺一不可,但重要性取决于你的起点。如果你从零开始,预训练最重要(没有基座,后面都是空中楼阁)。如果你基于开源模型做应用,SFT 最重要(它决定了模型在你的场景下的表现)。如果你追求极致品质,RLHF/DPO 最重要(它决定了模型的’品味’和安全性)。升华:这个问题的本质是’数据、算法、对齐哪个更重要’。答案是:它们是乘法关系而非加法关系——任何一个阶段做不好,整体效果都会大打折扣。”
🔥 前端工程师为什么要了解 LLM 训练?
🔥 前端工程师为什么要了解 LLM 训练?
答题要点:
从实际工作场景出发,说明前端工程师了解训练流程的价值。高分回答:
“前端工程师了解 LLM 训练流程有三个实际价值:
- 更好地使用 LLM API:理解模型的能力边界。预训练决定了模型的知识截止日期(不知道最新 API),SFT 决定了模型的回答格式(可以通过 prompt 调整),RLHF 决定了模型的安全限制(某些内容模型会拒绝回答)。理解这些,你就能更精准地设计 prompt,避免踩坑。
- 微调领域模型:LoRA/QLoRA 让前端工程师也能微调模型。比如微调一个专门用于前端代码审查的模型,或微调一个能准确解析你的项目代码风格的 Copilot。理解 SFT 数据格式和微调流程,是实现这些的前提。
- 架构 LLM 应用:当你用 LangChain 构建 RAG 或 Agent 时,理解模型的训练方式能帮你做出更好的架构决策。比如:模型的知识来自预训练(所以 RAG 需要注入最新文档),模型的格式偏好来自 SFT(所以 prompt 要匹配模型的训练方式),模型的安全边界来自 RLHF(所以某些任务需要特殊的 prompt 来绕过限制)。”
📚 延伸阅读与引用参考
- 🔗 Andrej Karpathy: State of GPT (YouTube):Karpathy 在 Microsoft Build 2023 的经典演讲,系统讲解 LLM 训练的四个阶段。[1]
- 📖 Lilian Weng: Reward Hacking in RLHF:OpenAI 应用研究主管对 RLHF 机制和 Reward Hacking 问题的深度分析。[2]
- 📖 LoRA: Low-Rank Adaptation of Large Language Models:微软提出的 LoRA 方法原始论文,理解低秩适配的数学原理。[3]
- 🔗 DPO 论文: Direct Preference Optimization:斯坦福提出的 DPO 方法论文,2024-2025 年主流对齐方法的理论基础。
- 📖 Llama 3 技术报告:Meta 对 Llama 3 训练流程的完整描述,包括预训练数据、SFT、DPO/PPO 的工程细节。
- 🟢 Hugging Face PEFT 文档:LoRA/QLoRA 微调的官方工具库文档,前端工程师入门微调的最佳起点。
- 🧑💻 Andrej Karpathy: Let’s build GPT from scratch (YouTube):Karpathy 手把手从零实现 GPT,理解预训练的底层机制。
- 🧑💻 宝玉 (Baoyu) 微博/X:国内 AI 核心论文及工程技术最快翻译与布道者,持续跟进 LLM 训练最新进展。
- 📖 DeepSeek 技术报告:DeepSeek 对 GRPO 等创新训练方法的描述,展示 2024-2025 年对齐技术的最新演进。
