四种失败形状,各指向哪一步
建议用时:25 分钟(含练习)
学习目标
能够按日志与评测的形状把一次后训练失败定位到数据、目标函数、奖励或评测集,并交出一份含失败样例的评测报告。
本节产出
一份后训练方案加一份带失败样例原文的评测报告(结课产出)
核心知识:先看形状,再决定改哪一步
后训练最容易收场的一句话是"再训训看"。它的问题不在偷懒,在于没有指向:调学习率、加数据、换奖励、改评测,四件事互相不知道对方动了什么,最后谁也说不清是哪一步被修好了。这一节给的是一套读法:先看失败长成什么形状,再由形状指向该改的那一步。
一句话先立住边界:**下面这四种形状是本课的教学归纳,不是某一篇论文的结论。**本课核到的摘要只支撑其中两处机制说法,位置在"形状二"那一节里逐条标注。形状与环节之间的对应关系,是本课自己整理出来的判据。它可以被你的日志推翻;推翻时请写进报告,别悄悄改判据。
形状一:损失几乎不动
日志上是一条平线,或者上下抖动但不往下走。它最常指向的环节是学习率,或者数据里本来就没有可学的信号:输入和目标之间没有稳定关系、标签几乎同一个值、示范答案与提示对不上。
为什么要先分这两半:学习率太小是"信号在但推不动",数据没信号是"推得动也没东西可推"。前者改一个数就能看见变化,后者改多少学习率都一样平。怎么分:从同一批数据里挑几十条,人工读一遍,问"照着提示我能不能答出目标"。这一格不需要 GPU,也不需要账户。
什么时候不适用:平线也可能是任务被量化成常数(比如所有目标输出长度都被截断成同一个模板)。这时损失不动是真的,但形状一给的答案会误导,因为改的既不是学习率也不是数据内容,是数据准备那一步。
最容易混:把它读成"模型太小"。这一格在本课里不进判据,除非你换了同族不同规模的两次读数。
形状二:输出复读、长度膨胀、话术模板化
同一段话反复出现;回答越写越长但信息没多;开头永远固定三句。这一格指向奖励在替模型说话:模型优化的是奖励给分的那个形状,不是任务本身的好坏。
本课在这里能引到的,只有两条摘要级别的机制说法。其一是 HH-RLHF 摘要点出的那条关系:作者报告 RL 奖励与策略相对其初始化的 KL 散度的平方根近似线性——读它的方式是"奖励一路涨时,模型离开初始化的距离同步被量出来",奖励涨与偏离变大是绑在一起的。其二是 MT-Bench 摘要点名评审带偏置那一格,其中就包括冗长偏置:更长的答案在自动评审里更容易拿到分。这两条合起来的读法(本课推断,不冒充论文结论):如果打分的东西偏爱长度,奖励就会把长度当质量卖给你。
该改的一步:回到奖励的定义与约束,而不是先把学习率调小再赌一次。
形状三:奖励涨,人评跌
自动奖励曲线好看,人工读一批输出却觉得"更油了"。这一格指向代理指标被钻空子:你给它的那个分数和你想的那个东西不是一回事。
判据不是"人觉得不好"这一句感觉,而是:奖励分与人工一致性读数朝相反方向走,且这个反向在两次独立抽样上都出现。什么时候不适用:如果人工评审本身没有固定题目、没有对照,那这条形状就测不出来,你会同时得到形状四的干扰。
该改的一步(本课给的教学动作,不是论文建议):回到奖励的定义,把缺的那一项补进去,例如给"输出离初始版本别太远"上一道闸;同时把人工判断做成能算一致性的读数,否则下一次你仍然只能靠感觉说"变油了"。
形状四:评测涨,真实任务不涨
上线前后总分涨了,用户那边的问题一个没少。这一格最常指向评测集自己变了:题目变宽或变易、新题与训练数据重叠、模板高度相似导致"背格式"就能得分;或者指向评审带偏置——MT-Bench 摘要点名的位置偏置、冗长偏置、自我增强偏置都属于这一类。
这一格最贵的一句判据是:只有总分的时候,你永远分不清是模型变好了还是题目变易了。
该改的一步:改评测,不改模型。先把题目固定下来、加一批失败样例原文,再谈分数。
测得出退化的评测集要留三样
| 要留的东西 | 它回答什么问题 | 只留总分时会发生什么 |
|---|---|---|
| 一组固定不给人看的题 | 模型在没被碰过的题上到底什么水平 | 调参的人会把它当第二份训练集 |
| 一批失败样例原文 | 失败长什么样,属于哪一类 | "分数掉了"没人能复查 |
| 一个与人工判断的对照 | 自动分数和人的判断是不是在说同一事 | 评审偏置被当成能力提升 |
三样缺一不可:固定题给可比性,失败原文给可复查性,一致性读数让"分数"这个符号有指称。只有总分的那份报告不能证明退化,也不能证明进步。
两条等价路径:真跑,或者纸面
本课验收的是产出物,不是你有没有一张显卡。
路径甲,能装环境的人走真跑。 条件写清:不需要 GPU、不需要任何付费账户、不需要联网调外部接口。做法是把规模压到 CPU 上分钟级能跑完若干步的量:一个几百到几千条、人工能一眼看完的玩具指令集,加一个公开教学用的极小 Transformer(参数量在千万级,不是任何商用基座),跑一次小规模监督微调。预期读数的形状(不是数值):损失在前若干步下降后走平;生成里出现重复片段;如果故意把一批目标答案换成同一个模板,平线会更平。这一条路要交的和纸面一模一样:一份方案加一份带失败样例原文的报告。
路径乙,装不了环境的人走纸面。 做第 7 节那种四格预算,加一份日志诊断:拿本节下面练习里的四份日志与两份报告,各写出被指向的那一步和还缺哪个读数。
两条路等价的前提是不许伪造状态。报告第一行只许写三个词之一:跑通了、部分跑通、未跑。写"跑通了"必须附读数来源(哪台机器、哪份日志、几步);没跑就写"未跑",并写一句缺的是环境、数据还是时间。把"未跑"写成"跑通"在本课按错误处理,不按节省篇幅处理。
这张图承担的是顺序,不是分类:先认形状,再指环节,再问还缺哪个读数,最后才动那一步。跳过中间那一格直接改代码,是本节最想拦住的动手习惯。
案例:星湾那次"涨了 6 分"的上线(以下为教学用虚构读数)
2026-11,星湾社区服务中心的 example-chat-mini 微调版准备上线。周衡交来的评测报告只有一栏:自动评分从 71 到 77,涨了 6 分——那串分数是他自己的评审脚本按条打出来的,评审模型走 https://api.example.invalid/v1 调用,与被打分的模型并非同一套权重。张老师在群里回了一句"用户那边投诉一条没少"。许岚被拉来做判定,她要了三样东西:跑分脚本用的题目清单、模型输出的原始记录、以及人工读 20 条的判读结果。
三样到手后,形状就摊开了。第一,题目清单从上一版的 120 题变成 260 题,新增的 140 题里有一批是社区常见问题的高相似改写,模板高度一致——评测集变宽,形状四的前半格。第二,人工读的那 20 条里,7 条出现同一句"根据您的情况,建议您携带以下材料"开头、正文重复两遍,自动评审给的分数却都在高档——形状二与形状四叠在一起:冗长在自动评审里吃香。第三,把自动分数和人工判断逐条对照,只有 11 条落在同一边,一致性读数根本没法算——报告缺的正是这一格。
于是"涨 6 分"这件事有三种读法,而这三种读法各自的处置完全不同:模型真的变好了;题目变易了;评审偏爱长了。只有总分的那份报告分不清,所以它不算证据。
许岚最后写的判定只有四行(虚构,教学示范):一,评测集回退到固定的 120 题,另留 40 题永不给调参的人看;二,报告必须逐字贴 10 条失败样例原文,按"复读/答非所问/漏项"归类;三,加一条人工一致性读数,抽 20 条由两个人独立判;四,77 分在补齐前三条之前不作数。**该改的是评测那一步,这一轮不动模型。**这份判定后来直接被并进结课交付的模板。
动手练习
- 归因六份虚构材料(四份训练日志加两份评测报告)。输入:日志甲,损失从第一步到最后一步在同一个值上下抖动,人工看 30 条数据发现提示与目标答案对不上;日志乙,损失正常下降,生成里同一段建议重复三遍,回答平均长度涨了一倍,自动评审分数同步上涨;日志丙,奖励曲线连涨五个检查点,同一批输出给两个人读,两人都说"更绕了";日志丁,学习率调大十倍后损失仍纹丝不动,且数据抽查显示目标输出全是同一句模板;评测报告戊,总分涨 6,题目从 120 换成 260,新增题多为高相似改写,未附任何失败样例;评测报告己,总分不变,失败样例原文里"漏项"类从 2 条涨到 9 条。任务:各写出被指向的那一步(数据/目标函数/奖励/评测集),并写明还缺哪一个读数才敢定案。预期输出:六行判定,每行两格。验收条件:至少两行给出"缺的读数"而不只是归因;不许用"运气不好/再多训训"作结。(本步列出的六份材料已够作答,不必另找东西。)
- 交一份评测方案。任务:为你自己选定的后训练任务写评测方案,四格齐备:题量(做多少题、按什么维度分桶)、留出集(多少题固定不给人看、多久换一次)、失败样例记录格式(逐字原文、归类字段、每轮至少几条)、一个明确写出的停止条件(看到什么读数就停,不许写"效果不好就停")。预期输出:半页到一页。验收条件:停止条件必须能被第三方的读数复核。
- 合成结课交付。任务:把第 2 题的方案与本课第 7、8 节的产物并成一份完整交付——后训练方案(数据形态、目标函数动哪一项、四格显存预算、搬运路径选择)加一份评测报告(含第一行的跑通状态声明与至少 10 条失败样例原文,纸面路径者用练习 1 的判定表替代真机读数并写明"未跑")。预期输出:一份可被别人复查的文档。验收条件:方案与报告的每一处数字都标着"估算/虚构/实测"三者之一;出现"跑通"字样就必须附读数来源。
参考答案与推演
完成检查
- 四种失败形状各能说出被指向的那一步:平线看数据与学习率、复读与变长看奖励、奖励涨人评跌看代理指标、评测涨真实不涨看评测集与评审。
- 能说出这四格是本课的教学归纳,并讲出本课真正核到摘要的那两条机制说法各自覆盖哪一格。
- 交出的评测方案里有失败样例原文,而不只有分数;留出集与停止条件都能被第三方复核。
- 结课交付的第一行状态与实际一致,"跑通"有读数来源,"未跑"写明缺什么,没有把纸面推演写成实机结果。
参考与来源
- Judging LLM-as-a-Judge with MT-Bench and Chatbot Arena(arXiv,2023-06-09):2026-10-23 回摘要页核到"讨论 LLM 当评审的使用与限制,点名位置偏置、冗长偏置、自我增强偏置,并提出 MT-Bench 与 Chatbot Arena 两个基准"这一格;本节形状二与形状四里的"评审带偏置"就挂在这条上。只核到摘要,未取它与人工一致性的任何实验数字,正文不给数值。
- Training a Helpful and Harmless Assistant with Reinforcement Learning from Human Feedback(HH-RLHF,arXiv,2022-04-12):2026-10-23 回摘要页核到"用人类偏好与 RLHF 微调语言模型"以及"作者报告 RL 奖励与策略相对其初始化之间 KL 散度的平方根近似线性"这一条;本节只用它支撑"奖励上涨与偏离同步"这一读法。只核到摘要,三阶段流水线的细节、超参与图表一律未取,正文不写。
- Training language models to follow instructions with human feedback(InstructGPT,arXiv,2022-03-04):2026-10-23 回摘要页核到"作者提出模型变大本身并不让它更擅长跟随用户意图,并报告较小的微调模型在人类偏好上胜过更大的基座"这一格;本节用它说明一件事——分数与偏好的对照必须写明是谁在打分,否则形状四无法归因。只核到摘要,未取任何训练细节与实验表。
附件
- 登录后下载
eval-and-failure-triage-practice-data.zip
ZIP 文件
四种失败形状,各指向哪一步
3 道题 · 及格分 60 分