著者:
(1)ブランドン・T・ウィラード『ノーマルコンピューティング』
(2)レミ・ルーフ、「Normal Computing」
この記事では、ニューラル テキスト生成の問題を有限状態マシンの状態間の遷移という観点から建設的に再定式化する方法を示します。このフレームワークは、言語モデルの語彙のインデックスの構築を可能にすることで、正規表現と文脈自由文法を使用してテキスト生成をガイドする効率的なアプローチにつながります。このアプローチはモデルに依存せず、ドメイン固有の知識と制約を適用でき、生成されたテキストの構造を保証することで信頼性の高いインターフェイスの構築を可能にします。トークン シーケンス生成プロセスにオーバーヘッドはほとんど追加されず、既存のソリューションを大幅に上回ります。実装は、オープン ソースの Python ライブラリ Outlines [Louf and Willard] で提供されています。
私たちは、正規表現または文脈自由文法 (CFG) に準拠する大規模言語モデル (LLM) [Vaswani et al., 2017、Radford et al., 2019] からトークンのシーケンスを生成する問題に取り組んでいます。この種のガイド付き LLM 生成は、微調整だけでは実現が困難またはコストがかかる厳格なフォーマット要件の下で LLM モデル出力を使用できるようにするために使用されます [Beurer-Kellner et al., 2023、Scholak et al., 2021、Poesia et al., 2022a、Rabinovich et al., 2017、Weng、2021、Dong et al., 2023、Poesia et al., 2022b、Geng et al., 2023、Wang et al., 2023]。このような機能は最近、プロンプトライブラリやインターフェイスで一般化されています [Microsoft、2023、Beurer-Kellner 他、2023、Rickard、2023a、b] が、スケーリングコストによって適用範囲が制限される可能性があります。
ガイド付き生成の実装のほとんどでは、LLM の語彙内のトークンの確率を決定するために使用されるスコア値にバイアスがかかっています。一般的で十分なアプローチは、制約と以前にサンプリングされたトークンに従ってどのトークンが有効であるかを決定するために語彙全体にわたって繰り返し評価し、無効なトークンの確率をゼロに設定することです。このアプローチでは、生成されるトークンごとに固定の O(N) コストがかかります。ここで、N は LLM の語彙のサイズです。
我々は、正規表現の有限状態マシン (FSM) 定式化を使用して、ガイド付き生成を任意に開始および停止し、各ステップで非ゼロ確率トークンのセットを効率的に取得できるインデックスの構築を可能にするアプローチを提案します。その結果、平均コストが O(1) のアルゴリズムが実現します。
正規表現の場合、私たちのアプローチは、トランスデューサー定式化を使用して言語モデルの語彙に対して定義されたFSMを取得するKuchnikら[2023]と最も類似しており、これらのFSMには、ここで説明したインデックスと同じ情報とスケーリングの利点がほとんど含まれています。私たちのアプローチでは、完全なトランスデューサー抽象化は必要なく、基礎となるオートマトンとその実装を変更することなく、既存の効率的な正規表現ライブラリをより簡単に拡張するために使用できます。
さらに重要なのは、私たちのインデックス作成アプローチは、CFG や LALR(1) パーサーにも拡張でき、一般的なデータ形式やプログラミング言語 (JSON、Python、SQL など) に応じた効率的なガイド付き生成を可能にすることです。解析への移行は、従来の LALR(1) パーサー コンポーネントと操作の拡張によって行われるため、これもまた、既存のパーサー実装を拡張するために使用できるアプローチになります。
この論文はCC 4.0ライセンスの下でarxivで公開されています。