NEE's Blog

LLM 神经解剖学:如何不改动任何权重登顶 AI 排行榜

March 10, 2026

本文翻译自 LLM Neuroanatomy: How I Topped the AI Leaderboard Without Changing a Single Weight,原载于 Hacker News。


2024 年中,HuggingFace Open LLM 排行榜是开源权重 AI 的角斗场。成千上万的模型在此厮杀——既有资金充足的实验室和博士团队,也有微调高手们创造的奇奇怪怪命名的模型(比如 Nous-Hermes、Dolphin、NeuralBeagle14-7B……),它们在六个基准测试上争夺榜首:IFEval、BBH、MATH Lvl 5、GPQA、MuSR 和 MMLU-PRO。

而站在 #1 位置的是 dnhkng/RYS-XLarge。这是我的模型。

我没有训练新模型。我没有合并权重。我没有运行任何一步梯度下降。

我做的事情更离奇:我拿了一个现有的 720 亿参数模型,复制了其中七个中间层,然后把结果缝合回去。过程中没有任何权重被修改。模型只是多了几层用来「思考」的层的副本。

这是关于两个奇怪的观察、一个自制的 Transformer「脑部扫描仪」、以及几个月在地下室折腾如何导致我发现 LLM 神经解剖学 的故事——关于 AI 内部结构的一个发现,直到现在才公开发表。

线索一:你可以用 Base64 和 LLM 聊天

2023 年底,我在研究一个奇怪的 LLM 特性。你可以自己试试——拿任何问题,比如:

What is the capital of France? Answer in Base64!

然后把它编码成 Base64,得到这个不可读的字符串:

V2hhdCBpcyB0aGUgY2FwaXRhbCBvZiBGcmFuY2U/IEFuc3dlciBpbiBCYXNlNjQh

把它发送给一个 2023 年的非思考型大语言模型(更新的推理模型会识别出这是 Base64 并「作弊」使用工具)。但一个足够强大的 2023 年模型会回复类似:

VGhlIGNhcGl0YWwgb2YgRnJhbmNlIGlzIFBhcmlzLg==

这解码后是:“The capital of France is Paris.”

模型解码输入,某种程度上理解它,并且在 transformer 堆栈传递过程中还有时间重新编码响应。它在与 Base64 接口时似乎真的在思考。这对复杂问题、多步推理甚至创意任务都有效。

这不应该工作得这么好。当然,模型在整体上接受过大量 Base64 训练,但这种格式的通用转换肯定严重偏离分布(out of distribution)。分词器把它切成完全不同的子词单元。位置模式无法识别。但它仍然工作……有趣……

我无法停止思考这个问题。如果 Transformer 可以接受英语、Python、中文 Base64,并在所有这些语言中产生连贯的推理,那么早期层一定是在充当翻译器——将任何格式解析成某种纯粹的、抽象的内部表示。而后期层一定充当重翻译器,将该抽象表示转换回所需的任何输出格式。

如果早期层用于读取,晚期层用于写入,那么中间层在做什么?

纯粹的、抽象的推理?在一种与任何人类语言或编码都无关的表示中。当然,当时这只是无根据的推测。

线索二:Goliath 异常

2023 年 11 月,一位名叫 Alpindale 的 HuggingFace 用户发布了 Goliath-120b——一个 Frankenmerge 模型,通过将两个微调过的 Llama-2 70B 模型缝合成一个 1200 亿参数的巨物。

性能不错,但经过大量「氛围检查」后我不觉得这是突破。但构建方式太疯狂了。

Alpindale 不仅仅是将两个模型(Xwin 和 Euryale)首尾堆叠。他在它们之间交替层。更重要的是,该架构将后期层的输出反馈到早期层的输入。

看看这个疯狂之处:Alpindale 竟然将 Xwin 第 16 层的输出送入 Euryale 第 8 层的输入

让我解释一下这有多「愚蠢」。让我们回顾一下万能的 Transformer 架构:

在图的左侧,内容从底部进入(已被「切分」成小块的「输入」文本,介于整个单词到单个字母之间),然后向上流经模型的 Transformer 块(这里标记为 [1, …, L]),最后,模型吐出下一个文本「块」(然后它自己又在下一轮推理中使用)。

