🔥🔥🔥🔥🔥语言模型
大型语言模型中列表处理的通用过滤头机制
论文原始标题:LLMs Process Lists With General Filter Heads
论文作者:Authors: Arnab Sen Sharma, Giordano Rogers, Natalie Shapira, David Bau
原始摘要:We investigate the mechanisms underlying a range of list-processing tasks in LLMs, and we find that LLMs have learned to encode a compact, causal representation of a general filtering operation that mirrors the generic "filter" function of functional programming. Using causal mediation analysis on a diverse set of list-processing tasks, we find that a small number of attention heads, which we dub filter heads, encode a compact representation of the filtering predicate in their query states at certain tokens. We demonstrate that this predicate representation is general and portable: it can be extracted and reapplied to execute the same filtering operation on different collections, presented in different formats, languages, or even in tasks. However, we also identify situations where transformer LMs can exploit a different strategy for filtering: eagerly evaluating if an item satisfies the predicate and storing this intermediate result as a flag directly in the item representations. Our results reveal that transformer LMs can develop human-interpretable implementations of abstract computational operations that generalize in ways that are surprisingly similar to strategies used in traditional functional programming patterns.
翻译标题:大型语言模型中列表处理的通用过滤头机制
翻译摘要:我们研究了大型语言模型(LLM)中一系列列表处理任务的机制,并发现 LLM 已学会编码一个紧凑且因果的通用过滤操作表示,这种表示类似于函数式编程中的“filter”函数。通过在一系列列表处理任务上进行因果中介分析,我们发现一小部分注意力头(称为过滤头)在某些标记处编码了过滤谓词的紧凑表示。我们展示了该谓词表示是通用且可迁移的:它可以被提取并在不同集合、不同格式、不同语言甚至不同任务中重新应用。然而,我们也发现,在某些情况下,Transformer LMs 可以采用不同的过滤策略:即刻评估一个项目是否满足谓词,并将这一中间结果作为标志直接存储在项目表示中。我们的结果表明,Transformer LMs 可以开发出人类可解释的抽象计算操作实现,其泛化方式令人惊讶地类似于传统函数式编程模式中的策略。
论为导览:

