Gorilla: 検索を意識した学習(RAT)により、LLMのAPIハルシネーションを78%から11%に低減する方法
Gorillaの論文(Patil et al., 2023, arXiv:2305.15334, NeurIPS 2024)を読んでいるのは、私が常に直面している2つの問題の接点にあるからです。それは、「LLMエージェントにいかにして適切な引数で適切なツールを呼び出させるか」、そして「APIが変更されてもその能力をいかに維持するか」という問題です。ここでの回答は実用的であり、数値も驚くほど強力ですが、評価に組み込まれた前提条件は通常よりも注意深く吟味する必要があります。
論文の概要
UCバークレーのShishir G. Patil、Tianjun Zhang、Xin Wang、Joseph E. GonzalezらによるGorillaは、具体的な失敗モードに対処しています。それは、最先端のLLMがAPI呼び出しにおいてハルシネーションを起こすという問題です。特定のライブラリ関数を呼び出すコードを書くよう求められた際、GPT-4(2023年中盤時点)は、見た目はもっともらしいものの、間違った関数シグネチャ、存在しないモデル、あるいは非推奨の引数名を頻繁に生成します。Gorillaは、正確なAPI呼び出しを生成するために特別に微調整された70億パラメータのLLaMAベースのモデルであり、著者らが「検索を意識した学習(Retriever-Aware Training, RAT)」と呼ぶ手法で訓練されています。考え方はシンプルです。訓練中、ユーザーのクエリとともに、検索されたAPIドキュメントを「参考のためにこのAPIドキュメントを使用してください: <retrieved_API_doc_JSON>」という形式でモデルに提示します。これにより、モデルはドキュメントを読み取ることと、パラメータ化されたメモリよりも検索されたコンテキストを信頼することを学習します。この特性は、推論時にドキュメントが変更された場合に大きな利点をもたらします。
評価データセットであるAPIBenchは、925のHuggingFace Model Hub API、95のTorchHub API、696のTensorFlow Hub APIをカバーしており、Self-Instructを通じてAPIごとに10個の合成指示追従クエリが生成されています。評価指標はASTサブツリーマッチングです。生成されたAPI呼び出しがパースされ、機能的な正確さがチェックされます。これにより、この設定では初めて、ハルシネーション率の体系的な測定が可能になりました。