论文

为什么只知道两跳还不够:理解语言模型中的两跳泛化

Why Knowing Both Hops Is Not Enough: Understanding Two-Hop Generalization in Language Models

模型评测模型行为与机制分析

摘要

大语言模型 (LLM) 可以解决复杂的多跳问题,但在简单的两跳查询上却表现出令人费解的失败:尽管模型可以正确存储每个单独的跳,但通常无法将它们组合起来。为了理解这种现象的内部机制,我们在受控的符号环境中从头开始训练 Transformer。我们的实验揭示了双跳泛化的模式:当第二跳遵循训练分布时,模型可以可靠地泛化,但当它偏离训练分布时,模型总是会失败。通过机制分析,我们为这些不同的泛化行为提供了完整的解释:在模型成功泛化的设置中,性能是由跨上下文的相同实体出现一致的中间表示驱动的,而第二跳不分布的设置中的失败则源于跨层的不匹配:较低层正确地构造这些中间表示,但上层在接受相应原子事实的训练时,主要学习将它们映射到输出,而不是对它们进行推理。在这种见解的驱动下,我们提出了一种循环式训练策略,该策略使 Transformer 能够跨输入形式重用其推理电路,并显着提高分布外两跳查询的泛化能力。我们的数据和代码可在 https://github.com/zzl-strong/two_hop 获取。