2.3K Views
August 16, 23
スライド概要
2023/8/16
Deep Learning JP
http://deeplearning.jp/seminar-2/
DL輪読会資料
DEEP LEARNING JP [DL Papers] ToolLLM: Facilitating Large Language Models to Master 16000+ Real-world APIs Jeong Seong Cheol, M1, Matsuo Lab, The University of Tokyo http://deeplearning.jp/ 1
書誌情報 Preprint: https://arxiv.org/abs/2307.16789 Data: Submitted on 31 Jul 2023 Github: https://github.com/OpenBMB/ToolBench 概要: オープンソースLLMにおけるツール使⽤能⼒を促進するために,データ構築,モデ ル学習,評価の⼀般的なツール使⽤フレームワークであるToolLLMを提案.
背景 • 2023年現在,LLMの⼒を引き出し,様々なツール(API)と効果的に相互作⽤ して,複雑なタスクを達成することを⽬的とする学習:Tool learningが注⽬ されている • オープンソースのLLM (e.g., LLaMA, Vicuna) はInstruction tuningによって 汎⽤性の⾼い性能を発揮するが,現在のInstruction tuningは⾔語タスク(⼀般 的な会話)に焦点を当てているためツール使⽤能⼒に乏しい • SOTAのLLM (e.g., ChatGPT, GPT-4) は,優れたツール使⽤能⼒を持つが closed-sourceである
⽬的 オープンソースのLLMが,実⽤的なシナリオにおいて多様なAPIを含む複雑な命令を実⾏す るためのエンパワーメントを⽬的としている.この研究が,Instruction tuningとツール活⽤ の交差点におけるさらなる研究のきっかけとなることを期待する. 具体的には, • ToolBench:ツール使⽤に特化したベンチマークデータ構築 • ToolLLM:ToolBenchによるLLaMA-7Bのfine-tuningモデル • ToolEval:2つの指標によるツール使⽤の評価 を提案
先⾏研究 ツール使⽤のためのInstruction tuning dataの構築についての先⾏研究(Li et al., 2023a; Patil et al., 2023; Tang et al., 2023; Xu et al., 2023b)との3つの差分 1. Limited APIs :現実世界のAPI(e.g., REST API)に関与して いない.多様性のない限られた領域のAPIしか使えていない 2. Constrained scenario:既存研究は単⼀のツール使⽤しか 考慮していない.現実では複数のAPIを組み合わせてタスク を解く.また,ユーザがAPIを指定することを想定している が,現実では莫⼤なAPIからユーザが特定のAPIを選ぶのが難 しい. 3. Inferior planning and reasoning:Chain-of-thought (CoT) やReACT (Yao et al., 2022)といったプロンプトを使う⼿法 では,LLMの能⼒を⼗分に引き出せず,複雑な命令を扱うこ とができない.(ツール使⽤の観点で)オープンソースLLMが, SOTAのLLM (e.g., ChatGPT, GPT-4) に劣る. 引⽤:https://www.redhat.com/ja/topics/api/what-is-a-rest-api
先⾏研究 ツール使⽤のためのInstruction tuning dataの構築についての先⾏研究(Li et al., 2023a; Patil et al., 2023; Tang et al., 2023; Xu et al., 2023b)との差
提案⼿法 本論⽂で提案されているもの • ToolBench:ツール使⽤に特化したベンチマークデータ構築 • ToolLLM:ToolBenchによるLLaMA-7Bのfine-tuningモデル • ToolEval:2つの指標によるツール使⽤の評価 • API Retriever:莫⼤なAPIの中からタスクを解決できそうなAPI候補を提⽰ 引⽤:https://api-sdk.navitime.co.jp/api/rakutenrapid/
ToolBenchの構築 本論⽂で提案されているもの • ToolBench:ツール使⽤に特化したベンチマークデータ構築 • ToolLLM:ToolBenchによるLLaMA-7Bのfine-tuningモデル • ToolEval:2つの指標によるツール使⽤の評価 • API Retriever:莫⼤なAPIの中からタスクを解決できそうなAPI候補を提⽰
ToolBenchの構築 API Collection: • Rapid API hubから49カテゴリ(e.g., sport, finance, travel)と,より細かいcollectionと呼ば れる分類(e.g., Recommended APIs, Top Movie APIs)のAPIを取得. • 各 API について,名前,説明,HTTP メソッド, 必要なパラメータ,オプションのパラメータ , リクエストボディ,API 呼び出しの実⾏可能な コードスニペット,および API 呼び出し応答の 例を記録. • 死んでるAPIなどフィルタリングして, 3,451個 の⾼品質なツール(16,464個のAPI)を収集
ToolBenchの構築 Instruction Generation: • 3つの⽅法でAPIをサンプリング • single-tool instructions (I1) • intra-category multi-tool instructions (I2):同じカテゴリから2~5個 • intracollection multi-tool instructions (I3) :同じコレクションから2~5個 • 「APIの組み合わせ」と「そのInstruction」を ChatGPTにより⽣成 APIの組み合わせ Instruction ⼈間が作った3つのインコンテキストシード [Query1: ......, ʻrelated apisʼ:[api1, api2,api3...], Query2: ......, ʻrelated apisʼ:[api4, api5, api6...], Query3: ......, ʻrelated apisʼ:[api1, api7, api9...], N個のAPIの説明ドキュメント
ToolBenchの構築 Solution Path Annotation: • Instructionが与えられたとき,ChatGPTに 有効なAPIのアクション列を探索させる. • 探索⽅法:Depth First Search-based Decision Tree • CoTやReACTだとAPI Errorが出ると失 敗を繰り返す • 深さ優先で⽊構造を探索させることで Instructionをのソリューションを⾒つ ける • デメリット:API callが多くなる
ToolLLM 本論⽂で提案されているもの • ToolBench:ツール使⽤に特化したベンチマークデータ構築 • ToolLLM:ToolBenchによるLLaMA-7Bのsupervised fine-tuning(SFT) • ToolEval:2つの指標によるツール使⽤の評価 • API Retriever:莫⼤なAPIの中からタスクを解決できそうなAPI候補を提⽰
ToolEval 本論⽂で提案されているもの • ToolBench:ツール使⽤に特化したベンチマークデータ構築 • ToolLLM:ToolBenchによるLLaMA-7Bのsupervised fine-tuning(SFT) • ToolEval:2つの指標によるツール使⽤の推論時の評価 • API Retriever:莫⼤なAPIの中からタスクを解決できそうなAPI候補を提⽰
ToolEval LLMのツール使⽤の2つの評価指標 • Pass Rate:限定されたアクション回数(論⽂中では200回)でにInstructionを成功できた割合.この 指標は,LLMの命令の実⾏可能性を測定する指標.Instructionを完了できたかどうかを測定するだけで あり,どれだけ完了できたかは測定しない. • Win Rate: Instructionをどれだけ完了できたかを測定する指標.これは,与えられたインストラク ションに対する2つのSolution Path(解答経路)を評価者がA.2の⼿順に従って⽐較することによって測定 される. Win Rateの詳細 (この数式は載っていなかったがおそらく) Pass Rate = Win Rate = アクション回数!""回以下のデータ テストデータ ベースラインと⽐較してSolution Pathが選ばれたデータ テストデータ
実験 ToolBenchを訓練・テストデータにわけ,テストデータを使ってToolLLaMAの汎化能⼒を測定.その際, 3つのレベルで評価 1. Inst.: unseen instructions for the same set of tools in the training data 2. Tool: unseen tools that belong to the same (seen) category of the tools in the training data 3. Cat.: unseen tools that belong to a different (unseen) category of tools in the training data 3つのシナリオで評価 1. single-tool instructions (I1):APIを1つ使うinstruction 2. intra-category multi-tool instructions (I2):同じカテゴリからAPI2~5個使うinstruction 3. intracollection multi-tool instructions (I3) :同じコレクションからAPI2~5個使うinstruction Baseline • VicunaとAlpacaに洗練されたプロンプトエンジニアリングしたもの(We conduct sophisticated prompt engineering for both models to elicit the best of their tool-use abilities) • ChatGPT(teacher model)とText-Davinci-003 VicunaとAlpacaは貧弱なオープ ンソースLLMがAPIエラー起こ しまくってる?から測定不能だ と思われる
実験結果と考察 1. ToolLLaMAは,従来のツール使⽤法であるChatGPT-ReACTをPass Rate,Win Rateともに⼤幅に上回り, 優れた汎化能⼒を⽰す.また,ToolLLaMAはDFSDTと組み合わせた場合,Text-Dainci-003よりも性能が良い. 2. VicunaとAlpacaはいずれもInstructionをパスできない.このことは,⾔語能⼒の向上に主眼を置いた現在の Instruction tuning⼿法の⽋点を浮き彫りにしている. 3. ⼀般に,ToolLLaMA は全てのシナリオで競争⼒のある性能を⽰し,ChatGPT+DFSDT よりも若⼲低い合格率 を達成した.Win Rateについては,ToolLLaMAはChatGPT+DFSDTの能⼒に概ね匹敵し、I2-Catでは後者を も凌駕している.これらの結果は,ToolBenchがLLM内のツール使⽤能⼒を⼗分に引き出し,様々な命令に対 して未知のAPIでさえ巧みに習得できるようにするものであることを実証している.
まとめ&感想 • 本論⽂では,オープンソースLLMにおけるツール使⽤能⼒を促進するため に,データ構築,モデル学習,評価の⼀般的なツール使⽤フレームワーク であるToolLLMを提案. • ToolBenchがオープンソースLLMのツール使⽤能⼒を⼗分に引き出したこ とを確認. • 今後は各APIはLLM⽤の追加情報や練習環境を提 供するようになるのでないかと思われる.(PFN 岡野原さん) • 本論⽂はかなり実⽤的なタスクに挑戦していて 献⾝的かつ有⽤であると思いました(Jeong)