XGrammar: Flexible and Efficient Structured Generation Engine for Large Language Models

要約

LLM エージェントのアプリケーションはますます複雑かつ多様化しており、コード、構造化された関数呼び出し、および具体化されたエージェント コマンドに解析できる構造化された出力に対する需要が高まっています。
これらの発展により、LLM 推論における構造化された生成に対する大きな需要がもたらされます。
コンテキストフリー文法は、制約付きデコードによる構造化生成を可能にする柔軟なアプローチです。
ただし、コンテキストフリー文法を実行するには、実行時に語彙内のすべてのトークンにわたっていくつかのスタック状態を通過する必要があり、構造化生成に無視できないオーバーヘッドが生じます。
この論文では、大規模な言語モデルのための柔軟で効率的な構造生成エンジンである XGrammar を提案します。
XGrammar は、語彙を事前チェック可能なコンテキストに依存しないトークンと、実行時に解釈する必要があるコンテキストに依存するトークンに分割することで、コンテキストフリー文法の実行を高速化します。
さらに、文法コンテキストを拡張し、コンテキストに依存しないトークンの数を減らすための変換を構築します。
さらに、コンテキスト依存のトークン チェックを高速化するために、効率的な永続スタックを構築します。
最後に、文法エンジンを LLM 推論エンジンと共同設計して、文法計算を GPU 実行とオーバーラップさせます。
評価結果では、XGrammar が既存のソリューションと比較して最大 100 倍の高速化を達成できることが示されています。
LLM 推論エンジンと組み合わせると、エンドツーエンドの低 LLM サービスでほぼゼロのオーバーヘッド構造生成を生成できます。

要約(オリジナル)

The applications of LLM Agents are becoming increasingly complex and diverse, leading to a high demand for structured outputs that can be parsed into code, structured function calls, and embodied agent commands. These developments bring significant demands for structured generation in LLM inference. Context-free grammar is a flexible approach to enable structured generation via constrained decoding. However, executing context-free grammar requires going through several stack states over all tokens in vocabulary during runtime, bringing non-negligible overhead for structured generation. In this paper, we propose XGrammar, a flexible and efficient structure generation engine for large language models. XGrammar accelerates context-free grammar execution by dividing the vocabulary into context-independent tokens that can be prechecked and context-dependent tokens that need to be interpreted during runtime. We further build transformations to expand the grammar context and reduce the number of context-independent tokens. Additionally, we build an efficient persistent stack to accelerate the context-dependent token checks. Finally, we co-design the grammar engine with LLM inference engine to overlap grammar computation with GPU executions. Evaluation results show that XGrammar can achieve up to 100x speedup over existing solutions. Combined with an LLM inference engine, it can generate near-zero overhead structure generation in end-to-end low-LLM serving.

arxiv情報

著者 Yixin Dong,Charlie F. Ruan,Yaxing Cai,Ruihang Lai,Ziyi Xu,Yilong Zhao,Tianqi Chen
発行日 2024-11-22 18:01:37+00:00
arxivサイト arxiv_id(pdf)

提供元, 利用サービス

arxiv.jp, Google

カテゴリー: cs.AI, cs.CL, cs.PL パーマリンク