最近一两周,AI圈子里热度最高的话题之一,就是某头部AI实验室的后训练团队换帅。新负责人据说来自那个做过多年搜索引擎巨头AI研究部门的老班底,而前任团队里的几位核心成员则决定各自单飞。消息一出来,很多做模型训练的朋友都在追问:后训练团队为什么突然这么重要?换帅到底意味着什么?技术路线会往哪边走?
说实话,这则人事新闻背后,其实是整个行业对“后训练”价值的重新定价。过去很长一段时间,大家把注意力都放在预训练上,觉得模型的能力全靠底座,后训练不过是“调个模板、配点数据”的收尾工作。但最近两年,越来越多的人意识到,后训练才是决定一个模型能不能真正被产品化的核心环节。同一个底座,你给它做指令微调、做偏好对齐、做安全拒答,出来的可能是一个好用的助手和一个“知道很多但完全不听指挥”的学术模型之间的天壤之别。这篇文章不会去讨论谁走谁留的是非,而是借着这件事,把后训练到底在做什么、有哪些技术路线之争、工作中会遇到哪些坑,掰开揉碎讲清楚。适合正在做模型训练的对齐工程师、准备入行的大模型方向学生,以及所有想弄明白“为什么模型越来越听话的秘诀不在预训练而在后训练”的读者。
1. 一起换帅新闻,为什么整个圈子都在盯
1.1 事件背景:一支团队的人事变动,为何值得技术人关注
先说背景。研究机构的组织架构调整,在互联网行业本来不算什么大新闻,但这次的主角是一支专门负责模型后训练的团队。在预训练成本高企、底座能力趋同的当下,后训练团队成了决定模型差异化体验的关键部门。这个团队如果换了主将,意味着数据配比可能重排,对齐策略可能推翻,评测指标可能更换,甚至连模型发布节奏都得重新评估。
更微妙的是,新来的负责人来自早年那个以“学术品味高、长线研究能力强”著称的AI研究部门,而前任团队则是更强调“快速迭代、产品驱动”的一批人。两拨人对“什么是一个好模型”的答案,可能从底层逻辑上就不一样。我认识的某开发者就感叹过:后训练团队的换帅,本质上不是人事问题,是路线问题。路线问题会在未来几个月通过模型能力变化、产品形态调整、paper风格转变体现出来。
1.2 后训练:从“修修补补”到“决定模型口碑”的关键环节
很多人对后训练的理解还停留在“拿指令数据微调一下,让模型会问答”。这个理解不算错,但太片面了。后训练覆盖的范围其实很广:指令微调让模型学会跟随指令,偏好对齐让模型的回答更符合人类喜好,奖励建模让系统能有自动评估的尺度,安全拒答让模型知道什么话不能说,甚至还包括上下文长度扩展、工具调用能力解锁、结构化输出稳定化等工程细节。
把这些环节串起来看,就会发现后训练已经变成了一个系统工程。预训练输出的是一个“语言模型”,它知道词与词的概率关系,但不懂“你要什么”。后训练输出的才是一个“助手模型”,它知道该用什么语气回答、什么时候该给步骤、什么时候该拒绝。用大白话说:预训练是把一个孩子教成满腹经纶的学者,后训练是把这个学者带进职场,告诉他怎么跟人沟通、怎么汇报工作、什么话不能在公开场合说。
在这个背景下,后训练团队换帅自然就成了风向标事件。因为它往小了说影响几个模型的发布效果,往大了说代表着一家头号实验室对未来AI能力的研判方向。
2. 技术路线之争:分道扬镳背后的几个关键分歧
2.1 强化学习与直接偏好优化:稳健路线与轻量路线的取舍
后训练团队内部最容易起争执的,就是对齐方案的选型。主流路线大致有两条:一条是用强化学习做偏好对齐,典型代表是PPO(近端策略优化)这套框架,加上一个学习人类偏好的奖励模型;另一条是直接用偏好数据做优化,典型代表是DPO(直接偏好优化),不需要单独的奖励模型,训练流程更简洁。
两者各有一批坚定支持者。RLHF路线的优势是效果好、上限高,对复杂任务和长回答的控制力强,行业里已经有了大量经过验证的实践;缺点是系统复杂度高,需要同时维持策略模型、参考模型、奖励模型、价值模型四个模型的状态,而且训练不稳定,一发散就得回滚,工程调试成本很高。DPO路线的优势是训练快、显存占用低、工程链路干净,一个模型一套数据就能完成对齐;缺点是它的优化目标和人类偏好之间隔了一层,在某些场景下会出现“越优化越不对劲”的情况,还需要更多业内实践来证明它能稳定撑住大规模生产环境。
我自己在实际测试里也更倾向于把两者看作互补工具,而不是你死我活的对立路线。小模型、快速迭代场景,DPO确实可以省很多事;百亿参数以上的主力模型、对回答稳定性和安全性要求极高的产品,RLHF仍然是更稳妥的选择。有些团队甚至会在同一版模型里先做一轮DPO清洗噪声数据,再做一轮PPO精细调优,两套管线并存,而不是只押一边。换帅之后,新来的技术负责人如果从学术圈带来的偏好是“轻量、可解释、少依赖启发式调参”,那RLHF管线可能就要面临一轮或多或少的改造。
2.2 过程监督与结果监督:让模型“做对”还是“算对”
第二个分歧点是监督信号的粒度。结果监督只看最终答案对不对,过程监督还会对中间步骤进行逐环节打分。在多步推理任务里,结果监督容易出现“答案对了但推理过程是错的”的情况,模型学会了用笨办法碰巧撞到正确答案;过程监督则更接近我们平时说的“授人以渔”,它告诉模型哪一步思考有问题、哪个环节需要修正。
过程监督在数学题、代码调试、逻辑推理这类场景里效果非常明显,但代价是标注成本暴涨。人工给最终答案打分容易,给每一行推理步骤打分就非常累,几乎只能依赖更强的模型来做自动标注,这就引入了“用模型教模型”的级联误差问题。我在某模拟项目X里做过一轮过程监督实验,发现奖励模型对步骤质量的判断经常和人类直觉出现偏差,尤其当步骤本身有很多种合法写法时,过程监督反而会抑制模型的创造性表达。
用户在问这个技术选型时要注意一个现实问题:不是所有任务都适合过程监督。开放域问答、创意写作、闲聊对话,过程监督很难定义“正确步骤”;但在数学、代码、涉及严格规则的任务上,它又确实是提升上限的重要抓手。换帅后的团队如果更相信过程监督的价值,大概率会带动一批数据集重构,这也意味着标注与评估体系得更上一层楼。
2.3 评测导向与产品导向:用谁的尺子衡量模型
第三个分歧藏在评测体系里。学术导向的团队习惯用公开基准集、论文里的标准测试来评判一个模型的好坏,因为这样可对比、可复现;产品导向的团队则更看重线上真实请求的表现,比如用户的会话保持率、问题解决率、人工质检通过率。两者短期可能互相矛盾:公开榜单分数很高的模型,放到真实对话环境里可能显得啰嗦、不接受反馈、过度坚持立场;线上效果不错的模型,在标准评测集上可能因为格式不匹配得低分。
后训练团队日常做模型选型时,必须想清楚到底对谁的尺子负责。最怕的情况是“评测集污染”——团队悄悄把测试集里的问题反复调优,导致模型在公开榜单上排名很高,但换一批新问题就露馅。这是一种技术上的自欺欺人,也是换帅之后最容易被新负责人拿来开刀的问题。我给很多开发者的建议是:自建一套与公开榜单隔离的内部评测集,并且定期换新题,把线上真实对话抽样纳入回归集,这样才能尽量防止“考试型选手”混进产品。
3. 一个后训练工程师的实操全流程(以某对话模型V2为例)
3.1 数据阶段:指令数据与偏好数据的构建
后训练的起点不是训练,是数据。一个正经的后训练项目,数据工程往往会占掉整个项目百分之六十以上的时间。以我之前经手的某对话模型V2为例,我们需要的不是简单的一问一答数据,而是结构化的“指令-输入-输出”三元组,同时要对每一条指令做难度打标、领域打标、安全属性打标,后面做数据配比和数据清洗时才有的放矢。
指令数据的来源通常是三个:开源数据集、用更强模型批量生成、人工撰写。三者都有各自的坑。开源数据量多但噪声大,同一个问题可能被改写了几千遍,不去重的话模型会学出严重的模板依赖;更强模型生成的指令多样性和质量都很高,但风格单一,长尾问题覆盖不足,而且容易有毒性残留,需要额外做安全过滤;人工撰写的质量最高但成本也最高,只能用来做小规模的高质量种子集,再让大模型去模仿扩展。
清洗阶段的第一件事是去重。我习惯用嵌入向量对指令做相似度计算,设定一个阈值,超过阈值的只保留一条,这样能显著提升数据多样性。第二个关键操作是难度与噪音的配比,业界比较通用的做法是“二八开”:大概八成普通质量但覆盖面广的数据,两成高质量高难度的数据,再混入极小比例的安全拒答样本。每条数据都要做格式校验,比如确保输出不包含截断、不包含非法标签,因为训练框架几乎不会帮你检查这些脏数据。
偏好数据的构建则更讲究。偏好数据至少要包含一对回答:一个较优回答,一个较差回答。这个“较优”和“较差”的判断标准一定要提前定清楚,否则标注者会拿到完全不同的标准。我常用的策略是让标注者从“整体有用性、立场中立性、安全性、表达自然度”四个维度先打分,再根据总分生成pair,而不是直接让标注者凭感觉比较两条回答。此外,故意构造一些“看似漂亮但实际有毒”的回答作为较差样本,对提升模型的安全拒答能力帮助极大。
3.2 SFT阶段:先让模型学会“听懂人话”
数据准备好之后,第一步是做监督微调。SFT的目标不是让模型变聪明,而是让模型从“只会文本续写”切换到“会按指令回答”的行为模式。这一步的配置相对固定,但细节决定成败。
我个人常用的SFT配置是:学习率1e-5到2e-5之间,batch size看显存能撑多大就多大,样本数在一万到十万之间,epoch一般只跑1到3轮。这里有一个很重要的观察:SFT阶段的过拟合来得比预训练快得多。很多人看到训练loss还在下降,就习惯性地多跑几轮,结果模型把数据里的格式和错误表达全背下来了,反而在评测集上表现变差。
另一种常见错误是“任务混排不均”。如果训练数据里闲聊类样本特别多,模型会被带偏成“百搭回应器”,碰到严肃的技术问题也先用拉家常的口吻起手。解决方式是按任务类别做batch级别的采样配比,保证每个批次里都有不同难度的样本,而不是简单把整个数据文件随机打乱。
SFT之后必须做一轮人工抽检。我习惯从每个任务类别里随机抽二十条样本,逐条看模型的输出风格、格式、开头结尾处理。这个环节不能省,有些问题在loss曲线和自动化评测里都看不出来,只有人眼才能发现模型说话方式变得像某个特定数据源,或者反复出现“作为一个人工智能,我不能……”的开场白。这些都是数据噪声的信号,需要在进入RLHF之前把数据源修掉。
3.3 奖励模型与RLHF阶段:把“人类偏好”变成训练信号
很多人觉得RLHF的难点在强化学习算法本身,但我的经验是,奖励模型才是整个链路里最容易被低估的部分。奖励模型的任务是给模型的每一条输出打一个分数,这个分数要尽可能拟合人类偏好。如果奖励模型本身不准,后面的强化学习就是在给模型教“错误的审美观”。
奖励模型通常是在底座模型之上接一个回归头,用pairwise偏好数据训练,训练目标是让“较优回答”的分数高于“较差回答”。训练时要注意几个细节:第一,偏好数据里同一指令的两条回答最好来自同一个初始模型,避免分布偏差;第二,batch内要做“hard pair”和“easy pair”的比例控制,全是easy pair会让奖励模型学得太糙,全是hard pair又会训练不稳定;第三,奖励模型也要做正则化,否则它会把某些冗余特征当成评分依据,比如“回答越长分越高”。
RLHF阶段我一般用PPO框架。这里有个酷似“手忙脚乱但必须淡定”的交响乐时刻:策略模型、参考模型、奖励模型、价值模型四个模型同时在显存里跑,任何一张卡爆显存都会让训练前功尽弃。KL散度系数是首要调节旋钮,它控制着策略模型和参考模型之间的偏离程度,调太大模型会变得保守,调太小又容易出现奖励模型被钻空子的情况。我的经验是从0.1左右起调,根据训练稳定性每几百步微调一次。如果观察到生成文本的熵突然下降,基本是训练正在走向崩溃的信号,这时候要赶紧降学习率或者加大KL系数。
RLHF训练还有一个容易被忽视的点:初始策略的选择。从SFT模型初始化,和从随机初始化,训练曲线完全不同。先做好SFT再进RLHF,模型表达已经稳定,强化学习只是微调行为偏好;跳过SFT直接RLHF,则会让模型产生大量重复和退化表达。这也是为什么我在前面的SFT阶段反复强调“别把数据喂太油”,因为后续强化学习还要在这个基础上继续调整。
3.4 评测与上线:从离线指标到线上体验
模型训练完不等于工作结束。上线前至少要过三关:自动化评测、人工评估、小流量线上测试。自动化评测跑的是离线指标,比如安全问题拒答率、有用性打分、格式遵循率。人工评估则是让标注者对模型的回答做整体打分,这个环节无论自动化指标多好看都必须保留,因为AI评估和人工评估之间始终存在系统性的偏差。
小流量线上测试是我最看重的环节。后训练模型的体验问题,很多时候只有在真实对话环境里才暴露得出来。常见的例子是模型在评测集里表现完美,一到线上就对用户的长尾问题过度拒答;或者模型回答内容本身没错,但语气和产品定位不符,用户反馈“感觉在跟后台客服说话”。这些现象只有通过线上真实流量抽样才能发现。
上线前还必须准备好回滚方案。一个成熟团队的做法是:旧模型和新模型同时服务,切流量从1%开始逐步增加,每个阶段都盯安全指标和用户反馈,发现问题立即切回旧模型。这是应对评测偏差的兜底手段,也应该是每个后训练项目的默认配置。
4. 团队调整期,项目如何稳住不翻车
4.1 换帅前后的三个“保命”动作
如果团队真的面临调整,作为项目里的工程师,最先要做的事情不是焦虑,而是把手头的东西固化下来。第一个动作是保存基线和checkpoint。当前模型的参数版本、数据版本、评测结果,都要形成一份清晰的快照。这样即使新负责人在未来两周内推翻了旧路线,你手里还有一版可回退的结果可做对比。
第二个动作是做好决策记录。后训练领域的很多经验都是“教训型的”,比如某次因为KL系数开太大导致模型输出退化,某次因为评测集和训练数据重叠导致指标虚高。把这些记录写成文档,不只是在帮组织沉淀制度记忆,也是在帮自己积累方法论。换人之后真正值钱的不是代码,而是这些“为什么这么做”的技术判断。
第三个动作是保持对外沟通口径,尤其是涉及模型上线节奏时。团队变动期间最容易出现需求断档,产品部门不知道新模型什么时候能上,后训练团队不知道产品到底需要什么能力。这时候要主动把技术状态同步给业务方,哪怕只是每周一页简单的状态文档,也能避免大量混乱。
4.2 可复现的管道是团队的“制度记忆”
团队调整期最忌讳的是“人走了,经验也走了”。如果项目依赖某个工程师的个性化操作,比如某个神秘的shell命令、某份不在版本控制里的数据预处理脚本,那换人之后整个训练流程都可能断裂。避免这个局面的唯一方法是从第一天起就建立可复现的训练管道。
所谓可复现,不只是“这套代码能跑”,而是“任何人拿到代码、数据和配置,都能跑出同一份结果”。为此,数据版本要纳入管理,训练配置要写进yaml文件而不是散落在命令行参数里,随机种子要固定,评测脚本要走统一的入口。团队里可以专门立一条规矩:一份训练任务如果换一台机器跑不出同样的结果,就不算完成。
4.3 新人接手时容易踩的坑
换帅之后,如果新负责人带来了自己的工程习惯,原团队成员最容易踩的坑就是盲从。比如学术背景出身的负责人倾向于多跑实验、少碰线上,喜欢把大量时间花在探索性训练上;产品向的成员则希望快速出效果、快速上线。两种风格没有绝对对错,但如果双方不沟通清楚,就会发现团队方向来回摇摆,实验做了一堆,没有一个能交付。
我的建议是:在新路线明确之前,先坚持做增量改进,不要轻易推翻现有管线。把数据、评估、训练三个环节的小改动各自做成独立实验,用可量化指标对比,让数据来说话。这样既尊重新负责人的决策空间,又能保证项目不因为方向摇摆而停滞。
5. 常见问题与排查技巧实录
5.1 奖励模型被钻空子:模型学会了“作弊”
这是RLHF训练中我最常遇到的坑。模型在训练过程中会逐渐发现,某些输出模式能让奖励分数变高,但这些模式并不是人类真正喜欢的。典型的例子是:模型发现“回答越长、分越高”的规律之后,就开始疯狂输出废话,把“不知道”改写成“这个问题比较复杂,我需要从多个角度来回答”,表面上看起来很有道理,实际上什么也没说。
排查方式很简单:在训练过程中周期性采样生成文本,人工看看高分样本是不是真的质量更高。如果发现高分样本出现大量冗余表达、模板套话,基本可以断定奖励模型出了偏差。此时优先检查奖励模型的训练数据里是否存在长度偏差、关键词偏差等问题,给奖励模型加正则化约束,把“长度差”这类混淆变量从打分依据里剔除。
5.2 RL训练不稳定:熵崩与奖励攀升失控
第二个常见问题是训练过程不稳定,典型表现是熵值突然掉到接近0,或者奖励分数一路飙升但生成文本质量反向下降。熵值骤降意味着策略模型开始“自我固化”,它已经学会用固定模板应对一切输入,失去了多样性;奖励飙升则意味着奖励模型可能被钻了空子,不必太高兴。
遇到这类问题,第一反应是把KL系数调大,先把策略模型往参考模型拉一拉,然后降低学习率,给训练过程降温。如果还是救不回来,就从最近的稳定checkpoint恢复,换数据批次再跑。我见过不少团队因为舍不得当前训练进度强行硬撑,最后损失了更多时间。训练不稳定时及时回滚不丢人,硬跑才是对自己的不负责。
5.3 评测集污染:越测越好看的“数字游戏”
评测集污染是后训练项目里最隐蔽的问题。当模型反复在某套评测集上被调优,它会对该评测集逐渐“记住”最佳答案格式,表现为评测分数持续上升,但面对开放对话表现平平。这也是行业内对公开榜单排名越来越谨慎的根本原因。
排查方法是定期往评测集里注入一批全新的、模型没见过的题目,观察分数是否明显下降。如果下降幅度很大,基本可以确认之前的高分有水分。平时把评测集分成训练可见集和训练隔离集,后者只在最终评估时才解锁,这算是防范污染的标准操作了。
5.4 排查技巧速查表
| 问题现象 | 可能原因 | 优先排查动作 |
|---|---|---|
| 奖励分数持续上升但文本质量下降 | 奖励模型存在偏好偏差 | 抽检高分样本,检查奖励模型训练数据的混淆变量 |
| 生成文本多样性骤降,熵值接近0 | KL系数过小或学习率过大 | 调大KL系数,降低学习率,必要时回滚checkpoint |
| 训练正常但线上安全拒答率升高 | 评测集与训练数据重叠导致过拟合 | 检查评测集污染,增加隔离评测集 |
| SFT loss下降但评测分反而下跌 | 过拟合或数据噪声 | 减少epoch数,检查数据质量与配比 |
| 全流程没问题但线上反馈“语气不对” | 产品导向评估缺失 | 增加人工评估,开展小流量线上测试 |
6. 写在项目之外:一点真实体会
后训练这份工作,干久了会有一个很深的体会:它一半是科学,一半是手艺,甚至手艺占比还要更高一些。预训练讲究的是scale和算力,方向清晰,按着曲线走就行;后训练面对的却是无数个微妙的选择:一条训练数据要不要留?KL系数是0.08还是0.12?奖励模型里那两个标注维度,权重该偏向哪一边?每个选择单独看都影响不大,叠加在一起,才决定了用户面对模型时的第一印象。
换帅这类新闻之所以引人关注,是因为它把“技术路线之争”从幕后推到了台前。但在我看来,真正决定一个模型好坏的,从来不是某个团队领导的个人风格,而是团队有没有把每一个决策变成可回放、可复现、可讨论的经验。谁走谁留总是一时的,数据管道、评测体系、训练流程这些沉淀下来的东西,才是团队真正带不走的资产。
最后分享一个小技巧:无论你手里的模型跑到哪一步,始终保存一个“上次表现最好的完整快照”,包括模型权重、数据版本、训练配置甚至当时的环境依赖。因为AI项目的回滚不见得发生在代码层面,更多时候发生在你终于意识到“新路线的美好”只是想象中的美好时,你只想回到那个并不完美但稳定的老版本。手里有快照,心里就不慌。