• TOP
  • Kong
  • API を呼び出す AI モデルのトレーニング : Gorilla プロジェクトが実現する言語モデルの次なる進化
API を呼び出す AI モデルのトレーニング : Gorilla プロジェクトが実現する言語モデルの次なる進化
2024.03.19 Kong翻訳記事

LLM の対話手法に革新をもたらす Gorilla プロジェクト

Peter Barnard
Kong コンテンツ担当

はじめに

AI が世界を席巻するようになりました。この革新的なテクノロジーは、ユーザーが大規模言語モデル (LLM: Large Language Models) を介して情報を合成し、世界と対話する方法に大きな変革をもたらしています。

しかし、現在の AI の状態は完璧というわけではなく、さらなる最適化が必要な状態です。そこで、Gorilla プロジェクトが解決策を提案しています。

API Summit 2023 において、カリフォルニア大学バークレー校の博士課程の学生 Shishir Patel 氏が、同大学の卒業生でマイクロソフトの研究者である Tianjun Zhang 氏、Xin Wang 氏、Joseph E. Gonzalez 氏らと共に取り組んでいる Gorilla プロジェクトについて語りました。

このブログ記事では、(AI と APIで実現可能になった) LLM の将来像と、Gorilla プロジェクトが LLM の使用法をどのように変えようとしているのかについて触れていきます。

LLM と AI : その違いとは ?

現時点では、LLM は主に AI チャットボットに使用されています。これらの単語は同じ意味で使われているように見えるかもしれませんが、両者には大きな違いがあります。LLM は、AI がユーザーとのコミュニケーションに使用する情報を提供する際に用いるアルゴリズムです。

現在、Claude や Chat-GPT などのチャットボットが使用する LLM は、ユーザーのリクエストに先立って AI にデータをフィードしています。つまり、AI の情報は、(刻々と変わっている) 実世界の状況と連動してその結果を常に更新しているわけではないのです。

LLM の次の段階とは ?

LLM は、現在の段階でも、かなり正確なコンテンツを生成することができますが、逆にそのために、ユーザーは、AI にプロンプトを出す前に、実世界の状況を確認しておくという責任が増えます。AI から返答が出れば、その情報が間違いのない精度で、適切に選択されているとは限らないため、ユーザーは AI が出したその答えの妥当性も検証する必要があります。

AI の幻覚(ハルシネーション)

また、不正確な情報が生成され、それがあたかも正しいかのように示される場合、それが AI の幻覚である可能性は常にあります。これは、的を射ないプロンプトを用いたときに特によく見られる問題です。

どうしてこのようなことが起こるのでしょうか ? LLM と AI は信じられないほど正確な能力を持っているため、人間では到底可能でない方法でタスクを完了したり、パターンに気づくことができます。ここでいう幻覚とは、LLM が人間には検出できない、究極的には、意図しないパターンを検出した場合に表示されるものを指します。幻覚が現れると、理解の範疇をはるかに超えた答えが示されることになり、結果的に (AI の結果は信用できないという) 脅威になってしまいます。

ユーザーの負担の軽減

今の LLM の状態では、必要以上にユーザーに負担を強いています。そこで、API を使用して、対話の階層を再構築するのです。ユーザーが LLM と実世界の間に入るというモデルではなく、AI が API を活用することで、LLM を他のアプリケーションとリアルタイムで直接やりとりさせるのです。

Patel 氏は、ゼロショット学習 (ZSL) を使用した LLM の場合、Gorilla は幻覚を減らして、精度を上げるのに優れている語る。

API Summit 2023 のセッションでPatel 氏は、「A100 GPU を検索しようとしているユーザーが米国東部にいる」という架空のシナリオを示しました。Gorilla のようなプログラムを使用すると、特定のタスクに対して適切なAPIが選択され、検索結果の精度が高まります。これらの API は、実世界の状況をスキャンし、その情報を Gorilla に伝え、最終的には総合的な結果をユーザーに返します。ユーザーが受け取る回答には、リクエスト処理に必要な GPU の容量と、クラウド データ利用の割り当てに必要なクォータも揃っています。ずいぶん便利だと思いませんか ?

このモデルは、ユーザーのストレスを大幅に軽減するだけでなく、本来重要な存在ある API の価値がさらに高まります。つまり、AI の開発と進化は、既存の API 技術と融合することで、相互に有益なシナジーを生み出すことが可能になるのです。ユーザーが使用するツールを次々と増やすのではなく、既存のツールを組み合わせてさらに有益なものを作り出すことができるのです。

克服すべき課題

ここまで見てきたアイデアは素晴らしいのですが、実現への過程には克服しなければならないハードルがいくつかあります。LLM はすぐにでも API の構造内に実装できるかもしれませんが、それらが導き出す結果には大きな問題が生じるでしょう。「ゴルディロックスと 3 匹のクマ」の童話にあるように、検索結果は範囲が広すぎても狭すぎてもいけません。ちょうど良い範囲のものが必要なのです。しかし、どうやって最適な結果を見つければよいのでしょうか ?

「ゴルディロックスと 3 匹のクマ」イギリスの有名な童話。
ゴルディロックスという小さな女の子が3匹のクマの家で飲んだスープが熱すぎたり、冷たすぎたり、ちょうどよかったりします。

オンラインで回答を検索する場合、最初に得られた結果が、質問に最適なものであるとは限りません。質問が何であれ、検索ワードが大まかすぎると、望ましい結果は得られません。この考え方は LLM にも当てはまり、ユーザーのリクエストに AI がどう最適に応えるかが課題となります。もし単に AI が出した最初の検索結果を鵜呑みにするだけであれば、ユーザーが望む回答の正確性は保証されません。

