解密Prompt系列30. LLM Agent之互聯網衝浪智能體

這一章我們介紹能自主瀏覽操作網頁的WebAgent們和相關的評估數據集,包含初級任務MiniWoB++,高級任務MIND2WEB,可交互任務WEBARENA,多模態WebVoyager,多輪對話WebLINX,和複雜任務AutoWebGLM。

MiniWoB++數據集

這兩年webagent的論文裏幾乎都能看到這個評測集的影子,但這篇論文其實是2018年就發表了。所以這裏我們只介紹下數據集的信息~

MiniWoB++是基於gymnasium的模擬web環境,它在OpenAI的MiniWoB數據集上補充了更多複雜交互,可變頁面等網頁交互行爲,最終得到的100個網頁交互的評測集。一些組件的Demo示例如下

output-8\_4\_3

MiniWoB++數據集的侷限性

  • 非實際web頁面而而是模擬web頁面
  • 頁面被極大程度簡化成了單獨的交互組件,複雜程度低
  • 指令是低級指令,直接描述如何和網頁交互,例如下圖的指令"選擇下拉列表中的United Arab Emirates並點擊提交"。而高級任務指令應該是"選擇United Arab Emirates"

MIND2WEB

數據集

MIND2WEB數據集在MiniWoB++數據集上做了以下幾點改良

  • 真實網頁而非模擬組件,如下是美聯航的首頁
  • 高級任務指令而非低級指令:例如"Search for all alternative concerts taking place in New York"
  • 網頁數據全面:包含了HTML代碼,DOM文件和HAR日誌,snapshot截圖和TRACE
  • 多領域任務:5大類31個小類,總共137個網站,並基於種子人工構造了2350個指令樣本,5大類分別包括旅遊,信息,娛樂,購物,通用服務類

united\_0 -middle-original

讓我們來具體看一個樣本,任務指令=Check for pickup restaurant available in Boston, NY on March 18, 5pm with just one guest,Label是完成該指令的行爲序列,每一步行爲由(Target Element, Operation)構成,這裏支持三種最常用的OPCLICK, TYPE,SELECT,行爲序列如下

image

MIND2WEB採用了4個評估指標

  • Element Accuracy:評估操作元素例如Botton的正確率
  • Operation F1:評估對元素的操作準召,這裏是token-level的F1計算因爲有鍵入數據等操作
  • Step Success Rate: 單步操作正確需要Element和Operation同時正確
  • Task Success Rate:任務正確需要每一步都正確

Mind2WEB數據集主要侷限性是只有數據採集時的網頁靜態頁面HTML,沒有後續行爲的動態交互數據

MindAct

MINDAct框架因爲是單一文本模態,因此使用HTML代碼和DOM文件來作爲網頁的觀測數據,框架比較簡單由兩個部分組成:元素排序生成候選,基於候選的多項選擇生成行爲

  • Candidate Ranking
    候選生成部分是一個二分類的打分模型。輸入是任務指令+歷點史Action+DOM元素,輸出是每個DOM元素的候選概率。這裏DOM元素的文本表徵除了元素本身的信息,還從DOM文件樹裏面獲取了parent和child節點的信息,拼接作爲每個節元素的表徵。如下

image

這裏論文是通過隨機負樣本採樣,訓練了DeBERTa模型作爲排序模型,測試集Top50召回在85%+。

  • Action Prediction
    基於上面元素排序返回的Top-K候選Element,會先對整個HTML進行裁剪,只保留候選元素前後的HTML文檔。這樣可以有效降低大模型的輸入長度和複雜度,但對上面排序模型的召回要求較高。

之後會基於Top-K 候選,裁剪HTML,和歷史的Action,選擇下一步的的Action和Value。於是基於複雜HTML直接生成Action和Value的複雜任務,被簡化成了多項選擇的QA任務。這裏論文是微調了Flan-T5來完成多項選擇任務,也同時對比了直接使用GPT3.5和GPT4。

image

WEBARENA數據集

