Simple Science

最先端の科学をわかりやすく解説

# コンピューターサイエンス# 計算と言語

言語モデルにおけるツールの使い方の改善

新しい方法が言語モデルがツールを選んで使うのをうまくする。

― 1 分で読む


言語モデル用ツールが強化さ言語モデル用ツールが強化された選択を強化する。新しい方法が言語モデルのツールの使い方と
目次

言語モデルにツールを使わせることを教えるのは、役に立つアシスタントを作るための大きなステップだけど、まだまだ大きな課題だよね。特定のツールを使うようにこれらのモデルを訓練することには成功してるけど、新しいツールを数回の例で効果的に使うのは難しいみたい。この記事では、言語モデルがツールを選んでうまく使えるようにする新しい方法について話すよ。

言語モデルにおけるツールの重要性

今、言語モデル(LM)はカスタマーサポートから情報提供まで、いろんなアプリケーションで広く使われてるんだ。これらのモデルにとっての大事なスキルの一つは、APIや他の機能を使って情報を取得したり、効率よくタスクを実行すること。だけど、使う必要があるツールはしょっちゅう更新されたり、新しいものが出たりするから、LMにはついていくのが難しいんだ。

今のところ、LMはこれらのツールを使うための例が必要で、これをプロンプティングって呼んでる。でも、例に頼りすぎるとエラーが起こることもある。私たちの目標は、LMが正しいツールを選んで正しく使えるようにすること、たとえそれを見たことがなくてもね。

セルフバリデーション法

言語モデルが適切なツールを選んでよりうまく使えるようにするために、自己検証法っていう方法を紹介するよ。この方法は、モデルがツールを選ぶ必要があるときやパラメータを生成する時に、自分自身に具体的な質問をする手助けをするんだ。

2つのキーステップ

ツールを使うプロセスを2つの主要なステップに分けるよ:

  1. ツール選択:ここでは、モデルがリストから最も適切なツールを選ぶ必要がある。
  2. パラメータ生成:ツールを選んだ後、そのツールで使うための正しい設定やパラメータを決定する。

両方のステップで、モデルがより良い判断をするためにバリデーション質問を使うよ。

トレーニングデータセットの作成

モデルを訓練するために、合成ツールのデータセットを作成したよ。このデータセットは、ツール名、説明、モデルが適切なツールを選ぶための例となるプロンプトで構成されてる。

合成ツールの生成

最初にいくつかの「シード」ツールとその説明を選んだんだ。それから、言語モデルを使ってこれらの例に基づいて追加のツールオプションを生成した。このおかげで、手間をかけずに多様なツールセットを作ることができたよ。

トレーニング例の構築

各ツールについて、そのツールの使い方に関する指示を作ったよ。各トレーニング例には、ユーザーの指示、候補ツールのリスト(正しいツールも含む)、特定のツールが選ばれた理由を説明する論理が含まれてる。

私たちのトレーニングセットは173のツールを含んでいて、合計555の例がある。この多様性が、モデルがトレーニングデータから新しいツールに一般化するのを助けるんだ。

ツール選択プロセス

ツール選択の段階では、モデルは利用可能なツールのリストとその説明を見て、情報だけを基に正しいツールを選ぶ。このアプローチによりデモの必要がなくなって、モデルがより多くのツールを使えるようになるんだ。

ツール選択のためのセルフバリデーションの使用

モデルがツールを選ぶとき、ユーザーの指示に基づいて2つのトップ選択肢を生成する。絞り込むために、2つの選択肢を区別するための対照的な検証質問を作成する。この質問は、ツールの違いを明確にする具体的な詳細に焦点を当てるんだ。

モデルは質問に答えて、その情報を文脈に追加し、最終選択を助けるんだ。

パラメータ生成

ツールを選んだ後、モデルはそのツールを使うために必要なパラメータを生成するんだ。これは、モデルがそのツールに具体的な例を参照するFew-shot promptingを通じて行われるよ。

パラメータ生成のための検証

ツール選択と同様に、パラメータ生成中にも検証を実施する。モデルは2つのパラメータ選択肢を生成し、ユーザーの指示に基づいてどのパラメータが適切かを尋ねる検証質問をするんだ。

評価と結果

私たちは、ToolBenchというベンチマークを使ってこの方法を評価したんだ。これは、見たことのないツールを使ったいくつかのタスクから成り立ってる。実験の結果、セルフバリデーションを使ったことでパフォーマンスが大幅に向上したよ。

成功率

結果は、私たちの提案した方法が、従来のプロンプティング方法と比べてツール選択とパラメータ生成の精度を著しく改善することを示してる。検証質問がエラーを減らし、より良い判断をするのに役立つんだ。

結論

ツールを効果的に使う能力は、特に新しいツールが頻繁に出てくる今、言語モデルにとって重要だよ。私たちのセルフバリデーション法は、モデルが選択を明確にするための質問をすることで、ツールの選択と活用の方法を改善するんだ。この進歩は、実際の状況でのパフォーマンスや適応性を向上させるよ。

今後の展望

これから、私たちの方法をさらに洗練させる可能性があるよ。複数のツールを同時に使う必要があるような、より複雑なツール使用シナリオに対してこのアプローチを発展させる方法を探れるかもしれない。それに、様々なタスクや設定でのより包括的なテストを行うことで、結果を検証することができるよ。

言語モデルのツール使用能力を正確に向上させることで、幅広いユーザーのニーズに応える、より効果的で多用途なアシスタントを開発できるはずだよ。

オリジナルソース

タイトル: TOOLVERIFIER: Generalization to New Tools via Self-Verification

概要: Teaching language models to use tools is an important milestone towards building general assistants, but remains an open problem. While there has been significant progress on learning to use specific tools via fine-tuning, language models still struggle with learning how to robustly use new tools from only a few demonstrations. In this work we introduce a self-verification method which distinguishes between close candidates by self-asking contrastive questions during (1) tool selection; and (2) parameter generation. We construct synthetic, high-quality, self-generated data for this goal using Llama-2 70B, which we intend to release publicly. Extensive experiments on 4 tasks from the ToolBench benchmark, consisting of 17 unseen tools, demonstrate an average improvement of 22% over few-shot baselines, even in scenarios where the distinctions between candidate tools are finely nuanced.

著者: Dheeraj Mekala, Jason Weston, Jack Lanchantin, Roberta Raileanu, Maria Lomeli, Jingbo Shang, Jane Dwivedi-Yu

最終更新: 2024-03-13 00:00:00

言語: English

ソースURL: https://arxiv.org/abs/2402.14158

ソースPDF: https://arxiv.org/pdf/2402.14158

ライセンス: https://creativecommons.org/licenses/by/4.0/

変更点: この要約はAIの助けを借りて作成されており、不正確な場合があります。正確な情報については、ここにリンクされている元のソース文書を参照してください。

オープンアクセスの相互運用性を利用させていただいた arxiv に感謝します。

著者たちからもっと読む

類似の記事