DoLa(Decoding by Contrasting Layers,层对比解码)是一种在推理阶段减少大模型幻觉(hallucination)的解码方法:它不额外训练模型,而是用同一模型“深层输出减去浅层输出”,把更像事实的判断放大,把通用套话压低。
大模型不是只有最后一层在“思考”。浅层往往更接近语言表面的续写习惯,容易给出顺口、正确但信息量低的“场面话”;深层经过更多层整合,通常更接近模型对事实和语义的判断。DoLa 的做法是:每一步预测下一个词时,不只取最终层的 logits(未归一化打分),还拿一个较早层的 logits 作对照,用两者之差调整概率分布,再经 softmax 选出词。可以把它想成公司开会:实习生先复述一遍“这是重要问题,需要综合考虑”的套话,老员工再给出具体判断;把老员工的打分减去实习生的套话打分,剩下的才是更有信息量的部分。DoLa 通常会动态挑选对照层,而不是固定某一层,以让对比更有效。
它和相邻概念的区别可以用一张表看清:
| 方法 | 对照对象 | 是否需额外模型/训练 | 主要作用 |
|---|---|---|---|
| 普通解码 | 只取最终层 | 否 | 正常生成 |
| DoLa | 同一模型深层与浅层 | 否 | 压套话、缓解幻觉 |
| 常见对比解码 | 大模型与小模型/强弱模型 | 常需辅助模型 | 放大强模型偏好 |
| RAG(Retrieval-Augmented Generation,AI 词典:检索增强生成">检索增强生成) | 外部检索资料 | 需检索系统 | 补外部事实 |
所以 DoLa 不是“让模型多查资料”,也不是简单调温度;它利用模型内部层间差异做信号净化。对从业者,它是一个较低侵入的推理时技巧,可与 RAG、事实校验叠加;对普通人,它可能让回答少一些“听起来很对但没信息”的套话,但并不能保证事实全对,重要结论仍要核验。具体实现和适用模型以论文与官方页面为准。