同様に、LLM の範囲が広すぎると、AI の幻覚を生んでしまう可能性があります。

この問題を微調整する作業は、カメラ レンズの焦点を合わせるのに似ています。レンズには、近接しているものと遠くにあるものの両方に焦点を当てることができますが、狙った被写体にピントを合わせるには、レンズを調整する必要があります。このGorilla プロジェクトは、概念、コード、そしてアルゴリズムを駆使して、これらの課題に対する解決策を提案しています。

Gorilla プロジェクトとは ?

API を呼び出すことにトレーニングされたLLM

Gorilla プロジェクトの目的は、与えられたタスクに対して適切な API を選択して使用できる LLM を作成することにあります。これを実現するためには、最適な API を利用できるよう、LLM を特定の方法でトレーニングする必要があります。

そこで、Gorilla が導入したアイデアが、検索認識トレーニング (RAT: Retrieval Awareness Training) です。このモデルでは、LLM は正しい結果と間違った結果をふるいにかけることができ、情報検索を微調整できます。このトレーニングのメリットは、Patel 氏が語っているように、検索プロセスで結果が「確実なものから低品質のものまで」どのようにでも対応できることです。

現在の Gorilla の評価は、信じられないほど好成績が得られています。ゼロショット学習 (ZSL) を使用した LLM の場合、Gorilla は幻覚を最小限に抑えながら、精度を高めるのに優れています。GPT 3.5 のような他の AI の ZSL と比較して、Gorilla はおよそ 2 倍の精度を誇り、幻覚は約 60% 少なくなっています。Oracle や GPT-Retriever などの特殊な Retriever (検索ツール) を使用することで、LLM は Gorilla に匹敵できるようになりますが、Gorilla で ZSL を用いると、代替 AI よりも劇的に効果が上がることが証明されています。

Gorilla は現在 GitHub で公開されており、ユーザーはこの製品をダウンロードして試すことができます。公開以来、Gorilla は、すでに 30 万回以上呼び出されています。このテクノロジーは、利用されればされるほど優秀になるため、積極的な活用が望まれます。

継続中の研究課題

Patel 氏と彼のチームは、Gorilla の改良を進める中で、新たな課題への適応しつつ、同時に他の課題の予測にも取り組んでいます。この製品は現時点でも十分機能していますが、テクノロジーを完璧なものにするためには、対処すべき課題がいくつかあります。

LLM が適切な API を呼び出した場合は問題ありません。しかし、呼び出された API が本来の目的に沿って機能しない場合はどうなるのでしょうか ? API はかなり複雑で、特定の意図に合わせて微妙な加減で組み立てることができるようになっています。Gorilla が API の構成内容を理解できるようになれば、特定のタスクに最適な API を呼び出すことができるようになります。ただし、Gorilla が API を呼び出したとき、そこで障害が発生した場合に備えて、次に何が起こるかを考慮した効果的なプロトコルが必要となります。Gorilla プロジェクトの開発者たちはこの問題を想定して、フォールバックのための解決策に取り組んでいます。

状態を維持できることも、Gorilla での実装しようとしているもう 1 つの重要な要素です。Patel 氏が提案した今回の例では、ユーザーは Gorillaに「米国東部で GPU 仮想マシンを起動して」と依頼しています。その後、ユーザーが GPU をシャットダウンしたい場合には、ユーザーは「そのインスタンスをシャットダウンして」と記述します。人間であれば、「その」が何を指しているのか推測できますが、プログラムにはその相関関係を教える必要があります。「その」ではなく、「GPU 仮想マシン」と入力するだけでも動作しますが、AI が何をすべきかを推測できれば、ユーザーはAI と簡単にコミュニケーションできるようになり、よりシームレスなエクスペリエンスを実現します。特に、2つのコマンドの間に会話や操作があった場合、 Gorilla はどうコマンドを受け取り、最小限の文脈で以前に着手したことを思い出すことができるのでしょうか? このような機能は、ユーザー エクスペリエンスを向上させると同時に、プログラムを可能な限り直感的に使えるようにすることを目的としています。

現状では、Gorilla は APIの呼び出しは可能ですが、実行はユーザーが行う必要があります。これはセキュリティと検証の観点からは理にかなっていますが、将来的には、Gorilla が適切な API を選択し、呼び出して、実行できるという構想があります。

「これで、LLM が相互に会話し、世界中と話すことができるという次のパラダイムが実現して、ユーザーは最終結果のみを見ればよいことになります」と Patel 氏は話しています。

ここでも、LLM がすべての力仕事をこなして、ユーザーには明確かつ一貫性のある結果のみを提供することが目標となっています。

まとめ

現在、AI と LLM は、ユーザーとテクノロジーのやり取りに大きな変化をもたらしはじめています。AI の可能性は未知数ですが、Gorilla プロジェクトは理想的な方向に大きな一歩を踏み出しています。LLM が API を呼び出すのは次のステップですが、Gorilla プロジェクトでは AI の未来の形を作ろうとしています。

Gorilla をダウンロードして使用するユーザーが増えれば増えるほど、プログラムはより優れたものになります。Patel 氏と彼のチームは、Gorilla を最適なサービスにできるよう、あらゆるユーザーからのフィードバックを心待ちにしています。(あなたも Gorilla プロジェクトに参加しませんか)

Gorilla を試用と、Patel 氏と彼のチームの詳細情報については、こちらをご覧ください。

原文:Training AI Models to Invoke APIs: The Gorilla Project Offers Next Evolution of Language Models

関連記事