随着大型语言模型(LLM)的层数不断堆叠,一个根本性的问题也浮出水面:更多的深度是否带来了更强的智能,还是仅仅是参数量的暴力堆砌?一些研究认为,Transformer 模型的后半部分对最终输出的贡献微乎其微,似乎成了“食之无味,弃之可惜”的鸡肋。然而,另一些理论工作则强调,深度对于解决复杂的、需要多步推理的算法任务至关重要。
ArXiv URL:arxiv.org/abs/2604.12…
这种矛盾的观点引出了一个更精确的问题:模型是否学会了自适应地使用其深度(adaptively use their depth)?换言之,它们会不会像一个经验丰富的程序员,为简单任务分配少量计算资源,而将更多的“算力”——也就是更深的网络层——留给更艰巨的挑战?
最近,来自微软研究院的一篇论文《Do Transformers Use their Depth Adaptively?》通过一个设计精巧的实验,对这个问题给出了肯定的答案。研究表明,Transformer 确实能够根据任务难度动态调整其计算深度,尤其是在经过特定任务的微调之后。这一发现不仅澄清了关于模型深度效率的争议,也为我们理解和优化大模型的推理能力提供了新的视角。
精巧的实验设计:用“家谱”丈量模型的推理深度
要精确测量模型的深度使用情况,首先需要一个能够量化难度的任务。以往研究常常使用像数学题(GSM8K)或常识问答(HellaSwag)这类综合性基准,但这些任务的“难度”定义较为模糊,且答案往往包含多个 Token,使得分析过程变得复杂。
为了克服这一限制,研究者选择了一个名为 CLUTRR(Compositional Language Understanding and Text-based Relational Reasoning)的数据集。这个任务的核心是基于一系列陈述家庭关系的句子,推断出两个指定人物之间的关系。
这个任务的最大优点在于其难度可控性。通过增减关系链的长度(即“跳数”,hop),研究者可以精确地控制推理的复杂度。例如,一个 2 跳问题可能只需要组合“A 是 B 的父亲,B 是 C 的母亲”来推断“A 是 C 的外祖父”;而一个 5 跳问题则需要更长的推理链。研究者将问题格式统一为“因此,A 是 B 的___”,从而将任务转化为单 Token 预测,极大地简化了分析。
为了“窥探”模型在处理这些任务时的内部运作,论文采用了两种强大的可解释性工具:
-
逻辑透镜 (Logit Lens):这个方法让我们能像做 CT 扫描一样,逐层观察模型的“想法”。具体来说,它将模型最终用于生成预测的输出层(unembedding matrix)应用到每一层网络的隐藏状态(hidden states)上。这样,我们就能看到在第 1 层、第 2 层……直到最后一层,模型对最终答案的预测是如何一步步演变的。如果模型在处理简单任务时,在较浅的层就已经得出了正确答案,这就构成了自适应使用深度的证据。
-
因果补丁 (Causal Patching):这是一种更具外科手术性质的分析技术。它通过比较模型在处理原始输入和“反事实”输入时的行为差异,来定位关键信息的处理位置。例如,研究者会运行一个原始故事(如“A 是 B 的兄弟”),再运行一个修改了某个关系的反事实故事(如“A 是 B 的父亲”)。然后,他们会将反事实运行中某个特定位置、特定层的隐藏状态“移植”回原始运行中,观察模型最终的预测是否会因此“恢复”到反事实的结果。通过这种方式,可以精确地识别出模型在哪一层、哪个 Token 位置整合了关键的关系信息。
预训练模型:初现端倪的自适应能力
首先,研究者在包括 GPT-2、Pythia、Phi、Qwen 和 LLaMA 在内的多个开源预训练模型上进行了测试。结果发现,这些未经特定任务微调的模型,已经表现出有限但清晰的自适应深度使用迹象。
观察一:更大模型在简单任务上“思考”得更快。
逻辑透镜分析显示,对于一些较大的模型(如 Phi-2),在处理较简单(跳数较少)的推理任务时,其预测准确率在较浅的层就已经达到了很高的水平。相比之下,处理更复杂的长链推理时,准确率则需要到更深的层才能稳定下来。这表明,模型并非总是“全力以赴”,而是会为简单问题“浅尝辄止”。
观察二:任务越难,信息整合越深。
因果补丁的分析结果更为直接。如下图所示,随着推理链(hop)的增长,模型需要依赖更深的网络层来完成信息的整合。对于 2 跳推理,信息的整合主要发生在模型的中间层;而对于 5 跳或 8 跳的复杂推理,关键信息的处理和融合过程则显著地向网络深处移动。这有力地证明了模型会为更难的任务调动更深的计算资源。
这些发现与一些早期研究的结论形成了对比。论文作者推测,之所以他们能观察到这种自适应性,关键在于 CLUTRR 任务的高度可控性,以及逻辑透镜和因果补丁这两种分析工具的精确性,它们比之前研究中使用的宏观指标(如隐藏状态的表示相似度)更为敏感。
微调模型:被“解锁”的全部深度潜力
预训练模型的表现虽然令人鼓舞,但真正的惊喜来自于微调(finetuning)实验。研究者采用了两种不同的微调策略来训练模型专门解决这个家谱推理任务:
-
LoRA 微调:这是一种参数高效的微调方法,仅更新模型注意力机制中的一小部分参数。它的主要目标是在提升任务表现的同时,尽可能保留模型原有的通用语言能力。
-
全参数微调 (Full Finetuning):这种方法则更为“激进”,它会更新模型的所有参数,使其完全专注于当前任务,而不必顾虑是否会损害其通用能力。
实验结果清晰地揭示了这两种策略带来的巨大差异。
观察三:全参数微调极大地增强了自适应深度使用。
如上图所示,经过全参数微调的模型表现出最强的自适应性。对于 2 跳的简单任务,模型几乎在最初几层就锁定了正确答案。而随着任务难度增加到 10 跳,模型则会动用几乎全部的深度来逐步完善其推理。这种“轻松任务早早解决,困难任务层层深入”的模式,是自适应深度使用的最理想体现。
相比之下,LoRA 微调的模型虽然也表现出一定的自适应性,但其效果远不如全参数微调。它的行为模式更接近于预训练模型,不同难度任务之间的深度使用差异不那么悬殊。
观察四:不同的微调策略改变了信息的处理方式。
因果补丁分析进一步揭示了内在机制的改变。全参数微调的模型不仅学会了为难题使用更深的层,还学会了更有效地利用其全部深度。它们用于跨 Token 信息融合的层数范围显著扩大,并且对不同关系的处理顺序也变得更加清晰有序——例如,它们会先处理距离最终答案最近的关系,最后再整合最开始的关系信息。
而 LoRA 微调的模型,其信息整合的层数范围与预训练模型大致相同,但整合顺序发生了改变。这表明,保留通用语言能力的约束,可能限制了模型对网络层进行功能性重新分配的自由度。
结论与启示
这项研究为“Transformer 是否有效利用其深度”这一争论画上了一个阶段性的句号。答案是肯定的:模型确实能够根据任务难度自适应地使用其深度。
更重要的是,研究揭示了这种能力的可塑性。预训练模型中已经存在的自适应性,可以通过微调得到显著增强。这其中存在一个重要的权衡:为了保留模型的通用语言能力(如 LoRA 微调),模型在特定任务上的计算资源调动会受到限制;而如果允许模型“孤注一掷”地为特定任务进行优化(如全参数微调),它就能更自由地重新分配其整个深度的计算功能,从而实现更高效的自适应计算。
这一结论对未来大模型的应用和优化具有实际指导意义。当我们试图让一个通用大模型去解决某个垂直领域的复杂推理问题时,简单的、旨在保留通用性的微调方法可能不足以“解锁”模型的全部潜力。更具针对性的、允许模型对内部计算流进行深度重构的训练策略,或许才是激发其高级推理能力的关键。
此外,研究还附带了一个有趣的发现:不同模型家族(即使架构相似)的隐藏状态与最终输出词汇的“对齐”程度存在显著差异。是什么训练机制导致了这种差异?我们是否能够主动引导模型在不同深度阶段专注于不同类型的计算?这些都有待未来的工作进一步探索。总而言之,这篇论文让我们不再将 Transformer 的深度仅仅看作一个静态的数字,而是开始将其视为一种可以被动态调度和优化的宝贵计算资源。