🚀 Llama-3-8B-Web
WebLlama
は、Meta Llama 3をベースにした強力なエージェントを構築し、Webの閲覧を支援します。初のモデルLlama-3-8B-Web
は、WebLINX
でGPT-4V (*
ゼロショット) を18%上回ります。
WebLlama は、Meta Llama 3をベースにした強力なエージェントを構築し、Webの閲覧を代行します |
初のモデルLlama-3-8B-Web は、WebLINX でGPT-4V (* ゼロショット) を18%上回ります |
 |
 |
🚀 クイックスタート
このモデルを使用するには、以下のコードを参考にしてください。
from datasets import load_dataset
from huggingface_hub import snapshot_download
from transformers import pipeline
valid = load_dataset("McGill-NLP/WebLINX", split="validation")
snapshot_download("McGill-NLP/WebLINX", "dataset", allow_patterns="templates/*")
template = open('templates/llama.txt').read()
state = template.format(**valid[0])
agent = pipeline(model="McGill-NLP/Llama-3-8b-Web", device=0, torch_dtype='auto')
out = agent(state, return_full_text=False)[0]
print("アクション:", out['generated_text'])
action = process_pred(out['generated_text'])
env.step(action)
✨ 主な機能
- 高性能:
WebLINX
ベンチマークでGPT-4V (ゼロショット *
) を18%以上上回り、ドメイン外のテスト分割で全体スコア28.8%を達成します(GPT-4Vは10.5%)。
- 多様なタスク対応:簡単な命令に従ったWebナビゲーションから複雑な対話主導の閲覧まで、幅広いタスクをサポートします。
📦 インストール
このモデルを使用するには、必要なライブラリをインストールする必要があります。以下のコマンドを使用してください。
pip install datasets huggingface_hub transformers
💻 使用例
基本的な使用法
from datasets import load_dataset
from huggingface_hub import snapshot_download
from transformers import pipeline
valid = load_dataset("McGill-NLP/WebLINX", split="validation")
snapshot_download("McGill-NLP/WebLINX", "dataset", allow_patterns="templates/*")
template = open('templates/llama.txt').read()
state = template.format(**valid[0])
agent = pipeline(model="McGill-NLP/Llama-3-8b-Web", device=0, torch_dtype='auto')
out = agent(state, return_full_text=False)[0]
print("アクション:", out['generated_text'])
action = process_pred(out['generated_text'])
env.step(action)
高度な使用法
高度なシナリオでは、独自のデータや環境を使用することができます。以下はその例です。
custom_data = load_dataset("your_custom_dataset", split="train")
custom_env = CustomEnvironment()
state = template.format(**custom_data[0])
agent = pipeline(model="McGill-NLP/Llama-3-8b-Web", device=0, torch_dtype='auto')
out = agent(state, return_full_text=False)[0]
action = process_pred(out['generated_text'])
custom_env.step(action)
📚 ドキュメント
モデリング
初のエージェントは、Meta GenAIチームによって最近リリースされたMeta-Llama-3-8B-Instruct
モデルをファインチューニングしたものです。このモデルは、WebLINX
データセットでファインチューニングされており、このデータセットには10万以上のWebナビゲーションと対話のインスタンスが含まれており、それぞれが専門のアノテーターによって収集および検証されています。トレーニングには24Kの精選されたサブセットを使用しています。トレーニングと評価データは、Huggingface HubでMcGill-NLP/WebLINX
として利用可能です。
評価
短いデモビデオだけではエージェントの性能を判断するのは不十分だと考えています。簡単に言えば、良いベンチマークがなければ、良いエージェントがあるかどうかわかりません。簡単な命令に従ったWebナビゲーションから複雑な対話主導の閲覧まで、幅広いタスクでエージェントを体系的に評価する必要があります。
このため、最初のベンチマークとしてWebLINX
を選びました。ベンチマークにはトレーニングスプリットの他に、4つの実世界のスプリットがあり、汎化の複数の次元をテストすることを目的としています。新しいウェブサイト、新しいドメイン、未見の地理的位置、およびユーザーが画面を見ることができず、対話に依存するシナリオです。また、予約、ショッピング、執筆、知識検索、さらにはスプレッドシートの操作などの複雑なタスクを含む150のウェブサイトをカバーしています。
データ
WebLINX
の24Kのトレーニング例は、能力のあるエージェントをトレーニングするための良い出発点を提供しますが、幅広いWebナビゲーションタスクに汎化できるエージェントをトレーニングするには、より多くのデータが必要だと考えています。このモデルは150のウェブサイトでトレーニングおよび評価されていますが、モデルが見たことのない何百万ものウェブサイトがあり、毎日新しいウェブサイトが作成されています。
このことから、より良いエージェントをトレーニングするためのデータセットを継続的に選別、編集、公開することに取り組んでいます。次のステップとして、Mind2Web
のトレーニングデータも取り入れる予定です。このデータセットも100以上のウェブサイトをカバーしています。
デプロイメント
LlamaのWebエージェントをWebに簡単にデプロイできるように努力しています。WebLlama
をMicrosoftのPlaywright、ServiceNow ResearchのBrowserGym、および他のパートナーの既存のデプロイメントプラットフォームと統合する予定です。
コード
モデルをファインチューニングし、WebLINX
ベンチマークで評価するためのコードは現在利用可能です。詳細な手順はmodelingで確認できます。
🔧 技術詳細
- モデルの選択:
Meta-Llama-3-8B-Instruct
をベースにしています。
- データセット:
WebLINX
データセットを使用してファインチューニングしています。
- トレーニング:24Kの精選されたサブセットを使用してトレーニングしています。
📄 ライセンス
このモデルはllama3
ライセンスの下で提供されています。使用することで、Meta Llama 3 Community License Agreementの条項に同意することになります。
引用
もしあなたの研究でWebLlama
を使用した場合は、次の論文を引用してください(データ、トレーニング、評価は元々この論文に基づいています):
@misc{lù2024weblinx,
title={WebLINX: Real-World Website Navigation with Multi-Turn Dialogue},
author={Xing Han Lù and Zdeněk Kasner and Siva Reddy},
year={2024},
eprint={2402.05930},
archivePrefix={arXiv},
primaryClass={cs.CL}
}