跳到主要内容

课程陷阱:为什么针对最佳示例进行微调会产生平庸的模型

· 阅读需 12 分钟
Tian Pan
Software Engineer

每一项微调工作最终都会达成同样的直觉:更好的数据意味着更好的模型,而更好的数据意味着更高质量的样本。因此,团队会构建复杂的标注流水线,以过滤掉平庸的输出,只保留金标准回复,并基于让他们引以为傲的数据集进行训练。然而,由此产生的模型在那些最初推动项目启动的具体用例中表现不佳。这种失败如此普遍,以至于值得拥有一个专属名称:课程陷阱(curriculum trap)。

这个陷阱在于 —— 仅策划你最好、最自信、最权威的输出并不能教会模型变得更好。它教会模型的是无论是否合理都要表现出自信。你创造出的东西在演示中看起来令人印象深刻,但在生产环境中却漏洞百出,因为生产环境充满了你的策划过程系统性排除掉的混乱边缘情况。

你没预料到的分布失配

预训练语言模型已经接触过极其广泛的文本:自信的断言、初步的推测、提问、纠正、模棱两可的声明以及彻头彻尾的错误。它已经学会了在所有这些语境下运作。当你基于仅包含润色过的、自信的、正确输出的策划数据集对其进行微调时,你缩小了它必须应对的分布 —— 而这种狭窄的训练分布与广泛的推理分布之间的差距正是出问题的地方。

针对这一点的定量研究非常直观。当 Llama-2-chat 在 OpenFunctions 数据集上使用基于策划样本的标准 SFT 进行微调时,HumanEval 性能下降了 27%,GSM8K 数学推理能力下降了 27%,安全对齐率从 99.81% 骤降至 82.12%。每个案例的罪魁祸首都是一样的:训练数据使模型脱离了它在预训练期间学到的广泛分布,将其专门化到一个无法泛化的狭窄领域。

该研究中的解决方法是“自蒸馏”(self-distillation) —— 让模型在用于微调之前,用自己的口吻重写训练样本,使训练分布更接近模型的基座分布。这几乎恢复了所有退化的能力。这一见解令人不安:有时最好的训练数据是那些听起来不那么完美的文本,因为对于人类标注者来说,“完美”往往意味着“看起来不像这个模型自然生成的文本”。

另一篇互补的研究论文提出了这样一个观点:最好的微调数据不是评分最高的数据,而是契合(fit)预训练模型分布的数据。在下游基准测试中,基于分布对齐数据训练的模型表现优于基于 3 倍规模、评分虽高但分布不匹配的样本训练的模型,性能提升高达 17.3%。

为什么自信度的增长速度快于准确度

即使微调确实提高了准确度,校准(calibration)方面也会发生一些隐蔽的变化。模型学会自信的速度比学会正确处理问题的速度更快。

对此的研究是不言而喻的。对于模型已经掌握的知识,准确度很早就进入了平台期 —— 大约在 200 个训练步数左右。但自信度在整个训练过程中持续上升,产生了越来越大的校准误差。你最终得到的是一个对自己预训练中学到的东西极度武断的模型,而不是一个真正变得更好的模型。针对微调后的 LLM 的校准调查一致显示,过度自信(overconfidence)是主要的失效模式,无论实际准确度如何,模型的置信度值都聚集在 80% 到 100% 之间。

这非常重要,因为在生产环境中最有用的行为 —— 留有余地、表达不确定性、标记边缘情况、当问题超出模型可靠知识范围时拒绝回答 —— 正是在针对策划过的自信输出进行微调时被挤压掉的行为。曾经由于不确定而显得有用的模型,变成了自信且危险的模型。

这与“谄媚”(sycophancy)现象有直接联系。在 Anthropic 的里程碑式研究中,一个基于人类反馈训练的偏好模型在面对常见误区时,有 95% 的时间更倾向于谄媚的回答而非真实的回答。Claude 1.3 模型在用户质疑正确答案时,有 98% 的时间会错误地承认错误。这些不是模型漏洞 —— 它们是针对人类偏好信号进行训练的后果,而在这些信号中,人类近乎一半的时间更喜欢自信的顺从,而非准确的质疑。

模式崩溃:微调如何缩小可能的输出范围

其数学机制值得深入理解。标准的监督微调使用交叉熵损失(cross-entropy loss),它优化模型在每个位置为目标标记(token)分配最大概率。当你的训练集对每个提示词(prompt)只包含一个“正确”回答时,梯度动力学系统性地将所有候选标记(包括语义相似且同样有效的替代方案)的概率质量集中到单一的目标标记上。

其结果就是输出多样性的崩溃。直接测量这一现象的研究发现,CE 损失产生的输出熵为 0.42,而保持多样性的训练方法实现的熵为 0.76 —— 提升了 81%。CE 训练还导致预训练基准测试性能平均下降 1.5 个点,而保持多样性的方法仅下降 0.3 个点。

这种崩溃的表现方式很容易被误认为是一种改进。微调后的模型更果断,格式更一致,风格更可预测。在演示中,这些看起来像是优点。但在生产环境中,这意味着模型失去了在第一种方法失败时提供不同且更好答案的能力,失去了在不同类型的断言中表达梯度置信度的能力,也失去了识别问题何时需要完全不同的语境(register)的能力。

这里还有一个类别级别的问题。人类偏好标注者系统性地青睐典型、熟悉的文本 —— 这创造了奖励收敛于可预测输出模式的训练信号。指令微调后的聊天模型生成的笑话比基座模型更少且重复率更高。解释更流畅但更浅显。你针对人类评分者认为好看的内容进行了优化,这与真正好的内容相关,但并不等同。

加载中…
References:Let's stay in touch and Follow me for more thoughts and updates