Gorillaに会ってください:UCバークレーとMicrosoftのAPI拡張LLMは、GPT-4、Chat-GPT、およびClaudeを上回ります

Meet Gorilla UC Berkeley and Microsoft's API extension LLM surpasses GPT-4, Chat-GPT, and Claude.

私は最近、160,000人以上の購読者を抱えるAIに特化した教育ニュースレターを始めました。TheSequenceは、5分で読み終わる、大げさでない(つまり、ハイプやニュースなどのない)機械学習に特化したニュースレターです。目標は、機械学習プロジェクト、研究論文、および概念について最新の情報を提供することです。以下の購読ボタンからぜひお試しください。

大規模言語モデル(LLM)の最近の進歩により、自然対話、数学的推論、プログラム合成などの新しい機能を備えた革新的なフィールドが生まれました。しかし、LLMにはまだ固定された重みによる情報の保存能力の制限や、静的グラフや狭いコンテキストに限定された計算能力の制限など、本質的な制限があります。さらに、世界が進化するにつれて、LLMは知識と推論能力を更新するために再トレーニングが必要です。これらの制限を克服するために、研究者たちはLLMにツールを付与し始めています。広範で動的な知識ベースへのアクセスや複雑な計算タスクの可能性を提供することで、LLMは検索技術、データベース、および計算ツールを活用できます。主要なLLMプロバイダーは、外部ツールをAPIを通じて呼び出すことができるプラグインの統合を開始しています。この限定された手動ツールセットからクラウドAPIの広範な配列にアクセスする移行は、LLMをコンピューティングインフラストラクチャやWebの主要なインターフェースに変える可能性があります。フライト、レンタカー、ホテル、ケータリング、エンターテインメントのWeb APIにアクセスできるLLMとの会話によって、バケーションの予約や会議の開催などのタスクは簡単になるかもしれません。

最近、UCバークレーとマイクロソフトの研究者たちは、API呼び出しに特化したLLaMA-7Bモデル「Gorilla」を発表しました。Gorillaは、自己指導型の微調整および検索技術を活用して、APIとそのドキュメントを通じて表される多様なツールの大きく変化するセットから正確に選択するLLMを可能にします。著者たちは、「TorchHub」、「TensorHub」、「HuggingFace」などの主要なモデルハブから機械学習APIをスクレイピングし、APIBenchと呼ばれる大規模なAPIコーパスを構築しています。自己指導型を使用して、インストラクションと対応するAPIのペアを生成します。微調整プロセスは、データをユーザーエージェントのチャット形式に変換し、ベースのLLaMA-7Bモデルで標準のインストラクション微調整を実行することで行われます。

API呼び出しには制約が付随することがよくあり、LLMが呼び出しの理解と分類に複雑さを加えます。たとえば、プロンプトには特定のパラメーターサイズと精度の制約を持つ画像分類モデルを呼び出す必要がある場合があります。これらの課題は、LLMがAPI呼び出しの機能的な説明だけでなく、埋め込まれた制約についても理解する必要があることを強調しています。

データセット

手元にあるテックに特化したデータセットには、Torch Hub、Tensor Hub、およびHuggingFaceの3つの異なるドメインが含まれています。各ドメインは情報を提供し、データセットの多様な性質に光を当てています。たとえば、TorchHubは95のAPIを提供し、堅固な基盤を提供しています。比較すると、TensorHubは696のAPIを含む広範なコレクションを提供します。最後に、HuggingFaceは、最も包括的なドメインである925のAPIを提供します。

データセットの価値と利用価値を高めるために、追加の取り組みが行われています。データセット内の各APIには、10個の細心の注意を払って独自に調整された指示セットが添付されています。これらの指示は、トレーニングおよび評価目的の両方で欠かせないガイドとして機能します。この取り組みにより、すべてのAPIが単なる表現を超え、より堅牢な利用と分析が可能になることが保証されます。

アーキテクチャ

Gorillaは、検索技術を意識したトレーニングの概念を導入しました。指示にチューニングされたデータセットは、参照用にAPIドキュメントを取得する追加のフィールドを含んでいます。このアプローチは、LLMに提供されたドキュメントに基づいて質問を解析し、回答することを教えることを目的としています。著者たちは、このテクニックにより、LLMがAPIドキュメントの変更に適応し、パフォーマンスを向上させ、幻覚エラーを減らすことができることを示しています。