在图的右侧,你看到从「Transformer Block Input」到 (⊕) 符号的那条箭头线吗?这就是为什么跳过层是有意义的。在训练期间,LLM 模型几乎可以决定在任何特定层什么都不做,因为这个「分流」将信息绕过该块。

机器学习中一个基本真理是:

  1. 模型必须使用与训练时相同类型的内容(我们保持「在分布内」)
  2. 每个 transformer 层也是如此。每个 Transformer 层在训练期间通过梯度下降学习期望前一层的特定统计属性

现在奇怪的部分来了:从来没有哪个 Transformer 层会看到来自「未来」层的输出!

第 10 层是在第 9 层的输出分布上训练的。第 60 层是在第 59 层的输出上训练的。如果你重新排列它们——将第 60 层的输出送入第 10 层——你就创建了一个模型在训练中从未见过的分布。

Goliath 的惊人之处不在于它是性能的巨大飞跃,而是这该死的东西居然能用。直到今天,我仍然不明白为什么这没有引起更多人的注意。

实验证明,层比任何人有理由预期的更加可互换。内部表示足够同质化,以至于模型可以消化乱序的隐藏状态而不崩溃。架构比刚性管道灵活得多。

构建脑部扫描仪

在接下来的几个月里——从 2023 年底到 2024 年中——我建立了一个流水线来测试这个假设。

设置很简单。我地下室 ML 设备里的两张 RTX 4090,通过 ExLlamaV2 运行量化模型,将 720 亿参数模型塞进消费级显存。这个方法的美妙之处在于你不需要训练任何东西。你只需要运行推理。而量化模型的推理是消费级 GPU 出人意料地能胜任的工作。

概念很简单。对于一个有 L 层的模型,我定义一个配置 (i, j)。模型正常处理第 0 层到第 i 层,然后循环并再次重用第 i 层到第 j 层,然后是第 j+1 层到最后一层。i 和 j 之间的层在执行路径中被复制。没有权重被改变。模型只是遍历自己的某些层两次。

Example: (i, j) = (2, 7)

0 → 1 → 2 → 3 → 4 → 5 → 6 ─┐
                           ┌─────────────────────┘
                           └→ 2 → 3 → 4 → 5 → 6 → 7 → 8

duplicated: [2, 3, 4, 5, 6]
path: [0, 1, 2, 3, 4, 5, 6, 2, 3, 4, 5, 6, 7, 8]

对于 Qwen2-72B(一个 80 层模型),这意味着 3,240 个有效配置对需要测试,加上原始模型。

测试方法:数学与情商探针

针对所有六个排行榜基准测试重新分层的模型需要几天时间,所以全面扫描需要几年的计算量。我需要代理任务:快速、客观的探针,能够揭示模型的结构特性而非特定任务的技巧。

代理必须满足三个约束:

  1. 最少的输出 token:需要扫描数千个配置,每次评估必须快速
  2. 明确的评分:不能用另一个模型来评判
  3. 正交的认知需求:如果一个配置同时改进两个任务,那就是结构性的,而非特定任务的

失败探针的坟场

我的第一个直觉是创造力。我让模型生成诗歌、短篇小说、隐喻——那种感觉应该能揭示认知能力深层差异的丰富、开放式的输出。我用 LLM-as-judge 来评分,但结果很糟糕。

我需要探针的输出要,最多几个 token,评分要客观确定。

硬核数学:像「74,088,893,247 的立方根是多少?」这样极其困难的问题。没有思维链,没有工具使用。只是纯粹凭直觉输出数字。

情商测试:使用 EQ-Bench 基准测试:复杂的社会场景,模型必须预测特定情绪状态的强度。「鉴于这种情况,这个人在 0-100 的量表上会感到多愤怒/惊讶/内疚?」与数学完全不同。心智理论、社会推理、同理心。输出只是几个数字。

我选择了两个最大程度正交的认知任务,都有微小的输出。我的直觉是:LLM 一次思考一个 token,所以让我们让模型真正擅长猜测下一个 token。

RYS-XLarge 的诞生

