paint-brush
LLM 向けの構文エラーのない一般化可能なツールの使用: ToolDec@textmodels
155 測定値

LLM 向けの構文エラーのない一般化可能なツールの使用: ToolDec

長すぎる; 読むには

研究者らは、エラーを減らし、ツールの使用を改善する、LLM 用の有限状態マシン誘導デコードである TOOLDEC を提案しています。
featured image - LLM 向けの構文エラーのない一般化可能なツールの使用: ToolDec
Writings, Papers and Blogs on Text Models HackerNoon profile picture
0-item

著者:

(1)ケクサン・チャン、カリフォルニア大学サンタバーバラ校および平等な貢献

(2)ホンチャオ・チェン、ノースウッド高校と平等な貢献。

(3)カーネギーメロン大学のレイ・リー氏

(4)ウィリアム・ヤン・ワン、カリフォルニア大学サンタバーバラ校

リンク一覧

3. TOOLDEC: 有限状態デコードによる LLM ツールの使用

構文的に正しいツール呼び出しは、既存のツール名を参照し、型に準拠した引数を渡す必要があります。有限状態マシン (FSM) を使用してツール呼び出しの構文を検証するのは簡単であるという事実に着目し、FSM によってガイドされる制約付きデコード アルゴリズム TOOLDEC を提案します。各デコード ステップで、モデルは構文的に正しいトークンのみを含む語彙のサブセットからサンプリングします。トークン サブセットを指定する FSM は、ツールのドキュメントから構築できます。たとえば、図 2 では、関数 add、exp、square、sqrt の FSM が構築されています。表 2 は、TOOLDEC が FSM を使用して「正方形の辺は 5 ですが、面積はいくらですか?」という質問にどのように答えるかを示しています。FSM からのガイダンスにより、TOOLDEC は次の目標を達成します。


• モードの切り替え。モデルが自由にテキストを生成できる「テキスト モード」と、モデルが有効なツール呼び出しのみを生成できる「ツール モード」を切り替えます。


• ツール名の生成。ツール呼び出しの開始時に、事前に定義されたツールのリストから正しい既存のツール名のみを生成します。


• 引数の受け渡し。型に準拠した引数のみをツールに渡します。

3.1 有限状態デコード

TOOLDEC は有限状態マシン (FSM) によって制御されます。FSM は 5 組 (S、V、g、s0、R) で、有限状態セット S、アルファベット V 、遷移関数 g : S ×V → S、初期状態 s0、および受け入れ状態セット R で構成されます。この場合、S と g はツール署名から構築されます。V は言語モデルのトークン語彙です。R は、LM がタスクを完了したことを判断できる事前定義されたトークン ('' など) に対応します。


図 2: 整数を引数として受け取る数学関数 add、exp、square、sqrt 用に構築された TOOLDEC の有限状態マシン。ツールの名前はトライ構造で表されます。「IntFSM」は整数を解析するサブモジュールです。


各デコードステップtにおいて、TOOLDECは現在の状態sを維持する。FSMによって許可されたトークン、つまりg(s,·)が定義されているトークンのみを生成できる。これらの


表 2: TOOLDEC が図 2 の FSM を使用して「正方形の辺の長さは 5 で、面積はいくらか」という質問に答える方法。各タイム ステップで、マシンの状態は有効な次のトークンのセットに対応します。他のすべてのトークンをゼロにして、次のトークンの分布を再正規化し、LLM が有効なトークンのみをサンプリングするように強制します。


3.2 構文的に正しいツール呼び出しを保証する FSMS の構築



トライを構築するには、すべての文字列を 1 つずつトライに挿入します。トライに文字列を挿入するということは、ルートから文字列によって作成されたパスに沿って進み、パスの次のステップが存在しない場合に新しいノードを作成することを意味します。たとえば、図 3 では、exp10 と expand という 2 つのツール名をトライに追加する方法を示しています。


トライの構築は、2 つのツールが同じ名前を持つことはないという 1 つの仮定に依存していることに注意してください。これは妥当な仮定ですが、実際のアプリケーションでは例外が発生する可能性があります。その場合、ツール名を書き換えて、より詳細な情報を含め、曖昧さを解消することができます。抽象的で理解しにくいツール名を書き換えると、言語モデルが名前でツールを選択しやすくなることもあります。


構文的に有効なツール引数の生成。ツール引数には指定された型があります。プログラムの引数と同様に、特定の文法規則に従う必要があります。これらの規則は有限状態マシンによって指定できます。たとえば、図 2 の「IntFSM」は、整数リテラルのみを受け入れる有限状態マシンを示しています。ツールのすべての引数について、対応する FSM を連結し、ツール名に対応する最後の状態をこの FSM 連結の初期状態として使用します。実際には、この FSM を明示的に構築する必要はないことに注意してください。有効な次のトークンのセットを示す文法チェッカーであれば何でもかまいません。



この論文は、CC 4.0 DEED ライセンスの下でarxiv で公開されています