推論中、ユーザーは自然言語でプロンプトを提供します。Gorillaは、ゼロショットモードとリトリーバルモードの2つのモードで動作できます。ゼロショットモードでは、プロンプトがGorilla LLMモデルに直接送信され、タスクまたは目標を達成するために推奨されるAPI呼び出しが返されます。リトリーバルモードでは、リトリーバー(BM25またはGPT-Index)がAPIデータベースから最新のAPIドキュメントを取得します。このドキュメントは、APIドキュメントへの参照を示すメッセージとともに、ユーザープロンプトと連結されます。連結された入力は、プロンプトの調整はこのシステムでは連結ステップ以降に行われません。Gorillaは、呼び出すAPIを出力します。

帰納的プログラム合成は、特定のテストケースを満たすプログラムを合成することにより、さまざまなドメインで成功を収めています。ただし、API呼び出しの評価については、単にテストケースに頼るだけでは不十分であり、コードの意味的な正確さを検証することが困難になります。画像分類の例を考えてみましょう。このタスクには40種類以上のモデルがあります。ある特定のファミリー(たとえばDensenet)に絞り込んでも、4つの可能な構成があります。そのため、複数の正解が存在し、ユニットテストを通じて使用されているAPIが参照APIと機能的に等価かどうかを判断することが困難になります。モデルの性能を評価するには、収集されたデータセットを使用して機能的な同等性を比較します。データセットでLLMによって呼び出されるAPIを特定するために、AST(抽象構文木)ツリーマッチング戦略が採用されています。候補のAPI呼び出しのASTが参照API呼び出しのサブツリーであるかどうかを確認することにより、どのAPIが利用されているかを追跡することができます。

幻覚を識別して定義することは大きな課題です。ASTマッチングプロセスを直接使用して幻覚を識別するために利用されます。このコンテキストでは、幻覚とは、データベース内のいずれのAPIのサブツリーでもないAPI呼び出しを指し、完全に想像されたツールを呼び出すことを意味します。重要なことは、この幻覚の定義がエラーのAPIを呼び出すことと異なることです。

ASTサブツリーマッチングは、データセット内で呼び出されている特定のAPIを識別する上で重要な役割を果たします。API呼び出しには複数の引数がある可能性があるため、これらの引数のそれぞれをマッチングする必要があります。さらに、Pythonではデフォルト引数が許可されているため、データベース内の各APIについて、どの引数をマッチングするかを定義する必要があります。

Gorilla in Action

研究者らは、ペーパーとともにGorillaのオープンソース版をリリースしました。リリースには、多数の例が含まれたノートブックが含まれています。さらに、以下のビデオでは、Gorillaの魔法の一部が明確に示されています。

gorilla_720p.mp4

Gorillaは、ツール補助LLMスペースで最も興味深いアプローチの1つです。このモデルが主要なMLハブのいくつかで配布されることを願っています。

Jesus Rodriguez氏は、現在IntotheblockのCTOを務めています。彼はテクノロジーエキスパート、エグゼクティブ投資家、スタートアップアドバイザーです。Jesusは、新しい企業ソフトウェアのトレンドを活用して企業を優れたソフトウェア組織にすることに焦点を当てた受賞歴のあるソフトウェア開発会社であるTellagoを創設しました。

オリジナル。許可を得て再掲載。

We will continue to update VoAGI; if you have any questions or suggestions, please contact us!

Share:

Was this article helpful?

93 out of 132 found this helpful

Discover more

データサイエンス

ファインチューニングLLM パラメータ効率の改善 (PEFT) — LoRA および QLoRA — パート1

このブログでは、パラメータ効率的微調整(PEFT)のアイデアを理解し、PEFTの2つの最も重要な手法であるLoRAとQLoRAを探求します

人工知能

すべての開発者が知るべき6つの生成AIフレームワークとツール

この記事では、トップのジェネラティブAIフレームワークとツールについて探求しますあなたの想像力を解き放ち、ジェネラティ...

人工知能

情報セキュリティ:IoT業界内のAIセキュリティ

この記事では、AIセキュリティについての読者をIoT業界に没入させ、トピックの基盤となるさまざまな種類の「セキュリティ」に...

人工知能

「生成AIを通じて脆弱性を明らかにする」

この記事では、コードスキャンについて学び、MuleSoftのAPIでセキュリティに関連するパラメータの露出を報告する方法について...

機械学習

ロボットが「グリップ」のアップグレードを取得:AO-Graspがロボットに物を落とさない技術を教えます!

近年、ロボットは製造業から医療まで、様々な産業でますます使用されています。しかし、彼らのタスクを遂行する効果は、環境...

データサイエンス

「ダイナミックな時代のソフトウェアリーダーシップの活路」

ソフトウェア業界でリーダーシップを発揮することが一筋縄ではいかない理由を探求しましょう過去の成功に依存するリスク、無...