Guiding LLMs The Right Way: Fast, Non-Invasive Constrained Generation

📄 arXiv: 2403.06988v1 📥 PDF

作者: Luca Beurer-Kellner, Marc Fischer, Martin Vechev

分类: cs.LG, cs.CL

发布日期: 2024-02-07


💡 一句话要点

提出DOMINO算法以解决LLMs生成约束问题

🎯 匹配领域: 支柱九:具身大模型 (Embodied Foundation Models)

关键词: 大型语言模型 约束解码 文本生成 子词对齐 推测解码 性能优化 自然语言处理

📋 核心要点

  1. 现有的约束解码方法在生成过程中存在性能开销,并且可能降低任务准确性,尤其是在词汇对齐不当时。
  2. 本文提出的DOMINO算法通过完全子词对齐的方式来强制执行约束,结合预计算和推测解码,显著降低了性能开销。
  3. 实验结果表明,DOMINO在某些情况下实现了近2倍的速度提升,且在准确性上优于现有的解码方法。

📝 摘要(中文)

为了确保大型语言模型(LLMs)生成的文本符合预期格式,约束解码方法在生成过程中强制执行严格的形式语言约束。然而,现有方法不仅在生成过程中引入性能开销,而且如果未能正确对齐LLM的子词词汇与外部约束,往往会显著降低任务准确性。为了解决这一问题,本文提出了一种新颖的解码算法DOMINO,能够以完全子词对齐的方式强制执行约束,同时利用预计算和推测解码实现几乎无开销,甚至在某些情况下比无约束解码快近2倍,从而在性能上大幅超越现有方法。

🔬 方法详解

问题定义:本文旨在解决大型语言模型生成文本时的约束问题,现有方法在性能和准确性上存在不足,尤其是词汇对齐不当时。

核心思路:DOMINO算法通过实现完全子词对齐的约束执行,结合预计算和推测解码,旨在消除性能开销并提高生成速度。

技术框架:该算法的整体架构包括预计算阶段、约束执行阶段和推测解码阶段,确保在生成过程中高效地应用约束。

关键创新:DOMINO的主要创新在于其能够在不增加性能开销的情况下,准确地强制执行约束,显著提升生成效率。

关键设计:算法设计中采用了高效的参数设置和损失函数,确保在子词对齐的基础上实现快速解码。具体的网络结构细节在论文中进行了详细描述。

🖼️ 关键图片

fig_0
img_1

📊 实验亮点

实验结果显示,DOMINO算法在生成速度上相比无约束解码实现了近2倍的提升,同时在任务准确性上也显著优于现有方法,展示了其在约束生成领域的强大能力。

🎯 应用场景

该研究的潜在应用领域包括自然语言处理中的文本生成、对话系统以及自动摘要等场景。通过提高生成效率和准确性,DOMINO算法能够为实际应用提供更高质量的文本输出,具有重要的实际价值和未来影响。

📄 摘要(原文)

To ensure that text generated by large language models (LLMs) is in an expected format, constrained decoding proposes to enforce strict formal language constraints during generation. However, as we show in this work, not only do such methods incur performance overhead during generation, but many of them also significantly impair task accuracy, if they do not correctly align the underlying LLM sub-word vocabularies with external constraints. To address this, we present a novel decoding algorithm, DOMINO, that can enforce constraints in a fully subword-aligned fashion, while leveraging pre-computation and speculative decoding to achieve virtually no overhead and in some cases even almost 2$\times$ speedup over unconstrained decoding -- thereby outperforming existing approaches by a wide margin.