KV-Skill:在模型原生语言中锻造专业知识
摘要
本文介绍了KV-Skill,这是一个外部因子化算子的设计空间,冻结的语言模型通过轻量级接口读取这些算子,从而能够从文本或奖励中获取任务知识并独立部署。在十个基准上的实验表明,与文本技能、前缀微调和LoRA相比,KV-Skill持续带来改进,且技能可组合、可加载。
arXiv:2608.05475v1 公告类型:新
摘要:任务知识通常以提示中的文本形式或模型权重的更新形式存储。文本具有模块性,但每次使用都必须被解读;而权重自适应使所产生的能力难以独立加载、移除或共享。我们引入了KV-Skill,这是一个外部因子化算子的设计空间,冻结的语言模型通过轻量级接口读取这些算子。KV-Skill支持两条互补路径。注册路径将已编写的文本技能转换为文本派生算子,并为每个骨干网络训练一个共享接口。奖励学习直接根据任务结果开发一个紧凑的潜在算子,无论是否使用已编写的技能。两条路径都不会向提示中添加任何位置。在来自三个模型家族的十个基准和四个骨干网络上,将文本转换为KV-Skill持续使相同的程序性知识更加有效。在Qwen3.5-4B LiveMath上,注册达到了77.2的准确率,而源文本技能为23.4,SkillOpt为52.0,SoftSkill为64.5。在匹配的奖励训练和参数预算下,与软前缀、前缀微调和LoRA相比,KV-Skill在八组匹配设置中的七组中取得了最佳结果。事后秩分析进一步表明,文本派生算子在每个注入层使用一个任务对齐方向时几乎保留了全部收益,而匹配的随机方向则失败。最后,一个共享接口可以保留三个可独立加载的KV-Skill,且没有可测量的遗忘。这些结果表明,任务知识可以从文本或经验中获取,压缩到外部算子中,并与骨干网络分开部署。代码可在以下网址获取:https://github.com/shawnzhg/KV-Skill
查看缓存全文
缓存时间: 2026/08/07 07:50
# KV-Skill:在模型的原生语言中锻造专家能力 Zhaowei Han, Xiang Zhang¹, Bing Han, Kai Liu, Danqi Hu, Jie Liu 密歇根大学安娜堡分校,美国密歇根州安娜堡 [email protected] ###### 摘要 任务知识通常以两种形式存储:要么作为文本放在提示中,要么作为对模型权重的更新。文本具有模块性,但每次使用时都必须被解释;而权重自适应使得产生的能力难以独立加载、移除或共享。我们提出 KV-Skill,这是一个外部因子化算子(external factorized operators)的设计空间,冻结的语言模型通过一个轻量接口读取这些算子。KV-Skill 支持两条互补路径。注册(Registration)将编写好的文本技能转换为文本派生算子,并训练一个共享的按骨干网络区分的接口。奖励学习(Reward learning)直接从任务结果中开发一个紧凑的潜在算子,无论是否已有编写好的技能。两条路径都不会向提示中添加位置。在来自三个模型族的四个骨干网络上的十个基准测试中,将文本转换为 KV-Skill 一致地使同样的程序性知识更加有效。在 Qwen3.5-4B LiveMath 上,注册达到 77.2 的准确率,而源文本技能为 23.4,SkillOpt 为 52.0,SoftSkill 为 64.5。在匹配的奖励训练和参数预算下,KV-Skill 在八个匹配设置中有七个优于软前缀、前缀微调和 LoRA。事后秩分析进一步表明,文本派生算子在每个注入层仅用一个任务对齐方向即可保留几乎全部收益,而匹配的随机方向则失败。最后,一个共享接口可以保留三个可独立加载的 KV-Skill,且没有可测量的遗忘。这些结果表明,任务知识可以从文本或经验中获取,压缩到外部算子中,并与骨干网络分开部署。代码见:https://github.com/shawnzhg/KV-Skill KV-Skill:在模型的原生语言中锻造专家能力 Zhaowei Han†,Xiang Zhang¹,Bing Han,Kai Liu,Danqi Hu,Jie Liu 密歇根大学安娜堡分校,美国密歇根州安娜堡 [email protected] †表示同等贡献。 ## 1 引言 任务知识与一般模型知识的生命周期不同。它可能始于一段书面程序,从成功经验中涌现,或随任务演变而改变。它应当能够被获取一次,作为一个独立能力存储,并只在需要时加载。当前的方法将这些阶段耦合在一起,使得知识获取的形式也决定了它必须如何部署。自然语言的*文本技能*清楚地体现了这种权衡(Wang等,2023 (https://arxiv.org/html/2608.05475#bib.bib16);Shinn等,2023 (https://arxiv.org/html/2608.05475#bib.bib17);Yang等,2026 (https://arxiv.org/html/2608.05475#bib.bib11))。它们易于编写、检查和共享,但每次使用都需要模型阅读技能并将其指令转化为内部计算。一个过程即使正确,也可能因为模型无法从文本中可靠地执行它而失败。后训练通过直接在模型中学习解决了访问问题,但将能力存储在权重内部。连续提示和压缩上下文仍然是外部的,尽管它们仍占用模型的注意力状态,并且通常通过模仿训练得到(Li和Liang,2021 (https://arxiv.org/html/2608.05475#bib.bib14);Lester等,2021 (https://arxiv.org/html/2608.05475#bib.bib15);Eyuboglu等,2025 (https://arxiv.org/html/2608.05475#bib.bib9);Tao等,2026 (https://arxiv.org/html/2608.05475#bib.bib10))。这在文本的模块性与模型原生适应的有效性之间留下了一个空白。我们问: > *任务知识能否以模型原生形式表示,按需加载,并直接从经验中开发?* 参见图 1 说明:KV-Skill 概览。\(a\) KV-Skill 是一个外部因子化联想算子,而不是文本或注意力 KV 缓存。键 \(U_s^{(\ell)}\) 寻址槽位;值 \(W_s^{(\ell)}\) 返回查询相关的响应。\(b\) 注册将文本技能转换为逐层算子 \(M_s^{(\ell)}\),只更新共享接口 \(I_b^{\mathrm{reg}}\)。\(c\) 奖励学习联合优化一个紧凑算子和任务接口,骨干网络冻结。算子可以从头开始,也可以从文本信息初始化开始。\(d\) 加载、替换或移除 KV-Skill 不会增加提示位置;交换只需重新预填充一次。\(e\) 一个注册接口能让冻结的骨干网络读取多个独立的 KV-Skill,每个 KV-Skill 都是按骨干网络构建的。 我们提出 KV-Skill,一个面向冻结语言模型的外部因子化联想算子的设计空间(图 1 (https://arxiv.org/html/2608.05475#S1.F1))。在某个注入层,算子 \(M_s=W_s U_s^{\top}\) 将来自当前残差状态的查询映射到一个任务特定的响应。这种读取使用一个独立的残差分支,而不是模型的注意力 KV 缓存。它不增加提示位置,也不随对话而增长。一个轻量接口 \(I\) 将该算子连接到骨干网络。能力保留在 \(M_s\) 中,因此它可以独立于模型权重进行存储、选择和替换。算子抽象将知识获取与部署分离。当存在编写好的文本技能时,一次预填充即可提取一个高分辨率的文本派生算子。随后,注册训练一个共享的按骨干网络区分的接口来访问这个固定的 \(M_s\)。当没有现成程序时,奖励学习直接从验证器结果中开发一个紧凑的潜在算子及其任务接口。它也可以从已有的技能开始。这两个并不是相同的张量布局,而是同一设计空间的两个端点:一个从文本编译出的详细算子,以及一个从经验中发现的紧凑算子。实验说明了为什么两个端点都很重要。 将文本技能转换为 KV-Skill 会在不改变其派生算子的情况下带来巨大收益。在 Qwen3.5-4B LiveMath 上,注册达到 77.2 的准确率,而源文本技能为 23.4,SkillOpt 为 52.0,SoftSkill 为 64.5。这种优势在 gpt-oss-20b 和结构化知识检索上也成立。在固定 \(I\) 的情况下交换已加载的算子,会消除大部分收益,这证实了任务身份存在于 \(M_s\) 中,而不是隐藏在接口中。奖励学习提供了互补的结果。一个紧凑的 KV-Skill 可以在没有任何编写程序的情况下学习。在相同的奖励目标、训练预算和参数预算下,它在八个匹配设置中有七个优于软前缀、前缀微调和 LoRA。因此,这一结果不能仅用奖励优化来解释。奖励所作用的表示形式也同样重要。 最具有揭示性的结果与注册从文本中提取的内容有关。注册之后,token 级算子可以缩减为每个注入层一个任务对齐方向,而在 LiveMath、SearchQA 或 STaRK-Prime 上几乎没有损失。匹配的随机方向则失败,这说明这是任务特定结构的压缩,而不是尺度效应。一个共享接口还能保留三个可单独加载的 KV-Skill,且没有可测量的遗忘;完整的保留和重放结果见附录 B.4 (https://arxiv.org/html/2608.05475#A2.SS4)。综合来看,结果表明任务知识可以从文本或经验中获取,在获取后压缩,并作为外部能力部署。 我们的贡献如下: - **外部算子设计空间。** 我们将 KV-Skill 定义为一个外部因子化联想算子,而不是注意力缓存或某种固定的张量布局。该算子通过轻量接口加载,且不增加提示位置。 - **通往外部能力的两种路径。** 注册将编写好的文本技能编译为固定算子。奖励学习直接从任务结果中开发一个紧凑算子,无论是否已有编写好的技能,同时保持骨干网络冻结。 - **受控评估。** 在十个基准和四个骨干网络上,KV-Skill 相较于文本和连续技能基线均有提升。匹配的奖励实验将可训练基底的效果与目标函数的效果分离开来。 - **机制与模块性证据。** 秩和方向控制表明,注册将文本提炼为紧凑的、任务对齐的条件引导。顺序注册表明,一个接口可以保留多个可独立加载的 KV-Skill。 ## 2 相关工作 #### 文本技能与连续提示。 LLM 智能体通常以文本形式存储可复用的程序(Wang等,2023 (https://arxiv.org/html/2608.05475#bib.bib16);Shinn等,2023 (https://arxiv.org/html/2608.05475#bib.bib17))。Trace2Skill 从轨迹中提取此类程序,而 TextGrad、GEPA 和 SkillOpt 则利用任务反馈来优化它们(Ni等,2026 (https://arxiv.org/html/2608.05475#bib.bib31);Yuksekgonul等,2024 (https://arxiv.org/html/2608.05475#bib.bib32);Agrawal等,2025 (https://arxiv.org/html/2608.05475#bib.bib33);Yang等,2026 (https://arxiv.org/html/2608.05475#bib.bib11))。文本保持可读且可移植,但必须在每次使用时被处理。提示微调、前缀微调和上下文压缩器则将任务信息编码到连续的注意力状态中(Lester等,2021 (https://arxiv.org/html/2608.05475#bib.bib15);Li和Liang,2021 (https://arxiv.org/html/2608.05475#bib.bib14);Liu等,2022 (https://arxiv.org/html/2608.05475#bib.bib34);Mu等,2023 (https://arxiv.org/html/2608.05475#bib.bib18);Chevalier等,2023 (https://arxiv.org/html/2608.05475#bib.bib35);Eyuboglu等,2025 (https://arxiv.org/html/2608.05475#bib.bib9))。SoftSkill 类似地将文本技能转换为经过模仿训练的前缀(Tao等,2026 (https://arxiv.org/html/2608.05475#bib.bib10))。KV-Skill 的不同之处在于使用独立的残差分支。它既不增加提示位置,也不向注意力 KV 缓存添加条目,并且可以直接从验证器奖励进行优化。 #### 权重自适应与激活引导。 适配器和 LoRA 通过模型特定的参数更新来学习任务行为(Hu等,2022 (https://arxiv.org/html/2608.05475#bib.bib36)),而 Text-to-LoRA 从任务描述中预测此类更新(Charakorn等,2025 (https://arxiv.org/html/2608.05475#bib.bib26))。KV-Skill 则将能力保留在外部算子中,多个注册的 KV-Skill 共享一个按骨干网络区分的接口。激活引导、任务向量和函数向量通过残差流中的方向来修改行为(Turner等,2023 (https://arxiv.org/html/2608.05475#bib.bib21);Hendel等,2023 (https://arxiv.org/html/2608.05475#bib.bib22);Todd等,2024 (https://arxiv.org/html/2608.05475#bib.bib23);Belitsky等,2025 (https://arxiv.org/html/2608.05475#bib.bib24))。最近的工作也用强化学习训练逐层引导向量(Sini等,2025b (https://arxiv.org/html/2608.05475#bib.bib37),2025a (https://arxiv.org/html/2608.05475#bib.bib38))。这与我们的秩一端点密切相关。关键区别在于,秩一 KV-Skill 使用当前残差查询来缩放其任务方向,而不是以固定系数应用它。 #### 联想算子与外部记忆。 因子分解 \(M_s=W_s U_s^{\top}\) 遵循线性注意和快速权重记忆中使用的联想读取(Katharopoulos等,2020 (https://arxiv.org/html/2608.05475#bib.bib19);Schlag等,2021 (https://arxiv.org/html/2608.05475#bib.bib20);Yang等,2024 (https://arxiv.org/html/2608.05475#bib.bib12));我们不主张这种算子形式是新的。KBLaM 使用外部键值记忆来存储陈述性知识(Wang等,2024 (https://arxiv.org/html/2608.05475#bib.bib25)),而 Cache-to-Cache 和 Latent Cache Flow 通过模型状态交流实例特定信息(Fu等,2025 (https://arxiv.org/html/2608.05475#bib.bib8);Rossi等,2026 (https://arxiv.org/html/2608.05475#bib.bib13))。KV-Skill 则将算子用作一种持久的过程性能力,可以从文本构建,也可以从任务奖励中学习。 ## 3 KV-Skill 设计空间 KV-Skill 将任务知识存储在提示和骨干网络之外的一个外部算子 \(M_s\) 中。一个轻量接口 \(I\) 从冻结语言模型的残差流中读取该算子。该算子可以在不改变骨干网络权重或消耗提示位置的情况下被加载、替换或移除。这种抽象支持两种构造。*文本派生 KV-Skill* 将编写好的文本技能转换为固定算子,而 *奖励学习 KV-Skill* 则直接从任务结果中学习紧凑算子。它们使用不同的张量布局,但共享相同的联想读取,代表同一设计空间中的两个点:从文本中获取的知识和从经验中发现的知识。附录中的 Table6 (https://arxiv.org/html/2608.05475#A1.T6) 总结了它们在来源、表示和优化方面的差异。 ### 3.1 KV-Skill 作为联想算子 设 \(\mathcal{D}\) 为读取 KV-Skill 的层集合。在每个注入层 \(\ell\in\mathcal{D}\),KV-Skill 提供两个因子矩阵: \[ U_s^{(\ell)}, W_s^{(\ell)} \in \mathbb{R}^{d_s \times m_s}, \tag{1} \] 其中 \(m_s\) 是技能槽位数量,\(d_s\) 是技能空间维度。这些因子定义了一个隐式算子: \[ M_s^{(\ell)} = W_s^{(\ell)} U_s^{(\ell)\top}. \tag{2} \] 完整矩阵从不被显式构造。模型直接应用因子化形式: \[ \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). \tag{3} \] \(U_s^{(\ell)}\) 的列充当键:它们衡量每个技能槽位与当前查询的带符号相关性。\(W_s^{(\ell)}\) 的列充当值:它们返回对应的响应。该读取是线性的,且不对槽位应用 softmax。因此,我们将其联想键值结构命名为 *KV-Skill*。这些技能因子不是模型注意力 KV 缓存中的条目。它们不表示对话 token,不使用注意力头或位置编码,也不会随上下文增长。 #### 形式定义。 KV-Skill 是因子化算子族 \[ M_s \triangleq \left\{\left(U_s^{(\ell)}, W_s^{(\ell)}\right): \ell\in\mathcal{D}\right\}, \tag{4} \] 以及这些因子在层之间的任何共享方式。这个定义不要求固定数量的槽位或单一坐标空间。文本派生 KV-Skill 在每个深度使用独立的因子,而奖励学习 KV-Skill 则在深度之间共享一个紧凑的因子对。 ### 3.2 读取 KV-Skill 接口 \(I\) 将外部算子连接到冻结的骨干网络。给定残差状态 \(h_{\ell}\),它首先构造一个查询: \[ q_{\ell}=\operatorname{norm}\left(A\,\operatorname{RMSNorm}(h_{\ell})\right), \tag{5} \] 其中 \(A\) 将模型状态映射到技能空间。然后,接口使用公式 3 (https://arxiv.org/html/2608.05475#S3.E3) 读取已加载的算子,并将响应写回: \[ h_{\ell}^{\prime}=h_{\ell}+\gamma_{\ell}\,g_{\ell}\,B\,\operatorname{Read}\left(M_s^{(\ell)}, q_{\ell}\right). \]
相似文章
SkillOpt 将 markdown 技能文件视为可训练参数并配备适当的优化机制
一篇新论文通过将 markdown 技能文件视为可训练参数并使用经过保留集验证的有界编辑,将智能体的技能优化形式化。该方法在不同模型间迁移良好,并提升了程序化基准测试的性能。
从原始经验到技能消费:模型生成智能体技能的系统研究
本文系统评估了语言智能体的模型生成技能,涵盖经验生成、提取和消耗的完整生命周期,发现技能平均有益但存在显著的负迁移,从而引出一种提高技能质量的元技能。
SKILL-KD:面向LLM智能体的对比技能蒸馏
SKILL-KD是一种对比技能蒸馏框架,通过将教师轨迹与学生轨迹之间的可操作差异蒸馏为文本技能补丁,并利用漂移感知合并机制迭代优化技能,从而提升LLM智能体的性能。
@Yif_Yang: 介绍 SkillOpt — 一个面向智能体技能的优化器。不再微调模型权重,而是将自然语言…
介绍 SkillOpt,一个将自然语言技能视为可训练外部参数而非微调模型权重的优化器。它通过有界编辑和验证门控实现稳定、可控的技能更新,在 7 个模型的 6 个基准测试的 52 个设置中取得最佳或并列最佳结果。
SKT:通过验证合成数据生成实现规模化技能使用训练
介绍了SKT,一个用于语言模型智能体技能使用训练的验证数据合成流水线,从2,000个公开技能中生成4,000个任务包和27,164条经验证的轨迹。在SKT生成的轨迹上进行监督微调,能够持续提升不同模型和智能体框架的技能使用性能。