Magnet: Augmenting Generative Decoders with Representation Learning and Infilling Capabilities¶
会议: ACL 2025
arXiv: 2501.08648
代码: 未公开
作者: Savya Khosla, Aditi Tiwari, Kushal Kafle, Simon Jenni, Handong Zhao, John Collomosse, Jing Shi
机构: Adobe Research, University of Illinois Urbana-Champaign
领域: 自监督学习 / 语言模型统一
关键词: 解码器增强, 双向注意力, 表示学习, 文本填充, 联合训练, 重复问题
一句话总结¶
提出 Magnet 方法,通过混合注意力机制(双向+因果)和三个自监督目标(掩码预测+对比学习+缺失片段生成),将纯解码器 LLM 同时增强为文本编码器和填充模型,在 token 级和句子级表示学习任务上超越 LLM2Vec 等专用方法,同时避免了双向化带来的严重文本重复问题。
研究背景与动机¶
解码器 LLM 的局限: - 因果注意力限制了对双向上下文的理解,在情感分析、NER 等需要全局上下文的任务中表现不佳 - 文本填充任务需要同时理解上文和下文,因果解码器天然缺乏此能力
现有增强方法的割裂: - 针对表示学习的方法(LLM2Vec、Echo Embeddings)将因果注意力改为双向,但破坏了生成能力 - 针对文本填充的方法(GLM、InCoder)增加填充能力,但不能生成好的文本表示 - 从未有方法同时赋予 LLM 表示学习和填充两种能力
重复问题:将 LLM 改为双向模型后,文本生成会出现严重的句子/短语重复(LLM2Vec 使重复率增加 36.5 倍),根本原因是训练中缺乏自回归目标
核心动机:在单一框架中统一文本理解和生成,利用联合训练的协同效应提升各项能力
方法详解¶
整体框架¶
Magnet 对预训练 LLM(如 Llama-2-7B)进行微调,核心创新在两方面:(1) 混合注意力掩码,(2) 三个自监督训练目标。
3.1 混合注意力机制¶
将输入 token 分为两类:
- Context tokens(蓝色):彼此之间使用完全双向注意力,每个 context token 可以看到所有其他 context token。这实现了编码器式的双向理解
- Span tokens(绿色):可以看到所有 context tokens(双向),但 span tokens 之间使用因果注意力。这实现了填充式生成
关键洞察:span tokens 之间保持因果注意力是避免重复问题的关键——纯双向化的 LLM2Vec 恰恰因为完全打开双向注意力而导致生成退化。
推理时支持三种模式: - 纯因果:传统左到右文本生成 - 纯双向:表示学习任务 - 混合:文本填充
3.2 三个训练目标¶
目标 1:Masked Next Token Prediction (MNTP)¶
- 随机选择 20% 输入 token 进行掩码(80% 替换为 [MASK],10% 随机词,10% 不变,继承 BERT 策略)
- 关键设计:使用位置 l 的输出预测位置 l+1 的掩码 token(而非 BERT 式的位置 l 预测位置 l),保持与 LLM 预训练时"预测下一个 token"的一致性
- 损失函数:交叉熵,仅在掩码位置计算
- 仅作用于 context tokens
目标 2:Self-Supervised Contrastive Learning (SSCL)¶
- 使用 paraphrase 模型生成输入的增强视图 x⁺
- 使用最后一个 token [EOS] 的表示作为句子编码
- InfoNCE 损失 + batch 内负样本
- 设计巧妙:选用最后一个 token 是为了与 MNTP 解耦(MNTP 中位置 l 的输出用于预测 l+1 的 token,最后一个 token 的输出不参与 MNTP)
- 添加指令前缀:"Given the sentence, find its representation:"
目标 3:Missing Span Generation (MSG)¶
- 从输入中删除一个或多个连续片段,要求模型自回归地生成填充内容
- 每个 span token yₗ 条件于所有 context tokens 和前面的 span tokens
- 交叉熵损失,仅在 span 位置计算
- 附带好处:当所有 token 都是 span token 时,退化为标准的下一 token 预测任务,保持生成能力
总损失¶
ℒ = λ₁ℒ_MNTP + λ₂ℒ_SSCL + λ₃ℒ_MSG
3.3 训练流程¶
对每个训练样本 x: 1. 生成三个视图:(a) 带掩码和 span 的 xᵐ,(b) 原始 x 用于 SSCL,(c) paraphrase 增强的 x⁺ 2. 通过同一基础模型处理三个视图,使用不同的注意力掩码 3. 分别计算三个损失并加权求和
实验结果¶
Token 级表示学习(CoNLL-2003)¶
| 模型 | Chunking | NER | POS-Tags |
|---|---|---|---|
| BERT-Large | 71.77 | 90.09 | 75.12 |
| DeBERTa-Large | 85.74 | 94.97 | 86.49 |
| StructBERT-Large | 89.99 | 97.31 | 90.86 |
| Llama-2-7B (原始) | 88.23 | 96.59 | 91.53 |
| LLM2Vec^{MNTP} | 91.61 | 97.16 | 92.61 |
| Magnet | 92.64 | 98.31 | 93.34 |
关键发现:Magnet 在三个任务上全面超越 LLM2Vec^{MNTP}(仅用 MNTP 训练的版本),证明联合训练的协同效应。注意 Magnet 比 LLM2Vec 多了 SSCL 和 MSG 目标,但这些"额外"目标不仅没有干扰表示学习,反而促进了它。
句子级表示学习(STS 基准)¶
| 模型 | STS12 | STS13 | STS14 | STS15 | STS16 | STS-B | SICK-R | 平均 |
|---|---|---|---|---|---|---|---|---|
| RoBERTa-Large + SimCSE | 72.86 | 83.99 | 75.62 | 84.77 | 81.80 | 81.98 | 71.26 | 78.90 |
| Llama-2-7B (原始) | 50.98 | 74.02 | 62.86 | 67.09 | 71.03 | 63.56 | 67.22 | 65.25 |
| LLM2Vec | 65.39 | 79.26 | 72.98 | 82.72 | 81.02 | 78.32 | 71.77 | 75.92 |
| Magnet | 67.98 | 84.66 | 77.67 | 84.17 | 79.44 | 82.88 | 78.77 | 79.36 |
Magnet 在 STS 平均分上超越 LLM2Vec 约 3.4 个百分点,甚至超过了 RoBERTa-Large + SimCSE 这类专门训练的编码器。
文本填充(Perplexity)¶
| 方法 | ROC Stories PPL | Wikitext-103 PPL |
|---|---|---|
| Llama-2-7B | 13.93 | 22.04 |
| Magnet | 9.52 | 15.46 |
Magnet 显著降低了填充困惑度。人工评估中,Magnet 生成的填充在 62% 的情况下被评为"上下文合适"(vs. Llama-2-7B 原始 53.5%、zero-shot 5.5%、five-shot 54.5%)。
重复问题分析(核心贡献之一)¶
| 方法 | Rep-Sen (Wiki) | Rep-4 (Wiki) | Rep-Sen (ROC) | Rep-4 (ROC) |
|---|---|---|---|---|
| Llama-2-7B | 0.0056 | 0.0601 | 0.0381 | 0.0163 |
| LLM2Vec | 0.2044 | 0.4747 | 0.2945 | 0.5243 |
| Magnet | 0.0151 | 0.2047 | 0.0737 | 0.2573 |
- LLM2Vec 使 Llama-2-7B 的句子重复率增加 36.5 倍(Wikitext),而 Magnet 仅增加 2.7 倍
- 随着训练迭代增加,LLM2Vec 的重复问题持续恶化,Magnet 则没有这种趋势
- 原因分析:LLM2Vec 仅用双向注意力训练,使解码器退化为类 BERT 模型;Magnet 的 MSG 目标保持了自回归生成能力
知识与推理能力保持¶
| 模型 | HellaSwag | BBH | ARC-Easy | ARC-Challenge | MMLU (平均) |
|---|---|---|---|---|---|
| Llama-2-7B | 75.51 | 33.57 | 73.95 | 44.28 | 46.81 |
| Magnet | 75.08 | 32.22 | 74.33 | 44.52 | 45.98 |
Magnet 对预训练知识的影响极小,各基准测试变化在 1-2 个百分点以内。
亮点与洞察¶
- 统一框架的优越性:通过联合训练不同目标,各能力之间产生正向协同——Token 级表示学习因为有 MSG 目标的存在而更好,这颠覆了"多任务会互相干扰"的直觉
- 重复问题的根因分析:首次系统分析了双向化导致文本生成重复的问题,指出纯双向注意力使 LLM 退化为 BERT 式模型,而 BERT 本身就有生成重复的问题
- 混合注意力的优雅设计:context tokens 双向、span tokens 因果的分区策略,用一个注意力掩码同时服务于理解和生成
- 最后一个 token 作为句子表示的巧妙理由:与 MNTP 目标解耦,避免两个任务在同一位置竞争
- 参数高效:在现有 LLM 上微调即可,无需从头预训练
局限性¶
- 仅在 Llama-2-7B 上验证,未测试更大模型(13B/70B)或其他架构(Mistral、GPT)
- SSCL 依赖 paraphrase 模型生成增强视图,增强质量可能影响句子表示效果
- Rep-4 指标上 Magnet 仍比原始模型有显著退化(Wikitext 从 0.06 到 0.20),重复问题并未完全解决
- 填充推理需要知道缺失位置和上下文,实际应用场景有限
- 未与 Mistral/Qwen 等更新模型或 instruction-tuned 版本进行比较
相关工作¶
- 表示学习: LLM2Vec (BehnamGhader et al., 2024) 用 MNTP+SimCSE 将 LLM 变为编码器,但破坏生成能力;Echo Embeddings (Springer et al., 2024) 通过重复输入获取双向信息
- 文本填充: GLM (Du et al., 2021) 用自回归空白填充,InCoder (Fried et al., 2022) 重排训练样本;FIM (Bavarian et al., 2022) 用 Fill-in-the-Middle 训练
- 理解与生成统一: XLNet (Yang et al., 2019) 用排列目标,UniLM (Dong et al., 2019) 用多方向注意力掩码,但这些方法需从头预训练
评分 ⭐⭐⭐⭐¶
- 创新性: ⭐⭐⭐⭐⭐ 首次在单一框架中同时赋予 LLM 编码、填充和生成三种能力,混合注意力设计优雅
- 实验充分性: ⭐⭐⭐⭐ 涵盖 token/句子级表示、填充、生成、知识保持等多维度评估,重复问题分析深入
- 实用价值: ⭐⭐⭐⭐ 为 LLM 增加多种能力而不损失原有能力,实用性强
- 写作质量: ⭐⭐⭐⭐ 图表设计清晰,方法动机阐述充分