- Arxiv日期:2024.5.16
- 机构:IIT
关键词
- CoT本质
- LLM推理本质
核心结论
1. CoT推理的功能组件
-
尽管不同阶段的推理任务具有不同的推理需求,模型内部的功能组件几乎是相同的(共享而非独享)
-
不同的神经算法实际上是由类似归纳头(induction heads)等机制组合而成
2. 注意力机制中的信息流动
-
attention heads 在不同的模型层之间传递信息,特别是当它们涉及到本体论相关(ontology-related)或否定相关的实体时。
-
信息流动通常从模型的第一层开始,并持续到模型的中层
-
在这些层次中,模型不仅依赖于预训练的统计知识(大致通过大语法和双元组等模型实现),还开始根据上下文信息调整其推理过程
3. LLM的多路径并行推理
-
Llama-2 7B模型采用了多个并行的推理路径,这些路径共同生成最终的答案
-
每个子任务(如决策、复制、归纳推理)都有多个注意力头参与,并且不同的路径使用来自不同上下文(生成上下文、问题上下文、少量样本上下文)的信息生成答案
-
不同的注意力头参与到这些路径中,而每条路径从不同的上下文片段中收集信息。尽管这些路径可以从多个地方(如生成的上下文、问题上下文、少量样本上下文)收集答案,但它们可能会采取不同的推理方式。因此,推理过程依赖于多条路径的交汇。
4. 功能断裂(Functional Rift)
-
在Llama-2模型的第16层左右,存在一个“功能断裂”,这是模型从依赖预训练优先信息到开始关注当前任务上下文信息的过渡点
-
在此之前,模型主要使用通过预训练学习到的大语法和词对关联进行推理
-
在断裂之后,模型更多地依赖于上下文信息并开始使用任务特定的推理步骤
5. CoT生成的任务分解:在CoT生成过程中,模型通过决策、复制和归纳推理三个阶段的子任务来逐步完成推理任务。这些任务并不是严格分开的,不同的任务和注意力头之间有显著的重叠。
主要方法
研究对象:Llama 7b
-
目标:揭示Llama-2 7B在cot推理任务中如何处理多步推理,尤其是关注其内部的神经算法和功能组件。研究的重点是如何通过任务分解来分析模型的推理过程,识别在每个推理步骤中起作用的注意力头,并分析模型如何在多条并行路径中生成答案。
-
数据集:PrOntoQA数据集(基于虚构本体(fictional ontology)的问题集,要求模型通过多步推理解决问题)
CoT推理中每个任务被分解为三个类型的子任务:
注意力头的任务分配和识别
-
任务分配:研究者使用了“任务特定头识别”(task-specific head identification)的方法来识别哪些注意力头负责每种类型的子任务。具体地,模型被要求预测下一个token,而这些头在模型中负责不同类型的推理任务(决策、复制、归纳推理)。研究人员通过分析注意力头的参与情况,计算每个头在特定任务中的重要性分数(例如,基于其对任务成功的贡献)。
-
注意力头的影响分析:为了量化注意力头对不同任务的贡献,研究者采用了head ablation技术(通过删除某些注意力头,分析模型性能的变化)
回路和电路分析
-
回路(circuits):认为注意力头是回路的节点,任务依赖于不同的回路执行。为了揭示这些回路,研究者使用了 activation patching 方法,通过对模型进行多次前向传递并比较不同的输入条件(如污染的输入和正常输入),分析不同注意力头对模型决策的影响。
-
激活修补:激活修补方法通过干扰输入并记录输出的变化,帮助研究人员了解哪些注意力头在特定任务中起到关键作用。(替换一个实体名称后,观察注意力头如何响应变化并调整模型输出)
并行推理路径的探索
-
多路径并行推理:并非通过单一路径生成答案,而是利用多个并行的推理路径同时进行计算。研究者通过递归策略(recursive strategy)追踪这些信息流,探索不同路径是如何协同工作的。
-
答案生成的路径分析:分析了哪些注意力头负责生成最终答案,并确定这些头从不同的上下文收集信息。
中间层的功能断裂(Functional Rift)
-
功能断裂:Llama-2 7B在第16层存在一个“功能断裂”,即模型在这层附近从依赖于预训练的语言统计(例如,双元组的统计关联)过渡到关注当前任务上下文的信息。这一断裂标志着从模型的前半部分(基于预训练知识的推理)到后半部分(基于上下文的推理)之间的转变。
注:本系列不包括基础的知识点讲解,为笔记/大纲性质而非教程,用于论文知识点和思想和快速记忆和回顾,更多细节建议阅读论文原文