針對Mind2WEB只和靜態網站狀態交互的問題,WEBARENA通過構建仿真網站,構建了真實,動態,並且可復現的網絡環境來和智能體進行交互。論文選擇了電商,論壇,github,CMS等四類網站類型,並使用網站真實數據來構建模擬環境。

並且對比Mind2WEB的3種常見交互,支持更多的交互操作,並且因爲是動態頁面因此支持多tab切換的操作,支持的opeeration類型如下

image

數據集構成

  • High Level 任務指令:包含數據查詢,網站導航,內容創建等3個主要任務意圖
  • 812個測試樣本:人工+chatgpt構建,從241個任務模板中創建出來,模板例如"create a {{site1}} account identical to my {{site2}} one"
  • 網頁數據:HTML + DOM + screenshot + Accessibility Tree(DOM的有效子集)

image

評估指標上相比Mind2WEB,WEBARENA同樣使用task success rate作爲評估指標,把token-level的F1計算進行了優化,加入了operation是否正確的檢測方案。核心就是部分操作需要鍵入內容,而這部分內容不能直接和標註做精準匹配,因此WEBARENA分成了需要精準匹配的答案(exact match),只要包括核心信息即可(must include)和基於大模型做語義相似判斷的(fuzzy match)這三類評估類型,對不同的樣本進行評估。

image

WebVoyager

數據集

同樣是動態網頁交互,WebVoyager沒有采用模擬網頁數據,而是使用Selenium直接操控web瀏覽器行爲和真實網頁進行交互。於是同時滿足了動態交互和真實網絡環境的要求。

論文選取了15個有代表性的網站:Allrecipes, Amazon, Apple,ArXiv, BBC News, Booking, Cambridge Dictionary,Coursera, ESPN, GitHub, Google Flights,Google Map, Google Search, Huggingface, and Wolfram Alpha。

指令樣本是基於Mind2Web的數據集作爲種子,然後基於GPT4使用Self-Instruct來生成新的任務指令,最後使用人工校驗和篩選。最終得到了每個網站40+的指令,總共643個評估任務

評估指標和webARENA保持一致,都是採用任務成功率作爲評估指標。

Agent

這裏簡單說下agent實現,WebVoyager和前面數據集的主要差異是加入了多模態模型GPT4—V的嘗試。不再使用accessibility Tree的文本輸入,而是直接和網頁的snapshot進行交互。

這裏論文采用了set-of-Mark Prompting的技術,來解決GPT4-V模型visual grounding的問題(模型對圖片中細粒度物體的區分度有限,當輸出是圖片中局部物體例如按鈕時準確率不高的問題)。SOM是先用SAM等分割模型對圖片進行分割,這裏主要是識別出圖片上可交互的按鈕和區域,使用bounding box進行圈選,並使用序號對區域進行標記。通過標記來幫助GPT4-V更精準的識別可交互區域。

這裏論文使用了GPT-4V-ACT,JS DOM auto-labeler來識別網頁中的所有可交互元素並進行標記,來作爲GPT4-V的輸入,如下

image

然後基於上面的標記圖片輸入,和以下ReACT的prompt指令,讓GPT4V生成每一步的交互操作。基於模型推理結果會直接操作網頁,並獲取新的網頁snapshot作爲下一步的輸入。

image

WebLINX

對比前面的MIND2WEB,WebArena和webVoyager,webLLINX加入了和用戶的多輪對話交互,也就是從自主智能體向可交互智能體的轉變。雖然放棄了自主,但有了人類的監督,可能可以達到更高的任務完成度。

WebLINX的數據集,包括8大類,50個小類總共155個真實網頁,總共構建了2337個指令樣本。 因爲是對話式交互,所以指令類型會和以上的幾個數據集存在明顯的差異,不再是任務型指令而是步驟操作型的指令,如下圖

image

image

agent部分論文更多是對比了文本模態vs多模態,微調vsprompt的效果,實現細節不太多這裏就不細說了

AutoWebGLM

