可验证搜索不是可学习的链式思维
这篇论文给CoT蒸馏泼了盆冷水,证明回溯搜索这种过程是学不会的,模型只能记住验证步骤。做推理微调的团队该重新审视自己的数据生成策略了。
论文以九个确定性生成器推理任务为测试床,证明可验证搜索无法作为可学习的CoT进行蒸馏。Cryptarithm任务中,即使backbone规模从3B到671B、采用多种CoT设计、基于可验证奖励的强化学习和自训练,蒸馏后准确率始终为0.01–0.07,而搜索求解器回答71%实例。模型能正确计算97–100%的算术步骤并将正确密码排在候选前八(71%),但无法前向推导。干预实验揭示密码键后,同一实例准确率从0.03提升至0.57。只有移除搜索、预计算组合核心为目录,让模型仅做回忆加验证,才能学会该任务(Private LB 0.92)。结论:蒸馏学到的是记忆和验证,而非搜索。
人们很容易假设,任何可由简短程序解决的任务,都可以作为模型的思维链来教会它:把步骤写出来,微调一下,模型就能照做。本文表明,对于某一类可识别的过程,这一假设是失败的。测试平台是九个推理任务,每个任务都来自一个确定性的生成器;公开和隐藏的数据划分共享相同的生成器,因此留出集可以代理测试准确率。我将这些生成器逆向工程为 Python 求解器,将其呈现为思维链,并蒸馏到一个秩不超过 32 的 LoRA 上,该 LoRA 基于一个 30B(3.5B 活跃参数)的 Nemotron 模型。可前向计算的任务很容易安装到位:查表/算术任务和一个 8 位布尔任务实现了迁移(准确率分别为 >= 0.99 和 0.68)。密码算术则不然:将其回溯搜索进行蒸馏,在十一种思维链设计、可验证奖励的强化学习以及自我训练中,准确率始终停留在 0.01-0.07,尽管一个搜索求解器能回答 71% 的实例。这不是能力差距。模型能正确完成 97-100% 的行间算术运算,并在 71% 的情况下将正确的密文字母排在前八位;但它无法将搜索作为从左到右的推导过程持续推进。微调学到的是一个可验证消去步骤的形态,而其判决却变成了无条件的模板,正确率仅有 16-57%("作为 token 的判决")。这一瓶颈在从 3B 到 671B 的不同基座模型以及微调和提示词方法中都普遍存在;一次受控的干预找出了原因:揭示密码键——这使得推导变得可前向进行——将相同实例的性能从 0.03 提升到了 0.57。当一个过程唯一的解决方法是在信息自由的结构上进行搜索时,就不存在可模仿的、忠实的、前向的思维链。只有通过移除搜索,将其组合核心预先计算成一个目录,并将过程迹缩减为回忆加验证,该任务才变得可学习;第一名解决方案正是通过这种方式达到了私有排行榜 0.92 的成绩。能够被蒸馏的是记忆和验证,而非搜索。