Compositional Steering of Large Language Models with Steering Tokens¶
会议: ACL 2026
arXiv: 2601.05062
代码: 无
领域: 模型压缩
关键词: 组合引导, 引导token, 自蒸馏, 多行为控制, 零样本组合
一句话总结¶
本文提出组合引导 token,通过自蒸馏将行为指令压缩为输入空间的嵌入向量,并训练专用组合 token
研究背景与动机¶
领域现状:LLM 部署需要同时满足多个行为约束(如语言、长度、格式)。微调计算成本高且可能破坏通用能力,\(N\) 种行为的任意组合意味着 \(2^N\) 种微调。指令引导灵活但脆弱——语义等价的提示产生不一致的行为。
现有痛点:(1) 激活空间引导方法(如 CAA)通过向量加法组合行为,但直接组合独立训练的模块具有破坏性;(2) Gist token 仅处理单行为压缩,未解决组合问题;(3) 现有组合引导缺乏严格评估——大多仅提供轶事证据或缺少基线比较。
核心矛盾:独立训练的行为表示在组合时产生干扰,但如果为每种组合单独训练则组合爆炸。需要一种表示方式能学习"组合"本身的概念,而非每种特定组合。
本文目标:学习一个通用的组合 token
切入角度:行为表示放在输入空间(而非激活空间),支持更好的零样本组合;训练组合 token 时冻结行为 token,迫使
核心 idea:组合 = 一个可学习的通用操作符,而非针对每种行为对的特定调整。
方法详解¶
整体框架¶
方法把"让模型同时满足多个行为约束"这件事拆成两阶段训练:先为每个单行为各学一个引导 token,再单独学一个通用的组合 token
%%{init: {'flowchart': {'rankSpacing': 24, 'nodeSpacing': 28, 'padding': 6, 'wrappingWidth': 400, 'subGraphTitleMargin': {'top': 8, 'bottom': 16}}}}%%
flowchart TD
subgraph S1["输入空间引导 token(阶段一·自蒸馏)"]
direction TB
A["教师:完整行为指令 I_b"] --> B["学生:单个引导 token e_b"]
B --> C["KL 蒸馏对齐<br/>每行为采样 10 种等价指令改写"]
end
C --> D["冻结 LLM + 所有行为 token"]
subgraph S2["通用组合 token <and>(阶段二)"]
direction TB
D --> E["零初始化 <and><br/>仅在行为对上训练"]
E --> F["正交正则化<br/>把 <and> 推离所有行为方向"]
end
F --> G["推理:拼接 [E_x, e_bi, <and>, e_bj]<br/>零样本组合未见行为对"]
关键设计¶
1. 输入空间引导 token:把行为指令压成一个可组合的嵌入向量
激活空间引导(如 CAA)通过向量加法组合行为,但独立训练的方向直接相加会互相干扰,组合准确率几乎归零。本文把行为表示放回模型的输入嵌入空间——每个行为对应一个引导 token \(\mathbf{e}_b \in \mathbb{R}^d\),通过自蒸馏学得:最小化 \(\text{KL}(P_{\text{teacher}}(y|x, I_b) \| P_{\text{student}}(y|x, \texttt{<b>}))\),让只看到一个 token 的学生复现看到完整指令 \(I_b\) 的教师分布。训练时对同一行为采样 10 种语义等价的指令改写,避免 token 过拟合到某一句措辞。输入空间的好处是表示天然走正常的前向计算,比激活空间的强行相加更容易被后续的组合 token 协调。
2. 通用组合 token
如果为每种行为对单独调参就会组合爆炸(\(N\) 种行为有 \(2^N\) 种组合)。本文的关键决策是只学一个共享的
3. 正交正则化:阻止组合 token 与行为 token 表示坍缩
零初始化的
损失函数 / 训练策略¶
整体目标为自蒸馏损失加正交正则化。LLM 全程冻结,可训练参数仅 \(|\mathcal{B}|+1\) 个 \(d\) 维向量(每个行为一个 + 一个
实验关键数据¶
主实验¶
Qwen3-8B 上的 2-行为组合准确率(%)
| 方法 | 已见组合 | 未见组合 | 顺序方差↓ |
|---|---|---|---|
| CAA(激活引导) | 1.6 | 0.5 | - |
| LM-Steer | 18.1 | 13.4 | - |
| LoRA DARE | 81.5 | 44.8 | - |
| 指令引导 | 86.2 | 67.3 | 12.3 |
| 引导 token | 90.5 | 75.5 | 4.8 |
| 引导 token + 指令 | 92.0 | 80.3 | 3.5 |
消融实验¶
| 配置 | 已见组合 | 未见组合 | 说明 |
|---|---|---|---|
| 无 |
下降 | 大幅下降 | 组合 token 关键 |
| 无正交正则化 | 轻微下降 | 明显下降 | 正交性对泛化重要 |
| 随机初始化 |
轻微下降 | 下降 | 零初始化更优 |
| 仅 2-行为训练 | - | 泛化到 3-行为 | 组合概念可泛化 |
关键发现¶
- 引导 token 在已见和未见组合上均大幅超越激活引导方法(CAA: 1.6% vs 引导 token: 90.5%)
- 组合 token 成功泛化到:未见过的行为组合、包含未见行为的组合、3-行为组合(仅训练了 2-行为)
- 引导 token + 指令的混合方法在所有设置下最优,两者具有互补性
- 组合准确率和鲁棒性随模型规模增长而提升(4B → 8B → 14B)
- 引导 token 的顺序方差远低于指令引导,说明行为表示更稳定
亮点与洞察¶
- "学习组合操作符而非每种组合"的思路简洁有力——类似于学习函数 vs 记忆表格
- 冻结行为 token 训练
是关键设计决策,确保了泛化而非过拟合 - 引导 token 与指令的互补性令人惊喜——压缩表示和自然语言提供不同类型的控制信号
局限与展望¶
- 仅在可自动验证的约束上评估(长度、格式、语言),主观行为(如风格、语气)未覆盖
- 每个行为需要独立训练引导 token,行为数量增长时训练成本线性增加
- 组合 token 仅训练了 2-行为组合,更多行为的组合效果可能下降
- 依赖自蒸馏质量——如果教师(指令引导)本身不遵循指令,学生也无法学好
相关工作与启发¶
- vs CAA/Rimsky et al.: 激活空间引导在组合时干扰严重(1.6%),输入空间引导 token 完胜
- vs Gist token: Gist token 仅压缩单指令,未解决组合问题
- vs LoRA merging: LoRA DARE 在已见组合上有竞争力(81.5%)但在未见组合上泛化差(44.8%)
评分¶
- 新颖性: ⭐⭐⭐⭐⭐ 通用组合操作符的概念和冻结训练设计独创性强
- 实验充分度: ⭐⭐⭐⭐⭐ 七个模型、15 种行为、多种组合设置、100万+评估,极其全面
- 写作质量: ⭐⭐⭐⭐⭐ 动机清晰,方法优雅,实验设计严谨
- 价值: ⭐⭐⭐⭐⭐ 为多行为可控生成提供了简洁有效的新范式