CogAgent:基於多模態大模型的GUI Agent

2023-12-26   科訊天下

原標題:CogAgent:基於多模態大模型的GUI Agent

論文名稱:CogAgent: A Visual Language Model for GUI Agents

論文連結:https://arxiv.org/pdf/2312.08914.pdf

GitHub項目地址(含開源模型、網頁版Demo):https://github.com/THUDM/CogVLM

近日,清華KEG實驗室&智譜AI提出了視覺 GUI Agent,使用視覺模態(而非文本)對GUI介面進行更全面直接的感知, 從而做出規劃和決策。對此,團隊研發了多模態大模型CogAgent,可接受1120×1120的高解析度圖像輸入,不僅提升了通用視覺理解能力,還具備強大的GUI Agent能力。

CogAgent是一個通用的視覺理解大模型,具備視覺問答、視覺定位(Grounding)、GUI Agent等多種能力在9個經典的圖像理解榜單上(含VQAv2,STVQA, DocVQA,TextVQA,MM-VET,POPE等)取得了通用能力第一的成績,並在涵蓋電腦、手機的GUI Agent數據集上(含Mind2Web,AITW等),大幅超過基於LLM的Agent,取得第一

為了更好地促進多模態大模型、Agent社區的發展,團隊已將CogAgent-18B開源至GitHub倉庫,並提供了網頁版Demo。歡迎大家體驗、使用與反饋!

視覺GUI Agent

基於語言預訓練模型(LLM)的Agent是當下熱門的研究話題,具備良好的應用前景。但是,一個嚴重的問題是,受限於LLM的模態,它只能接受語言形式的輸入。拿網頁agent為例,WebAgent [3] 等工作將網頁HTML連同用戶目標(例如「Can you search for CogAgent on google」)作為LLM的輸入,從而獲得LLM對下一步動作的預測(例如點擊按鈕,輸入文本)。

然而,一個有趣的觀察是,人類是通過視覺與GUI交互的。比如,面對一個網頁,當給定一個操作目標時,人類會先觀察他的GUI介面,然後決定下一步做什麼;與此同時,GUI天然是為了人機互動設計的,相比於HTML等文本模態的表征,GUI更為直接簡潔,易於獲取有效信息。也就是說,在GUI場景下,視覺是一種更為直接、本質的交互模態,能更高效完整提供環境信息;更進一步地,很多GUI介面並沒有對應的源碼,也難以用語言表示。因此,若能將大模型改進為視覺Agent,將GUI介面以視覺的形式直接輸入大模型中用於理解、規劃和決策,將是一個更為直接有效、具備極大提升空間的方法。

對此,清華KEG實驗室&智譜AI提出了多模態大模型CogAgent,可以實現基於視覺的GUI Agent。下圖展現了其工作路徑與能力。CogAgent模型同時接受當前GUI截圖(圖像形式)和用戶操作目標(文本形式,例如「search for the best paper in CVPR 2023」)作為輸入,就能預測詳細的動作,和對應操作元素的位置坐標。

CogAgent可以應用於包括電腦、手機的各種場景。受益於GUI Agent的可泛化性,CogAgent能在各類沒見過的場景與任務上都取得良好的性能。論文中展示了更多示例,覆蓋了PPT、手機系統、社交軟體、遊戲等各類場景。下面是更多的例子。

• 一個手機系統的例子

• 一個Google Map的例子

• 一個原神的例子

User:Who are the teammates on the current mission? 當前任務中的隊友是誰?

CogAgent:The teammates on the current mission are Raiden Shogun, Bennett, and Kaedehara Kazuha. 當前任務中的隊友是Raiden Shogun, Bennett, and Kaedehara Kazuha。

User:I'm looking for guidance on how to "Find out how to view a detailed map"? 我想知道如何「查看詳細地圖」?

CogAgent:Plan: 1. Identify the map icon on the screen. 2. Click on the map icon to open the detailed map view. 計劃:1. 確定螢幕上的地圖圖標。2. 點擊地圖圖標打開詳細地圖視圖。