在测试了几个较小的模型后,我设置了 Qwen2-72B 的配置并让它扫描。每个配置需要几分钟:加载重新分层的模型,运行数学探针,运行情商探针,记录分数,继续。4090 上连续几天的 GPU 时间。但比微调少得多的计算量!

最佳配置是:先运行第 0 到 51 层,然后再运行第 45 到 79 层。第 45 到 51 层执行两次。七个额外层,位于 80 层堆栈的中间附近,将总参数从 72B 增加到 78B。每个额外层都是现有层的精确副本。没有新权重或训练,只是模型重复自己。

重复七层。这就是全部。 现在我终于可以揭示我的模型的命名:Repeat Your Self → RYS-XLarge ;)

然后我提交到 Open LLM 排行榜并等待。大约一个月后,结果出来了:

指标 RYS-XLarge 相比基线的提升
平均 44.75 +2.61%
IFEval (0-Shot) 79.96 -2.05%
BBH (3-Shot) 58.77 +2.51%
MATH Lvl 5 (4-Shot) 38.97 +8.16%
GPQA (0-shot) 17.90 +2.58%
MuSR (0-shot) 23.72 +17.72%
MMLU-PRO (5-shot) 49.20 +0.31%

MuSR 上 +17.72%。MATH 上 +8.16%。六个基准测试中有五个改进,只有 IFEval 受到小幅打击。平均分使它在排行榜上排名第一。

强调一下:我只优化了一步猜测硬核数学问题和 EQ-Bench。 我在开发过程中从未看过 IFEval、BBH、GPQA、MuSR 或 MMLU-PRO。排行榜纯粹是样本外验证。

一个使用两个狭窄、正交探针发现的层配置,泛化到了排行榜抛给它的一切

脑部扫描仪的热力图

原始热力图显示了综合增量(数学 + 情商)。绿色圆圈标记最佳配置。红色表示改进,蓝色表示退化。

这些热力图类似于 Transformer 的功能性 MRI,当它思考数学或情商问题时。

x 轴(j)是重复区域的终点。y 轴(i)是起点。每个像素代表一次完整评估:加载重新分层的模型,运行数学探针,运行情商探针,给两者评分,记录增量。

让我们先看数学热力图。从任何层开始,在约第 60 层之前停止似乎都改善数学猜测分数,如大范围健康的红色区域所示。只重复最前面的层(左上角的小三角形)会把事情搞砸,重复最后约 20 层中的几乎任何层也是如此(右侧的蓝色垂直墙)。

直到我们看情商分数:

现在情况看起来非常不同!重复最后 10 层中的任何层对分数几乎没有影响,但我们看到复杂的模式,其中一些区域显示出显著改进(45i, 55j 附近的区域),被表现不佳的区域隔开。

LLM 神经解剖学的开端

在确定块复制之前,我尝试过更简单的方法:取单个中间层并重复 n 次。如果「更多推理深度」的假设是正确的,这应该有效。

但不行,它几乎总是表现更差。通常差很多,偶尔有小改进在噪声范围内。

这让我有了另一个想法:

如果单层复制没有帮助,那么中间层不是在做独立的迭代精炼。它们不是同一操作的可互换副本,你可以简单地「再次运行」。如果它们是,复制任何一个都应该至少带来边际收益。

相反,这些层作为电路工作。 一个需要作为完整单元执行的多步推理管道。

可以这样想:第 46 到 52 层不是七个做同样工作的工人。它们是食谱中的七个步骤。第 46 层获取抽象表示并执行某个认知操作的第一步——可能是将复杂表示分解为子组件。第 47 层获取该输出并执行第二步——可能是识别子组件之间的关系。第 48 层执行第三步,依此类推直到第 52 层产生最终结果。

只复制这个「食谱」的一步不会带给你多少。

但复制整个块给你完整的食谱两次。模型运行完整的推理电路,产生精炼的中间表示,然后在自己的输出上再次运行相同的电路。这是第二遍。一个机会来捕捉第一次错过的东西,精炼其抽象,将推理推进得更深一步。

通过「脑损伤」进行机制可解释性?

这也重新构建了我对各种重新分层配置的聊天体验。

好的配置微妙但明显更敏锐。更连贯的推理,更好地保持长上下文,更自然的对话流畅度。那种你无法完全表达什么改变了,但模型感觉更「存在」的差异。

