KV-Skill:将提示词编译为外挂算子,LiveMath准确率升至77.2%
KV-Skill: Forging Expertise in the Model's Native Language

在大模型落地实际任务的过程中,如何赋予模型稳定的“专业技能”,始终面临着一个两难困境。最符合人类直觉的方式是将操作流程写成提示词(Text Skill),这种做法灵活、易读且即插即用,但模型在实际推理时往往难以稳定遵循复杂的文字指令;另一种极端则是通过全量微调或 LoRA 将技能固化到模型权重中,这虽然提升了执行力,却让技能失去了模块化属性,难以像软件插件一样独立加载、卸载或组合管理。
ArXiv URL:https://arxiv.org/abs/2608.05475v1
密歇根大学的研究团队在最新论文《KV-Skill: Forging Expertise in the Model’s Native Language》中提出了一种全新的范式:KV-Skill。这项研究不再把技能当成需要反复阅读的文本,也不将其焊死在模型权重内,而是将其构建为一种外部的低秩分解关联算子(Associative Operator)。通过冻结主干模型并引入极轻量的适配接口,模型能够直接在残差流层面调用该算子。
这项技术的核心亮点在于其两阶段的灵活性与极高的数据效率:它既能通过“注册”(Registration)机制一次性把人工编写的文本技能“编译”为算子,也能直接借助验证器反馈通过强化学习(Reward Learning)从零发现技能。更为关键的是,它完全不占用 Prompt 长度,也不增加注意力机制的 KV Cache。在数学推理基准 Qwen3.5-4B LiveMath 上,原本自然语言技能仅能拿到 23.4% 的准确率,而编译为 KV-Skill 后准确率飙升至 77.2%;在机制解析中,研究者甚至发现该算子在每个注入层仅保留 1 个主方向(Rank-1)就能保留绝大部分性能。这项工作指明了一个清晰的方向:大模型的任务技能完全可以脱离文字外壳,以一种紧凑、原生且即插即用的算子形态存在。

