跳转至

Length Controlled Generation for Black-box LLMs

会议: ACL 2025
arXiv: 2412.14656
代码: 未公开
作者: Yuxuan Gu, Wenjie Wang, Xiaocheng Feng, Weihong Zhong, Kun Zhu, Lei Huang, Tat-Seng Chua, Bing Qin
机构: Harbin Institute of Technology, National University of Singapore, Peng Cheng Laboratory
领域: LLM/NLP / 可控文本生成
关键词: 长度控制, 黑盒LLM, Metropolis-Hastings采样, 重要性采样, 迭代推理, 无需微调

一句话总结

提出基于 Metropolis-Hastings 算法的迭代采样框架,结合重要性采样加速策略,在不修改模型参数的前提下实现黑盒 LLM 的精确长度控制,在 Llama3.1 上达到100%的长度控制成功率,最多仅需 5 次迭代,且不损害生成质量。

研究背景与动机

领域现状:LLM 在指令跟随方面表现出色,但精确控制输出文本长度仍是难题。子词分词(subword tokenization)和自回归解码使模型难以准确感知和控制词数。

长度控制的重要性: - 摘要生成需要特定长度以平衡信息量和简洁性 - 偏好对齐(RLHF/DPO)引入的长度偏差导致模型倾向生成过长回复,影响评估公平性(Singhal 2023) - 实际应用中用户常常需要指定回复长度(如"100字以内总结")

现有方法的不足: - 基于微调的方法(Yuan et al. 2024; Wang et al. 2024)需修改模型参数,计算昂贵且可能损害通用能力 - 强化学习方法(Stiennon et al. 2020)同样需要训练 - 这些方法均无法应用于黑盒 API 模型(如 GPT-4)

核心动机:设计一种推理阶段的长度控制方法,将 LLM 视为不可修改的黑盒组件,激活其内在的长度跟随能力。

方法详解

整体框架:Metropolis-Hastings 迭代采样

将长度控制生成建模为从目标分布 \(\pi(y|x) \propto f(y)P(y|x)\) 进行采样的问题,其中: - \(P(y|x)\):LLM 的文本生成概率分布 - \(f(y)\):长度约束评分函数 - 目标:找到同时满足长度约束和高生成质量的文本

由于无法直接从 \(\pi(y|x)\) 采样(归一化常数不可解析),采用 MCMC 中的 Metropolis-Hastings 算法进行迭代逼近。

关键设计 1:长度约束评分 \(f(y)\)

  • 使用 NLTK 词分词器计算词数 \(\text{Len}(y)\)
  • 精确长度目标\(f(y) = 1 / |\text{Len}(y) - \ell|\),偏差越小分数越高
  • 区间长度目标:在区间 \([\ell_1, \ell_2]\)\(f(y) = +\infty\)(立即接受),区间外按距离递减
  • 类比拉格朗日方法:\(\log f(y)\) 作为约束,\(\log P(y|x)\) 作为正则化目标

关键设计 2:LLM 概率估计(LLM-as-Judge)

对黑盒 LLM 无法直接获取 \(P(y|x)\),采用双重策略: - 绝对评分 \(\phi(y|x)\):让 LLM 从多个预定义维度对生成文本打分 - 摘要任务:信息覆盖度、流畅性、简洁性、逻辑连贯性、忠实性 - 指令跟随:有用性、相关性、准确性、深度、创造性、详细度 - 成对比较 \(\Phi(y_i, y_{i-1}|x)\):直接比较相邻迭代步的两个候选,减少评分波动

关键设计 3:提案分布与重要性采样加速

基础提案分布 \(p(y_i|y_{i-1}, x)\): - 施加对称约束 \(p(y_i|y_{i-1}) = p(y_{i-1}|y_i)\),简化接受率计算 - 使用"时间无偏"的 prompt 模板:让 LLM 参考前一轮输出生成新变体

重要性采样加速 \(q(y_i|y_{i-1}, x)\): - 问题:基础提案分布不包含更新的长度信号,LLM 可能陷入自身错误 - 解决:引入包含长度约束的重要性分布替代提案分布 - 在 prompt 中加入"请在大约 \(\ell\) 词的长度内重写"等长度引导 - 此时接受率为原始接受率的上界:\(\mathcal{A} \leq \min(1, f(y_i)P(y_i|x) / f(y_{i-1})P(y_{i-1}|x))\) - 虽然理论上可能提高误接受率,但 LLM 强大的生成能力使此风险可忽略

