Personalized Text Generation with Contrastive Activation Steering¶
会议: ACL 2025
arXiv: 2503.05213
代码: 未公开
作者: Jinghao Zhang, Yuting Liu, Wenjie Wang, Qiang Liu, Shu Wu, Liang Wang, Tat-Seng Chua
机构: 中科院自动化所, 中国科学院大学, 东北大学, 中国科大, 新加坡国立大学
领域: 个性化文本生成 / 激活工程
关键词: 个性化生成, 风格向量, 对比激活引导, Activation Steering, 无训练框架, LoRA替代
一句话总结¶
提出 StyleVector——一个无需训练的个性化文本生成框架,通过对比用户真实响应与模型生成的无风格响应之间的隐层激活差异来提取"风格向量",在推理时通过简单的线性激活干预引导 LLM 生成符合用户写作风格的文本,在 LaMP 和 LongLaMP 基准上实现 8% 的相对提升,同时将存储需求降低至 PEFT 方法的 1/1700。
研究背景与动机¶
领域现状:LLM 是"一刀切"系统,针对平均用户优化,无法适应个体风格偏好。个性化文本生成旨在从用户历史文本中推断写作风格并生成一致风格的输出。
现有方法的局限: - RAG 方法:检索相关历史文本作为上下文。问题在于:(a) 内容语义与风格模式纠缠——检索基于语义匹配导致风格稀释;(b) 检索延迟随历史量增长 - PEFT 方法(如 LoRA):为每个用户训练独立适配器。问题在于:(a) 同样存在风格-内容纠缠;(b) 每用户需存储独立参数文件(~17MB/user);(c) 加载和合并 LoRA 延迟高
核心洞察:激活工程研究表明,LLM 将特征和概念编码为隐层激活空间中的线性方向。通过对比分析,用户特定的写作风格同样可以表示为激活空间中的方向向量。
方法详解¶
整体框架(StyleVector)¶
三阶段流程:生成无风格响应 → 提取风格向量 → 激活引导生成
阶段一:生成无风格响应¶
给定用户 u 的历史交互 P_u = {(x_i, y_i)},使用通用 LLM M_g 对每个输入 x_i 生成无风格响应 ŷ_i = M_g(x_i)。
- y_i(用户真实响应)= 内容语义 + 用户风格
- ŷ_i(模型生成响应)= 内容语义(无用户风格)
- M_g 可以是任意模型(开源或闭源),实验证明方法对 M_g 的选择具有鲁棒性
阶段二:提取风格向量¶
通过对比隐层激活来提取风格向量。设 h_ℓ(r) 为第 ℓ 层处理文本 r 时的最后一个 token 的隐状态:
- 正激活:\(a_{p,i}^{\ell} = h_{\ell}(x_i \oplus y_i)\)(拼接输入与用户真实响应)
- 负激活:\(a_{n,i}^{\ell} = h_{\ell}(x_i \oplus \hat{y}_i)\)(拼接输入与无风格响应)
提供三种提取函数 f(·) 来计算风格向量 \(s_u^{\ell}\):
1) 均值差异法(Mean Difference): $\(s_u^{\ell} = \frac{1}{|P_u|} \sum_{i=1}^{|P_u|} (a_{p,i}^{\ell} - a_{n,i}^{\ell})\)$ 最简单直接——计算正负激活的平均差异方向。
2) 逻辑回归法(Logistic Regression): 用逻辑回归找到最佳分离正负样本的方向 w,归一化后作为风格向量:\(s_u^{\ell} = w / \|w\|_2\)
3) PCA 法: 在差异向量 {Δ_i} ∪ {-Δ_i} 上做 PCA,取第一主成分方向: $\(s_u^{\ell} = \arg\max_{v:\|v\|=1} \sum_{i=1}^{|P_u|} (\Delta_i^T v)^2\)$
阶段三:激活引导生成¶
在推理时,将缩放后的风格向量加到隐层激活上: $\(h'_{\ell}(x)_t = h_{\ell}(x)_t + \alpha \cdot s_u^{\ell}\)$
- α 为缩放因子,控制引导强度
- 对生成文本中每个 token 位置 t ≥ |x| 执行干预(仅干预单层 ℓ)
- ℓ 和 α 通过验证集选择
效率分析¶
| 指标 | RAG | PEFT | StyleVector |
|---|---|---|---|
| 预处理/用户 | O(|P_u|)* | O(|P_u|) | O(|P_u|)* |
| 推理延迟/查询 | O(|P_u|) | O(Load+Merge) | O(1) |
| 存储/用户 | O(|P_u|·D) | O(r·D·L) | O(D) |
*标注为"无训练",仅需前向传播。
实验¶
实验设置¶
- 基准:LaMP(短文本个性化)+ LongLaMP(长文本个性化)
- 基座模型:LLaMA-2-7B-chat
- 指标:ROUGE-L, METEOR
- 基线:非个性化 / BM25-RAG / Contriever-RAG / SFT-LoRA / DPO-LoRA
主实验结果¶
| 任务 | 指标 | 非个性化 | BM25 | Contriever | SFT | DPO | StyleVector | 提升 |
|---|---|---|---|---|---|---|---|---|
| 摘要生成 | ROUGE-L | 0.206 | 0.202 | 0.204 | 0.204 | 0.202 | 0.206 | 0.2% |
| 话题写作 | ROUGE-L | 0.130 | 0.124 | 0.126 | 0.130 | 0.128 | 0.136 | 4.7% |
| 评论生成 | ROUGE-L | 0.138 | 0.139 | 0.139 | 0.136 | 0.132 | 0.145 | 5.0% |
| 评论生成 | METEOR | 0.161 | 0.166 | 0.166 | 0.157 | 0.145 | 0.180 | 11.8% |
| 学术标题 | ROUGE-L | 0.109 | 0.091 | 0.092 | 0.110 | 0.105 | 0.137 | 25.8% |
| 推文改写 | ROUGE-L | 0.251 | 0.255 | 0.257 | 0.234 | 0.220 | 0.283 | 12.8% |
关键发现: - StyleVector 在所有任务上均取得最佳或最佳并列,平均 ROUGE-L 提升 ~11%,METEOR 提升 ~8% - 学术标题和推文改写任务提升最显著(25.8%、12.8%),因为这些任务的个人风格模式更明显 - RAG 和 PEFT 方法均不稳定——RAG 在历史少的任务上更好,PEFT 在历史多的任务上更好
效率对比¶
| 指标 | SFT | RAG | StyleVector |
|---|---|---|---|
| 预处理时间/用户 | 62-132s | 0.4-1.2s | 11-27s |
| 推理延迟/查询 | 19-26s | 8-19s | 10-16s |
| 存储/用户 | 17MB | 0.1-0.8MB | 0.01MB |
- 存储需求仅为 SFT 的 1/1700(0.01MB vs 17MB/用户)
- 推理延迟与 RAG 相当,但不随历史量增长
层分析与强度分析¶
- 干预层选择:中后层(约第 15 层及之后)最有效——风格信息在前向传播中逐步提炼,在高层达到最大线性可分性
- 干预强度 α:正值引导向用户风格,负值偏离用户风格(低于非个性化基线);α 过大会破坏生成过程
线性探针分析¶
- 所有层 AUC > 0.85,说明风格模式在整个网络中被鲁棒编码
- AUC 随层深度增加而提高,与干预层选择的经验发现一致
案例分析(user_310 新闻标题生成)¶
- 风格向量编码了用户偏好:top-5 匹配 token(":", "ips", "for", "What", "Need")揭示用户使用副标题和"tips for"组合的习惯
- 生成标题 "Keeping Your Teen Safe Online: Tips and Strategies for Parents" 自然包含 3 个风格 token
- 风格排名与语义排名显著不一致:RAG 检索到的语义相似文档难以提供风格信息——证明了风格-内容解耦的必要性
风格迁移实验¶
用 GPT 将用户历史改写为特定风格(如"感叹语气+感叹号"或"去除冒号和副标题"),重新计算风格向量后确实能引导生成对应风格,同时保持语义保真度。
亮点与洞察¶
- 理论贡献:首次揭示用户特定写作风格可以表示为 LLM 激活空间中的线性方向,桥接了激活工程与个性化生成
- 极致存储效率:每用户仅需一个 D 维向量(~0.01MB),比 LoRA 减少 1700 倍
- 完全无训练:仅需 2|P_u| 次前向传播(零反向传播)
- 风格-内容解耦:通过对比分析天然实现解耦,案例分析证明风格排名与语义排名的不一致性
- 推理延迟 O(1):干预仅需 D 维逐元素加法,不随用户历史量增长
局限性¶
- 当前对比方法依赖模型本身分离风格与内容的能力,可能未达最优解耦
- 单向量表示可能混淆多个风格维度(词汇偏好、句法结构、话语模式)——未来可用稀疏组合实现更细粒度控制
- 评估基准假设用户历史数据具有领域同质性,缺乏跨领域风格一致性评估
- 仅在 LLaMA-2-7B 上验证,需验证在更大/更新模型上的泛化性
相关工作¶
- 个性化文本生成:RAG 范式(Zhang et al., 2023; Salemi & Zamani, 2024)→ PEFT 范式(per-user LoRA)→ StyleVector(激活空间向量)
- 激活工程:Zou et al. (2023) 发现线性表示假说 → Turner et al. (2023) 提出 Activation Addition → Rimsky et al. (2024) 质量均值差异 → Zhang et al. (2024a) 真实性头 → 本文首次应用于个性化写作风格
评分¶
⭐⭐⭐⭐ (4/5)
- 创新性: ⭐⭐⭐⭐⭐ — 将激活工程应用于个性化文本生成是全新方向
- 实验充分性: ⭐⭐⭐⭐ — 6 个任务、多基线对比、效率分析、层分析、案例分析、风格迁移
- 写作质量: ⭐⭐⭐⭐ — 公式推导清晰,框架图直观
- 实用价值: ⭐⭐⭐⭐⭐ — 无训练+极低存储+O(1)推理延迟,部署友好
- 局限: 仅验证了单一基座模型,跨域场景未覆盖
相关论文¶
- [ACL 2025] ATGen: A Framework for Active Text Generation
- [ACL 2025] Writing Like the Best: Exemplar-Based Expository Text Generation
- [ACL 2025] Dehumanizing Machines: Mitigating Anthropomorphic Behaviors in Text Generation Systems
- [ACL 2025] CoCoLex: Confidence-guided Copy-based Decoding for Grounded Legal Text Generation
- [ACL 2025] Document-Level Text Generation with Minimum Bayes Risk Decoding using Optimal Transport