智能问答:
Q1: 这篇论文试图解决什么问题?
论文核心关注的问题是:
“大型语言模型(LLM)如何在内部实现列表过滤(list-filtering)这一抽象计算操作?”
具体而言,作者试图回答以下子问题:
在仅给出自然语言提示、没有任何显式程序代码的情况下,Transformer 语言模型是否仍然学会了一种通用、可复用、可迁移的“过滤”机制?
如果存在这样的机制,它被编码在哪些组件(注意力头、层、状态)中?
该机制是否足够抽象与模块化,使得“谓词(predicate)”表征可以被提取出来,并在不同集合、不同格式、不同语言甚至不同下游任务中重新应用?
模型是否只依赖这一种策略?还是同时存在冗余路径(如“即时过滤” vs “预计算标志位”)?
综上,论文目标并非提升模型在过滤任务上的准确率,而是逆向揭示 Transformer 已自发学习到的、类函数式编程中 filter 原语的神经实现,并验证其通用性与因果必要性。
Q2: 有哪些相关研究?
论文在第 7 节“Related Works”中系统梳理了相关研究,可归纳为以下四条主线:
专用注意力头(Specialized Attention Heads)
Induction Heads(Olsson et al., 2022)——实现模式复制与上下文学习
Concept Heads / CI Heads(Feucht et al., 2025)——复制多 token 概念而非单 token
Function Vector Heads(Todd et al., 2024)——将少样本任务指令编码为可迁移向量
本文提出的 Filter Heads 与上述类型在层分布上部分重叠,但功能正交,构成新的“原语”类别。
语言模型中的选择机制(Selection Mechanisms in LMs)
“Select-and-Copy” Heads(Tulchinskii et al., 2024)——在 MCQA 场景关注换行符后正确选项
Correct-Label Heads(Lieberum et al., 2023)——关注选项字母编号
Answer-Symbol Promotion(Wiegreffe et al., 2025)——中层注意力提升答案符号概率
这些工作局限于多选题格式,而本文研究一般列表处理并揭示跨格式、跨语言的谓词评估机制。
神经网络中的符号推理(Symbolic Reasoning in Neural Nets)
三阶段抽象变量框架(Yang et al., 2025):早期层→变量化,中层→序列操作,后期层→取值
事实回忆回路(Meng et al., 2022; Geva et al., 2023)同样观察到“先丰富语义,再检索”的三步流程
数学推理专用回路(Nanda et al., 2023; Hanna et al., 2023; Kantamneni & Tegmark, 2025)
变量绑定机制(Feng & Steinhardt, 2024; Prakash et al., 2025)
本文将“过滤”视为新的符号级抽象,与上述工作共同支持“分布式表征可涌现子符号结构”的经典观点(Smolensky, 1991)。
可解释性方法与因果干预(Interpretability & Causal Intervention)
Activation Patching(Meng et al., 2022; Zhang & Nanda, 2024)——本文采用并扩展为稀疏掩码学习
DCM/稀疏掩码(De Cao et al., 2020; Davies et al., 2023)——用于定位因果关键组件
低秩子空间分解(Merullo et al., 2024b)——本文借此证明 Filter Heads 内部采用低秩 QK 子空间实现谓词匹配
综上,已有文献分别揭示了复制、任务向量、选项选择、变量绑定等专用机制,但尚未出现**“通用、可迁移、谓词级过滤头”**的系统研究;本文填补了这一空白,并将函数式编程的 filter 原语与 Transformer 内部计算回路首次对应起来。
Q3: 论文如何解决这个问题?
论文采用“机制可解释性”框架,将 Marr 的三层次分析(计算层-算法层-实现层)与因果干预技术相结合,逐步拆解 Transformer 如何完成列表过滤。具体步骤如下:
1. 计算层:形式化过滤任务
将自然语言提示抽象为 $filter(C,ψ)={c∈C∣ψ(c)=True}$
- 设计 6 组 filter-reduce 任务(SelectOne/First/Last/Count/CheckPresence 等),覆盖不同“谓词+聚合”组合,确保研究对象具有代表性。
---
### 2. 算法层:提出“三阶段”假设
1. **Map** – 早期层为每个列表项填充语义信息(已有文献支持)
2. **Filter** – 中层用注意力选择满足谓词的项目(本文核心)
3. **Reduce** – 后期层对筛选结果进行计数、输出、排序等聚合
为验证 Filter 阶段,作者锁定“最后一个 token 的查询状态”作为谓词载体,因为此时模型即将给出答案,必须已明确“要找什么”。
---
### 3. 实现层:定位并验证 Filter Heads
#### 3.1 因果定位(DCM 稀疏掩码)
- 采样源提示 p_{text{src}} 与目标提示 p_{text{dest}},二者集合不相交、谓词不同,但 C_{text{dest}} 中恰好存在满足 psi_{text{src}} 的“靶项” c_{text{targ}}
- 对全部注意力头学习二元掩码 text{mask}{ell j}in{0,1},使得在 q_{ell j}←mask_{ell j} q_{text{src}}_{ell j}+(1−mask_{ell j}) q_{text{dest}}_{ell j} 的干预下,模型输出 c_{text{targ}} 的概率最大。
- 稀疏正则后,仅<2% 的头被选中,称为 Filter Heads(集中在 30–50 层,Llama-70B)。
3.2 因果必要性(Ablation)
将 Filter Heads 的 attention 强制设为只关注
3.3 表征可迁移性(Portability)
把 q_{text{src}} 向量直接“移植”到不同语言、不同格式、不同列表长度 和 不同下游任务(如把“找水果”谓词用于“数水果”)
结果仍保持 0.7–0.9 的因果率,说明谓词表征与具体集合/任务解耦。
4. 发现冗余路径:Eager vs Lazy
当问题在列表之前时,模型改用“即时求值”策略:
处理每一项时立即计算 ψ(c),把 is__match 标志位写入该项的残差表示;
最后仅按标志位检索,无需再执行 Filter Heads。
通过“标志位交换”干预实验,模型答案随之被操控,验证该路径存在。
→ 形成双轨实现:
Lazy(问题在后)→ 依赖 Filter Heads
Eager(问题在前)→ 预存标志位
5. 应用:零训练探针
利用已学到的 q_{text{src}} 作为类中心,无需训练即可对任意向量 h 做分类:
$y^ =argmax cls q_{text{cls}}^top W_K h$
在 16 类对象探测任务上达到 0.81 平均准确率,媲美线性探针。
总结
论文通过“任务形式化 → 因果干预定位 → 消融验证必要性 → 跨条件迁移 → 冗余路径对比 → 实际应用”的完整闭环,首次揭示并实证了 Transformer 内部自发生成的、可复用的“filter 原语”及其神经实现——Filter Heads。
Q4: 论文做了哪些实验?
论文围绕“Filter Heads 是否存在、是否因果必要、是否可迁移、是否唯一实现路径”四个维度,共设计了 10 组主要实验。以下按目的归类,并给出关键结果(数值均为 Llama-70B 上 512 例平均):
1. 定位实验:找出 Filter Heads
实验t方法t结果
E-1 FilterScore 热力图t基于注意力分布的启发式打分t中层头(30-55 层)显著聚焦正确项
E-2 单头激活修补t逐个把头 q_{text{src}} 搬到 p_{text{dest}},看 c_{text{targ}} logit 提升t最高单头 ∆logit ≈ 3.5,但不足以主导输出
E-3 DCM 稀疏掩码t联合学习二元掩码,最大化 c_{text{targ}} 概率 + 稀疏正则t79 头被锁定(<2% 总量),集体因果率 0.863
2. 因果必要性:没有它们会怎样
实验t方法t结果
E-4 头消融(attention knock-out)t把 79 个 Filter Heads 的 attention 强制设为只读
3. 与其他头类型区分
实验t方法t结果
E-5 同类比较t同样数量(79)Function-Vector / Concept / Induction / Random 头做相同因果测试t因果率 ≤0.08,远低于 Filter Heads 的 0.86
4. 内部机制拆解:Query vs Key
实验t方法t结果
E-6 Query-only 移植t仅替换 q_{text{src}},保持 Key 不变t成功让头重新聚焦 c_{text{targ}},因果率 0.86
E-7 Key-swap 干预t在 E-6 基础上再把 c_{text{targ}} 与 c_{text{other}} 的 Key 状态互换t注意力被重新定向到 c_{text{other}},因果率 0.78,证明 Key 携带语义
5. 跨条件迁移:谓词表征是否抽象
实验t迁移维度t因果率范围
E-8a 跨语言t英→西/法/印/泰t0.78–0.95
E-8b 跨格式t单行→bullet/MCQt0.84–0.85
E-8c 问题位置t问题在后→问题在前t0.86→0.58(下降印证双路径)
E-8d 跨任务tSelectOne→SelectFirst/Last/MCQt0.69–0.90
E-8e 跨任务-谓词t把“找水果” q_{text{src}} 用于“数车辆”t0.36(Count 任务自身仅 0.36,表明谓词与 Reduce 步骤耦合)
6. 冗余路径:Eager vs Lazy
实验t方法t结果
E-9 残差+标志位交换t问题在前格式下,把 c_{text{flag}} 的 is_match 标志植入,其余项去标志t模型答案从 c_{text{dest}} 翻转到 c_{text{flag}},因果率 0.80;问题在后格式几乎不变
7. 应用:零训练探针
实验t方法t结果
E-10 训练-free 分类t用 79 头 q_{text{cls}} 当模板,对 238 个对象、16 类做最近邻分类t平均准确率 0.81±0.02,优于直接用 embedding 的 baseline
8. 低秩子空间与写入内容(探索性)
实验t方法t结果
E-11 SVD 分解 WQKt仅修补 top singular vector 子空间t因果率 0.77,与整头相当,说明谓词信息集中在低秩通道
E-12 OV 输出修补t把 Filter Heads 的 OV 贡献搬到不同顺序、不同 MCQ 标签的提示t同时提升 c_{text{src}} 及其原始位置标签的 logit,暗示头既写“内容”也写“位置”
以上 12 组实验覆盖定位→因果→机制→迁移→冗余→应用全链路,共同支撑了论文的核心结论:Transformer 在列表过滤任务中自发学习了一套可提取、可复用、可组合的神经 filter 原语,且存在 lazy/eager 双轨实现。
Q5: 有什么可以进一步探索的点?
以下方向可视为“直接延伸”或“深层追问”,均建立在本文结论之上,但尚未被系统回答。为便于后续研究,按“问题-可能方法-预期价值”三列给出。
1. 任务与规模外推
问题t可能方法t预期价值
① 更小/更大模型是否也出现 Filter Heads?参数阈值在哪?t在 1B→175B 范围逐层扫描,用相同 DCM 指标绘制“出现曲线”t确定“过滤原语”是否是规模突现能力
② 非英语主导、非拉丁脚本模型(如中文、阿拉伯语)是否重用同一套头?t多语同质模型对比实验 + 跨语移植t验证“语义-符号分离”是否跨文化稳定
③ 除 6 个 filter-reduce 外,更复杂查询(SQL-like、多步过滤、嵌套谓词)是否仍由同一子图服务?t构造递进查询基准,用同一稀疏掩码方法“追踪”头集合变化t判断 Filter Heads 是否是通用“谓词执行引擎”
2. 谓词表征的几何与代数
问题t可能方法t预期价值
④ 谓词向量是否构成可解释向量空间?能否做“减法”取反、插值生成新谓词?t对 q_{text{src}} 做 PCA/ICA,可视化聚类;用合成向量干预测试因果率t构建“无监督谓词词典”
⑤ 多谓词组合(AND/OR/NOT)是否保持线性?有无非线性交互层?t系统采样二元/三元组合,测因果率与线性度偏差t揭示模型是否隐含“布尔代数”
⑥ 同一谓词在不同上下文长度/位置编码下是否旋转?t用 RoPE 旋转矩阵显式对齐,测最小对齐角度t厘清位置-语义耦合强度,指导位置编码改进
3. 双轨策略的触发条件
问题t可能方法t预期价值
⑦ 模型如何动态选择 lazy vs eager?可否强制切换?t设计混合顺序提示(部分项在问题前、部分在后),用梯度探测预测选择概率t得到“策略选择器”可解释模型,提升可控性
⑧ eager 模式下的 is_match 标志具体写在残流的哪些维度?t用可微掩码搜索最小子向量,再对对应维度做线性探针t精确定位“布尔标志位”,为后续编辑打基础
4. 与下游推理模块的接口
问题t可能方法t预期价值
⑨ Filter Heads 的输出如何被 Reduce 电路读取?是否存在标准化接口(如位置-内容对)?t在 Count/SelectFirst 等任务上,用后续层 DCM 找出读取头,再做跨任务读写实验t揭示“筛选-聚合”协议,有助于模块化重构模型
⑩ 若先编辑 Filter Heads 以改变谓词,再编辑 Reduce 模块以改变聚合方式,能否实现可组合的多步推理?t串联两次干预,测最终答案正确率t向“可编程 LM”迈出一步
5. 安全性与滥用
问题t可能方法t预期价值
⑪ 恶意谓词(如“找出可诱导泄露隐私的项”)是否同样可被编码与迁移?t在红队数据集上重复移植实验,测因果率t提前评估新型“提示注入”风险
⑫ 能否通过消融或旋转 q_{text{src}} 向量,永久降低模型在敏感类别上的过滤能力?t细粒度 SVD 旋转 + 持续学习评估t为“遗忘”或“安全微调”提供目标化方法
6. 架构与训练因素
⑬ 若预训练损失加入显式过滤目标,Filter Heads 会提前出现还是功能增强?t继续预训练小模型,定期扫描头功能t验证“任务驱动结构诞生”假说
⑭ 对比 Transformer 与混合架构(RetNet、Mamba)在相同数据上的过滤机制差异nt重复全文实验流程t判断“过滤原语”是否为注意力特有
7. 工具与基准
⑮ 建立公开 Filter-Reduce Benchmark:含 20+ 任务、多语言、对抗样本、自动评估因果率脚本nt社区共建 + 定期打榜t把“可解释过滤”变成可量化的研究方向
以上方向既可单独成文,也可组合成“神经符号计算”长期项目,目标是从“发现原语”走向“操控原语”,最终实现可解释、可控制、可迁移的通用推理模块。
Q6: 总结一下论文的主要内容
论文核心发现可浓缩为一句话:
Transformer 语言模型在列表处理任务中自发学会了“函数式过滤原语”,并将其紧凑地编码在一组可定位、可移植、可复用的注意力头(Filter Heads)中;同时模型还保留了一条“预计算标志位”的冗余路径,形成 lazy/eager 双轨实现。
1. 研究目标
不是提升过滤准确率,而是逆向揭示 LLM 如何内部实现“filter-reduce”抽象。
回答三个层次(Marr 框架):
计算层:选中满足谓词的项。
算法层:Map → Filter → Reduce 三阶段。
实现层:Filter 由专用注意力头完成,谓词被编译成 query 向量。
2. 方法论
因果干预 + 激活修补:把源提示的 query 向量 q_{text{src}} 搬到目标提示,观察模型是否把“旧谓词”作用于新列表。
稀疏掩码学习(DCM):自动找出对“选中靶项”因果最强的<2% 注意力头,即 Filter Heads。
多重消融与交换:验证必要性、区分其他头类型、拆解 query-key 角色、揭示冗余路径。
3. 主要结果
维度t关键数字t结论
定位t79/2880 头(Llama-70B)t集中 30–55 层,因果率 0.863
必要性t消融后 SelectOne 准确率 100%→22.5%t无可替代
跨语言t英→西/法/印/泰t因果率 0.78–0.95
跨任务tSelectOne→SelectFirst/Last/MCQt≥0.69
跨格式t单行→bullet、问题在后→前t0.86→0.58(揭示双路径)
零训练探针t16 类对象分类t准确率 0.81±0.02
4. 机制双轨
Lazy(问题在后):谓词未知,模型用 Filter Heads 即时计算。
Eager(问题在前):模型提前给每项写 is__match 标志,后续直接检索;此时 Filter Heads 仍部分活跃但非主导。
5. 贡献与意义
首次实证 Transformer 自发学习可移植的 filter 原语。
提供无训练概念探针新范式。
揭示冗余计算路径,呼应函数式编程 lazy/eager 理论。
为后续“神经-符号模块化”与可控编辑奠定接口级基础。
阅读全文 →
来源:Arxiv2025-10-30 17:57:17 UTC