算法流程

  1. 初始化:\(y_0 \sim P(y|x)\)(LLM 原始输出)
  2. 迭代(最多 \(n\) 次):
    • 通过重要性分布生成候选 \(y_i\)
    • 计算接受率 \(\mathcal{A}(y_{i-1} \to y_i)\)
    • \(\mathcal{A}\) 的概率接受 \(y_i\),否则保留 \(y_{i-1}\)
  3. 支持并行采样(beam search 风格)提升效率

实验关键数据

精确长度控制(CNN/DailyMail 摘要)

模型 方法 准确率↑ L1误差↓ L2误差↓ Rouge-1
Llama2 Inst 4.1% 11.42 15.20 0.37
Llama2 Ours 81.6% 0.24 0.64 0.36
Llama3.1 Inst 7.7% 3.88 5.10 0.38
Llama3.1 Ours 100.0% 0.00 0.00 0.38
GPT-4 Inst 15.7% 2.10 2.67 0.36
GPT-4 Ours 99.2% 0.01 0.12 0.36
  • Llama3.1 达到 100% 精确长度控制,L1/L2 误差均为 0
  • Rouge 指标几乎不变,验证长度控制不损害生成质量

区间长度控制(Alpaca-Eval-LI / MT-Bench-LI)

数据集 模型 Inst准确率 Ours准确率 Win Rate提升
Alpaca GPT-4 37.2% 99.2% 30.2%→92.0%
Alpaca Llama3 92.2% 99.8% 76.5%→83.5%
MT-Bench GPT-4 54.7% 98.8% 27.4%→63.7%
  • GPT-4 在 Alpaca-Eval-LI 上 Win Rate 从 30.2% 提升到 92.0%

迭代次数分析(Llama3.1, CnnDM)

迭代次数 准确率
0 7.7%
1 86.4%
2 99.2%
4 100.0%
  • 仅 1 次迭代即可大幅提升,4 次即达完美

消融实验

  • MH(无重要性采样):40.2% 准确率 → MH+IS(加重要性采样):93.3%
  • 重要性采样是性能提升的关键因素
  • Beam size 从 1→16,准确率从 24.6%→86.4%(Qwen2.5)
  • 并行采样有效提升效率

亮点与洞察

  1. 经典与现代结合:将 60 年代的 Metropolis-Hastings 算法创新性地应用于现代 LLM 长度控制,理论优雅
  2. 真正的黑盒方法:无需访问模型参数或概率输出,仅通过 API 调用即可实现精确长度控制
  3. 几乎零损伤:Rouge 分数在控制前后几乎完全一致,证明方法不会牺牲内容质量
  4. 极高效率:最多 5 次迭代即可达到 100% 成功率,计算开销可控
  5. 广泛适用性:在开源(Llama系列、Qwen)和闭源(GPT-3.5/4)模型上均有效

局限性

  1. API 调用成本:每次迭代需要多次 LLM 调用(生成 + 评分),对 API 计费模型成本较高
  2. 评分准确性:LLM-as-Judge 的评分可能不准确,尤其在复杂任务上
  3. 对称性假设:提案分布的对称约束在实践中只是近似满足
  4. 长文本场景:论文主要在短文本(摘要)上验证,1000+ 词的长文本控制效果未知
  5. 非长度约束:框架理论上可扩展到其他约束(如特定主题、格式),但论文仅验证了长度

相关工作

  • LLM 指令跟随:Ouyang et al. 2022(InstructGPT)、Zhou et al. 2024 等研究增强指令遵循能力
  • 长度控制:早期方法用特殊 token 标记长度(Fan et al. 2017)、卷积块长度因子(Liu et al. 2018);近期方法将长度信号编码到位置编码、注意力单元或自然语言指令中(Yuan et al. 2024)
  • MCMC 在 NLP 中的应用:已有工作将 MCMC 用于语言生成(但非专门针对长度控制)

评分

⭐⭐⭐⭐⭐ (5/5)

  • 创新性:⭐⭐⭐⭐⭐ MH算法应用于LLM长度控制,理论框架清晰而新颖
  • 实验充分性:⭐⭐⭐⭐⭐ 6个模型、3个数据集、详细消融,数据极其充分
  • 写作质量:⭐⭐⭐⭐⭐ 数学推导严谨,实验逻辑层层递进
  • 实用性:⭐⭐⭐⭐⭐ 直接可用于任何黑盒LLM API的长度控制场景

相关论文