LLMを応用した高性能ウェブアシスタントの開発に重要な要素とは?
3つの要点
✔️ 大規模言語モデルのウェブUI応用の可能性と課題:大規模言語モデルを用いたウェブアシスタントはウェブからの情報取得において人間の効率を向上させる可能性があるが、現実のウェブサイトでのタスク完了精度はまだ約15%と低い。
✔️ 性能向上のための重要要素:ウェブページからの重要な情報を効率的に特定・取得する能力、具体的な自然言語コマンド、HTMLの適切な処理、大規模言語モデルが取り入れるペルソナが性能向上に寄与。
✔️ 実験結果による洞察:Claude2を用いた実験は、サンプル選択、クエリの具体性、HTMLの扱い方、ペルソナがウェブアシスタントの性能に大きな影響を及ぼすことを示し、これらの要素の適切な調整がタスク完了精度の向上につながることを明らかにした。
"What's important here?": Opportunities and Challenges of Using LLMs in Retrieving Information from Web Interfaces
written by Faria Huq, Jeffrey P. Bigham, Nikolas Martelaro
(Submitted on 11 Dec 2023)
Comments: Accepted to NeurIPS 2023 R0-FoMo Workshop
Subjects: Computation and Language (cs.CL); Information Retrieval (cs.IR)
code:
本記事で使用している画像は論文中のもの、紹介スライドのもの、またはそれを参考に作成したものを使用しております。
概要
近年、大規模言語モデルはUIタスクの多くの分野で注目を集めています。自然言語コマンドを理解して、ウェブUIから関連情報を取得できるウェブアシスタントは、人間の効率を大幅に向上させる可能性があります。最近の大規模言語モデル(LLM)の進歩とHTML解釈の可能性によって、自律的なナビゲーションが可能な大規模言語モデル駆動型のウェブアシスタントに焦点を当てた研究が主流となっています。
しかしながら、これまでのウェブアシスタントは現実のウェブサイトでのタスク完了精度が15%程度にとどまっており、日常的に利用できる段階には至っていません。
ユーザーが指定したタスクを成功させるためには、一連のウェブページをナビゲートする必要がありますが、その一連のタスクは、各ステップで各ページからUI要素を特定して取得するなど、基本的な操作を正確に実行することで実現されています。
この論文では、大規模言語モデル駆動型のウェブアシスタントの性能向上のため、ウェブページ内の重要かつ関連する要素を取得する性能を探求することを目的としています。言えば、応用力の前に、基礎能力の向上を目指しています。
この論文では、次の入力プロンプトの4つの要素に関して調査を実施し、大規模言語モデルのパフォーマンスはこれらの要素に依存していることを示しています。
- Few-shotプロンプトのサンプルの選択:少数のサンプルの選択がパフォーマンスにどのように影響するか
- 自然言語コマンドの具体性:入力コマンドの具体レベルがパフォーマンスにどのように影響するか
- HTML切り捨て戦略:HTMLエンコーディングの戦略がパフォーマンスにどのように影響するか
- LLMによって想定される特定の役割(ペルソナ):LLMによって模倣される役割の選択がパフォーマンスにどのように影響するか
また、この論文では、大規模言語モデルが直面する一部の制限(例えば、存在しないウェブ要素の幻覚や入力指示に従わないこと)と、これらの制限に対処するための今後の方向性と可能な解決策について議論しています。大規模言語モデルを使用する際に考慮すべき重要な要素を浮き彫りにし、特定のタイプのタスクや状況における最適な戦略を選択するための貴重な洞察を提供しています。
実験
この論文では、Anthropic社によるClaude2モデルを使用しています。Claude2は、これまでのすべての大規模言語モデルの中で最大の100kトークンのコンテキスト長を持っています。大きなコンテキスト長は、ウェブページ上に存在する可能性のある数千の要素を考慮すると、ウェブUI分析に向いていると言えます。
次に、各サンプルを「{{w, q}, e}」のセットとして定義しています。ここで、w、q、eは、それぞれ現在のビューポートのHTML、ユーザークエリ、および基準となるUI要素を表しており、Ψは、次のように最も重要なUI要素を取得するものとして定式化されています。このΨの性能を評価することが目的です。
この実験設定は、ウェブUIタスクにおける大規模言語モデルの能力を測定するための精密なアプローチを提供しています。HTMLコンテンツ、ユーザーのクエリ、そして目標とするUI要素を含む具体的なサンプルを通じて、モデルがどの程度効率的に重要な情報を特定し、取得できるかを評価することができます。
実験には、Mind2Webデータセットを使用しています。Mind2Webは、137のウェブサイトから収集した2,000のオープンエンドで実世界のタスクを含んでおり、この実験に適したデータセットです。このデータセットには、(1)クロスタスク:学習中に未確認のタスクからのサンプル(2)クロスウェブサイト:未確認のウェブサイトからのサンプル(3)クロスドメイン:未確認のドメインからのサンプル、の3つの異なるテストセットが含まれています。これら3つのテストセットは、大規模言語モデルの一般化能力を理解するのに特に役立ちます。
また、HTMLのレイアウトは複雑な場合が多く、複数の要素が同じ情報を指すようにネストされています。例えば、Walmart.comからの例では、下図のように、検索ボタンには1つの子要素(検索アイコン)があります。検索ボタンまたはアイコンのどちらかを予測しても、同じ結果が得られます。これに対処するために、予測されたUI要素を基に、その下にあるリーフノードを展開して、それらを基準ラベルの同じものと比較しています。
この実験では、Recallと各要素に対するAcuraccyで性能を評価しています。
下表は、どのようなサンプルを学習データから選ぶかによって各テスト(Cross-Task、Cross-Website、Cross-Domain)での性能がどのように変化するのかを表しています。
Cross-Taskでは、学習データから選んだサンプルが大きく性能を向上させています。これは、学習データにテストデータと似たタスクが含まれているため、システムがより良く学習できたものと考えられます。しかし、Cross-WebsiteとCross-Domainでは、選んだサンプルがあまり役に立っていません。これは、学習データとテストデータの間でウェブサイトやドメインが異なり、システムが未知の環境に対応できていないためと考えられます。
この実験では、サンプルを選ぶ際に、1ショットプロンプト(1つのサンプルだけを用いる方法)が、2ショットプロンプト(2つのサンプルを用いる方法)よりも良い性能を示しています。これは、入力の長さが増えると性能が落ちるためと考えられます。しかし、プロンプトのサンプルを固定する場合(常に同じサンプルを使う場合)、2ショットプロンプトを使った方が、一貫して性能が向上しています。これは、ウェブUIにおいて、意味のあるサンプルを提供するだけでなく、その長さにも注意する必要があることを示していると考えられます。
Claude2の性能は使用する学習データのサンプルに大きく依存しており、どのようなテスト環境に対しても一貫して高い性能を発揮するためには、適切なサンプルの選択とプロンプトの方法が重要であると言えます。
下表は、ユーザークエリの具体性のレベルに基づいたClaude2の性能を表しています。
既存のUIデータセットでは、ユーザークエリの具体性を表すタスクの説明が非常に細かく、実用とはかけ離れていたため、この論文では、タスクの説明を3つのレベルで再定義し、変更を加えています。
- 詳細:テストセットからのオリジナルのタスクの説明
- 簡略化:本質的な詳細のみを含む簡略化されたタスクの説明
- 抽象:いかなる詳細も含まない、実世界のユーザークエリを模倣する高レベルのタスクの説明
これらの異なる説明タイプを使用して、GPT-4を用いて簡略化された及び抽象的な説明を作成しています。そして、これは大規模言語モデルが、UIタスクに関連する具体性の影響を調査する、最初の試みであるとしています。
結果として、ユーザークエリの具体性がより抽象的になるにつれて、大規模言語モデルの性能が徐々に低下することが観察されています。しかし、プロンプトのサンプルが固定された場合、性能はすべての具体性レベルにおいて比較的一貫しています。
また、生のHTMLは1ページに数千の要素を含むことがあり、そのような大量の情報をLLMモデルで処理するのが難しくなることがあります。そこで、情報に乏しい要素をフィルタリングし、大規模言語モデルに入力する前にHTMLを切り捨てることも検討されています。下表はHTMLの切り捨てのレベルを変えた結果を表しています。切り捨ては、切り捨てを行わない場合と比較して、大幅に性能を改善しています。
さらに、関心があるUI要素がユーザーによって異なる可能性があります。例えば、UI/UXデザイナーはアプリケーションのインタラクションフローに興味があるかもしれません。一般的なユーザーは可能な限り早く情報を見つけたいだけかもしれません。つまり、ユーザーのペルソナによって、性能が変わる可能性があります。
そこで、この論文では3つの異なるペルソナ(1)一般ユーザー(2)ウェブアシスタント(3)UIデザイナーペルソナを調査しています。各ペルソナのプロンプトは下図のようになっています。
各ペルソナの入力プロンプトの違いに基づくClaude2の性能は下表のようになっています。ウェブアシスタントは(Cross-Taskでの2ショットプロンプトを除いて)他のペルソナよりも著しく優れたパフォーマンスを示しています。
まとめ
この論文では、特定のタスクを与えられた時に、ウェブページから重要な情報をどのように発見するのかという大規模言語モデルの能力を探っています。また、ユーザーがどれだけ具体的な質問をするかということが、モデルのパフォーマンスに関係すること明らかにしています。
これからの研究では、これらの発見から学び、モデルがより反応良く動作するように改善することが考えられます。つまり、モデルがいつユーザーに介入してさらなる情報を求めるべきかをよりよく判断できるようにすることが考えられます。特に、プロンプトがあいまいでも、ユーザーの意図をより正確に理解し、反応できるようにすることが興味深い方向性です。モデルが微妙なニュアンスを読み取り、適切に反応する能力を向上させることができるかもしれません。さらに、モデルはユーザーの個人的な情報やその他の文脈(場所、時間など)からも学ぶことができますが、将来的には、このような個人情報を扱う際のセキュリティの問題にも対処する方法の検討も必要になると考えられます。
この研究は、今のところ、Anthropic社のClaude2モデルに限定されていますが、将来的にはGPT-4、Llama V2、Vicuna、PaLM 2など、他の大きな言語モデルにも範囲を広げるとしています。この研究を他のモデルにも適用する際の一つの大きな課題は、限られたスペースの中に、大量のウェブページ情報(HTMLコンテキスト)をどのように収めるか、という点です。将来の研究では、ウェブページの構造(DOM)を正確に反映しながら、この情報を効率的にモデルに取り込む方法も研究する必要があるとしています。
この記事に関するカテゴリー