🚀 Llama-3-8B-Web
WebLlama
藉助 Meta Llama 3 的強大能力,能夠幫助你構建強大的代理,代表你進行網頁瀏覽。其首款模型 Llama-3-8B-Web
在 WebLINX
基準測試中,零樣本情況下超越 GPT - 4V 達 18%。
🚀 快速開始
你可以參考以下代碼示例,使用 WebLlama
模型進行網頁瀏覽代理的操作:
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%)。
- 精準的決策:能選擇更有用的鏈接(seg - F1:34.1% 對比 18.9%),點擊更相關的元素(IoU:27.1% 對比 13.6%),並生成更符合要求的響應(chr - F1:37.5% 對比 3.1%)。
- 廣泛的應用:適用於從簡單的指令跟隨式網頁導航到複雜的對話引導式瀏覽等多種任務。
📦 安裝指南
文檔未提及具體安裝步驟,暫不提供。
💻 使用示例
基礎用法
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)
高級用法
文檔未提及高級用法代碼示例,暫不提供。
📚 詳細文檔
建模
我們的首個代理是基於最近由 Meta GenAI 團隊發佈的 Meta-Llama-3-8B-Instruct
模型進行微調的。我們在 WebLINX
數據集上對該模型進行了微調,該數據集包含超過 100K 個網頁導航和對話實例,每個實例都由專業註釋人員收集和驗證。我們使用了 24K 個精心挑選的子集進行數據訓練。訓練和評估數據可在 Huggingface Hub 上以 McGill-NLP/WebLINX
的形式獲取。
關於 WebLlama
WebLlama |
我們項目的目標是構建有效的以人為中心的網頁瀏覽代理。我們不想取代用戶,而是為他們配備強大的助手。 |
建模 |
我們基於前沿的庫來訓練用於網頁導航任務的 Llama 代理。我們將提供訓練腳本、優化的配置以及訓練前沿 Llama 模型的說明。 |
評估 |
用於在真實網頁瀏覽場景中測試 Llama 模型的基準測試。這包括通過對話進行的“以人為中心”的瀏覽(WebLINX ),並且我們很快將添加更多用於自動網頁導航的基準測試(例如 Mind2Web)。 |
數據 |
我們的首個模型在超過 24K 個網頁交互實例上進行了微調,包括 點擊 、文本輸入 、提交 和對話行為。我們希望持續整理、編譯併發布用於訓練更好代理的數據集。 |
部署 |
我們希望使 Llama 網頁代理能夠輕鬆集成到現有的部署平臺中,包括 Microsoft 的 Playwright、ServiceNow Research 的 BrowserGym 以及其他合作伙伴。 |
評估
我們認為僅通過簡短的演示視頻來判斷一個代理的性能是不夠的。簡單來說,如果沒有好的基準測試,我們就無法判斷一個代理是否優秀。我們需要在廣泛的任務上系統地評估代理,從簡單的指令跟隨式網頁導航到複雜的對話引導式瀏覽。
這就是我們選擇 WebLINX
作為首個基準測試的原因。除了訓練集之外,該基準測試還有 4 個真實世界的分割集,旨在測試多個維度的泛化能力:新網站、新領域、未見的地理位置以及“用戶無法看到屏幕並依賴對話”的場景。它還涵蓋了 150 個網站,包括預訂、購物、寫作、知識查詢,甚至像操作電子表格這樣的複雜任務。
數據
儘管來自 WebLINX
的 24K 個訓練示例為訓練一個有能力的代理提供了良好的起點,但我們認為需要更多的數據來訓練能夠泛化到廣泛網頁導航任務的代理。儘管該模型已經在 150 個網站上進行了訓練和評估,但仍有數百萬個網站是模型從未見過的,而且每天都有新的網站被創建。
這促使我們持續整理、編譯併發布用於訓練更好代理的數據集。作為下一步,我們將把 Mind2Web
的訓練數據納入其中,該數據也涵蓋了超過 100 個網站。
部署
我們正在努力使你能夠輕鬆地將 Llama 網頁代理部署到網頁上。我們希望將 WebLlama
集成到現有的部署平臺中,包括 Microsoft 的 Playwright、ServiceNow Research 的 BrowserGym 以及其他合作伙伴。
代碼
用於微調模型並在 WebLINX
基準測試上進行評估的代碼現已可用。你可以在 modeling 中找到詳細說明。
🔧 技術細節
文檔未提及足夠詳細的技術實現細節,暫不提供。
📄 許可證
本項目使用 llama3
許可證。使用此模型即表示你接受 Meta Llama 3 社區許可協議 的條款。
📖 引用
如果你在研究中使用了 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}
}