
做模型训练这几年我最大的感受是很多人把训练当成一个单点操作以为拿一堆文本喂进去等loss降下来就完事了。但真正跑过完整研发线的人都清楚从一堆无标注的原始语料到最终一个稳定可用、符合人类口味的对话模型中间隔着一条完整的训练链路它不是一步而是很多步。这篇文章不打算做百科式罗列我围绕五种主流大模型训练方式——预训练、监督微调SFT、奖励模型RM、RLHF偏好对齐、DPO直接偏好优化——把每个阶段的核心目标、数据形态、训练原理、超参数经验和最容易翻车的细节讲透。这五条路是层层递进的关系预训练建地基SFT学对话形式RM定义好坏RLHF/DPO做偏好对齐。理解完整链路之后你再看任何训练工程心里都会有一张地图。下面这张速览表可以先帮你建立全局视角后面逐段展开。训练方式核心目标典型数据关键机制预训练从原始语料学习语言与推理能力网页、书籍、代码等无标注文本自回归next token prediction监督微调SFT将续写能力改造成指令遵循能力指令-回复对、多轮对话带教师信号的交叉熵奖励模型RM给回答好坏一个可计算判据偏好对比对chosen/rejectedpairwise排序损失RLHF策略在试错中优化到人类偏好策略在线采样 RM打分PPO KL约束DPO简化RLHF用偏好数据直接对齐偏好对比对无在线采样隐式奖励 参考模型策略比1. 预训练用自监督目标在原始语料里建立能力地基预训练是所有大模型的起点。它的目标非常朴素给模型一堆没有标注的文本让模型自己学会预测下一个词是什么。就是这样一个看起来极其简单的任务在足够大的数据和足够大的模型规模下会涌现出语法、事实知识、逻辑推理甚至一部分上下文学习能力。1.1 为什么Next Token Prediction能学出智能很多人第一次听说预训练时会觉得很反直觉为什么预测下一个词这么无聊的任务最后能训出能写代码、能推理的模型关键在于自然语言文本本身是高度压缩的人类思考产物。模型在预测下一个词时为了降低损失必须建立对前文语义、实体关系、事件因果、甚至言外之意的深层表征。这相当于让模型做一个无限长的完形填空。题目里没有标准答案唯一的监督信号就是真实文本中下一个词是什么。为了不预测错它被迫学会语法规则、学会对应关系、学会常识甚至学会在长文本里保持局部一致性。这里有个很重要的工程认知预训练阶段不需要人工标注自监督信号天然免费因此可以把数据规模推到非常大。这也是预训练能成为通用能力底座的根本原因——它不是被谁教出来的而是从几十亿、上百亿个预测任务里自我组织出来的。1.2 数据是预训练的隐形胜负手模型架构和算力配置可以照搬成熟方案但数据工程没法照搬。预训练阶段最常见的坑不是训练不稳定而是数据没做好。我参与过的项目里好几轮训练曲线看着很漂亮但下游评测分数不涨最后追查下来问题都出在数据配比和清洗上。预训练语料有几个核心处理环节清洗去除乱码、敏感内容、格式异常、模板广告和无意义的重复片段。去重包括精确去重和模糊去重。重复数据会让模型产生严重记忆表现为生成时大量复述原文、创造力下降。实践上不仅是文档级去重还要做段落级和窗口级去重。质量过滤不是所有网页文本都有价值。经验上是按质量分层高质量书籍、论文、专业文档要保留并提高权重低质量社交文本大幅降权或直接剔除。配比设计常见的做法是网页语料占大头提供广度书籍和论文提供深度代码语料提升逻辑能力多语言语料占比取决于目标市场。代码比例尤其关键——代码里的强逻辑和严格语法对模型推理能力的提升远超同样比例的普通文本。还有一个容易忽略的细节预训练语料必须有严格的时间切分。训练集和评测集必须严格隔离否则模型在预训练阶段就见过评测题之后你用任何评测集评估都是在自欺欺人。1.3 训练配置的工程经验与loss spike排查预训练超参数的常见实践范围我直接给一套经过验证的经验值方便新手上手参考学习率峰值一般取 1e-4 到 3e-47B-13B规模常见采用warmup cosine decay策略。warmup阶段通常占训练总步数的 1%-3%从峰值学习率的十分之一左右起步线性升到峰值。批量大小按token数计算工业界常用几百万甚至上千万token的大批量。大批量能平滑梯度估计但相应的学习率要调高两者存在近似线性关系这在scaling law里已有总结。优化器权重衰减和梯度裁剪梯度范数通常裁剪到 1.0防止个别异常batch破坏参数更新。混合精度与分布式训练基本都以bf16为主配合ZeRO分片或张量并行。这个阶段要重点盯两个量吞吐量Tokens/s和loss曲线的平滑度。loss spike是最常见的问题。所谓 spike就是loss曲线在正常下降过程中突然出现一个尖峰然后又恢复。原因是某个batch里混入了异常数据块比如损坏编码、超大重复段落、或某个文档截断异常。处理经验先确认spike是否带来梯度范数飙升如果梯度范数同步飙升多半就是这个batch的问题。紧急处理是降低当前batch的学习率或直接跳过该batch但更根本的做法是从数据管线里找出异常源并修复。如果spike反复出现问题通常在数据pipeline而非模型层面不要盲目去调学习率。checkpoint策略要足够密集建议每小时至少保存一次并且训练脚本必须支持从任意checkpoint恢复。一次大规模预训练动辄几十天分布式环境难免出现节点故障断点续训设计不做好一次故障可能浪费好几天算力。预训练阶段的评估我建议只看三项loss曲线、通用能力抽查集一组固定题目的回答或选择题注意不能被训练数据污染、以及生成样式的抽样观察。不要频繁跑完整下游评测那既浪费算力也容易让你过早陷入细节优化而忽略全局。2. 监督微调(SFT)把会续写变成会听话预训练完成的模型本质上是一个语言生成器。你给它任何前缀它都会按概率续写但不会回答问题——因为它根本没有问题-答案这种交互概念。SFT要解决的就是这个最朴素的问题让模型学会人类期待的对话交互形式。2.1 指令数据怎么构造模板、对话格式与token级细节SFT数据的基本单元是指令-回复对实际工程里会拆成更具体的结构系统指令System、用户输入User、期望输出Assistant多轮场景还要带历史上下文。这些字段在训练时不会直接以明文拼接而要经过对话模板转换成模型专门训练过的特殊token序列。很多人只关注文本内容而忽略模板格式结果模型输出格式混乱、角色错位。这个部分必须和最终推理服务的提示词完全一致否则就是训练-服务不一致上线必翻车。数据质量优先于数量。不少团队用几千条到两三万条高质量指令数据就能把一个基础模型调成可用的垂类助手反而直接灌入几十万条低质量他山之石数据会让模型学习到错误的回答习惯。数据构造几个关键点任务多样性至少要覆盖问答、总结、改写、抽取、分类、代码生成、数学推导、多轮角色扮演等常见任务。只重复一种任务模型会固化套路。错误样本修正凡是进入SFT的数据必须假设模型会一字不差地模仿。所以答案里如果有事实错误、逻辑跳跃、语气不当都会被模型学走。数据清洗不仅是删掉坏样本还要修正错误答案。难度和长度分布回复长度要有意识拉开分布保证短回答和长回答都有避免模型总是输出等长的标准段落。2.2 学习率、epoch与过拟合判断SFT阶段训练参数和预训练有显著差异最核心的区别是预训练在教新知识SFT主要是改行为方式学习率必须低得多。全参数SFT的经验学习率范围是 1e-5 到 2e-5比预训练低了约一个数量级。原因很简单基座模型已经学会了大量语言知识和推理能力过高的学习率会把这些宝贵参数冲掉。SFT更像是微调表层行为而不是重新学习。训练epoch数一般控制在 1-3 之间。我见过很多团队一上来就跑10个epoch训练loss确实降到很低但生成结果出现大量重复、风格僵化、知识遗忘。判断是否过拟合不要只看训练loss要看这三个信号验证集loss开始回升或验证badcase数量反弹。模型生成的回复长度趋于单一句式重复率高。原本能回答的通用知识问题开始答错出现灾难性遗忘。另外要提到LoRA。LoRA在SFT阶段的应用已经非常成熟它只训练少量低秩矩阵参数效率极高显存占用大幅下降。LoRA适配器训练时的常用rank是 8-64学习率可以比全参略高1e-4 到 2e-4 之间比较常见。先在少量高质量数据上训练LoRA效果不行再扩数据这一套流程在资源有限的项目里非常实用。2.3 灾难性遗忘问题与通用语料混合SFT最常见的问题是灾难性遗忘。模型在大量指令数据上训练后会逐渐忘记预训练时学到的部分通用能力表现为常识变弱、写代码变得模板化、长文本逻辑变差。缓解方案是在SFT训练集里混入一部分通用语料通常是预训练语料的子集比例在5%-10%左右。这相当于让模型在学对话形式的同时不忘掉原有的世界知识。做法上要注意通用语料不能喧宾夺主否则指令遵循能力会被冲淡。一个相对稳妥的做法是指令数据与通用数据交叉混合而非按epoch分段训练这样模型每个batch都能同时看到两种分布。SFT之后一定要及时做人工badcase测评重点关注格式稳定性、指令遵循率、是否出现幻觉。这个阶段的反馈会直接影响后续对齐数据的设计不要直接跳到RLHF才发现问题源头在SFT。3. 奖励模型给偏好对齐配一个可计算的裁判SFT把模型调成了会答话但它不知道哪些回答更好。两个回答语法都对、格式都对一个直接清晰一个啰嗦且错误模型无法区分。解决这个问题需要一个裁判这个裁判就是奖励模型Reward Model简称RM。RM的定位很特殊它不是最终产物而是给RLHF用的质量函数。3.1 为什么需要奖励模型以及偏好数据怎么收集为什么不让人类直接给模型输出打分还要训练一个RM因为对齐需要的数据规模远远超过人类标注的承受能力。RLHF每次策略采样会产生海量回答实时请人打分不现实。所以思路是先让人类标注一批偏好数据把人类对质量好坏的判断蒸馏进一个参数化函数训练好之后这个RM就能替代人类实时打分。偏好数据的收集方式经历过一个重要转变。早期做法是让标注员给单条回答打绝对分比如1-5分后来发现绝对评分的一致性很差同一个回答不同标注员可能给出天差地别的分数。后来统一改成偏好对比对pairwise comparison给标注员看同一个问题的两个回答让他们判断哪个更好。人类的相对比较比绝对打分稳定得多这是RM数据标准化的关键经验。标注时还有一个经验不仅让标注员选哪个更好还要记录为什么更好更准确、更简洁、更礼貌、更安全。这些理由可以在数据清洗阶段用来判断标注质量也能在后续RM误差分析中定位问题。如果标注员之间的一致性低于某个阈值这批数据就要重新标注否则训练出的RM本身就是个众说纷纭的裁判。3.2 RM的训练结构与pairwise损失RM的典型结构是在基础模型之上接一个标量输出头这个头输出一个分数。基础模型通常使用与SFT模型同源、且规模相近的模型甚至直接复用SFT后的模型再加一个head不要从完全不同的模型搭。因为RM必须理解真实用户问题的语义偏好。训练数据格式是一个pair(prompt, chosen_response, rejected_response)。核心损失函数是一个pairwise排序损失本质很简单loss -log(sigmoid(r_chosen - r_rejected))其中r_chosen是模型对优选回答的打分r_rejected是对劣选回答的打分。优化目标就是让好回答得分高于坏回答。用语言描述就是一个二分类任务判断chosen是否排在rejected前面通过排序优化让分数差越大越好。数据配对上有个技巧同一个prompt如果有多个回答可以组成多个pair比如一个chosen搭配多个rejected。这样能提高同一份标注数据的利用效率。但要注意如果chosen在所有pair里反复出现模型容易对这个固定答案产生过度偏好所以最好用人工挑选的方式组pair避免机械枚举。RM训练还有几个容易忽略的细节打分初始化reward head的初始输出要接近0不能让模型一开始就输出极端分数否则训练早期会非常不稳定。分数分布监控训练过程中定期看整体打分分布如果所有分数挤在0附近说明模型没有区分力如果两极分化严重可能是loss过拟合或数据有偏。epoch可以比SFT稍多2-5个epoch都常见但同样要防过拟合。3.3 reward hacking与标注质量审查RM训练最大的坑是reward hacking。模型非常擅长寻找分数中的捷径如果标注数据里长回答普遍更受偏好RM就会倾向给长回答高分如果某个prompt里包含固定关键词的回答都被标为chosenRM就学会了关键词加分。后果是灾难性的RM带着偏见进入RLHF后策略模型会疯狂放大这些偏见生成充满废话或套路关键词的回答。规避手段有几条标注时把长度、格式、风格等无关特征在pair间做平衡保证chosen和rejected不能只在长度上有差异。训练时加入长度归一化或控制特征让模型不把长度当作核心判据。定期检查RM在人工构造的对抗样本上的表现比如故意把正确答案缩短、把错误答案加长看RM是否被表象欺骗。再说说标注一致性审查。RM训练集少则几万对、多则几十万对不可能逐条人工检查但要抽样。我通常抽样5%-10%做二次审查重点看标注员的理由和选择是否一致。如果发现某批标注员大量出现理由标明A好但选中B的情况宁可丢弃整批数据也不要让它污染RM。RM的质量上限直接决定RLHF的上限很多团队在RM上花的精力比RLHF本身还多这并非夸张。另外RM通常不止一个。工业界常见做法是按维度拆成多个奖励模型有用性、安全性、无害性、风格等各有独立的RM最后加权合并。维度混在一个RM里容易互相干扰比如安全性偏好会压制有用性。拆开之后每个维度都更纯粹RLHF时按业务需要调整权重。4. RLHF让策略在试错中逼近人类偏好RM训练完成后真正的强化学习才上场。RLHF基于人类反馈的强化学习让模型不满足于模仿标注好的答案而是通过采样试错、接受评价、更新策略逐步逼近人类偏好的最优区域。这一阶段是整个链路里最复杂、也最容易训练失控的部分。4.1 四个组件的角色Actor、Critic、Reward Model、Ref Model典型RLHF实现以PPO为策略优化算法的做法会同时维护四个模型刚开始接触时容易绕晕。我习惯用一个团队来打比方Actor演员正在被训练的模型就是你要交付的模型。它负责生成回答并在训练中不断调整参数。Critic评论家价值模型负责评估每个token或每条轨迹的价值说直白点就是这台戏到这里后面大概能拿多少分给优势计算提供依据。Reward Model裁判我们上一章训练好的RM对完整回答打分是最终的评分来源。Reference Model参考模型一个参数被冻结的行为基准通常是SFT模型本身。它的作用是为策略更新的稳定性提供锚点。4.2 PPO训练循环的关键环节RLHF的每次迭代可以拆成四步采样Actor对一批prompt生成回答生成方式通常带随机性温度采样以获得多样性的策略探索。打分RM对回答打分得到激励信号同时参考模型对同一回答计算概率用于KL约束。优势计算综合RM分数和Critic价值估计算出每个token的优势值。优势值直观理解为这个动作比平均水平好多少。更新Actor按照PPO目标进行若干步小批量更新Critic同时更新自己的价值预测。PPO目标里有一个关键约束那是一条KL惩罚项。它惩罚Actor的回答分布偏离参考模型太多。为什么必须有它因为RM分数只是对偏好的近似实际可能的空洞很多。如果没有KL约束Actor会拼命往RM分数高的区域狂奔把自己原有的语言能力、多样性、甚至基本可读性都丢光产生所谓的奖励过度优化——生成一堆得分极高但人看着完全不对劲的文本。KL约束相当于拉着一根缰绳你可以探索但不能跑出参考模型的舒适圈太远。经验超参数范围也分享一组PPO内循环epoch数1-3次别多。多次在同一批rollout上反复更新很容易overfit到这批数据。clip范围0.1-0.2控制单次更新步幅。KL系数常见范围0.01-0.1需要根据模型规模和数据调整。系数太小约束形同虚设太大则策略几乎不动。Actor学习率通常比SFT还低常见1e-6到1e-5。Critic学习率可以略高一点1e-5左右。每轮rollout的prompt数量几百到几千不等核心是让策略探索覆盖足够多样性。4.3 KL约束与训练稳定性监控RLHF训练不稳定是常态重点不是如何避免一切波动而是如何尽早发现失控并手动干预。我日常监控四个指标KL散度Actor与参考模型之间的分布距离。如果KL突然飙升说明策略正在失控需要降低学习率或提高KL系数。Reward均值与方差均值稳步上升是正常信号但上升太快要警惕。如果reward均值还在涨、生成质量肉眼下降十有八九是reward hacking。回答长度漂移模型在RLHF中经常自发学会写得更长来刷分。长度如果快速拉长建议直接加长度惩罚或降低长回答的奖励权重。生成熵熵快速下降说明模型正在坍缩成单一回答模式。一个好的对齐模型应该在保持偏好的同时保留适度的多样性。还有一个来自实践的铁律跑RLHF一定要保留初始的SFT模型作为对照。每次迭代完了都要拿SFT baseline和当前Actor在同一条评测集上做盲评否则你根本判断不了分数涨到底是真变好还是只是RM的偏见被放大了。5. DPO用偏好数据一步完成对齐RLHF虽然效果强但工程复杂度实在高要训练RM、要在线采样、要维护四个模型、要调一堆超参数、时刻面对训练不稳定。于是DPODirect Preference Optimization出现目标是绕过复杂的强化学习流程把偏好对齐变成一次普通监督训练。它最大的卖点是不需要训练奖励模型不需要在线采样用现成的偏好对比对就能直接对齐模型。5.1 DPO的推导直觉把奖励变成策略比值DPO的核心思想是先做一个数学变换。在RLHF的优化目标里最优策略的奖励函数是可以被反推出来的某个回答的隐式奖励等于当前策略模型对该回答的对数概率减去参考模型对该回答的对数概率再除以一个温度系数。用人话说就是如果当前模型比参考模型更喜欢某个回答这个回答的隐式奖励就高反之就低。既然如此就没必要单独训练一个RM了。把隐式奖励代入偏好排序损失最终得到DPO损失只依赖当前策略模型和参考模型对chosen、rejected四个对数概率值。我之前用一句话总结过DPO的本质它把模型是否足够偏好chosen且足够不偏好rejected换算成一个简单的分类损失。数学上直接从RLHF目标推导而来所以它并不是RLHF的粗糙近似而是同一目标下的另一种求解方式。DPO的损失函数长这样用代码风格写更直观loss -log(sigmoid(beta * (log_pi_chosen - log_ref_chosen - log_pi_rejected log_ref_rejected)))其中log_pi_chosen是当前策略模型给chosen回答的对数概率log_ref_chosen是参考模型给chosen回答的对数概率rejected一组同理。β是温度系数控制模型偏离参考模型的程度。β越小模型越敢于偏离参考β越大模型越保守。5.2 DPO实践参数与参考模型选择DPO虽然训练形式上和SFT很像都是梯度下降但技巧差别不小。参考模型必须冻结参考模型在整个DPO过程中参数不动。它通常是SFT后的模型与DPO初始模型一致。不能用其他外部模型否则策略比值的尺度会混乱。β值常见范围0.1-0.5。起步可以试试0.1-0.2如果发现模型风格变化过于保守可增大β如果生成内容偏移太远则减小β。需要强调的是β与学习率、数据规模存在相互作用调参时要整体考虑不要单点调整。学习率DPO的学习率通常比SFT还要低常见范围1e-7到1e-6大模型规模越大这个值越要保守。DPO对学习率比SFT更敏感学习率太高会导致chosen侧概率被粗暴拉高、rejected侧被粗暴压低生成质量断崖式下跌。epoch1-3轮足够。DPO非常容易过拟合因为偏好pair的监督信号远强于普通指令数据模型很快就会把训练集里的偏好规律背下来。数据方面DPO对偏好pair质量的要求比RM更高。RM还可以通过大量略噪声数据靠统计规律压制噪声DPO则是每个pair都直接改变策略分布。一个错误的反偏好pair能抵消掉几十个正确pair的效果。所以DPO数据需要经过更谨慎的筛选chosen和rejected之间要有足够的质量差距不能是两个都还行只是不同风格——这种模糊pair会产生近零的log-ratio让训练信号变得非常不稳定。还需要特别警惕DPO的一个隐藏副作用长度作弊。标注员有天然的长回答更好偏见偏好数据里的chosen普遍更长DPO训练中模型会迅速学会这个规律表现为回复长度在几个epoch内大幅上升但内容质量并没有同步改善。对策有三种一是在偏好数据构造时做长度匹配chosen和rejected长度大致相当二是训练后统计长度漂移并单独压制三是结合长度维度做二次筛选把只是因为更长才被选中的样本剔除。5.3 DPO与RLHF怎么选一张对比表在工程决策中DPO和RLHF不是简单的谁替代谁它们在数据依赖、算力需求、稳定性上差异明显我直接给对比表。对比维度RLHFDPO核心组件Actor、Critic、RM、Ref共4个模型策略模型 冻结的Ref模型数据依赖需要大量在线采样与RM打分只需离线偏好对比对RM训练必须单独训练并持续维护完全不需要训练稳定性较低KL失控、reward hacking频发较高训练过程接近普通监督训练多样性探索强策略会主动探索更多分布弱只优化已有偏好pair相对效果更充分的对齐能处理复杂多维偏好对齐充分度依赖数据质量和数据覆盖适用场景需要精细对齐、有RM维护能力的大团队数据有限、资源有限、追求稳定的团队那选型上到底怎么判断如果你的团队有标注能力、有算力预算、对对齐质量要求极高RLHF仍然是更强的路径如果你只有几万、几十万个偏好pair想在两周内看到模型行为明显改善DPO是最性价比的选择。需要说的是两者可以串行先用DPO做一轮低成本的对齐把核心偏好灌进去再用RLHF做精细化打磨减少DPO阶段可能带来的偏差。6. 五种训练方式的搭配策略与常见误区看完全链路之后你可能会问那我做自己的项目该走到哪一步不是每个项目都需要五步全走。训练方式不是越多越好而是越适配越好。6.1 不同资源和目标下的典型训练组合第一类垂直领域助手微调资源有限目标明确是私有数据的问答、客服、文档处理。推荐组合开源权重底座 LoRA SFT DPO可选。预训练不需要做底座已经具备语言能力LoRA SFT注入领域知识和指令遵循DPO用几百到几千个偏好pair调整输出风格更简洁、更专业、更安全。这套方案可以在单卡甚至消费级显卡上完成效果对大部分垂类场景足够。第二类自研基座模型面向通用或大规模专用场景需要掌控底层能力预算和标注资源充足。推荐组合完整预训练 → SFT → RM → RLHF可以在进入RLHF前先做一轮DPO预对齐。预训练决定能力天花板SFT确定交互形态RLHF做精细偏好对齐。全链路周期长、投入大但模型可控性和天花板是最高的。第三类有特定任务但不想训练。很多人忽略了提示工程、外部知识检索、规则后处理能解决的问题根本不需要动训练。先穷尽不训练方案再考虑训练。训练是手段不是目的。6.2 质量门禁训练前后的评测怎么设计无论走哪条链路训练阶段之间必须设置质量门禁不要让错误传导到下游。我常用的五维评测表如下评测维度具体检查内容通过标准参考通用知识保留训练前后能否稳定回答基础百科、常识类问题坏case率不显著上升指令遵循多轮指令、约束条件、格式要求的满足率关键指令遵循率明显提升对话质量回答是否自然、信息密度、冗余程度人工盲评偏好率过半即可安全拒答对风险问题能否给出合规拒答命中率达标风格一致性输出是否符合业务风格设定错乱风格占比低于阈值评测集必须单独建设并明确隔离于训练数据。尤其在对齐阶段不要反复用同一个评测集来挑模型这会让模型过拟合到评测集上上线即翻车。我见过不止一次模型在评测集上分数一路走高投入真实用户环境后效果反而更差根因就是刷榜而不是变好。6.3 三个最常见的认知误区误区一用更高阶的训练方式去弥补数据缺陷。SFT质量差指望RM和RLHF自动修正结果只会放大缺陷。每一层训练都在放大上一层的模式而不是修正它。预训练语料脏下游全链条吃亏SFT数据错再强的RLHF也只能学到一个更精致的错误回答。误区二认为DPO可以完全替代RLHF。DPO解决了成本问题但没有解决探索问题。对于全新的偏好维度、需要模型自己试错的场景在线采样的RLHF仍然不可替代。把DPO当成RLHF的廉价平替只在简单风格偏好调整上说得通。误区三忽略评测集污染和标注偏差。从头到尾如果只有一套评测集、一批标注员你所有的提升都可能只是适配了这套特定的评价体系。训练方式再主流评价体系有偏最终产品也不会真正满足用户需求。最后说一点个人体会。训练方式没有绝对的高下之分只有适不适合当前资源和目标。我自己的项目里最深的教训是每当你准备引入一种新的训练技巧先问自己手里的数据能不能支撑这个技巧发挥价值。预训练是数据规模的生意SFT是数据质量的生意RM/RLHF/DPO是偏好定义和反馈质量的生意。技术链路越来越透明门槛其实集中在数据和评测工程上——这个认知比会调任何一套训练代码都值钱。