人工標注太貴,合成數據不夠好?看OS-Genesis如何破解數據困局
從1920年的小說《R.U.R》到《鋼鐵俠》中的JARVIS,在過去的一個世紀里,人們一直夢想著構建能夠自動化日常工作的Digital Agents(數字代理)。如今,隨著視覺語言模型(VLMs)的蓬勃發展,構建這樣的Agents成為了可能。
1-1 Agent for GUI Control
想要構建一個有效的Computer Use Agents,其必須擁有兩個能力:(1)Planning能力,即規劃Computer-use任務的能力,能將用戶給定的(高階)指令分步劃分為多個子目標**(2)Action能力**,即根據當前目標,執行相應的動作(比如點擊,輸入,滑動等等)。在現有的研究中,典型的有**(1)以OS-Copilot和UFO-Agent為代表的GUI agents**,它們通過調用API和a11ytree來與數字世界(如手機、網站)中的GUI進行交互。(2)以SeeClick,OS-ATLAS為代表的Action model(動作模型),根據用戶的指令執行動作,比如預測GUI中的元素坐標并進行點擊等動作。這些工作雖已有所成效,但在實際應用中依然有局限性,前者依賴GPT4o等閉源模型,只能通過提示詞交互且成本較高;后者需要在動作模型外搭配一個planner模型一起使用。 從實際應用角度,構建一個統一的、基于開源模型的GUI Agent將會對通用的GUI控制大有裨益。然而,想要端到端地完成這類Agent構建絕非易事,其最大的瓶頸便是訓練數據。
1-2 Data Bottleneck
在構建高質量的GUI agent時,GUI軌跡數據能最有效地讓agent學習如何完成任務,其數據稀缺性是當前digital agent領域最關鍵挑戰之一。以下是一個典型的GUI軌跡數據示例,它包括以下部分:
- 高階指令:明確規定任務目標,例如“將菜單應用中的‘Avocado Toast with Egg’標記為收藏”。
- 低階指令:分解為具體的操作步驟,例如“點擊‘Avocado Toast with Egg’以查看更多選項”。
- 動作:與低階指令相關的具體操作,如“CLICK [Avocado Toast with Egg]”。
- 狀態:包括執行動作前后的可視化和文本化表示,例如屏幕截圖和GUI的a11ytree結構。
現有的軌跡數據采集方法通常依賴于人工監督或基于預定義任務(Task-Driven)的合成數據生成。這些方法在實際應用中存在以下局限性:
- 人工采集的過高成本:人工標注軌跡數據需要大量的人力資源,不僅需要手動設計高階指令,還需逐步記錄每一步操作。這使得數據收集過程成本高昂且效率低下。
- 合成數據的局限性:基于模型生成的軌跡數據雖然可以緩解人工標注的成本問題,但通常依賴于預定義的高階任務。這種方法不僅限制了生成數據的多樣性,還容易導致與真實環境的差距。特別是在中間步驟出錯或任務目標/環境不匹配時,生成的軌跡可能是不完整或不連貫的。
因此,如何在成本可控的情況下,有效地構建GUI Agents軌跡是一個非常重要的課題。在此動機下,本文提出了OS-Genesis:一套無需人工監督的高質量GUI數據合成框架。
方法
OS-Genesis的在數據構建上的核心思想是:通過先探索性地交互GUI環境,捕捉每一步動作及其前后狀態變化。
然后基于這些變化逆向生成高質量的低階指令(Low-level instruction,比如’點擊Chrome APP’),再根據環境導出一個高階指令(High-level instruction,比如’添加日程:看機器之心推文’)。隨后,讓模型執行這一合成的指令,此過程完全擺脫了人工干預和任務預定義的限制,實現了GUI軌跡數據生成的高效性和多樣性。我們認為,本工作可以為構建通用的GUI agent提供新的思路,其具體方法如下所示
2-1 反向任務合成
OS-Genesis的核心是反向任務合成(Reverse Task Synthesis),它使得我們在構建GUI軌跡數據時擺脫需要人工/機器預定義任務(pre-defiend task)的局限。其流程如下所示
? 動作記錄與狀態捕捉(Record)
在沒有預定義任務的情況下,OS-Genesis通過在GUI環境中系統性地執行基本動作(例如CLICK、TYPE、SCROLL等),生成大量的三元組數據 ?狀態前,動作,狀態后?,即 ?spre, action, spost?。這些三元組記錄了每個動作對環境狀態的影響,為后續的任務合成提供了原始數據。
?低階指令生成(Low-Level Isntruction)
利用GPT-4o模型,將每個三元組 ?Screen1, Action, Screen2? 轉化為描述具體操作的低階指令(Low-level Instruction)。例如,若動作CLICK使某菜單展開,低階指令可能為“點擊下拉菜單以顯示選項”。
?高階任務生成(High-Level Isntruction)
在低階指令的基礎上,OS-Genesis進一步生成高階指令(High-level Instruction)。高階指令通過結合低階步驟和當前GUI環境,描述了一個更為抽象且目標明確的任務,例如“配置應用程序設置”。這種從低階到高階的逐步生成方法不僅確保了指令的邏輯一致性,還能最大化利用GUI環境中的動態特性。
通過上述反向任務合成,OS-Genesis可以在沒有人工干預的情況下構建多樣化、語義豐富的任務集合,顯著提升了數據生成的效率和質量。
2-2 軌跡構建與獎勵模型
反向任務合成生成的高階指令隨后被用作探索GUI環境的起點,進一步構建完整的軌跡數據(Trajectory)。為了確保生成軌跡的質量,OS-Genesis引入了一個獎勵模型(Trajectory Reward Model, TRM),對生成的軌跡進行質量評估和篩選。以下是軌跡構建與獎勵模型的詳細流程:
- 軌跡執行
利用反向任務合成生成的高階指令,GUI agent會執行一系列動作以完成任務。每條軌跡由以下內容組成:高階指令、低階指令、動作序列以及狀態(包含截圖和a11ytree)。
- 軌跡獎勵模型(Trajectory Reward Model)
為避免低質量或不完整軌跡對模型訓練的負面影響,OS-Genesis使用TRM對每條軌跡分配一個獎勵分數。獎勵分數基于以下兩個指標:
完成度(Completion):衡量一條GUI軌跡是否成功完成High-level 任務,包括每個步驟的正確性和邏輯連貫性。
一致性(Coherence):評估軌跡的邏輯是否恰當,確保動作序列能夠高效地實現任務目標。
- Reward-driven的數據篩選方法
根據獎勵分數,軌跡數據會被優先用于模型訓練。與傳統的二元過濾方法(即拋棄執行失敗的任務)不同,TRM允許部分不完整但具有探索價值的軌跡保留在數據集中,從而最大化地利用生成的數據。
通過結合反向任務合成和獎勵模型,OS-Genesis實現了從任務生成到軌跡構建的端到端流程。實驗結果表明,OS-Genesis生成的數據在質量和多樣性上均顯著優于現有方法,為構建通用GUI agent提供了可靠的數據支持。
3 實驗
為了驗證OS-Genesis在動態環境中生成高質量軌跡數據的能力,本文在動態環境上進行了實驗。對于Mobile場景選擇了AndroidWorld和AndroidControl,對于Web場景則使用了WebArena作為測評基準。在這些復雜的環境中,我們測試用OS-Genesis合成數據訓練的agent表現相對傳統方法效果如何。
3-1 模型與基線
VLMs. 我們在實驗中選擇了代表性的VLSs作為GUI agent的基礎模型,以便全面評估OS-Genesis生成的數據在不同模型上的的影響:
- InternVL2-4B/8B:上海人工智能實驗室開發的一種支持高分辨率動態輸入的開源VLM,主要用于視覺-語言任務。其擴展版本InternVL2-8B具有更大的模型容量。
- 2Qwen2-VL-7B-Instruct:一種多模態模型,具備一定的GUI交互能力,專為指令執行任務優化。
此外,我們還額外添加了GPT-4o作為一個強baseline,來比較我們所訓練的開源模型和商業模型之間的差距
Baselinse. 所有的baseline接受的狀態信息均為 Screenshots + a11ytree
- Zero-Shot:直接使用未經過額外訓練的模型完成任務。這種方法用于評估模型的原始能力。
- Task-Driven:利用預定義任務和固定策略生成數據,廣泛應用于傳統數據生成流程。
- Self-Instructions:在Task-Driven的基礎上,引入自我指令生成機制來擴展任務的和覆蓋范圍。
3-2 Mobile
? 在**AndroidWorld(In-domain Mobile場景實驗)**中,OS-Genesis所生成的數據顯著提升了GUI agents的任務成功率,從baseline VLMs的的9.82%提升至17.41%,幾乎可以做到翻倍。尤其是在任務規劃和復雜操作中,OS-Genesis的數據展現了更強的適應性和泛化能力。
mobile-exp
? 在AndroidControl中**(OOD實驗)**,OS-Genesis生成的軌跡在高階和低階任務中均表現出色,特別是在高階任務中,其規劃能力提升尤為明顯。此外,OS-Genesis在未見過的應用場景下表現出了較強的泛化能力,驗證了其生成數據的高質量和多樣性。
3-3 Web
OS-Genesis在WebArena(In-domain Web場景實驗)中的表現也顯著優于baselines。對于復雜的交互式網頁任務(如GitLab和Reddit),由OS-Genesis訓練而來的agent相比Task-Driven方法提升了約50%。在多個動態網頁場景中,通過OS-Genesis生成的數據,agent表現出了更高的多樣性和泛化能力,特別是在需要多步操作的任務中,其生成軌跡更符合邏輯和用戶意圖。
本文轉載自??????NLP PaperWeekly??????,作者:NLP PaperWeekly