AutoWebGLM是智譜最近才發佈的webagent論文,包括比較全面的微調數據集構建和微調方案,併發布了新的評測集。論文提出AutowebGLM的數據集有三個主要優點

  • 更高質量的web交互訓練數據:人標很難構架大規模訓練數據,這裏使用模型標註並通過技巧提高模型標註準確率
  • 統一10類交互行爲:其實和WEBARENA基本一致
  • HTML簡化裁剪方案:構建可交互元素樹

數據集

AutoWebGLM的微調數據集包含由易到難的三種任務:web recognition,single-step task,multi-step task。這裏也是純HTML文本模態的數據集。除了以下全新的三類樣本,論文還合併了MiniWoB++和Mind2Web的訓練集。

image

web Recognition

網頁識別樣本構建,是直接從HTML中提取可交互元素,然後基於元素構建簡化的HTML輸入。然後Input是網頁元素功能的相關提問,輸出是GPT的回答,例如"Search Bar是用來幹什麼的",模型回答“它是用來幫助用戶搜索產品的”。這部分樣本用來幫助模型理解HTML。

Single-step task(Simple)

簡單任務是單步操作的網頁交互。這裏論文的構建比較巧妙,考慮到之前的論文已經論證了即便是GPT4在webagent這個任務上的執行準確率也有限,那直接使用GPT4來構建樣本肯定是不可行的。因此論文采用了反向標註,既基於HTML中抽取出的可交互元素例如“scroll_page('down')”,讓GPT4來方向生成對應的意圖和用戶指令,例如我需要向下滑網頁瀏覽更多。 這樣可以得到準確率更高的樣本,模型生成意圖和指令的prompt如下

image

Multi-Step task(Complex)

複雜任務涉及和網頁的多步交互。這裏論文使用了Evol-Instruct來構建複雜任務指令(不熟悉的同學看這裏解密Prompt系列17.LLM對齊方案再升級), 每個網頁模型生成50個指令,再人工篩選20個。

考慮模型生成準確率不高,這裏得多步交互,論文使用人工執行,並用瀏覽器插件捕捉用戶交互行爲的方案。這裏爲了在行爲鏈路之外,同時獲得模型COT思考鏈路,用來提高後面的模型訓練效果。論文使用以下prompt,讓大模型基於人工完整的行爲鏈路,生成每一步的執行意圖。

image

最終的AutoWebBench評測集只使用了多步任務的子集,也就是複雜指令來評測模型效果。

微調

image

基於以上的訓練數據,論文采用了多階段訓練微調ChatGLM3

  1. SFT:第一步是指令微調,使用以上訓練集,採用Curriculum Leanring的訓練策略,既模仿人類學習,由易到難的訓練樣本進行逐步訓練。先使用網頁識別和單步任務訓練,再使用多步任務數據訓練。
  2. RL:第二步是強化學習,用來降低SFT部分模型學習的過度模仿和幻覺。這裏論文采用了Self-Sampling來構建DPO需要的正負樣本對,既使用正確答案作爲正樣本,使用模型預測錯誤的作爲負樣本,使用DPO和SFT的混合loss進行進一步的訓練。
  3. RFT: 第三步是基於MiniWoB++和WebARENA虛擬環境,使用以上訓練好的DPO模型構建了額外的訓練樣本。這裏採用拒絕採樣,既使用模型嘗試N次,選取成功(規則標註或環境自帶識別)的執行路徑作爲訓練樣本進行訓練。相當於是把Rejection-Sampling的效果再訓練進模型中。

效果上在AutoWebBench上,微調後的6B模型可以顯著超過GPT4,和更大的LLAMA2基座模型,擁有更高的任務單步執行成功率。

image

同時論文做了消融實驗來驗證以上多階段微調和三種訓練樣本的效果。實驗顯示,由易到難的訓練數據對模型有較大提升,RFT在進一步訓練的miniWob++和WebArena上有顯著提升,但RL-DPO的效果不太明顯。

image

想看更全的大模型相關論文梳理·微調及預訓練數據和框架·AIGC應用,移步Github >> DecryPrompt

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章