Skip to main content
QUICK REVIEW

[论文解读] Efficient Guided Generation for Large Language Models

Brandon T. Willard, Rémi Louf|arXiv (Cornell University)|Jul 19, 2023
Topic Modeling被引用 19
一句话总结

本文将引导式大语言模型生成重新表述为有限状态机转换,以构建词汇表索引,使每步实现O(1)的平均屏蔽,并扩展到正则表达式和上下文无关文法(CFG),并在Outlines中实现。

ABSTRACT

In this article we show how the problem of neural text generation can be constructively reformulated in terms of transitions between the states of a finite-state machine. This framework leads to an efficient approach to guiding text generation with regular expressions and context-free grammars by allowing the construction of an index over a language model's vocabulary. The approach is model agnostic, allows one to enforce domain-specific knowledge and constraints, and enables the construction of reliable interfaces by guaranteeing the structure of the generated text. It adds little overhead to the token sequence generation process and significantly outperforms existing solutions. An implementation is provided in the open source Python library Outlines

研究动机与目标

  • 激励对大型语言模型进行受限文本生成,以满足严格的格式化和领域特定约束。
  • 开发基于有限状态机(FSM)的框架,用正则表达式和 CFG 指导生成。
  • 在模型词汇表上创建索引,以高效地确定有效的下一个标记。
  • 将该方法扩展到上下文无关文法和 LALR(1) 解析器,以支持结构化输出。
  • 展示模型无关的适用性以及相较于现有方法的低开销。

提出的方法

  • 将约束表示为对应正则表达式和解析器的FSM。
  • 使用对LLM输出logits的屏蔽,形成强制约束的条件分布。
  • 预处理词汇表,构建将FSM状态映射到有效下一个标记(sigma)的索引,以实现每一步O(1)的屏蔽。
  • 提供算法(sample_tokens、带屏蔽的sample_tokens、find_sub_sequences、map_states_to_vocab)以实现引导生成。
  • 将FSM方法扩展到下推自动机以用于CFG解析,并讨论与LALR(1)解析器的潜在整合。
  • 展示在Outlines库中的实现,并与现有基于引导的方法进行比较。
Figure 1 : FSM masking for the regular expression ([0-9]*)?\.?[0-9]* .
Figure 1 : FSM masking for the regular expression ([0-9]*)?\.?[0-9]* .

实验结果

研究问题

  • RQ1当强制执行正则表达式或CFG约束时,如何高效地执行引导生成?
  • RQ2基于有限状态机的词汇表索引是否能够在每一步实现常数时间地确定有效下一个标记?
  • RQ3如何将该FSM基的引导方法从正则约束扩展到CFG和实际编程语言的文法(如Python、SQL)?
  • RQ4在真实的LLM工作流中构建和使用此类索引的实际权衡(内存 vs. 计算)是什么?

主要发现

  • 该方法通过词汇-状态索引实现了确定有效下一个标记的O(1)平均成本。
  • 用FSM/CFG信息掩码屏蔽LLM输出,实现低运行时开销的约束引导生成。
  • 索引构建离线完成,使用从FSM状态到词汇子集的映射,使运行时屏蔽更快。
  • 方法不仅扩展到CFG,并为整合LALR(1)解析器以支持结构化输出奠定基础。
  • 实证比较指示相较于某些现有受限解码方法有显著的效率提升,且在Outlines中有开源实现。
Efficient Guided Generation for Large Language Models

更好的研究,从现在开始

从论文设计到论文写作,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。