解锁 Google 模型中的隐藏技能(8 分钟阅读)

TLDR AI 论文

摘要

Dejan.ai 复现了 NeurIPS 2025 的一项研究,该研究表明,仅对随机选取的一小部分权重进行训练,就能激活潜在技能:Gemma 3 270M 在数字排序任务上从约 0% 提升到 97%,仅训练了其 1 亿个权重中的 1,000 个;在单词反转和输出干净 JSON 方面也有类似提升。

AI 模型可能蕴含着任何提示都无法解锁的技能。而通过对极少数权重进行精确微调,就能启用这些技能。这项研究展示了研究人员如何利用这一方法,解锁 Google 模型内部的隐藏技能。
查看原文
查看缓存全文

缓存时间: 2026/11/02 15:14

# 解锁 Google 模型中隐藏的技能 来源:https://dejan.ai/blog/latent-skills/ AI 模型拥有一些任何提示都无法激发的技能。我们通过对模型中极小一部分权重进行精确调优,成功激活了 Google 模型中的隐藏技能。 **TL;DR。**AI 模型拥有一些任何提示都无法激发的技能。一项 NeurIPS 2025 研究在 Llama 和 Qwen 模型(四种规模)上,针对十个任务,训练了少量随机选取的权重:训练 10 到 100 个权重,就能弥合原始模型与完全微调模型之间差距的一半。我们在 Google 最小的 Gemma 模型——Gemma 3 270M 上重复了这项测试。20 种提示措辞中最好的一种,让它正确排序五个数字的成功率仅为 1%。在训练了其 1 亿个权重中的 1,000 个(0.001%)之后,它正确排序的成功率达到了 97%。同样的方法还激活了词表反转(84%)和干净的 JSON 输出(仅用 30 个权重达到 99%),并提升了长加法能力,而乘法即使训练了 100,000 个权重,成功率仍徘徊在 30% 左右。 ## 我们重复的研究 在*《Quantifying Elicitation of Latent Capabilities in Language Models (https://proceedings.neurips.cc/paper_files/paper/2025/file/dd16e008534dc52fab72fdedad069d5c-Paper-Conference.pdf)*(NeurIPS 2025)中,来自 Anthropic、UC Berkeley、Constellation、Thinking Machines 和 Scale AI 的 Donoway 等人仅微调了几个随机选取的权重,然后测量模型能做到多少任务。在 1B 到 8B 参数的 Llama 3 和 Qwen 2.5 模型以及十个基准任务(包括科学问题(ARC)、是非阅读题(BoolQ)、故事写作(TinyStories)和国际象棋谜题)上: - 训练 10 到 100 个权重,就能弥合原始模型与完全微调之间差距的最多 50%。 - 训练数千到数万个权重,就能弥合其中的 95%。 - 一个已经具备某项技能的模型所需的权重数量,比从头学习该技能的模型少几个数量级,因此所需权重的数量反映了该技能已有多少基础。 作者的代码发布在 GitHub 上 (https://github.com/edonoway/quantifying-elicitation-neurips25)。我们为 Gemma 3 270M 编写了自己版本的实现——这个模型小到可以在一块 8 GB 消费级 GPU 上训练——并测试了脚本可以判对判错的任务。 ## 没有任何提示能让 Gemma 排序 我们用 20 种不同的方式让原始的 Gemma 3 270M 对五个两位数进行排序,每种方式 200 道题:直白的、礼貌的、紧急的、大写的、德语的、Python 列表格式的、带角色设定的、逐步引导的、"反复取最小值"、以及附带一个或三个已解决示例的。效果最好的措辞——Python 列表格式——在 200 题中只答对了 2 题。20 种措辞中有 17 种得分为零。 通常的回复会原样返回列表: ``` Sort these numbers in ascending order: 98, 37, 30, 59, 70. Answer with only the sorted numbers, separated by commas. 98, 37, 30, 59, 70 ``` 如果在提示中附上一个已解决的示例,模型会重新排列示例中的数字,而忽略新的列表: ``` Sort the numbers in ascending order. 42, 17, 88, 23, 61 -> 17, 23, 42, 61, 88 98, 37, 30, 59, 70 -> Here's the sorted list of numbers: 1. **17** 2. **23** 3. **42** 4. **61** 5. **88** ``` ## 训练少量权重即可激活 对于每个任务,我们训练 10、30、100、300、1,000 或 100,000 个随机选取的权重,其余所有权重保持冻结,并在 500 道训练中未见过的题目上对模型进行评分。 测试准确率随训练权重数量(对数刻度)变化的折线图。JSON 在 30 个权重时从 0% 跃升至 99%。排序在 100 个权重时从 0.2% 升至 35%,300 个权重时 81%,1,000 个权重时 97%。反转在 300 个权重时从 0% 升至 42%,1,000 个权重时 84%。乘法在 1,000 个权重时达到 29%,100,000 个权重时 33%。 按训练权重数量统计的 500 道测试题中完全答对的比例。 | 训练权重数量 | JSON | 排序 | 反转 | 乘法 | |---|---|---|---|---| | 0(原始模型) | 0% | 0.2% | 0% | 0.2% | | 10 | 32% | 1.8% | 0.2% | 3.2% | | 30 | 99% | 8% | 1% | 0.4% | | 100 | 100% | 35% | 6% | 5% | | 300 | 100% | 81% | 42% | 21% | | 1,000 | 100% | 97% | 84% | 29% | | 100,000 | 100% | 99.6% | 92% | 33% | JSON 在 10 到 100 个权重时、以及排序、反转和乘法在 100 到 1,000 个权重时的结果,是使用不同随机选取的三次运行的平均值。其余单元格为单次运行。 - **JSON**(从一句话中提取姓名、年龄和城市,并以有效 JSON 回复)是一种格式习惯。原始模型已经提取了正确的值,但用 markdown 代码围栏包裹,导致每次回复都不是有效 JSON。训练 30 个权重就去掉了围栏。 - **五个两位数的排序**和**五个单词列表的反转**在训练 1,000 个权重后,从零分别升至 97% 和 84%。 - **两个两位数的乘法**在 1,000 个权重时达到 29%,在 100,000 个权重时达到 33%。按照该研究的衡量标准,这项技能在模型中基本不存在。 ## 加法 Gemma 3 270M 正确做三位数加法的成功率为 84%,而 12 位数加法几乎从不正确。我们比较了训练 1,000 个权重与对整个模型进行完全微调的效果,各运行三次: | 位数 | 原始模型 | 1,000 个随机权重 | 完全微调 | 弥合差距的比例 | |---|---|---|---|---| | 3 | 84.4% | 92.8% | 94.2% | 85% | | 6 | 43.5% | 68.0% | 85.5% | 58% | | 9 | 6.0% | 45.9% | 80.9% | 53% | | 12 | 0.1% | 22.1% | 75.3% | 29% | 1,000 个权重所弥合差距的比例从 3 位数时的 85% 下降到 12 位数时的 29%。 ## 效果较弱的结果 我们在其他四种行为上尝试了相同的方法。每个结果都伴随着一个问题,限制了其说明力。 | 行为 | 结果 | 问题 | |---|---|---| | 拒绝有害请求 | 对有害提示的拒绝率从 47% 升至 97% | 对安全提示的拒绝率也从 13% 升至 74% 到 85% | | 回答无法回答的是非题 | "我不知道"的回答从 75% 降至 10 个权重后的 6% | 训练目标是模型自身最常见的"是"或"否"答案,因此这种变化主要是猜测 | | 数单词中的字母 | 100,000 个权重后正确率从 21% 升至 58% | 每次都回答"1"的得分为 44% | | 选出虚构角色最喜爱的数字 | 与 Google 最新主模型为该角色给出的数字匹配率从 3% 升至 32% | 每次都回答"42"的得分为 39%;模型学会了"7 或 42",在 40 个角色专属数字中答对 0 个 | ## 哪些权重承载排序技能 我们取了 1,000 权重的排序运行结果(98.8% 正确),并对其变化进行了测试: - **逐个移除每个变化:**1,000 个中有 50 个会导致分数下降。最大的单一下降来自第 10 层注意力输出中的一个权重,训练将其从 +0.004 移至 −1.15。移除它后,排序从 98.8% 降至 92.2%。 - **每次移除一半:**移除 1,000 个变化中的任意一半(随机选取),分别剩下 25% 和 15% 的正确率。 - **仅从头训练最重要的 50 个位置:**正确率 24%,而从同一 1,000 个中随机选取 50 个位置为 16%,全部 1,000 个为 97%。 该技能来自许多微小变化的协同作用。单独训练最具破坏性的 50 个变化,达到了完整结果的四分之一。 ## 在哪里选取权重 10 个最具破坏性的变化中有 7 个位于注意力输出矩阵中,即每个层中将注意力结果写回模型的部分。将随机选取限制在这些矩阵中有所帮助: | 选取来源 | 100 个权重 | 300 个权重 | |---|---|---| | 仅注意力输出 | 47% | 86% | | 模型任意位置 | 35% | 81% | 排序结果,三次运行的平均值。在每次运行中,注意力输出都领先或持平。 我们还测试了第二种选择权重的方法,它选取的是在任务提示上输入和输出激活最负相关的权重。它只需要提示,不需要答案。在 1,000 个权重时,它在 9 位和 12 位数加法上额外提升了 2.2 到 4.6 个百分点,但在 10 到 100 个权重的排序任务上表现不如随机选取(100 个权重时 4.4% 对 33%,各单次运行)。 ## 我们的实验方式 - **模型:**Gemma 3 270M,指令微调版。 - **权重池:**18 个 Transformer 层中注意力和 MLP 矩阵的每个权重,共 100,270,080 个。不包括嵌入层和归一化层。 - **选取:**在权重池上均匀随机选取,每次运行使用固定随机种子。 - **训练:**仅被选取的权重发生变化,作为冻结模型的稀疏增量;AdamW,批大小 32,最多 400 到 600 步,验证集上早停,损失仅计算回复 token。每次运行结束后检查确认变化的权重不超过选取的数量。 - **评分:**在保留题目上使用贪心解码进行精确匹配,采用验证集上的最佳检查点。 - **硬件:**一块 8 GB 消费级 GPU,每次训练运行 1 到 2 分钟。 该研究在 Llama 和 Qwen 的低秩适配器内部训练随机选取的权重。我们在 Gemma 上训练的是模型本身的随机选取权重。 ## 适用范围 - 仅一个模型,Gemma 3 270M,且大多是具有精确答案的合成任务。 - 每种设置最多三次运行,许多单元格只有单次运行,因此几个百分点的差距可能不稳定。 - 500 道题的测试集(提示测试为 200 道)存在约 2 到 4 个百分点的采样噪声。 - 学习率来自一个小型网格(0.01、0.1、1.0),未针对每种设置单独调优。

相似文章