表示
超・人工知能研究所 Super AI Research Lab トップへ超・人工知能研究所AI Research Lab / ぱそ太郎工事中

since
平成38年9月29日

← 検索結果に戻る

回答を一文ずつ点検し、検索と計算を差し込むLanguage hooks

Language hooks

保存した記事を見るこのブラウザに保存します。無料会員で端末間の同期・フォルダ整理
原論文の図

Language hooksの原論文から掲載した図です。細部はクリックして拡大できます。

原論文の図の説明を読む

Figure 1: Schematic of the language hook algorithm in a toy example. The base model generates text sentence by sentence. Each language hook has a trigger that monitors the advantage of running its program on the existing context. When a hook triggers, its associated program is executed (e.g. knowledge retrieval or calculation check) and modifies (or not ) the existing context. When no hook triggers, the base model generates the next sentence of its response, conditioned on the existing context. This iterative process continues until a stopping condition is met.

出典:Language hooks / arXiv ↗

概要

  • 回答を一文ずつ生成し、条件が合えば検索や計算のプログラムを起動して文脈を更新する。
  • 著者らの評価では、GSM8Kの完全一致率は80.0、複合課題HotpotQA×GSM8Kでは46.3だった。
  • 社内文書への適用では、正答に加え、根拠条項、起動漏れ、費用、応答時間を検証する必要がある。
補足:編集した模式図で仕組みを確認する

VISUAL EXPLAINER

図でつかむ、Language hooksの仕組み

左から右へ読む
  1. 01質問と生成文
  2. 02起動条件を判定
  3. 03検索・計算を実行
  4. 04文脈を更新
  5. 05回答文

原論文の説明をもとにした模式図です。処理の細部は省略しています。

研究の背景

Language hooksは、言語モデルが回答を作る途中で、検索や計算などのプログラムを条件付きで動かす方法である。従来の方法には、道具の使い方をプロンプト(モデルへの入力文)に例示するものがあり、課題ごとにその例を整える必要がある。

別の方法として、道具の使い方をモデルに追加学習させる手法もあるが、得た能力は学習対象のモデルに結び付く。著者らは、課題用の入力文と基盤モデルの双方から道具の機能を切り離し、複数の機能を組み合わせられる設計を目指した。

手法

基盤モデルは回答を一文ずつ生成する。各文の後、フック(条件に応じて動くプログラムの組)が文脈を調べる。文脈は質問などの入力と、そこまでに生成した文章を含む。フックには起動条件と実行を許す条件があり、複数が該当すれば著者らが定めた優先順位で一つを選ぶ。該当しなければ次の文を生成し、終了条件まで繰り返す。

例えば計算フックは、補助モデルが直近の文から計算を抜き出し、数式処理ツールSymPyで確認する。誤りがあれば訂正し、後続の誤った推論を取り除く。検索フックは補助モデルが文脈から五つの検索語を作り、検索結果を基に直近の文の書き換えを試みる。書き換えに参照先の引用があれば文と入力側の文脈を更新し、なければ元の文脈を保つ。

新規性

著者らは、回答中の文章を条件として小さなプログラムを起動し、生成中の文脈を更新する枠組みを提案した。基盤モデルの入力文に道具の使用例を示さず、基盤モデルを追加学習させずに機能を組み込める。

各機能について、起動条件、実行するプログラム、実行を許す条件を分けて定義する。検索、計算、回答拒否への対応を組み合わせた実装と評価が示されている。

従来手法との違い

CoT(思考の手順を文章で示す方法)は、この実験では外部の道具を使わない。ReActは入力文に道具の使用例を示し、基盤モデルが特定の形式で呼び出す。Language hooksでは、道具の起動と実行を別のプログラムが担う。

課題別の比較対象には、算数問題をプログラムに変えるPALと、検索を組み込んだ質問応答手順を使うDSPもある。著者らは原則として基盤モデルや例示をそろえたが、PALはPythonを使い、DSPには固有の設定があるため、成績差を仕組みだけの効果とは断定できない。

