真实面经题目 · 原创解析

大模型微调后出现不遵循指令、复读和错误答案,如何定位原因并判断 CoT 是否有效?

这题考察大模型微调后行为退化的定位方法:要把不遵循指令、复读和错误答案拆成可复现的错误类型,分别从数据、训练配置、解码参数和评估切片定位,并用对照实验判断 CoT 是否真正改善推理或事实正确率。

出现于:滴滴 · 算法

60 秒回答模板

我会先把三个现象分开诊断:简短要求却长输出属于指令遵循和长度控制退化,复读属于生成分布或解码约束异常,错误答案属于知识、推理或监督标签问题。排查时先固定同一批评测题和同一套解码参数,对比基座模型、微调 checkpoint 和不同训练阶段 checkpoint,确认退化从哪里开始。然后看训练数据是否有长答案偏置、重复样本、错误标注、格式不一致、CoT 暴露过多或和指令冲突;再看训练配置是否学习率过大、训练轮数过多、模板拼接错误、loss 异常或灾难性遗忘;最后看推理侧 temperature、top_p、重复惩罚、stop token、max tokens 是否放大问题。CoT 不能当万能修复,它主要对多步推理、计算、需要显式证据核对的事实类问题可能有效;对长度失控和复读通常无效,甚至会加重啰嗦。要通过 direct answer 和 CoT answer 的分片评测验证最终答案正确率、指令遵循率和重复率是否真的改善。

考点 三类错误分开看
难度 真实面经题
回答目标 定位行为退化并验证 CoT

深入解析

01

先把退化现象分型

微调后出现简短要求却长输出、输出重复、输出错误答案,不能统一归因成模型幻觉。长输出通常说明模型学到了训练集中长答案、长 CoT 或模板化解释的偏好,和用户的长度约束对齐不足。复读通常和重复样本、过拟合、解码参数、stop token 缺失或训练分布坍缩有关。错误答案则要区分事实记忆错误、推理链错误、检索或上下文缺失、监督标签本身错误。分型之后才能设计对应指标,例如长度超限率、n-gram 重复率、答案正确率和指令遵循率。

02

做基座与 checkpoint 对照

定位第一步是固定评测集、prompt 模板、系统提示和解码参数,同时跑基座模型、最终微调模型和中间 checkpoint。如果基座正常、某个 checkpoint 后突然变差,优先看该阶段数据和训练配置。如果所有 checkpoint 都长输出,可能是数据分布或训练目标整体偏向长解释。如果只在高温解码下复读,推理参数可能是放大器而不是根因。对照实验的价值是把数据问题、训练问题和推理问题拆开。

03

检查数据质量和分布

微调数据要重点查四类问题。第一是格式一致性:system、user、assistant 边界是否清晰,是否把参考答案、解析、标注说明混进模型应输出内容。第二是标签质量:答案是否事实正确,是否存在问题和答案不匹配。第三是分布偏置:训练集中是否大量长 CoT、长解释、重复模板,导致模型遇到短答要求也倾向展开。第四是重复和污染:近重复样本会放大复读,错误样本会让模型稳定学错。对三类错误分别抽样回溯训练样本,通常比只看总体 loss 更有效。

04

排查训练与模板

训练侧要看学习率、batch、epoch、warmup、权重衰减、LoRA rank、梯度裁剪和 loss 曲线是否异常。学习率过大或训练过久可能造成灾难性遗忘,让模型原本的指令遵循能力下降;模板错误可能让模型学会输出特殊标记、重复角色名或忽略用户约束;只优化 next token loss 也可能让模型偏向训练集中高频但不一定符合指令的表达。比较不同 checkpoint 的退化曲线,可以判断是逐步过拟合还是某个数据批次引入了问题。

05

单独验证解码因素

复读和长输出经常被解码参数放大。需要固定模型后扫描 temperature、top_p、top_k、repetition penalty、presence penalty、max tokens、stop sequences 和长度惩罚。若低温和明确 stop token 下复读消失,说明训练分布可能不理想,但上线可先通过解码护栏降低影响;若无论如何都复读,说明模型本身分布已经被训练破坏。错误答案不能只靠降温解决,因为降温只让模型更稳定地输出高概率答案,高概率答案仍可能是错的。

06

判断 CoT 是否有效

CoT 的验证要做 ablation:同一批题分别用直接回答、显式 CoT、隐藏推理后只输出结论等方式评测,比较最终答案正确率、指令遵循率、长度超限率、重复率和人工可读性。CoT 对数学推理、多跳逻辑、需要列证据核对的事实题可能有效,因为它增加中间步骤并降低跳步错误;但对简短指令、风格控制、复读问题通常不是根因修复,还可能让输出更长。若 CoT 提高了推理题正确率但恶化了短答和重复,应只在相关切片启用,并用最终答案约束和长度约束兜底。

易错点

  • 把不遵循指令、复读和错误答案都笼统说成 hallucination,没有拆成可观测的错误类型。
  • 只建议重新清洗数据,却不做基座、checkpoint、解码参数的对照实验,无法定位退化发生在哪一层。
  • 认为 CoT 一定能提高答案质量,忽略它可能加重长输出和错误推理链暴露。
  • 只看总体准确率,不按短答指令、推理题、事实题、重复输出、长度超限等切片评估。
  • 把推理侧 max tokens 或 temperature 调整当成根治方案,忽略训练数据和模板已经改变模型输出分布。

面试官追问

如果微调后模型总是把短答案写得很长,最先查什么?

先查训练数据的答案长度分布、是否大量使用长 CoT 或固定解析模板,再查 prompt 模板里是否要求详细解释。评测时用长度超限率和短答指令遵循率做切片,而不是只看总体正确率。

复读问题怎么区分是训练问题还是解码问题?

固定模型后调低 temperature、收紧 top_p、增加重复惩罚、设置 stop token。如果复读明显缓解,解码是主要放大器;如果不同解码下仍反复重复相同片段,要回查重复训练样本、过拟合和模板错误。

微调数据里有 CoT 样本会带来什么风险?

如果 CoT 样本过多、过长或质量不稳定,模型会学到凡题必展开的风格,短答场景会失控;如果推理链本身错误,模型还会学习错误中间步骤。更稳的做法是区分需要推理链的任务,并评估最终答案而不是只看推理过程像不像。

错误答案一定说明模型知识被微调覆盖了吗?

不一定。可能是监督答案错、问题答案不匹配、训练模板误导、解码高温采样,也可能是灾难性遗忘。要用基座对照、checkpoint 对照和 badcase 回溯判断是哪一类。