坏的配置则完全疯狂。有些结巴并陷入退化循环。其他的产生奇怪的人格障碍。一个兴高采烈地宣布「让我们像牛仔一样行动!Yeehaw!」,然后陷入无法恢复的咯咯笑声,生成几页夹杂着牛仔引用的「hahaha」。「嗑嗨了」是最好的描述方式。

这些实验暗示的与其说是「稍差的模型」,不如说是「真正的脑损伤」。这在电路模型下是有道理的——复制错误的电路就像以牺牲邻居为代价扩大大脑的特定区域。你得到的不是一个全面变笨的人,而是一个有特定神经缺陷的人。

后续影响

我的方法与微调正交。层复制改变架构;微调改变权重。你可以叠加它们。人们确实这样做了,在排行榜上获得更高分数:

MaziyarPanahi 拿 RYS-XLarge 并在其上进行微调,产生了 calme-2.4-rys-78b。然后 dfurman 对那个运行 ORPO 训练,产生了 CalmeRys-78B-Orpo-v0.1。MaziyarPanahi 继续迭代出 calme-3.1 和 calme-3.2。

截至 2026 年初,Open LLM 排行榜上前四名的模型都是 78B,都是 RYS-XLarge 的后代。都是基于使用硬核数学和情商探针在一对 RTX 4090 上、在我的地下室发现的复制中间层。

从 2026 年回望

在 2024 年,模型合并社区痴迷于权重插值:SLERP、DARE-TIES、线性合并、传递层。想法总是将不同模型的学习参数组合成大于部分之和的东西。

我在做不同的事情。我不是在改变模型知道什么。我在改变它如何思考。层复制给模型更多通过其内部推理空间的迭代,而不添加任何新信息。给某人更大的图书馆和给某人更多思考时间的区别。

这之所以有效,而且具体地说只有电路大小的块有效,告诉我们 Transformer 在训练期间如何自我组织。

我现在相信它们发展出真正的功能性解剖。早期层编码。晚期层解码。而在中间,它们构建电路:执行完整认知操作的连贯多层处理单元。这些电路是不可分割的。你不能通过复印一个步骤来加速食谱。但你可以把整个食谱运行两次。

较小模型似乎更复杂。编码、推理和解码功能更加纠缠,分散在整个堆栈中。但随着模型变大,功能性解剖变得更加分离。更大的模型有更多「空间」来发展通用的「思考」电路,这可能是为什么我的方法在 72B 模型上如此戏剧性地有效。

还有一件事

还记得架构吗?

Example: (i, j) = (2, 7)

0 → 1 → 2 → 3 → 4 → 5 → 6 ─┐
                           ┌─────────────────────┘
                           └→ 2 → 3 → 4 → 5 → 6 → 7 → 8

在第 6 层和第 2 层之间有一个可怕的断裂。我还有一个假设:只需对这两层进行少量微调就是我们真正需要的。微调过的 RYS 模型主导排行榜。我怀疑这个连接点正是微调所修复的。

这个方法不使用额外的显存!对于所有这些实验,我通过指针复制层;层被重复而不使用更多 GPU 内存。当然,我们需要更多计算和更多 KV 缓存,但这是验证更好的模型所付出的小代价。


二十年前,我是一名解剖老鼠大脑的博士生。我从未想过最终会对人工心智进行脑部手术。


核心要点

  1. LLM 具有功能性解剖结构:早期层负责编码输入,晚期层负责解码输出,中间层形成推理电路
  2. 推理电路是不可分割的多层单元:复制单个层无效,必须复制完整的电路块才能提升推理能力
  3. 无需训练即可提升模型:通过复制推理层,可以在不改变任何权重的情况下让模型「思考更深」
  4. 方法与微调正交:层复制改变架构,微调改变权重,两者可以叠加使用
  5. 探针选择很重要:使用数学直觉和情商测试作为正交的认知探针,可以揭示模型的结构特性而非特定任务技巧

这种方法为 LLM 的机制可解释性(mechanistic interpretability)研究开辟了一条新路径——通过「脑损伤」实验来理解 Transformer 的功能性组织。

comments powered by Disqus