実験結果

著者らはgpt-3.5-turbo-0301を基盤モデルとし、原則として各手法の基盤モデル、例示、道具をそろえた。算数問題GSM8Kの完全一致率はLanguage hooksが80.0、CoTが79.8、PALが78.8。大きな数を使うGSM-HARDでは52.2で、PALの55.8を下回った。

負数や非整数の答えを除いた326問のGSM-HARD-filteredでは58.9、PALは57.7だった。複合課題HotpotQA×GSM8Kの完全一致率は46.3、ReActは30.3。通常はテスト用または検証用の分割から未見の500問を抽出しており、この結果を業務質問の成績にはそのまま当てはめられない。

応用の可能性

編集上の応用案 · 論文が実証した用途とは区別しています。

編集上の応用案:社内の出張費規程に関する質問へ、根拠条項と計算結果を添えて回答する。入力は社員の質問と版を管理した規程文書とし、条項の検索や金額の計算が必要になった時点で対応する機能を起動する。

必要な元データは検索できる規程文書で、検索用の索引と文書に合う起動条件を用意する。基盤モデルの追加学習用ラベルやセンサーは想定しない。実用性を確かめるため、評価用の質問には正答と根拠条項を人手で付ける。効果は社内文書で別途検証する。

応用先の候補からNauhに相談できます。

導入時の検証

導入時の検証案 · 対象データでの再評価が必要です。

導入時の検証案:版を管理した出張費規程を検索用に登録し、条項の確認と金額計算を含む質問を集める。入力は質問と規程文書、出力は回答、計算結果、根拠条項とする。正答と根拠の評価ラベルは担当者が作り、センサーは使わない。

規程に合わせて検索対象とフックの起動条件を調整し、同じ基盤モデルによるフックなしの回答を基準に比較する。質問ごとに正答率、計算誤り、根拠条項の一致、起動漏れ、費用、応答時間を記録する。規程の改訂前後も試し、誤った根拠による回答を個別に点検する。

限界と課題

著者らは、起動を決めるしきい値の選択には性能と費用の兼ね合いがあると述べる。また、大きな数を扱うGSM-HARDには、負の給与など不自然な設問が含まれ、使用した基盤モデルが回答を拒む場合があると報告している。

編集上の検証事項は、必要な検索を起動できるか、計算訂正後の文章に誤りが残らないか、引用が回答を支えるかである。規程の改訂時にも確認し、追加のモデル呼び出しに伴う費用と応答時間を測る必要がある。回答拒否を促して解除する運用の妥当性も、用途ごとに判断する。

応用先の候補
研究内容と応用案に基づく分類です。業界での導入実績を示すものではありません。

出典

元のタイトル・要旨を確認する(英語)

Language hooks: a modular framework for augmenting LLM reasoning that decouples tool usage from the model and its prompt

Prompting and fine-tuning have emerged as two competing paradigms for augmenting language models with new capabilities, such as the use of tools. Prompting approaches are quick to set up but rely on providing explicit demonstrations of each tool's usage in the model's prompt, thus coupling tool use to the task at hand and limiting generalisation. Fine-tuning removes the need for task-specific demonstrations of tool usage at runtime; however, this ties new capabilities to a single model, thus making already-heavier setup costs a recurring expense. In this paper, we introduce language hooks, a novel framework for augmenting language models with new capabilities that is decoupled both from the model's task-specific prompt and from the model itself. The language hook algorithm interleaves text generation by the base model with the execution of modular programs that trigger conditionally based on the existing text and the available capabilities. Upon triggering, programs may call external tools, auxiliary language models (e.g. using tool specific prompts), and modify the existing context. We benchmark our method against state-of-the-art baselines, find that it outperforms task-aware approaches, and demonstrate its ability to generalise to novel tasks.

論文本体の取得範囲に基づく解説。AIが作成した未校閲の記事です。性能の数値は著者の評価条件に依存します。応用例と検証計画は編集上の提案です。解説更新:2026-10-01