为什么现有的技能呈现方式总是妥协?
在当前的大模型与智能体开发实践中,专业知识的生命周期与底座模型的通用能力有着本质区别。一项针对特定 API 调用、专业法律判例检索或垂直领域数学符号推导的操作流程,往往是快速迭代的。开发者希望它能够随时更新,并在需要时挂载给底座模型,任务结束后即刻卸载。
然而,现存的主流方案在部署上存在显著瓶颈:
自然语言技能(Text Skills)具有极佳的可解释性与便携性,很多工作(如 TextGrad、SkillOpt)都在尝试用反思机制迭代优化提示词。然而,自然语言是一种对人类友好、对模型内部计算极其低效的载体。每调用一次技能,模型就必须在上下文中完整读取一遍文字,并尝试将其映射到高维潜空间的复杂计算路径上。很多时候,流程描述本身毫无漏洞,模型却依然会在中间步骤偏航。此外,长文本技能还会显著挤占宝贵的上下文窗口,降低推理吞吐量。
参数高效微调(PEFT / LoRA)通过低秩增量矩阵修改前向传播权重,克服了指令依从性问题。然而,权重增量具有强烈的模型绑定特性。当系统中同时存在数十个垂直技能时,频繁切换 LoRA 权重会带来显存管理和批处理推理的严重开销;更致命的是,多个 LoRA 叠加时极易发生表示空间的干扰与能力遗忘。
基于软提示(Soft Prompting / Prefix Tuning)的连续前缀方案看似折中,但其本质依然是在自注意力层前追加虚拟 Token。它们不仅同样占用序列位置和注意力 KV Cache 的计算量,而且通常难以通过任务奖励(Reward)直接稳定优化复杂推理流程。
这就引出了作者提出的核心思考:任务技能能否既不占用上下文位置,也不侵入模型权重,而是作为一种外部的、模型原生支持的动态算子随时调用?
架构设计:残差流上的关联矩阵读取
KV-Skill 将技能抽象为一个外部低秩分解的关联算子。在数学形式上,它借鉴了线性注意力和快速权重记忆(Fast-Weight Memory)的经典思想,但其应用目标和系统结构被彻底重构。
假设我们在模型的特定层集合 $\mathcal{D}$ 进行注入。对于任意注入层 $\ell \in \mathcal{D}$,KV-Skill 包含两个分解矩阵:
\[U_{s}^{(\ell)}, W_{s}^{(\ell)} \in \mathbb{R}^{d_{s} \times m_{s}}\]由此构成的外积算子为:
\[M_{s}^{(\ell)} = W_{s}^{(\ell)} U_{s}^{(\ell)\top}\]其中,$m_s$ 代表技能槽位(Slots)数量,$d_s$ 为技能空间的维度。
当模型的前向传播运行到第 $\ell$ 层时,主干网络的残差状态为 $h_\ell$。轻量级接口 $I$ 首先将该残差状态投影并归一化为查询向量 $q_\ell$:
\[q_{\ell} = \operatorname{norm}\left(A \, \operatorname{RMSNorm}(h_{\ell})\right)\]随后,接口对外部算子执行一次关联读取操作(Read Operation):
\[\operatorname{Read}\left(M_{s}^{(\ell)}, q_{\ell}\right) = \frac{1}{\sqrt{m_{s}}} W_{s}^{(\ell)} \left(U_{s}^{(\ell)\top} q_{\ell}\right)\]最后,读取出的技能响应向量通过投影矩阵 $B$ 变换回主干维度,并通过一个受控的门控标量注入回残差流:
\[h_{\ell}^{\prime} = h_{\ell} + \gamma_{\ell} g_{\ell} B \, \operatorname{Read}\left(M_{s}^{(\ell)}, q_{\ell}\right)\]
从系统实现来看,这一读取机制与自注意力机制的 KV Cache 没有任何耦合。它不涉及查询向量对历史 Token 的 Softmax 注意力分布,不增加序列长度,也不会随着多轮对话的展开而发生显存线性膨胀。算子 $M_s$ 完全存放在外部显存中,在模型前向传播经过残差流的瞬间被按需触发。
双轨生成:从文本编译,或从经验中生长
明确了算子的形态后,核心问题转向:这些分解矩阵 $U_s$ 与 $W_s$ 从何而来?KV-Skill 统一了两种完全互补的构建路径。
第一条路径是文本技能注册(Registration)。假设领域专家已经编写了一份详尽的文本操作手册。在传统的做法中,这份手册会被塞进 System Prompt;而在 KV-Skill 中,系统先用冻结的主干模型对该文本进行单次 Prefill(预填充),提取出各注入层在文本位置上的隐藏状态矩阵 $\bar{H}_s^{(\ell)} \in \mathbb{R}^{d_b \times N_s}$。研究人员直接将这些隐藏状态作为键和值:
\[U_{s}^{(\ell)} = W_{s}^{(\ell)} = \bar{H}_{s}^{(\ell)}\]此时,算子 $M_s^{(\ell)} = \bar{H}_s^{(\ell)} \bar{H}_s^{(\ell)\top}$ 就构筑了该文本在模型自身残差空间中的完整自相关表征。
但这只是第一步。由于原始文本被转化为了关联矩阵,主干网络并不知道如何去“寻址”它。接下来进行的“注册”过程,在完全冻结底座网络和算子矩阵的前提下,只优化每种模型专用的共享接口 $I_b^{\mathrm{reg}}$。训练目标结合了以原文本提示作为教师分布的 KL 散度与下游任务的交叉熵损失:
\[\mathcal{L}_{\mathrm{reg}} = \operatorname{KL}\left(p_{\mathrm{text}} \,\|\, p_{\mathrm{KV}}\right) + \frac{1}{2}\operatorname{CE}\left(p_{\mathrm{KV}}, y\right) + \lambda \Omega\]注册完成后,这套接口就能在残差流中稳定访问该固定算子,而主干模型在推理时完全摆脱了对原始文本的依赖。
第二条路径是端到端强化学习(Reward Learning)。在很多复杂任务中,人类往往无法准确写出逻辑严密的执行步骤,但能轻易构建判定结果正误的验证器(Verifier)。KV-Skill 允许绕过任何文本描述,直接从任务奖励中学习。
在此模式下,研究者初始化一对非常紧凑的潜变量矩阵 $U_s, W_s$(在所有注入层间参数共享),并使用基于优势函数归一化的策略优化算法(如类似 GRPO / REINFORCE 风格的目标),联合优化算子与接口参数:
\[\theta_{b,s}^{\mathrm{RL}} = \left\{U_{s}, W_{s}, I_{b,s}^{\mathrm{RL}}\right\}\]这种方式不仅可以从零初始化,也可以以文本编译生成的算子为起点继续演化,实现了从人类先验到强化探索的自然平滑过渡。
性能跃升:打破文本提示与参数微调的上限
为了全面检验 KV-Skill 的有效性,研究团队在涵盖数学推理(LiveMath)、复杂网页搜索问答(SearchQA)、文档视觉问答(DocVQA)、常识与开卷问答(CommonsenseQA、OpenBookQA)以及异构知识图谱检索(STaRK-Prime、STaRK-MAG)等 10 个主流基准、跨越 3 个模型家族的 4 种主干架构(包括 Qwen3.5-4B、gpt-oss-20b 等)上进行了系统评测。
在 Qwen3.5-4B 上的 LiveMath 数学推理任务中,不同技能承载方式的对比呈现出了极其悬殊的差距。直接在 Prompt 中输入编写好的高质量文本技能,模型仅能取得 23.4% 的准确率。这充分印证了论文初期的判断:模型无法稳定将长篇操作指南转化为内部注意力计算;使用专门针对文本提示进行反馈优化的最新算法 SkillOpt,准确率提升到了 52.0%;采用基于连续前缀模仿学习的 SoftSkill,成绩进一步升至 64.5%。而经过 KV-Skill 注册编译后,在完全不改变底层算子内容、仅仅训练访问接口的情况下,准确率直接跳升至 77.2%。
在知识图谱复杂检索任务 STaRK-Prime 与 STaRK-MAG 上,文本技能由于缺乏结构化图遍历的对齐能力,表现平平;KV-Skill 无论通过文本注册还是从零 RL,均展现出了远超文本基线的图节点排序能力。
更具说服力的是在严格受控环境下的对比实验。以往许多参数微调工作在宣称超越基线时,往往混杂了参数量不同、学习率不同或优化目标不一致的干扰变量。研究人员将 KV-Skill 与 Soft Prefix、Prefix Tuning 以及 LoRA 放置在完全相同的奖励目标、相同的训练轮次和严格匹配的参数量预算(Parameter Budget)下进行对抗评测。结果显示,在全部 8 组公平对齐的对照实验中,KV-Skill 在 7 组中取得了最佳表现。这有力地证明了 KV-Skill 的优越性并非来自于优化器红利,而是其关联算子结构作为一种残差流调控基质,具备更优越的归纳偏置与表征容量。
机制透视:为什么它比单纯的向量控制更强?
KV-Skill 取得如此巨大的增益,是否只是在残差流中强行添加了某种偏置常数?它究竟从文本技能中提炼出了什么?作者通过一系列精细的干涉实验揭示了其深层机理。
1. 奇异值截断与“秩一”现象
从文本构建的原始算子 $M_s^{(\ell)}$,在每个注入层都拥有与文本 Token 数量等同的槽位数量(例如数百个)。直觉上,大家会认为这个庞大的矩阵完整记录了文本的所有细节信息。
然而,研究团队在注册完成后,使用奇异值分解(SVD)对算子进行不同程度的低秩截断。令人震惊的现象出现了:当他们把每一层的算子截断至仅保留一个主成分方向(Rank-1)时,模型在 LiveMath、SearchQA 和 STaRK-Prime 上的任务表现几乎没有任何衰减!
为了验证这是否仅仅是简单的缩放效应,团队设计了严格的控制组:
-
如果用相同模长的随机向量替换这个截断后的主方向,模型性能发生崩溃,跌回甚至低于 Base 水平;
-
如果将基于当前残差状态的查询系数 $U_s^\top q_\ell$ 替换为固定的层级学习标量(即退化为类似近年来热门的固定激活引导 Activation Steering 方案),准确率大幅缩水。
这一结果给出了极其深刻的机制洞察:文本技能注册的本质,是接口学会了如何利用残差流的动态查询,在一个高度对齐任务目标的超维方向上,进行受控的条件化引导(Conditional Steering)。 文本中的冗余表述在编译后被高度提炼,化作了残差流上的定向力场。
2. 能力究竟存在于算子还是接口?
有人可能会质疑:性能的大幅提升是否意味着任务知识其实被“偷渡”到了可训练的接口 $I$ 之中?
研究人员进行了算子置换实验:保持训练好的接口 $I$ 完全固定,在推理时分别挂载目标任务算子、无关任务算子和随机高斯算子。实验表明,一旦将算子替换为随机矩阵,模型的任务准确率立刻回落至 Base 基线;换成其他任务的算子,模型也会丧失当前任务的专有能力。这从反向证明,接口仅仅是一个通用寻址通道,具体任务的核心表征与决策逻辑严格封装在外部算子 $M_s$ 之中。
3. 单一接口实现无遗忘的技能复用
由于技能本身与接口解耦,一个设计合理的接口完全可以复用于多个不同的技能。
在顺序注册实验中,研究者将 SearchQA、LiveMath 和 STaRK-Prime 三个跨度极大的任务技能,依次注册进 Qwen3.5-4B 的同一个接口中。在引入经验回放(Replay)机制的保护下,完成三阶段顺序学习后,最早注册的 SearchQA 和随后注册的 LiveMath 性能完全没有出现可观测的灾难性遗忘,其测试指标与单独针对该任务训练独立接口时完全一致。用户只需要在本地保存几组极小的矩阵权重,即可在同一个模型底座上,实现毫米级的技能即插即用与快速热切换。
局限性与技术边界
尽管 KV-Skill 展示出了突破性的特性,在当前的系统实现中依然存在几项必须正视的技术局限:
-
底座强绑定性:目前从文本编译得到的算子,其键值向量是直接在特定底座模型的残差流中生成的。这意味着针对 Qwen 构建的文本算子,无法直接挪给 Llama 或 DeepSeek 使用;每个底座模型必须各自独立执行一次文本预填充与接口适配。跨模型的算子通用迁移,仍是待攻克的理论盲区。
-
动态上下文回算成本:由于 KV-Skill 的注入发生在残差流中,如果在一个长时间的多轮对话中途动态决定挂载某项技能,为了让该技能对之前的对话历史产生全局一致的影响,系统必须对既有的历史状态执行一次重新预填充(Re-prefill),这会带来短暂的冷启动计算开销。
-
算力与环境开销:虽然主干模型保持冻结,但无论是注册阶段的教师蒸馏,还是端到端强化学习阶段的高频 Rollout 生成,都需要依赖充足的 GPU 计算资源支持。
总结:大模型能力工程的新思路
长期以来,AI 社区在处理模型专业能力时,被束缚在“改写 Prompt”和“微调 Checkpoint”这两座孤岛之间。前者受制于文字语言低效的计算带宽,后者受累于模型权重的笨重与不可拆分。
KV-Skill 证明了一种全新的可能:知识的获取方式与其最终的部署形态完全可以解耦。人类可以用自然语言书写经验,也可以通过强化学习让模型探索结果;但进入执行阶段后,这些经验应当被提纯为模型内部的原生算子。
当复杂的推理指令被高度凝练为残差流上的极低秩条件力场,我们或许正在接近一种更加模块化的大模型软件工程体系——底座模型提供纯粹的计算骨架与常识推理底盘,而琳琅满目的专业技能则被封装为一个又一个独立的外部算子,呼之即来,挥之即去。对于正在探索智能体可复用架构、长上下文算力优化以及垂直领域模型快速适配的开发者与研究者而言,KV-Skill 所开辟的这片算子设计空间,无疑具有极具穿透力的启发意义。