要約
LLM は、複雑な AI アプリケーションで広く使用されています。
これらのアプリケーションは、システム内の他のコンポーネントと統合するために、LLM 出力が特定の形式に従う必要性を強調しています。
通常、JSON、YAML、プログラミング言語のコードなどのデータシリアル化形式の形式ルールは、コンテキストフリー文法 (CFG) として表現されます。
LLM の幻覚と信頼性の低さにより、指定された構文に従うように LLM に指示することがますます重要な課題となっています。
この課題に対処するために、LLM を使用した効率的かつ一般的な構文デコードのための新しいフレームワークである SynCode を紹介します。
SynCode は形式言語の CFG に関して健全性と完全性を保証し、有効なトークンを効果的に保持しながら無効なトークンを除外します。
SynCode は、言語の文法の DFA から派生した、オフラインで構築された効率的なルックアップ テーブルである DFA マスク ストアを使用して、効率的に生成します。
SynCode は、JSON、Python、Go 出力の生成に焦点を当てた実験で証明されているように、CFG によって定義されたあらゆる言語とシームレスに統合します。
JSON 生成に対する SynCode の有効性を評価する実験では、SynCode がすべての構文エラーを排除し、最先端のベースラインを大幅に上回るパフォーマンスを示しました。
さらに、私たちの結果は、SynCode が生成された Python および Go コードの構文エラーの 96.07% を大幅に削減することを強調しており、LLM 生成の構文精度の向上に SynCode が大きな影響を与えていることを示しています。
私たちのコードは https://github.com/uiuc-focal-lab/syncode で入手できます。
要約(オリジナル)
LLMs are widely used in complex AI applications. These applications underscore the need for LLM outputs to adhere to a specific format, for their integration with other components in the systems. Typically the format rules e.g., for data serialization formats such as JSON, YAML, or Code in Programming Language are expressed as context-free grammar (CFG). Due to the hallucinations and unreliability of LLMs, instructing LLMs to adhere to specified syntax becomes an increasingly important challenge. We present SynCode, a novel framework for efficient and general syntactical decoding with LLMs, to address this challenge. SynCode ensures soundness and completeness with respect to the CFG of a formal language, effectively retaining valid tokens while filtering out invalid ones. SynCode uses an offline-constructed, efficient lookup table, the DFA mask store, derived from the DFA of the language’s grammar for efficient generation. SynCode seamlessly integrates with any language defined by CFG, as evidenced by experiments focusing on generating JSON, Python, and Go outputs. Our experiments evaluating the effectiveness of SynCode for JSON generation demonstrate that SynCode eliminates all syntax errors and significantly outperforms state-of-the-art baselines. Furthermore, our results underscore how SynCode significantly reduces 96.07% of syntax errors in generated Python and Go code, showcasing its substantial impact on enhancing syntactical precision in LLM generation. Our code is available at https://github.com/uiuc-focal-lab/syncode
arxiv情報
著者 | Shubham Ugare,Tarun Suresh,Hangoo Kang,Sasa Misailovic,Gagandeep Singh |
発行日 | 2024-11-06 18:04:35+00:00 |
arxivサイト | arxiv_id(pdf) |
提供元, 利用サービス
arxiv.jp, Google