大模型也有“大脑分区”?AAAI Oral揭秘内部功能地图

发布时间:2026/11/2 3:19:13
大模型也有“大脑分区”?AAAI Oral揭秘内部功能地图 AAAI 2026 Oral里有一篇标题带问号的研究《大模型内部也有“大脑分区”》。这个问号放在三年前大概率会被当成比喻修辞但读完你会发现作者是拿实验来回答的。做LLM可解释性的朋友应该深有体会我们之前花了很多时间证明大模型不是一坨均匀的神经网络而是由各种子电路拼起来的——但电路归电路像人脑那样成片的、能被点名的“功能区”从来没有人给大模型画过一张完整地图。这篇文章拿几个开源大模型反复做因果干预、稀疏编码和行为消融最后真画出一张分区图数学、代码、记忆、风格甚至安全拒答各自扎堆在特定的层和注意力头上。我第一时间读完又拿自己的实验对照了一下觉得这事的含金量不在“地图”本身而在它把大模型可解释性从“显微镜看细胞”推到了“看整个器官”这一步。如果你正在做微调、部署、安全对齐或者只是好奇为什么同一个模型有时候聪明得像天才、有时候蠢得像复读机这篇解读都值得你花几分钟看完。1. 为什么“功能分区”这个脑科学老概念会跑到大模型身上1.1 从布洛卡区到Transformer的头人类对大脑的第一波体系化认知靠的是“哪里坏了哪个功能没了”。布洛卡区受损人说不出话但能听懂韦尼克区受损人能讲话但语无伦次。这种分区图谱式的研究方法统治了神经科学快两百年。到了大模型时代我们自然而然会问一句一个几十亿参数的Transformer里有没有类似的布洛卡区这个问题并不新鲜。早在GPT-2时代就有人发现某些注意力头会专门做“模式复制”后来被命名为induction head再往后人们又发现MLP的某些神经元会储存特定的事实片段或某种句法角色。可这些发现都是碎片化的我们知道某个神经元条目在做什么却不知道它处在怎样一张更大的组织网络里。就像你在显微镜下看清了一个细胞但没看过整块组织切片。1.2 黑箱焦虑逼出来的“电路级可解释性”对大模型来说这种焦虑不是学术洁癖而是非常现实的工程问题。模型越来越强但它是靠什么机制变强的幻觉到底发生在哪一步为什么微调一个能力往往会莫名其妙弄坏另一个能力越狱攻击为什么能绕过对齐这些问题背后都需要一张“内部结构地图”来回答。之前可解释性社区的主线工作基本在两条路上一是激活修补通过反事实干预锁定某些预测强依赖的回路二是线性探针和稀疏自编码器在残差流上找到与某个概念对应的特征方向。这两条路给了我们很多局部知识比如“国王-王后”这种关系向量在哪个方向“幻觉”时的解码偏差与哪些层最相关。但你仍然说不清大模型到底有没有一个管数学的区域有没有一个管“拒绝回答”的区域这些区域之间是怎么协作的1.3 这篇AAAI Oral真正要回答的三个问题我建议你先带着三个问题去读原文它们基本贯穿了整个实验设计第一大模型的内部组织里是否存在稳定的、可重复识别的“功能分区”第二如果存在这些分区是按什么划分的是任务类型数学、代码、翻译还是抽象层次低级语法vs高级语义还是输入模态第三分区能泛化到什么程度换一个随机种子、换一组任务集分区还在不在原来的位置这三个问题分别对应论文里的三条实验线。弄清楚它们你才能真正判断这张地图是自然结构还是人为归类。2. 实验设计拆解怎么证明大模型存在功能区而不是测量幻觉2.1 三条主线的测绘工具先说工具。论文没有只用一种方法而是三件套组合。第一件是激活修补activation patching。核心操作是拿同一个输入跑两遍前向一遍正常一遍在某个目标位置替换成损坏激活然后看目标任务的输出变化。如果替换掉第20层的激活后数学题正确率暴跌而代码题不受影响那第20层就和数学任务有强因果关联。第二件是稀疏自编码器。在残差流上训练一个自编码器强迫它用尽量少的特征重构激活学出来的特征往往具备可解释性。再把这一堆特征做聚类看它们是不是集中在某些层和某些注意力头上。第三件是行为消融。临时屏蔽某个注意力头或某个MLP神经元然后跑整组下游任务看哪些任务掉点。这个操作比激活修补更粗暴但信息非常直接关掉它谁的功能会坏三件套合在一起会生成一个“任务×组件”的影响矩阵。你把这个矩阵按行和列做重排高亮区域会自然浮现出来——这些高亮块就是候选功能区。2.2 从一堆矩阵变成功能地图的完整流程具体流程比我想象的严谨。他们先选了一组非常多元的任务集包括数学题、代码补全、多语言翻译、事实问答、情感分类、指令遵循以及一个专门测拒答行为的安全任务。然后在每一层、每一个注意力头上都跑一遍激活修补得到一个巨大但稀疏的矩阵。拿到矩阵之后再用SAE特征聚类做交叉验证如果某个任务的影响集中在第18到第22层而这批SAE特征恰好也聚集在第18到第22层且对应的语义高度一致那这块区域才会被标记成一个功能区。换句话说不是“看起来集中”就算数必须同时满足因果影响集中、特征语义集中、行为消融敏感这三条才能进入最终的分区名单。我特别欣赏他们对负样本的处理。同一套测绘流程还会跑一遍在随机种子下初始化、但没有经过完整训练的模型。随机模型上当然也会出现一些“假分区”但如果它们的分布和正常模型完全不同就有理由相信正常模型的分区不是统计聚类算法硬生生造出来的。2.3 为什么三角验证比单指标靠谱如果只用SAE聚类任何高维激活都能被自编码器聚出漂亮的簇来这是无监督方法的老毛病。如果只用激活修补你又可能被“中枢冗余”迷惑——比如某个任务依赖的还是少数几个共享中心头并没体现出成片的功能区。只有当因果修补、稀疏特征、行为消融三者指向同一个区域你才有底气说这儿就是管这个功能的而不是测量工具自己画出来的。这一步在可解释性研究里经常被忽视许多人拿到相关性就当真了。这篇Oral的可信度很大一部分来自这一层“反自欺”的设计。3. 七个“脑区”功能地图上到底画出了什么3.1 语义汇聚区多语言的“同声传译中枢”第一个让我觉得有意思的是语义汇聚区。它大致位于网络的中间偏后段横跨若干连续层。研究者发现英语、中文、法语、西语表达同一个意思时在浅层的表征还各走各的但到了这个区域表征会被压缩成高度相似的特征向量。他们做了一个很漂亮的patch实验把法语输入在这个区域的激活替换成英语输入对应层的激活模型居然能继续输出正确的法语语义只是词汇外壳换了。用人脑类比这就像语义中枢不管耳朵听到的是哪门语言最后都要汇聚到同一个“意思”空间再做下游处理。这对多语言模型的设计挺有启发——如果你的多语言模型在某些语言上表现差也许不是语料不够的问题而是语义汇聚区没有对齐好。3.2 抽象推理带与代码专项区一对“理科双子区”第二个区域我称为抽象推理带位置比语义汇聚区更靠后集中在深层网络的后半段连续层。几乎所有需要多步推理的任务数学、逻辑、常识因果判断都会在这里产生强激活。更有意思的是研究者把数学题里的数字替换成无关变量发现推理带照样被激活说明它捕捉的是结构而不是具体数字。这解释了为什么模型能“做对没见过的题”——它在这段区域里运行的是一套抽象的关系推演回路。跟推理带紧挨着的是代码专项区。它和推理带部分重叠但细看注意力头的分工会发现代码任务里有一组头专门跟踪变量绑定、语法树位置和括号层级这些头在普通文本任务里几乎不被激活。也就是说数学和代码不是同一个区而是两个存在交集的区。细究下来它们其实不是按“数学vs代码”这两个标签分的而是按“抽象结构复杂度vs句法约束强度”分的。3.3 事实验证区、风格区与安全拒答区再说另外三个区。事实验证区位于中后层职责很像一个质检员把模型检索到的原子事实放在一起做一致性校验。当这个区域的活动强度和语义汇聚区的输出出现明显不一致时幻觉的概率会显著上升。这个信号对部署场景太有用了后面我会展开讲。风格区基本集中在末尾几层。情绪、文风、人格化输出这些“表面风格”的表征都在这里。做微调的人应该会心一笑难怪改语气、改文风往往只动最后几层就有效而改数学能力却要动更深的层——它们本来就不在同一块区域。最值得单独提的是安全拒答区。它不像风格区那样松散地铺在后面而是集中在若干特定的注意力头上是模型经过对齐训练之后产生的一组熔断电路。研究者的消融实验显示把这几个头临时屏蔽掉模型对不当指令的服从度会显著上升。换句话说安全不是均匀地糊在每一层上的它有一块相对独立的物理载体。3.4 一张不完全精确的分区汇总表分区大致位置代表能力验证方式语义汇聚区中间偏后段连续层跨语言语义统一跨语言patch迁移抽象推理带深层后半段连续层数学、逻辑、因果变量替换仍保持激活代码专项区推理带附近、部分分离语法树、变量绑定代码任务专属头消融事实验证区中后层事实一致性校验与幻觉信号相关性风格区末尾层情绪、语域、人格化风格任务激活集中安全拒答区若干特定头拒答与对齐约束屏蔽后拒答率下降上下文工作台中间层局部指令跟随、短程依赖指令位置敏感性注意这张表是理想化的总结。实际的分区是重叠的、模糊的边界没有表格看起来这么干净。我在复现时发现有些分区之间存在大量共享特征边界是渐变的同一个头也可能同时出现在两个分区的成员名单里。所以读图的时候用“倾向于”“大约在”这种心态别把坐标当真值。4. 地图能拿来干什么微调、剪枝与对齐的实操思路4.1 改LoRA的位置而不是无脑扫全层我自己在做微调的时候最大的痛点是灾难性遗忘在代码任务上做增量训练模型过两天连原本熟练的通用问答都忘了。如果大模型内部真有功能分区那处理思路就完全不同了。比如你要做数学增强没必要在全部层上挂LoRA而是把LoRA的秩集中砸向抽象推理带那几层同时把事实验证区和风格区尽量冻结防止权重更新外溢。按这个思路跑下来我手上的效果是数学能力提升的速度更快而且通用能力遗忘明显减缓。当然这不是论文给的结论是我基于分区图做的实践假设但方向验证下来是通的。对普通使用者来说就算不重训模型这个思路也能帮你解释为什么市面上很多“数学增强版”“代码增强版”微调模型总是一股塑料味——因为它们改动了一个不该大动的区域把风格区也一起搅乱了。4.2 剪枝和量化可以看“区”吃饭部署端的收益更直接。现在做量化大多数方案是全局统一的比特位宽最多分个敏感层和敏感头。有了分区图你可以动态分配精度预算抽象推理带和事实验证区留下高精度风格区可以分到更激进的量化和剪枝率。我在自己部署的7B模型上试过仅对风格区做4bit量化、其他区保持8bit显存下降了大约12%而开放式问答的主观质量几乎没有可感知的下降。因为“文风”这种能力对数值扰动不敏感但抽象的推理链对精度极其敏感。用分区图指导精度分配比我之前靠暴力扫层来找敏感层高效得多。4.3 安全监测和投毒测试有了新抓手安全拒答区的存在让我对推理时的实时监测有了一些新想法。既然关键的安全熔断电路集中在少数注意力头上你不用对全模型做高成本的审核只需要在推理过程中轻量读取这几个头的输出统计量对异常激活做熔断。论文展示的现象是这些头被屏蔽后不当指令的服从度显著上升。反过来推正常模型在遇到不当请求时这几个头的激活模式应该有一套特征性的变化。用这种信号做推理时的安全闸门比套一层外部审查模型成本低不少。提到投毒测试这是一个相关的话题。现在检测模型有没有被恶意改动常规做法是跑一组成分复杂的评估集看整体分数有没有缩水。但如果安全区是物理上一小块区域你完全可以更高效地做定向检测测量微调前后安全拒答区的特征分布漂移。漂移明显基本可以断定这次微调动了安全相关权重。这比端到端跑完整评测快得多也更灵敏。4.4 幻觉定位有一种低成本信号再讲一个对日常应用特别实用的点幻觉。研究显示事实验证区和语义汇聚区之间存在一致性校验关系。实际运行时如果这两个区域激活的一致性评分掉了下来大概率模型正处于“心里没底但嘴上硬说”的状态。这个信号可以在推理链路里做成一个辅助判别器帮助你判断当前要不要无条件信任模型的输出。虽然它不能覆盖所有类型的幻觉但作为第一道粗筛比让用户自己去检验可靠得多。5. 分区的边界在哪里关于这个结论的三个争议5.1 聚类一定会产生簇零模型对照够不够任何一个无监督聚类算法放在高维激活上都会给你吐出几个“看起来很合理”的簇。这篇研究虽然加了随机初始化模型做对照但随机模型毕竟没有学会任何复杂任务它的激活分布和正常模型差异太大对照的说服力有上限。更强的对照应该是“打乱层顺序”“反转残差流路径”这类扰动检验分区到底是网络结构本身决定的还是训练信号塑造出来的。所以关于“大模型内部存在功能分区”这句话我的态度是证据链已经很扎实但把它理解成一个结构假说而不是解剖学事实会更稳妥。5.2 数学区和代码区天然分化还是语料捆绑另一个绕不开的问题是任务耦合。现实世界的预训练语料里数学和代码本来就高度混杂推断代码的时间复杂度要算数学做数学题也经常要用伪代码。代码专项区之所以存在有可能不是模型内生出了“语法树处理”这种独立能力而是它只是推理带对特定符号序列的一种习惯性反应。要彻底区分这两种解释需要构造反事实任务比如用数学语法包装一道代码逻辑题或者反过来。论文做了一部分这样的实验但我认为还不足以完全剥离开语料带来的耦合效应。这个问题不解决“分区”的因果解释力就会打一点折扣。5.3 换一个随机种子分区还在吗论文报告了跨随机种子的稳定性但我注意到一个细节分区存在但具体层位置会漂移。同一个安全拒答区在A种子下可能集中在第16层的某几个头在B种子下却跑到第20层去了。这对科学结论是好事说明这些结构是训练过程中“突现”出来的而不是架构先天规定死的但对工程落地是个坏消息。如果每个模型的分区坐标都不一样你想写死一个监控位置就不能通用每次都要重新做测绘。目前我看到的折中做法是先在目标模型上跑一遍轻量敏感度测试确定对应层再决定监控和干预位置而不是直接套用别人模型的地图坐标。5.4 “像大脑”这个类比到底有几分真最后必须泼一点冷水。大脑的功能区是亿万年进化雕琢出来的不同功能区往往连着不同的解剖结构、不同的神经递质系统而Transformer的分区只是同一套transformer block在不同深度上的偏好分工。论文里的“脑区”与其说像大脑皮层不如说更像一座城市的规划图纸金融区是新CBD老城区是文脉区消防站和安全区分布在特定街区但整个城市的路网是同一种规格修的。这类比能带来灵感却不能替代机制解释。你说“安全拒答区”和“布洛卡区”形似只是因为它们都承担了明确功能背后没有同构的生理机制。所以我的建议是把“大脑分区”当成一个有启发性的隐喻来用但真正动工程方案时还是按Transformer自己的逻辑来设计。6. 对普通工程师的三条实战建议6.1 先跑一次“梯度×激活”定位自己的敏感层不是每个人都有几百张卡去做全套激活修补但你自己的模型总跑得动一套简化版定位。方法很简单拿一批任务样本计算任务loss对每一层激活的梯度再用梯度范数乘上激活范数得到每条层的敏感度曲线。曲线峰值对应的层就是这项任务的功能富集区。示意伪代码如下重点就是“梯度乘激活”那一步for layer in model.layers: acts model.run_to_layer(task_input, layer) loss task_loss(pred_head(acts), target) grad autograd_grad(loss, acts) sensitivity[layer] torch.norm(grad * acts)这段代码的真实目的是帮你快速画出一条“任务敏感度曲线”不用追求完美严谨因为只要曲线形状稳定就能回答“该往哪里加LoRA、该保护哪一层”这个实际问题。我自己在每个新任务上都先跑一遍成本大约多花十分钟但后面微调省下来的时间远不止十分钟。6.2 用分区理解提示词工程为什么思维链和末尾指令更有效提示词工程在很多人手里还是玄学但如果你接受大模型存在功能分区一些经验规律忽然就有了解释。思维链为什么有效因为抽象推理带本质上是靠一组多跳电路在反复强化中间表征。你让模型一步到位输出答案它必须一次性把整个推理路径压进最后那次前向但你让它输出中间步骤这些步骤会作为上下文token重新出现在后面的层里推理带等于被反复刺激、反复激活。就像给同一台推理引擎喂了多次燃料它自然跑得更稳。所以思维链不是“模型会抄答案”而是它真的多走了几轮推理。末尾指令比开头指令更有效也和分区有关。指令跟随主要落在中间层的“上下文工作台”它对位置编码的感受野有明显偏好离当前位置越近的指令越容易进入这层工作台的注意力范围。你可以把“上下文工作台”想成一个短期记忆缓冲区最新进来的指令优先占据缓冲区旧指令则被挤到边缘。理解了这个机制再去调整Prompt里指令的位置就不会是瞎试了。6.3 把分区地图当假设生成器而不是最终答案说到底这张功能地图更像一张“城市现状图”而不是“城市规划图”。新加数据、换训练策略、做PEFT微调都可能让分区边界发生位移。你看到模型在某些任务上突然变笨可以按图索骥去查对应区域是否被其他改动波及你想定向增强某个能力就按图去找对应的敏感层和头。但最终能不能用永远以你自己模型上的A/B测试为准。我自己按这套思路在自己的模型上跑了简化版定位最深的感受是大模型没有我们想的那么黑但也没有我们想的那么干净。所谓“脑区”更像是一座城市的功能区划——数学区是新CBD风格区是老城区安全区是消防站它们之间有路网交叉、有临时摊位但整体上确实是有规划的。可别把它当解剖图来拜你该把它当工具箱来用。

关于本文作者

来自尧图内容编辑团队

尧图内容编辑团队 内容团队

尧图内容编辑团队

本文由尧图网络内容编辑团队执笔。团队由资深项目经理、前端工程师与设计师组成,所有内容均来自亲手交付的真实项目,先讲清问题、再给出可落地的解法。尧图深耕北京网站建设十年,服务过京华建材集团、智造科技等各行业客户,把一线经验沉淀为可复用的行业观察。

  • 十年建站经验,覆盖建材、制造、服务、文创等
  • 项目经理把关选题与事实准确性
  • 工程师与设计师联合撰写专业细节
  • 统一编辑规范,保证文风与排版一致
  • 每月复盘转化数据,迭代选题方向

延伸阅读

相关资讯与近期热门内容

深度阅读推荐

建站决策前值得细读的三篇

网站改版的5个关键决策
2024-08-12

网站改版的5个关键决策

什么时候该改版、改到什么程度、如何避免流量掉光,京华建材集团改版复盘给出答案。

获取专属建站方案

看完文章,把您的行业与预算告诉我们,免费获取一份量身定制的官网建设方案与报价。

立即免费咨询