Next Action: Move the cursor over the top left corner of the screen and click on the compass-like icon with 'N' inside it. 下一步操作:將光標移動到螢幕左上角,點擊內有「N」的類似指南針的圖標。

模型結構及訓練方法

CogAgent的模型結構基於CogVLM [2]。為了使模型具備對高解析度圖片的理解能力,可以看清~720p的GUI螢幕輸入,團隊將圖像輸入的解析度大幅提升至1120×1120(以往的模型通常小於500×500,包括CogVLM,Qwen-VL等)。然而,解析度的提升會導致圖像序列急劇增長,帶來難以承受的計算和顯存開銷——這也是現有多模態預訓練模型通常採用較小解析度圖像輸入的原因之一。對此,團隊設計了輕量級的「高解析度交叉注意力模塊」,在原有低解析度大圖像編碼器(4.4 B)的基礎上,增加了高解析度的小圖像編碼器(0.3 B),並使用交叉注意力機制與原有的VLM交互。在交叉注意力中,我們也使用了較小的hidden size,從而進一步降低顯存與計算開銷。

結果表明,該方法可以使模型成功理解高解析度的圖片,並有效降低了顯存與計算開銷。在消融實驗中,我們比較了該結構與CogVLM原始方法的計算量。結果表明,當解析度提升時,使用文中提出的方案(with cross-module,橙色)將會帶來極少量的計算量增加,並與圖像序列的增長成線性關係。特別的,1120×1120解析度的CogAgent的計算開銷(FLOPs),甚至比490×490解析度的CogVLM的1/2還要小。在INT4單卡推理測試中,1120×1120解析度的CogAgent模型占用約12.6GB的顯存,相較於224×224解析度的CogVLM僅高出不到2GB。

在數據方面,除了CogVLM用到的image caption數據集之外,我們在文本識別、視覺定位、GUI圖像理解方面進行了數據擴充與增強,從而有效提升了GUI Agent場景下的性能。CogAgent的預訓練和微調數據的採集、生成方法詳細介紹於論文的2.2和2.3部分。CogAgent模型的訓練batch size為4,608,學習率為2e-5,共計訓練了6萬疊代步,

實驗結果

1. GUI Agent能力

在電腦、手機等GUI Agent的數據集上,CogAgent具有較大的優勢,大幅超過所有基於LLM的Agent:

• 在網頁Agent數據集Mind2Web上的性能

• 在手機Agent數據集AITW上的性能

2. 圖像理解綜合能力

CogAgent在圖像理解的綜合能力也有相當的提升,在9個經典的圖像理解榜單上(含VQAv2,STVQA, DocVQA,TextVQA,MM-VET,POPE等)取得了通用能力第一的成績。

• 在VQA數據集上的通用性能,涵蓋常識、OCR、圖表、文檔等方面:

• 在多模態大模型通用榜單MM-VET(對話形式的多維度視覺理解評測),POPE(幻覺性評測)上的結果:

彩蛋

一個小彩蛋:若提問CogAgent,應該如何給CogVLM倉庫點星標(作者按:這也是CogAgent的倉庫),可以將截圖和問題Can you advise me on how to "star cogvlm repo"輸入給模型:

CogAgent會告訴你具體動作及對應元素的坐標(紅框為模型預測坐標對一個的位置):

歡迎大家體驗使用CogAgent,留下星星與建議~更歡迎大家進行各類有趣的二創!

參考文獻

[1] Hong, Wenyi, et al. "CogAgent: A Visual Language Model for GUI Agents." arXiv preprint arXiv:2312.08914 (2023).

[2] Wang, Weihan, et al. "Cogvlm: Visual expert for pretrained language models." arXiv preprint arXiv:2311.03079 (2023).

[3] Gur, Izzeddin, et al. "A real-world webagent with planning, long context understanding, and program synthesis." arXiv preprint arXiv:2307.12856 (2023).