Command Palette
Search for a command to run...
SkillSmith:学习组合参数化技能与文本知识
SkillSmith:学习组合参数化技能与文本知识
Lucio M. Dery Benedict Aaron Tjandra Siavash Samiei Adhiguna Kuncoro Zohar Yahav Jiajun Shen Arthur Szlam
摘要
由大语言模型(LLM)驱动的智能体系统通常具备两种关键机制以自主解决复杂问题:从过往经验中合成基于文本的知识与流程,以及为重复出现的子目标构建参数化(权重空间)技能库。迄今为止,研究大多将二者视为正交的探索方向:要么通过组合与反思来组织文本知识,要么通过权重空间合并来整合参数化技能。因此,如何无缝集成文本与模型权重以实现针对性的性能提升,在很大程度上仍未被探索。本工作通过将模型权重视为 LLM 可原生推理的另一种模态,弥合了这一模态鸿沟。我们通过前缀微调实例化参数化学习,并增强 LLM 使其能够同时摄取前缀权重和丰富的文本数据,这些数据捕获了与目标能力的关系。我们称这一增强后的 LLM 为 SkillSmith,它综合这些输入来执行指令引导的参数化合成,直接输出体现目标技能的新前缀权重。我们证明,该方法显著优于纯文本和纯权重空间的基线方法,释放了单模态(纯文本或纯权重)适配无法企及的性能增益。
一句话总结
Google DeepMind 推出 SkillSmith,一种增强型 LLM,将模型权重视为一种模态,综合文本知识与 prefix-tuning 权重,直接生成由指令引导的参数化技能权重,显著优于纯文本和纯权重的基线方法,并释放了单模态适应无法实现的性能提升。
核心贡献
- SkillSmith 将模型权重视为原生模态,使 LLM 能够从文本指令和权重空间输入中合成特定任务的 prefix 权重。
- 增强型 LLM SkillSmith 作为一个超网络,处理 prefix 权重和文本元数据,直接生成新的 prefix 权重,连接文本推理与参数化适应。
- 在 Composite-SNI、SNI 和 MMLU-ProX 上,SkillSmith 在零样本和数据稀疏场景中优于纯文本和纯权重空间基线,并为微调提供了比标准权重合并或随机初始化更强的初始化。
引言
大语言模型越来越多地被用作 agent,需要从过去经验中适应以解决复杂的多步骤任务。目前,agent 的适应依赖于两种独立机制:基于文本的推理(通过自我反思、记忆或提示生成)和通过参数高效微调构建的参数化技能库。先前工作将这些视为正交的研究方向,而权重空间合并方法使用浅层算术,无法捕捉任务之间的语义关系。作者提出 SkillSmith,一种增强型 LLM,将权重空间输入视为原生模态。通过在 prefix 权重以及文本元数据和任务描述上进行训练,SkillSmith 直接合成特定任务的参数化技能,使 agent 的文本推理能够引导组合式权重生成。
数据集
作者从三个主要来源构建训练和评估数据:一个合成的组合数据集、Super-Natural Instructions(SNI)的一个子集,以及一个多语言基准(MMLU-ProX)。这些数据用于训练 SkillSmith 将源任务的能力组合成新组合任务的能力。
数据集构成与关键细节
- Composite-SNI(CSNI) —— 一个包含约 21k 个组合任务的合成数据集。它通过向 Gemini 2.5 Pro 提供 SNI 任务对,并提示模型生成一个自然结合两个源任务技能的新任务而构建。数据集分为 meta-train(约 17k 任务)和 meta-eval 集。为分析泛化能力,meta-eval 集根据组成源任务是否出现在 meta-train 集中分为三个子集:Both-Seen(两者均见过)、One-Seen(一个见过)和 Neither-Seen(均未见过)。
- Super-Natural Instructions(SNI) —— 原始 SNI 基准包含 1,616 个多样化的 NLP 任务,涵盖 76 个类别。作者选取了 875 个任务的子集,每个任务有 1,024 个实例。这些任务既作为源任务库(用于训练源 KV cache 的池),也作为“wild”设置中的目标任务。当不存在真实源映射时,使用启发式检索流水线为每个目标任务分配一对源任务。
- MMLU-ProX —— 一个多语言基准,涵盖 14 个学科类别和来自五个地理区域的 29 种语言。作者通过保留三种表现最差的语言(根据 Gemma 3 4B)和三个随机选择的学科类别,创建了一个具有挑战性的评估划分。因此,meta-training 集包含 26 种语言和 11 个类别,而评估池保留全部 29 种语言和 14 个类别。最终评估时,他们抽取了六个语言-类别对:wolof_math、wolof_health、zulu_physics、spanish_law、indonesian_law 和 afrikaans_history。
数据使用方式
- 源任务模块的训练:对于每个源任务(例如来自 SNI),作者使用任务的(输入,目标)对训练一个 prefix KV cache。输入序列长度从 {32, 64, 128} 中随机采样以鼓励多样性。模型在步数(200, 500, 1000)和学习率(1e-2 至 1e-4)的网格上进行优化,并根据验证 NLL 选择最佳检查点。每个源任务模块附有一个“源文本”——包含任务描述以及 4-16 个上下文示例。
- 训练 SkillSmith:直接使用 Composite-SNI 的 meta-train 划分,具有真实源任务对。对于 SNI 的“wild”设置,目标任务通过检索流水线映射到源任务对(使用 Gemini Embeddings 进行语义检索,然后由 Gemini 2.5 Pro 进行 LLM 选择步骤)。对于每个目标任务,作者通过提示 Gemini 2.5 Pro 描述源任务与目标任务之间的语义关系,生成“组合文本”。
- 评估:Composite-SNI 的 meta-eval 子集衡量 SkillSmith 对已知、部分已知和未见源任务的组合泛化能力。MMLU-ProX 仅用于评估,通过保留的语言-类别对测试跨语言和跨领域泛化能力。
处理细节
- 源任务被处理为固定长度的 prefix KV cache,长度随机采样(32, 64, 128 token)以防止过拟合。
- 源文本由任务描述加上 4-16 个少样本示例构成。
- 对于没有真实源映射的目标任务,使用两阶段检索流水线:首先,Gemini Embeddings 对候选源任务进行排序;然后,Gemini 2.5 Pro 选择上下文最相关的一对。
- 组合文本通过提示 Gemini 2.5 Pro 描述所选源任务与目标任务之间的关系获得。
- MMLU-ProX 根据性能和随机排除,按语言和类别划分,以创建具有挑战性的评估集。
方法
作者将问题定义为连接文本和参数模态,为目标任务合成一个新的 PEFT 模块。每个先前遇到的任务 Ti 存储为一个任务包 bi=(mi,wi),其中 mi 是训练好的 prefix‑tuning 模块(一个可学习的 Key‑Value cache,用于调节冻结的基础模型 Mϕ),wi 是文本元数据,如指令、ICL 示例或任务反思。选择 prefix‑tuning 是刻意的:文本段落可以通过 Mϕ 的前向传播直接转换为 KV‑cache,这表明参数模态与文本模态之间的关系可以被学习。
给定一个新任务 Tnew,目标是通过组合一小组相关源包 Tsrc[Tnew] 和额外的描述性文本,生成 mnew。单模态基线——要么将所有文本聚合为上下文示例,要么对现有权重进行算术合并——无法充分利用两种模态中的互补信息。SkillSmith 通过一种将权重空间输入视为原生模态的架构来解决这一问题。
如框架图所示,SkillSmith 是一个增强的预训练语言模型(协处理器),它接收文本和经过适应的 KV‑cache 的交错序列。源包 {bi} 首先通过输入 KV‑Adapter(实现为 MLP)投影到协处理器的潜在空间。然后,使用一组控制 token 将投影后的 cache 序列化为连续序列,如下所示。
序列以一段描述组合目标的前导文本开始,以激活模型的指令遵循能力。然后,对于每个源包,文本元数据前面加上 <src_start> token,并紧接着其适应的参数模块 KVi′,以 <kv_start> 和 <kv_end> 为界。所有包之后,附加一段组合文本;它可以包括源任务如何与目标任务相关的描述、目标任务的示例,或目标的简单描述。最后,<gen_start> token 标记 cache 合成的开始:放置一个固定长度的占位潜在 token 序列 (z1,…,zL),以 <gen_end> 结束。
整个构建的序列通过协处理器 LLM。与占位 token 对应的 KV‑cache 被分离,通过逆 RoPE 去旋转去除位置信息,然后通过输出 KV‑Adapter(另一个 MLP)以产生最终的合成权重 mnew。该模块可直接插入冻结的基础模型 Mϕ 以解决 Tnew。
作者使用元学习目标端到端训练 SkillSmith。元训练集 Dtrain 从预构建的库 Tsrc 中引导得到。对于 Tsrc 中的每个目标任务 T,一个条目包含一组源包 Tsrc[T]、组合文本 w 以及示例输入-输出对。生成的模块 mT=SkillSmithθ({bk},w) 应用于冻结的基础模型,任务数据上的交叉熵损失(或强化学习任务的策略损失)被反向传播,仅更新 SkillSmith 参数 θ,保持 Mϕ 固定:
θ∗=argminθ(T,Tsrc[T],w)∼Dtrain∑L(Mϕ(x;mT),y).训练期间,输出 cache 长度从 {16, 32, 64, 128} 中动态采样以提高正则化,而评估使用固定长度 32。协处理器 LLM 使用 Gemma 3 4B 初始化。
对于真实部署中未知真实源任务映射的情况,引入了一个两阶段启发式检索流水线。首先,基于 Gemini Embeddings 的语义检索器根据与 Tnew 的相关性对所有源任务进行排序,并将其分组为候选对。然后,一个 LLM 选择器(Gemini 2.5 Pro)选择上下文最相关的一对,成为 Tsrc[Tnew]。该流水线为 SkillSmith 提供输入包,无需手动标注任务关系。
实验
评估涵盖三个基准——Composite-SNI、Super-Natural Instructions 和 MMLU-ProX——以测试 SkillSmith 从文本描述和已学习的 prefix 权重组合新任务的能力。与权重空间合并、上下文学习和直接 prefix-tuning 基线相比,SkillSmith 始终表现更优,特别是在零样本和数据有限的微调设置中,其跨模态合成提供了强大的初始化优势。消融实验表明,模型真正利用了参数化和文本输入,即使父任务未见,其增益仍然存在,证实 SkillSmith 学习到可泛化的组合,而非仅仅依赖额外的文本上下文。
随着提供更多输入模态,SkillSmith 的性能提升。仅使用文本元数据比仅使用 K-V cache 获得更高的 ELO 评分,而两种模态的组合带来最高性能。当移除所有输入时,性能降至最低,证实模型依赖提供的上下文。单独的文本元数据比单独的 K-V cache 更有价值,表明文本描述携带更强的任务相关信息。最佳结果来自同时使用文本元数据和 K-V cache,表明模型成功整合了两种模态。
对输入模态的消融研究表明,SkillSmith 的性能随上下文增多而提升,单独的文本元数据比单独的 K-V cache 更有价值。当文本元数据和 K-V cache 结合时获得最佳结果,表明多模态信息的成功整合。移除所有输入导致性能最低,证实模型依赖提供的上下文。