
20,785 文字

本日は皆様ご参加いただき、ありがとうございます。Russをここにお迎えできて本当に素晴らしいことです。Russは紹介の必要もないほどの方で、ディープラーニングと機械学習の分野で素晴らしい業績を残されています。私にとって、彼は最も興味深いディープラーニング研究者の一人で、理論と実験結果を見事に橋渡ししてくれる方です。
ありがとうございます。ご招待いただき光栄です。久しぶりのボストンです。この建物は初めてですが、素晴らしい施設ですね。
本日は、マルチモーダル自律型AIエージェントについてお話しさせていただきます。質問がありましたら、途中でも気軽にお聞きください。十分な時間がありますので。これはCMUで行った研究ですが、産業界とアカデミアの両方で進められている研究と非常に関連があります。
大規模言語モデルについては皆さんご存じですね。文脈内学習や、ゼロショット学習の能力、興味深い表現の獲得、世界知識の保持など、素晴らしい能力を示してきました。では次は何でしょうか?どこに向かっているのでしょうか?
様々な方向性がありますが、その一つが自律型AIシステムの構築です。あなたに代わって意思決定を行うシステムです。例えば、多くの生産的なタスク、特にコンピュータで行うタスクを自動化できるかもしれません。日常的なタスクを自動化し、人間の能力を拡張する大きな可能性があります。
例を挙げましょう。Amazon AWSインスタンスをセットアップしたことがある方はどれくらいいますか?そのプロセスを直感的で簡単だと感じた方は?なぜエージェントに「これをやってくれ」と頼んで、自動的にやってもらえないのでしょうか?
あるいは、なぜ私の論文の内容をパワーポイントのスライドにしてもらえないのでしょうか?私が若手教授やPh.D.学生だった頃は、多くの時間をそれに費やしていました。今は学生が手伝ってくれますが、エージェントにやってもらえれば素晴らしいですよね。
今日は主にウェブエージェントに焦点を当てます。このエージェントはHTMLやウェブ上の視覚的な表現を理解する能力を持っています。これによってウェブ上での活動の基盤が得られ、興味深いタスクを実行できます。
この分野では多くの研究がなされていますが、ここですべての論文を紹介することはできません。ウェブ上で興味深いタスクを実行できるエージェントの開発に大きな関心が寄せられています。
一例をお見せしましょう。これは厳選された例ですが、何が可能かを示すものです。「ピッツバーグの評価の高いタイ料理店のページに移動してください。少なくとも200件のレビューがあり、4.5星以上のものから、最高評価のものを選んでください」というタスクを与えます。
これはGPT-4.0エージェントが実際に行っている様子です。ウェブに移動し、Yelpを選択して、「ピッツバーグのタイ料理店」と入力します。これは全て自律的に行われています。思考連鎖による推論を行い、ページをスクロールして、最終的に正しいレストランを見つけ出します。PDガーデンというレストランで、ピッツバーグでは実際に評判の良い店です。
次に「このレストランに2名で最も早い日に予約を入れてください。名前はJY、電話番号は…」と指示できます。エージェントはGoogleで検索し、レストランを見つけ、予約可能な日時を探し、確認を求め、正しい電話番号を入力して送信します。その後、確認コードが必要なため停止します。これは実際のウェブ上で行われています。
マルチモーダルの設定では、「このデザインが入ったシャツを探してください」といった指示もできます。画像の視覚的な理解が必要で、Amazonに移動して検索し、該当するシャツを見つけ出します。
これらは非常に厳選された例で、現時点でこのようなシステムが完成しているわけではありません。しかし、エージェントがウェブ上で何ができる可能性があるかを示しています。これらのエージェントは、ウェブ上で何が起きているかを理解し、タスクを解決する方法を持っています。
私の講演は3つのパートで構成されています。まず、Visual Web Arenaと呼ばれるエージェント評価のためのベンチマークを紹介し、現状と課題について説明します。次に、これらのエージェントのための探索アルゴリズムについて説明し、何が上手くいき、何が上手くいかないかを示します。最後に、第1部で説明した内容が、実際の物理的なエージェント、つまり長期的なロボット操作タスクを実行できるエージェントにどのように応用できるかについてお話しします。
CMUで開発された興味深いものの一つがWeb Arenaです。現時点で最も現実的なウェブ環境の一つです。AmazonやReddit、GitHubなどの人気カテゴリーのウェブサイトが含まれています。これらのシミュレータ内のデータは実際のAmazon、Reddit、GitHubから取得しています。
興味深いことに、人間はこれらのタスクを78〜80%の成功率で完了できますが、言語モデルは14%に留まっています。しかし、これらのタスクはHTMLコードのみを使用するように設計されており、HTML自体の扱いが非常に難しいことが分かっています。
HTMLの操作が難しい理由の一つは、JavaScript、CSSコードが含まれており、ウェブページを読むと基本的に理解不能だということです。また、ウェブを閲覧していく中で、これまでに見てきた内容のコンテキストが非常に大きくなり、これらのモデルはうまく対処できません。
そこで私たちは、Visual Web Arenaを構築し、これらのマルチモーダルモデルの能力をテストするために、視覚的に基づいたタスクを設計しました。視覚的な入出力を用いて、興味深く現実的な環境を実現しています。
基本的に3つの設定があります。一つはOne-Stop shopと呼ばれるAmazonタイプの体験を模したもの、Redditと、Craigslistのような体験を模したOS classです。OS classでは閲覧、投稿、情報検索が可能で、その情報はLLMや視覚言語モデルに入力されます。これらの言語モデルがアクションを取ります。
これらの環境がどのようなものか、例を示してから、定義についても詳しく説明させていただきます。
例えば、この自転車の画像を見せて、「500ドル以下で出品されている同じ自転車を見つけ、出品価格から10ドル引いた価格で購入を申し出てください」という指示を出します。エージェントは自転車のカテゴリーに移動し、300〜500ドルの範囲で検索を始め、最終的に該当する自転車を見つけ出します。そして投稿を作成し、「価格から10ドル引いた金額で売っていただけませんか?」という交渉を自律的に行います。
「マウスのナビゲーションについても学習するのですか?」というご質問については後ほど説明させていただきます。入力や行動空間がどのようなものかについても説明します。
高レベルでは、これをMDPやPOMDPタイプの問題と考えることができます。状態があり、行動があり、エージェントは多くの異なる行動から選択して、タスクを達成する必要があります。
「Arenaについてもう少し詳しく説明していただけますか?」
はい、環境自体については後ほど説明させていただきます。タスクの数としては約900個あります。多様性という意味では、画像や問題解決の方法に関して非常に豊かです。複数の解決パスがあり、タスクを達成するための方法も複数存在します。
つまり、これは巨大なウェブスクレイピングではなく、900程度のタスクと適応的な…その通りです。この環境の重要な点は、シミュレータであるということです。なぜなら、何かをクリックすると次の状態が生成されるからです。
もう一つの例を見てみましょう。「最も安価なカラープリンターを購入し、画像に示されている住所に送ってください」というタスクがあります。住所が逆さまになっているのがわかります。このようなタスクを設計しているのは、既存のモデルがこれらをうまく解決できないからです。
エージェントは最も安価なプリンターを見つけ、正しい住所でフォームに記入し、注文を完了する必要があります。これは非常に複雑なタスクです。
別の例では、異なるウェブサイトを横断的に探索します。「2022年に最も砂糖きびを生産した地域の名目GDPはいくらですか?」という質問に対して、グラフを理解する必要があります。2022年にはアジアが最も生産量が多かったものの、1919年ではそうではありませんでした。
エージェントはこれがブラジルであることを特定し、WikipediaでブラジルのGDPを探し出す必要があります。
環境自体はどのように構成されているのでしょうか?この環境はMDPまたはPOMDP環境として考えることができます。状態、行動、観測、遷移関数があります。
観測は、ウェブページのスクリーンショット、そのページを生成したHTMLのDOMベースの表現、またはHTMLを整理した可読性の高いアクセシビリティツリーとして扱うことができます。
また、行動の集合があります。ウェブ上でどのような行動が取れるかについて、多くの研究がなされています。クリックやホバーなどの基本的な行動に加えて、「入力」という興味深い行動があります。特定の要素IDに対してテキストを入力する必要があり、何を入力するかを生成しなければなりません。
これは単なる離散的な行動の集合ではなく、非常に豊かな行動の集合です。特定のURLに移動したり、戻ったり、進んだり、上下にスクロールしたりできます。通常、問題を解決する際、ポリシーまたはLLMは停止行動を生成し、答えを生成する必要があります。
遷移関数は現時点では決定論的です。つまり、特定の状態で特定の行動を取ると、一つの状態に確定的に遷移します。ウェブページが動的に変化するような確率的なシステムでは動作していません。その拡張を検討していますが、現時点ではシミュレータとして決定論的な遷移を扱っています。
報酬関数も現時点では非常にシンプルで、基本的に0-1の報酬です。特定のタスクに対して、特定の状態で特定の行動を取ったとき、正しい状態であれば報酬は1、そうでなければ0となります。
部分的なタスクの達成に対する報酬は実装していません。なぜなら、同じ状態に到達する複数の経路が存在するからです。
プリンターを購入するという例で、必要な手順を見てみましょう。まずOne-stop marketのホームページからスタートし、プリンターカテゴリーに移動します。価格の降順でソートし、4つの中から最も安価なカラープリンターをクリックする必要があります。価格を確認し、ショッピングカートに追加し、チェックアウトに進み、視覚的な入力に基づいてフォームに正しく記入し、注文を確定します。
評価モデルは、すべての条件が正しく満たされた状態に到達した場合に1、そうでなければ0という報酬を与えます。これらのモデルがどこまで到達できるか、どこまで押し進められるかを理解しようとしています。
ショッピング、Craigslistタイプの分類広告、Reddit上での質問回答や対話、さらに異なるサイト間を移動するマルチサイトタスクがあります。難易度は視覚的な難しさと推論の難しさの観点から考えることができます。
CMUの修士課程の学生にタスクを解かせ、推論の難しさは主にタスク完了に必要なクリック数で測定しました。また、所要時間も記録し、視覚的な難しさについては主観的な評価を得ました。重要な点は、これらのタスクの約15%が視覚と推論の両方において「簡単」に分類されることです。数回のクリックで解決できるような簡単なタスクです。
インターフェースは人間向けに設計されていますが、今はエージェントが最適化しようとしています。将来的には、HTMLにエージェントが簡単にパースできるようなコードを含めるなど、パラダイムをシフトすることを考えていますか?
これは非常に良い質問です。10年後には、これらのエージェントが実際に機能するようになり、ウェブサイトは人間ではなくエージェント向けに構築されるかもしれません。私はウェブサイトに行ってクリックする必要すらないかもしれません。エージェントにタスクを依頼するだけでよいでしょう。
それがどのように進化していくかは見守る必要がありますが、少なくとも現時点では、視覚情報がテキストの理解と併せて非常に有用であることが分かっています。これらのシステムが機能し始めれば、ウェブの進化が変わる可能性がありますが、一夜にして起こることではありません。
長い行動の連鎖があり、それが長くなるほど、どこかで間違える可能性が高くなります。エージェントに軌道を自己修正させるように促しているのか、それともホーム画面から再スタートさせるのですか?
これは非常に良い質問です。長期的なタスクにどう対処するかについては、講演の第2部で詳しく説明させていただきます。
報酬関数に関して、例えば一部のタスクでは完全一致を求めます。正解が明確に分かっているからです。他のタスクでは視覚的な表現があり、「この緑のポロシャツをウィッシュリストに追加して」といった場合、プロキシ評価器を使用します。完璧ではありませんが、タスクの完了と未完了を合理的に評価できる関数があります。これらは1か0の報酬を与えます。
現在、LLMや視覚言語モデルはどのように動作しているのでしょうか?これらのモデルを構築する方法は多くありますが、アクセシビリティツリーやHTML表現というテキスト入力があり、これは非常に煩雑です。
さらに、視覚的な表現もあります。現在、私たちの研究を含む多くの研究では、セットマークス表現を使用しています。これは、クリック可能な要素の周りにバウンディングボックスを配置し、各要素にIDを関連付けるものです。これにより、エージェントは「要素ID 33をクリック」や「要素ID 17に入力」といった行動を取ることができます。
多くのウェブサイトでは、単純なJavaプラグインでこれらの情報を生成できます。これは視覚入力の解析表現を提供する、完璧なセマンティックセグメンテーションのようなものです。
座標ベースのアプローチなど、他の方法も研究されています。「座標56,37に移動してその要素をクリック」といったものですが、これはまだ開発途上です。
実際の動作を見てみましょう。「投稿のコメントセクションに移動してください」というゴールを与えられると、画像とアクセシビリティツリーやHTML表現の形式で観測が得られます。これにセットマークスを追加し、各IDにボックスを関連付けることで、エージェントはどの要素をクリックできるかを理解できます。
これがマルチモーダルLLMに入力され、テキストと視覚的な表現の両方を理解します。通常、思考連鎖または説明を生成し、「段階的に考えてみましょう。目的は投稿を見つけてコメントセクションに移動することです。観測から、この投稿に移動するには寿司に関連付けられたコメントリンクをクリックする必要があることが分かります。要約すると、次の行動は…」といった形で進み、「要素ID 34をクリック」という具体的な行動を生成します。
もちろん、このようなモデルの学習は困難です。ウェブ閲覧中に自分の行動をすべて説明するようなデータを得ることは簡単ではありません。しかし、これらのモデルを学習させるにはそのようなデータが必要です。人々の行動とその説明を注釈付けする多くの研究が進められています。
テキストのみのモデルでは10%程度の性能しか達成できません。これはGPT、Geminiなどの最高性能のモデルでも同様です。画像にキャプションを付けてテキストとして表現する方法では、マルチモーダルの要素を除外しても、より良い表現が得られます。セットマークスを使用するとさらに性能が向上し、13〜33%から19%へと大きく改善します。
視覚的な表現を理解できるエージェントは、より多くのタスクを解決できるのです。これに対して人間の性能はこのあたりにあります。CMUの修士課程の学生たちなので、当然賢い学生たちですが、100%には到達しないことに驚きました。
人間はどこで失敗するのでしょうか?このような「プリンターを見つけて送って」といったタスクで、何が原因だと思いますか?
住所の入力ミスなどでしょうか?いいえ。
分類広告は非常に面倒で、複数のステップがあり、学生は途中で諦めてしまうのでしょうか?はい。
例えば、「3年以上、3年未満の黒いトヨタで最も安価なものを見つけて、投稿してください」というタスクで、学生はトヨタのトラックを1台見つけ、もう1台見つけて「完了です」と言います。最も安価なものを見つけて投稿するというタスクですが、実際にはまだ10台のトヨタのトラックが残っているのです。
もちろん、正解を見つけるためにより多くの報酬を与えれば、100%達成できるかもしれません。また、タスクは解決できているのに、「注文を確定する」という最後のクリックを忘れてしまうというミスもよく発生します。その場合、モデルは注文が確定されていないためタスク未完了と判断します。
ここで、エージェントは人間よりも優れた性能を発揮する可能性があります。情報を探す際、エージェントは全体を検索して正しい答えを見つけることができるからです。とはいえ、まだ大きなギャップが存在します。
連鎖の長さ以外に、AIにとって難しい点は何でしょうか?
これについては後ほど説明しますが、一つの大きな問題は、これらのエージェントが現時点ではメモリを持っていないことです。そのため、「これを試してみよう、あれを試してみよう」とループに陥ってしまうことがあります。
視覚的な処理の問題も大きく、入力を理解できないことが多々あります。また、早期に停止してしまったり、「青いシャツを買ってください」と指示されたのに、黒いシャツしかないページに到達して「青いシャツがないので解決できません」と諦めてしまったりします。少し戻って探索を続ければ解決できる問題でも、多くのシステムはそうしません。
エージェントの能力は、観測のパース、目的の理解、計画や推論の実行、高レベルの計画生成、低レベルの行動生成という要素で構成されています。高レベルの計画を精緻化しながら、停止するまで続けます。
これはすべて一つのコンテキストウィンドウ内で、一つのLLMが次の答えを生成する形なのでしょうか?それとも、特定の部分を外部に委託するマルチエージェントのセットアップなのでしょうか?
現時点では単一のエージェントで動作しており、目的が与えられると、計画を立て(必須ではありませんが理想的には)、入力を処理し、低レベルの行動を実行します。
例えば、計画は興味深い問題で、後ほど物理的なエージェントの話でも触れます。ショッピングのような場合、ナビゲーション、ソート、選択、購入といった高レベルの計画を多くのドメインで転用できます。ここでは1つの低レベル行動、ここでは2つの低レベル行動といった具合です。
計画に関する研究は部分的に成功していますが、まだ多くの課題が残されている興味深い研究分野です。
別の成功例を見てみましょう。「F memesの投稿にある画像の作者が気に入らないので、ブロックしてください」というタスクです。エージェントは複数のステップを実行する必要があります。ミームを検索し、見つけ出し、ナビゲートし、特定のユーザーを見つけ、実際にブロックするために複数の要素をクリックする必要があります。
これは成功例ですが、特にReddit関連のタスクに特化して学習や微調整を行っていないエージェントにとっては、非常に複雑なタスクです。
Visual Web Arenaは汎用エージェント構築への一歩と考えることができますが、現時点ではタスクはそれほど重要ではありません。経済的価値も限られており、比較的単純なタスクですが、それでもLLMはうまく実行できていません。
長期的には、経済的価値のある生産的なタスクの自動化を考えることができます。CMUでは、そのようなタスクを特定しようとする多くの研究が行われています。例えば、米国労働省が作成した米国の労働者が行うすべての仕事のデータベースがあり、これらのタスクのうちどれだけを自動化できるかを検討する取り組みが行われています。
これは興味深い取り組みで、多くのタスクが潜在的に自動化可能ですが、そのためにはエージェントの構築においてブレークスルーが必要です。マルチモーダルモデルは非常に重要だと考えています。なぜなら、多くのタスクが視覚的な基盤を必要とするからです。
PowerPoint、Googleスプレッドシート、Excel、Photoshopで実行するタスクには、強力な視覚言語モデルを持つ汎用エージェントが必要です。特に産業界では、規模の観点から、視覚的な表現の優れた基盤を構築するための多くの研究が進められています。
既存モデルの失敗パターンとして、前述のようにウェブページ間を行き来してループに陥ることがあります。RedditからWikipediaに行き、WikipediaからRedditに戻り、また戻ってを繰り返し、最終的に行き詰まってしまいます。
時には正しい経路でタスクを実行しているにもかかわらず、それを取り消してしまうような奇妙な軌道を描くこともあります。多くの場合、エージェントは探索を早期に停止してしまい、停止行動を生成して「完了です」と宣言します。
視覚的な処理の失敗も多く、間違った要素をクリックしたり、複雑なウェブページで特定の項目を識別できなかったりします。空間的な推論も時々失敗し、「最初の行の商品の価格は?」といった質問に答えられないこともあります。
エージェントが長期的なメモリを持っていないため、行き来してしまうという話がありましたが、エージェントの行動履歴をコンテキストに含めていないのでしょうか?
これまでの履歴全体を含める方法もありますが、視覚的な処理が難しくなり、コンテキストが大きくなるため、注意が必要です。コンテキストが大きくなるほど、これらのモデルの性能は実際に低下します。効率的にコンテキストを使用することが得意ではないのです。
より賢明な方法が必要で、VAEや履歴の圧縮表現を構築する方法などが研究されています。この研究をフォローアップした論文でも改善が示されていますが、まだ解決されていない研究課題です。
性能が低下するというのは、どういう意味でしょうか?記憶の想起が悪くなるということですか?
基本的には、Visual Web Arenaで与えられたタスクをどれだけ解決できるかという意味です。私たちにとっては、正しい状態に到達したかどうかが明確に定義されています。どのようにそこに到達したかは問題ではなく、正しい状態に到達したかどうかが重要です。
コンテキストに正しい解決策の例を含めると役立ちますか?
はい、それは可能ですが、コンテキストの使用方法に注意が必要です。現在の実験では、コンテキストは使用していません。主に、思考連鎖を伴う一連の行動と、現在の状態の視覚的な表現とHTML、これらが次の行動を決定するための情報となります。もちろん、より良い方法があるかもしれません。
クリック可能な項目について、その意味をどのように与えているのですか?ビジョントランスフォーマーを使用しているのでしょうか?
現在、GPTモデルやLlamaモデルは視覚エンコーダーを持っています。視覚エンコーダーは画像全体をエンコードし、どの要素をクリックするかを出力する必要があります。セットマークス表現を理解する必要があり、多くのモデルはプリトレーニングとポストトレーニングの段階で、これらのバウンディングボックスと要素IDの関係について学習しています。
これらの仕事を自動化できることを学ぶこと以外に、ウェブ上でこのようなことをするエージェントを作ることの実際の経済的または人道的な価値は何だとお考えですか?
現時点では、主に実験的な取り組みです。オープンフィランソロピーからの助成金で、どのようなシミュレータを構築でき、オンラインショッピングを超えてどのようなことができるかを探っています。
人々がタスクをより速く達成できるようにするためのタスクを特定しようとしていますが、まだ非常に初期段階です。これらのタスクの多くは、非常に優れたコミュニケーション能力、計画能力、技術を必要とするため、現時点で人間をエージェントに置き換えることは困難です。まだそこまでには至っていません。
私たちにとっては、何が可能かを探るための実験的な取り組みです。現在解決しているタスクは、あまり重要な価値を持たないかもしれません。
Web Arenaをより堅牢にするための独自の興味深い方法はありますか?例えば、インターネット接続が遅い場合のバッファリングや、悪意のあるサイトへの対応など、実際のウェブとのギャップを埋めるための方法は?
はい、悪意のあるサイトと安全性については、講演の最後で触れさせていただきます。
タスクを解決する軌道について、ランダムな試行錯誤で解決する場合と効率的な解決の違いをどのように…
はい、それは良い質問です。通常、探索にどれだけの時間を使えるかという予算制約を設けています。また、エージェントが停止行動を生成した場合、それで停止します。
エージェントが「停止します」という特別なトークンを生成した場合に停止し、また20ステップ以上は実行できないという予算制約があります。これは、実行コストがかかるためです。
長期的な推論と計画は非常に大きな研究課題です。また、エージェントに探索を許可し、並列に複数のインスタンスを実行して調整したり、確認や確証を求めたりすることも必要です。
強力な視覚言語符号化モデルも必要です。これらのエージェントを改善するためにコードを使用する研究もあります。また、HTML、スクリーンショット、APIのための抽象化レベルも必要です。
第2部に移りましょう。これらのモデルを改善する方法はいくつかありますが、この分野で働いている人々にとって驚くべきことではありませんが、エージェントには指数関数的なエラーの蓄積があります。
正しい行動を取る精度が90%だとしても、10の行動を取る必要がある場合、結果は良くありません。このような高い精度の領域に到達する必要があります。そうでなければ、指数関数的なエラーの蓄積により、エージェントは失敗してしまいます。
モンテカルロ探索やその他の推論時最適化アルゴリズムに取り組んだ人なら誰でも知っているように、局所的な決定が大域的な結果につながります。
例えば、「ココナッツミルクをカートに追加する」という場合、要素ID 31をクリックするか、要素ID 24をクリックするかという選択があり、実際には指数関数的に多くのパスが存在します。これが正しいパスで正解を得られるとして、最初のクリックに関連する確率があります。
これは間違いで、これが正しいとした場合、どのように正しいパスを見つけることができるでしょうか?私たちが発見したのは、素朴な方法として、停止するまで言語モデルから行動をサンプリングすることです。
これはサンプルであり、結果の軌道を評価してタスクを解決したかどうかを判断し、解決できなかった場合は繰り返します。単純なアルゴリズムですが、繰り返しサンプリングが実際に役立つことが分かりました。
ここでオラクルと呼んでいるのは、10の軌道を生成して、そのうちの1つでも正解を得られれば正しいと判断することです。実践では、どれが正しいか分からないので、これは良いか悪いかを判断する報酬モデルが必要です。
訓練時には何が正しく何が間違っているかが分かるので、繰り返しサンプリングが実際に役立つことが分かります。空間は指数関数的に大きいので、探索を導くことはできるでしょうか?
アイデアは非常にシンプルで、中間ノードに適用する価値関数を学習します。これは標準的なアイデアで、ベストファーストサーチアルゴリズムの一形式と考えることができます。
必要な要素は、行動を提案するベースラインエージェント、環境をバックトラックする方法(これは工学的にはやや難しいですが、特定の状態から異なる行動を提案し、異なるウェブサイトに移動できますが、前の状態に戻る方法が必要です)、そして価値関数です。
価値関数は、これまでの観測と一連の行動、現在の観測が与えられたとき、これらの状態がどれだけ良いかを推定する方法です。これは標準的な価値関数で、期待報酬を推定したり、成功するかしないかを推定したりすると考えることができます。
では、価値関数の推定はどのように行うのでしょうか?私たちの場合、非常に素朴にマルチモーダルLLMにプロンプトを与え、判定者または評価者として機能させています。
完全な軌道と対話を与え、その状態がどれだけ良いと考えるかをモデルに尋ねます。完璧ではありませんが、少なくとも検証者として簡単に実装できます。
理想的には、独自の価値関数や、時には中間報酬モデルと呼ばれる、特定の行動を取ったときの各状態の良さを教えてくれるものを構築したいと考えています。Q関数を推定しようとしていると考えてください。
これはゼロショットで、ファインチューニングされていないのですか?
はい、ゼロショットでファインチューニングされていません。通常、3つのショット例を提供して、どのように動作するかを示します。もちろん、もっと改善できる余地があります。これは価値関数を構築する非常にシンプルな方法です。
ここで注意したいのは、バックトラッキングについてです。バックトラックできる行動とできない行動があります。シミュレータでは何でもできますが、実世界ではできないことがあります。例えば、商品を購入して「間違った商品を買ったので前の状態に戻りたい」とは言えません。
例を見てみましょう。「同じブランドで、これと似ているけど茶色の代わりに赤い果物を比較ページに追加できますか?」というタスクがあります。これらのタスクは実際に修士課程の学生が設計したもので、非常に印象的です。
人間が生成したタスクで、完璧ではありませんが、アイデアを示しています。スタートし、価値の推定(Q関数のようなもの)があり、異なる行動に対する価値関数の推定があります。
次のステップを取り、前のステップに戻り、また進むというように、ベストファーストサーチのような形で進めます。成功に至るまで続けます。
これは、各ステップで価値関数を構築するA*探索やベストファーストサーチの一形式です。この場合、Q関数を推定する必要があります。特定の状態で特定の行動を取ったとき、どのような報酬が得られ、成功する期待値はどのくらいかを理解しようとしています。
私たちが発見したのは、性能が実質的に向上することです。15%から90%への改善は無視できません。Visual Web Arenaではさらに大きな改善が見られます。
これは、これらの探索技術、推論時探索が実際にこれらのモデルを大幅に改善できることを示しています。もちろん、数値はまだかなり低いですが、以前は解決できなかった多くのタスクが、この探索アルゴリズムを実行することで解決できるようになりました。
エラーバーがないのはなぜですか?
実際の理由は、計算コストが高価だからです。これらの実験を行うのに数千ドルかかり、エラーバーを1つ追加するごとに数千ドルのコストがかかります。
いくつかの実験を実行しましたが、エラーバーは実際にはかなり小さく、プラスマイス数パーセント程度だと考えられます。得られた改善は有意な改善です。
タスクのサブセットで、予算を増やすほど性能が向上することが分かっています。これは頭打ちになっていないことを意味します。つまり、これらのモデルが解決できないタスクが確実に存在するということです。
多くの場合、モデルが何をしようとしているのかを理解できていないため、総当たりで探索しても解決できません。空間が指数関数的に大きいためです。
しかし、深さと幅、つまりどれだけ探索を進めるか、どれだけの行動を試すかについて、より多くの時間を費やすほど、これらのタスクのサブセットで精度が向上することが分かっています。
これは、探索が実際に役立つ可能性があることを示唆していますが、もちろん良い価値関数が不可欠です。また、ベースとなるエージェントのポリシーを改善する余地もまだまたたくさんあります。
これらのエージェントは十分に良くないことは明らかですが、私たちが使用している価値関数でも、探索と予算(計算コストと考えることができます)を増やすほど、数値は向上していきます。
探索のコストが高いほど、数値は良くなりますが、この時点でもまだ頭打ちになっており、人間レベルの性能にはまだまだ達していません。
これは興味深い環境で研究する価値があります。実際のデータを使用し、実際のウェブクローリングをシミュレートしているからです。
状態とは何を分類しているのですか?そのページ、リンクだけですか?
シミュレータのことを考えてみましょう。シミュレータには状態があり、その状態は内部表現です。その状態からビジョンの部分を生成します。HTML、アクセシビリティツリーを生成し、HTMLから実際のウェブページの表現を生成します。
特定の行動をクリックすると、状態が次の状態に遷移し、そこからHTML、アクセシビリティツリー、ウェブページを生成します。つまり、状態はシミュレータの状態であり、原理的にはすべての情報を含んでいます。
しかし、観測できるのはウェブページ、HTML、アクセシビリティツリーのみです。
これは軌道の例です。「この正確なアイテムを見たことがあります。最新の投稿を見つけてください。antique sectionで見たと思います」というタスクで、探索を通じてこれらの要素が見つかります。
こちらは興味深い例です。「私のアパートにこのようなものが必要です。ウィッシュリストに追加してくれませんか?」写真を撮って、それを見つけてウィッシュリストに追加できれば素晴らしいですね。
これは、これらのエージェントが…現時点では探索は遅いです。バックトラッキングは比較的素朴な方法で実装されており、工学的な努力が必要です。前述のように、ウェブ上の破壊的な行動への対処は非常に困難です。注文をして取り消すことはできないので、実世界でこれを展開する際には注意が必要な要素があります。
最後に言及したいのは、探索をポリシー改善関数として使用することです。現在、正しい軌道を見つけるために探索を使用し、その軌道を使ってモデルを訓練する多くの研究が行われています。
これはアカデミアと実践の両方で行われており、探索を使用して正しい軌道を見つけ、それを教師信号として使用する非常に興味深い方法です。
また、プロンプティングの代わりにファインチューニングによって価値関数を改善することも望ましいです。状態の価値を実際に理解するモデルが必要です。
もちろん、ベースラインエージェントをどれだけ良くするために投資するか、対して推論時にどれだけ探索を行うかというコンピュート上のトレードオフも存在します。
そして、完璧なシミュレータがない場合はどうするのか?これは興味深い質問で、実際のウェブ上でこのようなことができるのかということを多く考えています。データを収集するためにどのように実際のウェブ上で実行するかを検討しています。
最後の5分で、物理的なエージェントについても少しお話ししたいと思います。ウェブ上で行動を取るデジタルエージェントについて話してきましたが、私たちは実世界で物体を操作できる物理的なエージェントについても研究しています。
これらのエージェントの背後にあるアイデアは、デジタルエージェントとほぼ同じです。環境を理解するためのパースモデル、実行すべき一連の行動を計画するプランニングモジュール、そして低レベルの行動を実行します。
私たちは「計画、シーケンス、学習」と呼ぶ設定を構築しており、LLMが実行すべき一連の計画を提供し、視覚的な表現を理解するパースモジュール、そして実際の物体と対話する方法を学習する低レベルの行動学習モジュールがあります。
例えば、プランニングモジュールには状態、終了条件、タスクの説明、出力フォーマットが与えられ、タスクが何であるかを伝えると、モデルは実行すべき一連のステップを定義します。
「銀色のナットを掴み、銀色のペグに置き、これを掴んでそこに置く」といった具合です。LLMはこのような計画を生成することが比較的得意です。
入力表現として深度情報があり、セマンティックセグメンテーションを行い、特定の物体への動作計画を行うモーションプランニングを使用します。また、物体の近くでの対話方法を学習する局所的な強化学習ポリシーも学習します。
シミュレーションではこのように見えます。タスク報酬で訓練され、多くの異なる環境と異なるスキルにわたる単一の強化学習ポリシーです。観測は局所的で、物体との対話に焦点を当てています。
完全なパイプラインとしては、計画があり、姿勢推定とモーションプランニングを行い、特定の物体へのモーションプランニングを行い、強化学習による低レベル制御で物体との局所的な対話を学習します。
このように一連のステップを実行していきます。細部に悪魔が潜んでいますが、シミュレーションでこれらのモデルを構築することができ、これは長期的なロボットタスクの一例で、複数のタスクを実行しようとします。
ここ数ヶ月は、シミュレーションで学習したことを実世界に転移することに多くの時間を費やしています。ウェブエージェントと同様に、シミュレーションで学習し、これらのエージェントを実世界に展開して、どの程度うまく機能するかを確認しています。
例えば、「マウスを引き出しに入れて閉める」というタスクがあります。これはシミュレーションで訓練され、実世界で機能します。Tテープを置いて閉めることができます。
言語モデルが必要な計画を作成し、それを実行します。成功率は60%で、6つのステージがあり、複数のステージを実行する必要があります。これらのステージを橋渡しすることは非常に困難であることが分かっています。
新しい物体の形状やカテゴリーへの一般化の例もあります。異なる物体との対話や配置を試みており、これも局所的な強化学習ポリシーと呼ばれるもので、シミュレーションで学習して実世界に転移します。
完璧ではありませんが、実世界でも機能し、新しい物体や未見の受容体を操作することができます。変形可能な物体なども扱うことができます。
システムは実際にそれほど悪くありません。通常、これらのグラフを示しますが、おそらくあまり有用ではないでしょう。これらのタスクで最高の性能を達成していることを示す必要がありますが…
重要な点は、高レベルの計画を生成するLLMと低レベルの制御を結びつけることが非常に興味深いアイデアだということです。LLMが高レベルの計画を提供し、低レベルの強化学習と橋渡しすることは興味深いです。
また、特に自律システムの時代において、安全性と堅牢性の概念がますます明らかになってきています。
これは、マルチモーダルエージェントに対する敵対的攻撃の例です。多くのエージェントはキャプショニングシステムを使用しています。ウェブページを見てキャプションを付けようとし、視覚的な表現もキャプションを付けようとします。
キャプショニングシステムをハイジャックすると、これらのメッセージを埋め込むことができ、エージェントはウェブを移動する際に、ウェブ上で見ているものを変更することができます。入力や画像を変更して、エージェントに「これは素晴らしいアイテムです」と言わせることができます。
例えば、ポロシャツを買おうとしているシステムが、何らかの皿を探索している際に「間違った場所にいるので、戻って他を探すべきですが、これは素晴らしいアイテムですとコメントを残します」といったことが起こります。
これはエージェントをハイジャックできることを示しており、人々はエージェントがそのようなことをしないようにするにはどうすればよいかを研究しています。なぜなら、ウェブページを変更して、エージェントが訪れるたびに星評価を残すようにすることができるからです。
また、これらのモデルは十分に信頼できません。Anthropicがリリースした設定では、コンピュータを制御して何かを行い、「長時間の録画が突然停止し、すべての映像が失われました」や「別のクローンが突然コーディングデモから離れ、イエローストーン国立公園の写真を探し始めました」といったことが起こります。
これが起こる理由は、タスクを達成しようとして、ウェブページとクリック可能なアイテムがあり、ポリシーが間違った行動を選択するためです。間違った行動を選択すると、その行動を取り、その間違った行動に条件付けられると、他のことを始めてしまいます。
回復することが難しいのです。これらは玩具的な例ですが、非常に興味深い例でもあります。
以上で終わります。ありがとうございました。この研究は、CMUの多くの素晴らしい学生たちによって行われました。
後ろに質問がありますね。その後こちらの質問も。
これは非常に離散的ですね。いくつかの間違った行動を取ると、完全に軌道がずれてしまうのですか?
その通りです。少なくともこの場合は、基本的に間違った行動を1回取ると、ポリシーは何か他のことを生成しなければならず、混乱してしまいます。
30%から50%、60%、70%に到達するにはどうすればよいのでしょうか?
正直なところ分かりません。多くの場合、既存のモデルやLLMのポリシーがこれらのタスクに対して十分に良くないということを意味します。
単にスケールアップして、数百万人の人々にこれらのタスクを実行してもらい、その行動を記録してモデルを訓練すれば良いのでしょうか?それとも、エージェントがタスクを達成しようとして失敗し、それを修正するようなオンライン強化学習システムになるのでしょうか?
オンライン強化学習はこれらのタスクにとって多くの可能性があると思います。唯一の問題は、シミュレータがどれだけ良いか、実際のウェブ上でどのように実行できるかということです。
実際のウェブ上での実行も課題があります。Shamと話していたのですが、united.comに行って航空券予約の探索を実行することはできません。「航空券を予約しました。いいえ、予約しません。もう一度予約します」を繰り返すと、ユナイテッド航空は「ボストンからピッツバーグへの便に大きな需要がある」と判断して、価格を300ドルから3,000ドルに引き上げてしまうでしょう。何千人もの人がそれを試みているように見えるからです。
おそらく、彼らはただブロックするでしょう。これは興味深い問題です。オンラインの方法でどのように実行するのか、実世界で行うのか、シミュレータで行うのか(シミュレータには限界があります)、実世界でどのように行うのか、という問題です。
人間による注釈付けは答えにはならないと思います。非常にコストがかかり、労力を要するプロセスだからです。安全な方法でオンラインアルゴリズムをどのように設計するかは興味深い問題です。
これはウェブナビゲーションだけでなく、コーディングにも当てはまります。コーディングエージェントに関する多くの研究があり、私はエージェントにコードを書かせてバグを修正させたいと考えています。これには大きな経済的価値があります。
しかし、エージェントにコードを修正する許可を与えると、安全性が大きな問題となります。エージェントが誤ってコードベースを消去してしまう可能性があるからです。それはできません。
ここで使用している表現は何ですか?マルチモーダル表現を行う際、どのように取得しているのですか?言語モデルから何らかの内部表現を取得しているのですか?
その通りです。現在2つの方法があります。1つはGPT-4などのインターフェースを使用する方法です。この場合、表現にはアクセスできず、入力できるものと期待する出力を指定し、正しい出力が得られるかどうかを確認します。
Llamaスタイルのオープンソースモデルでは、行動を取る前に得られるトップレベルの特徴の、マルチモーダル表現自体を使用します。その表現は視覚とテキストの両方を含む4,000次元のベクトルです。
表現を使用する代わりに、思考連鎖のようなものを試すことはできますか?選択肢を示して「何をすべきか」を尋ねることはできますか?多くのプランニングでは、言語モデルが計画を立てることは十分に可能だと思われますが。
その通りです、まだそれは試していません。プランニングを行う際に、自己修正を行ったり、特定のフェーズで言語モデルに「ここまでやってきたけど、これは良いのか悪いのか」と尋ねることができるかもしれません。
これまでの唯一の方法は、価値関数を通じて行ってきました。特定の状態で、思考連鎖を含む完全な軌道を取り、GPT-4 miniやLlamaに「このタスクを解決しようとしている場合、この軌道はどれくらい良いか」と尋ねます。
これらのモデルは悪くありません。なぜなら、シャツを買おうとしているのに、シャツとは全く関係のない状態に到達した場合、モデルはその状態の価値がゼロに近いと判断できるからです。
実際に役立つのは、1回のプロンプトではなく、10回プロンプトを与えてその良さの分散推定を得て、平均を取ることです。これは実際に役立ちます。
これは、強化学習がどれだけ必要なのか、それとも言語とテキストのマルチモーダル学習を改善する方が良いのかという質問です。クリックした結果について学習されていれば…マルチモーダルな方法で訓練し、これを修正するとどうなるか、思考連鎖だけでこれらすべてを実行できるのか、それとも…
それは非常に良い質問です。マルチモーダル学習だけでどこまでできるのかは明確ではありません。なぜなら、次の行動を完璧に予測できれば、タスクを解決できるからです。
私が見る1つの違いは、これらのタスクは完全な軌道を予測する必要があることです。多くのマルチモーダルタスクは「ここに画像があります、これは何ですか」や「これは何のクラスですか」といった1ステップのものです。これは多段階のタスクです。
もう1つの点は、同じ状態に到達する方法が複数あることです。同じ状態に到達する異なる軌道が多くなると、少し興味深くなります。
現時点では、データを収集し続けるだけでどこまで到達できるのかという疑問がありますが、教師付きファインチューニングを超えて、良い価値関数やオンライン版の強化学習のような、何らかの興味深い研究が必要になると考えています。
しかし、それはまだ決定されていません。あなたの指摘の通り、私には分かりません。十分なデータがあれば機能するかもしれないことに驚きました。ただ、データの取得が非常に困難です。
合成データを得る方法があれば、かなり前進できると思います。
報酬については説明を聞き逃したかもしれませんが、割引報酬だけですか、それとも近接報酬もありますか?
現時点では近接報酬はありません。最終報酬のみです。中間報酬を得ようとしましたが、現時点でモデルの良さを評価する唯一の方法は、タスクを与えて、正しい状態が1つだけあることを知っているということです。
このタスクには正しい状態が1つだけ存在することが分かっており、どのパスを取ったとしても、その状態に到達すれば評価できます。これは検証可能な…そのように設計されています。
実際のタスクでは真実ではないかもしれません。タスクの中には、より決定論的なものもあれば、より知的な層があるものもあります。例えば「このTシャツを見つける」「このスウェーターを持っている」というのは、まあそうかもしれませんが、住所などのフォームに記入するのは非常に決定論的に感じます。
残念ながら、これがどれだけ推論を必要とし、どれだけが視覚的な理解と実行だけなのかを区別していません。人々がタスクを解決する際に、どれだけの推論が必要で、どれだけが視覚的な理解と実行だけなのかを尋ねてみましたが…
分かったことは、ステップが長くなるほど、最高のモデルでさえも、たとえ決定論的なフォーム入力であっても、どこかで間違える可能性が高くなるということです。
これらのインターフェースはそのように設計されています。Hicksの法則があり、これは人々にインターフェースを可視化するための法則で、本質的にフォームの完了をステップバイステップに分解することが、人々にとって最も簡単な方法だからです。
しかし、私たちのフォーム完了の方法は、フォームを表示し、バウンディングボックス要素があり、「要素17にこれを入力し、要素21にこれを入力し、要素37にこれを入力する」という順序であれば、必ずしも同じ順序で行う必要はありません。
しかし、最終的に特定の状態に到達したとき、住所は完全に一致している必要があります。一致していない場合、タスクを完了していないと判断します。住所を間違えた場合、成功とはみなしません。
Claudeはどのように訓練されたと思いますか?あなたのアプローチとはかなり異なるように見えますが。
私が思うに、彼らも同様のことを行っています。マルチモーダルモデルを構築し、おそらく人間の軌道とタスクの解決方法を収集し、それを模倣しようとしています。
現時点で機能しているのは行動クローニングです。多くの大学院生にタスクを解決してもらい、どのように解決したかを注釈付けし、その上で教師付きファインチューニングを行います。これは遠くまでは行きませんが、ある程度の成果は得られます。それが私の考えです。
異なるウェブサイトベンダー間での性能のバランスはどうでしたか?Amazonでは非常に優れているが、他ではすべて失敗するというのでは面白くないと思いますが。
すべてのウェブサイトで性能は同様でした。簡単なタスクもあれば難しいタスクもありましたが、特定のウェブサイトで大きく優れているということはありませんでした。900程度のタスクを30種類ほど作成し、均一に分布させました。ありがとうございます。


コメント