OpenAI DevDay 2024 | コミュニティスポットライト | Sierra

4,178 文字

OpenAI DevDay 2024 | Community Spotlight | Sierra
Realistic agent benchmarks with LLMs: Measuring the performance and reliability of AI agents is challenging, especially ...

皆さん、こんにちは。私はSierraの研究チームを率いているカルティック・ナラシマンです。本日は、実世界のAIエージェントのベンチマークに関する私たちの最近の取り組みの一つであるTAU-benchについてお話しできることを大変嬉しく思います。始める前に申し上げたいのですが、これは共同の取り組みです。
シュンユー、ノア、ペドラムを含む、素晴らしい多くの方々が携わってきました。TAU-benchについてより詳しく知りたい方は、アーカイブに論文として公開していますので、そちらを深く掘り下げてご覧ください。TAU-benchの説明に入る前に、手を挙げていただきたいのですが、AIエージェントについてご存知の方はどのくらいいらっしゃいますか?素晴らしいですね、実に多くの方が。これで私の仕事が楽になりました。
では、Sierraでの私たちの立場について簡単な背景をお話しし、その後TAU-benchについてお話ししましょう。Sierraでは、ビジネス向けの会話型AIプラットフォームを構築しています。つまり、企業が独自のAIエージェントを構築することを容易にしているのです。エージェントとは、ユーザーとやり取りできる自律システムのことです。自由な自然言語で会話ができ、また問題を解決するためのアクションを実行し、決定を下すことができます。例えば、商品の返品や航空便の変更などです。
このようなエージェントを実世界に導入する際の課題の一つは、その性能を評価することが非常に難しいということです。皆さんもそれぞれのユースケースをお持ちで、「評価、評価、評価」と言っているでしょう。これらのエージェントを構築し、リリースする上で最も難しいことの一つが評価なのです。今日お話しするのは、LLMを使用してこれを行う一つの方法について、私たちがどのように考えているかということです。
いくつかの課題について簡単に説明しましょう。AIエージェントの評価に関して、私が指摘できる3つの課題があります。もっとあるかもしれませんが。まず、エージェントを実世界に出す場合、人間とうまくコミュニケーションできることが必要です。これには、ユーザーの発言を理解することが含まれます。ユーザーは異なるトーンや異なるスタイルを使用するかもしれません。Z世代の言葉を使うかもしれません。あらゆる種類の言葉です。エージェントにはユーザーの発言を理解できる能力が必要です。
しかし同時に、人間が理解できる正確な言語でコミュニケーションを取り、生成する必要もあります。さらにその上で、エージェントには正確で信頼性の高いアクションを実行する能力が必要です。商品を返品するためのAPI呼び出しや、フライトの変更などです。しかしこれは基本的なことです。
これに加えて、私たちが求めているのは他に2つあります。まず、これらの評価が一次統計量だけでなく、それ以上のものを測定できることです。エージェントの信頼性を測定することです。TAU-benchでどのようにそれを行うかお見せします。さらに、開発者として、エージェントをテストできるシナリオをコントロールできることも必要です。エージェントを世に出してから何が起こっているかを把握するのではなく、本番環境に投入する前にそれを把握できるようにしたいのです。
私たちはこれらすべてについて考え、研究チームはこれらのエージェントを構築するための新しい技術の開発に取り組んでいます。そして気づいたことの一つは、既存のアカデミックなベンチマーク、研究用ベンチマークを見ると、ここにギャップがあるということでした。
ベンチマークには2種類の領域がありました。一つは対話システムで、システムがどのように振る舞い、人間と対話できるかを研究しているものです。そしてもう一方では、ウェブインタラクションやソフトウェアエンジニアリングなど、実際の人間ユーザーとはあまり関係のないタスクを扱うエージェントベンチマークがありました。
私たちが求めているのは、この2つの組み合わせです。そしてTAU-benchは、このギャップに対処するために私たちが考え出した一つの解決策です。ここでのTAUは、Tool-Agent-User(ツール-エージェント-ユーザー)を表しています。このベンチマークの核となるアイデアは、動的でリアルタイムな現実的な会話をシミュレートすることを容易にするために、LLMを可能な限り最善の方法で使用することです。
TAU-benchの異なるコンポーネントについて簡単に概要をお話ししましょう。TAU、つまりツール、エージェント、ユーザーです。エージェント自体には、何をすべきで何をすべきでないかを指示するドメインポリシードキュメントなど、様々なものがあります。ツール、API等もあります。これは標準的なものです。
下部にあるツール環境は、基本的にデータベースとそのデータベースとの間で読み書きができるツールの組み合わせです。そして、この講演の焦点となる中間部分は、シナリオを使用してシミュレートできるユーザーを持つことです。
これについてもう少し深く掘り下げましょう。私たちのユーザーシミュレーションは基本的にLLMを使用しています。これは、システムプロンプトを使用してシナリオを記述し、必要な特定のユーザーシミュレーションを生成できるエージェントのようなものと考えることができます。以前は人間のライブテスターを使用する必要がありましたが、実際にはGPT-4oなどの非常に優れたLLMを使用してこのユーザーシミュレータを構築できます。
これには多くの利点があります。安価で、高速で、幅広いシナリオに簡単にスケールできます。そして最後の部分、信頼性について話す部分ですが、同じシナリオを複数回再実行できます。これは、エージェントの信頼性のより現実的な評価となります。なぜなら、例えば1万人のユーザーが靴の返品について同じ質問をした場合、エージェントがその1万件すべてのケースに対応できることをテストできるからです。
もちろん、いくつかの注意点もあります。詳細には触れませんが、シミュレータにはそれなりの問題があります。非常に簡単に説明すると、様々なユーザーシミュレータ技術を試すことができます。高レベルで考えると、ユーザーシミュレータ自体もエージェントです。
最新のエージェント研究のすべての技術を使用できます。ReAct、Reflectionなど、お気に入りの技術を使用して、このユーザーシミュレータをより複雑にすることができます。そして実際に、幻覚や信頼性の低い振る舞いなどの問題に役立つことが分かっています。ユーザーシミュレーションは、最新のLLMを使用する素晴らしいアプリケーションの一つです。
しかし、TAU-benchを正しく実現する上で非常に重要だと分かったもう一つのことは、これらのLLMを使用してデータ生成をスケールアップすることでした。TAU-benchのタスクを作成する際には3つのステージがあります。ステージ1と3は手動です。しかし、データベーススキーマとAPI、ポリシーを設計した後は、GPT-4oのような言語モデルを活用して、多くの現実的なデータを生成しスケールアップします。
これが重要なのは、現実的なシナリオでテストできるようにしたいからです。すべての注文や個人の生年月日などを手作業で設計する必要はありません。これもLLMが有用な特定のケースです。全体として、より動的なシミュレーションベンチマークを開発する方法としてLLMを使用することに、私は非常に前向きです。このような動きが分野全体で多く見られるようになると思います。
TAU-benchで行った実験について簡単にお話ししましょう。これは研究論文なので、主に評価したのは関数呼び出しやReActを備えた最先端のLLMでした。そして2つのことを調べました。
まず、各エージェントがTAU-benchのタスクをどの程度うまく完了できるかです。そして2つ目の部分では、pass^kと呼ばれる新しい指標を導入しました。これは基本的に、同じシナリオをk回実行するように求められた場合に、エージェントがどの程度うまく実行できるかを測定するものです。そして、そのタスクについてパスを得るためには、エージェントがk回のシナリオすべてで成功する必要があります。
結果を非常に簡単にまとめましょう。詳しくは論文を読んでいただけますが、高レベルで見ると、ベンチマーク自体にはまだ改善の余地が多くあります。ご覧のように、様々なモデルがあります。もちろん、時間とともに状況は変化していますので、実行時には少し異なる数値が得られるかもしれません。
しかし、ここでの重要なポイントは、これらの関数呼び出しやReActベースのエージェントには、まだまだ改善の余地が多くあるということです。しかし最も興味深い部分は、右下にある信頼性の測定です。ここで見られる下向きの曲線は、x軸でkを増やしていった時のpass^kをプロットしたものです。そして、実際にそこにあるほぼすべての、というよりすべてのエージェントについて、特定のシナリオで1回実行した時は非常に高い値を示しています。
しかし、同じシナリオを複数回再実行すると、pass^kスコアはかなり下がります。これは基本的に、1回だけ実行した場合に考えられるほど、エージェントが信頼性が高くない可能性があることを示しています。これは、シミュレータが本当に力を発揮できる絶好の例だと思います。人間のテスターに同じシナリオを32回実行してもらうことを想像してみてください。それは現実的ではありません。
このタイプのスケーリングは、実世界のエージェントをテストするためにLLMベースのシミュレータを使用する際に見られることを、私は楽しみにしています。以上が基本的な内容です。ありがとうございました。TAU-benchについてもっと試してみたい方は、GitHubでコードをチェックできます。また、ブログ記事も読むことができます。
そして先ほど申し上げたように、アーカイブに論文を公開しています。ありがとうございました。

コメント

タイトルとURLをコピーしました