AIxiv專欄是機器之心釋出學術、技術內容的欄目。過去數年,機器之心AIxiv專欄接收報導了2000多篇內容,覆蓋全球各大高校與企業的頂級實驗室,有效促進了學術交流與傳播。如果您有優秀的工作想要分享,歡迎投稿或者聯絡報導。投稿郵箱:liyazhou@jiqizhixin.com;zhaoyunfeng@jiqizhixin.com
共同一作孫秋實是香港大學的博士生,此前在新加坡國立大學獲得碩士學位,研究方向包括 LLM Agents 和神經程式碼智慧等領域。共同一作金川楊是約翰霍普金斯大學的博士生,此前以專業第一名畢業於紐約大學,其開發的心智慧力測試 MMToM-QA 榮獲 ACL 2024 傑出論文獎。本文的 Shanghai AI Lab 吳志勇團隊此前已釋出了 OS-Copilot、OS-Atlas、SeeClick等同系列成果。
- 論文題目:OS-Genesis: Automating GUI Agent Trajectory Construction via Reverse Task Synthesis
- 專案地址:https://qiushisun.github.io/OS-Genesis-Home/
- 研究機構:上海人工智慧實驗室,香港大學,上海交通大學,約翰霍普金斯大學,牛津大學,香港科技大學
有效的 Digital Agents 必須擁有兩個能力:(1)Planning 能力,即任務規劃能力,能將使用者給定的(高階)指令分步劃分為子目標(2)Action 能力,即根據當前目標,執行相應的動作。在構建高質量的 GUI agent 時,GUI 軌跡資料能最有效地讓 agent 學習如何完成任務,其資料稀缺性是當前 digital agent 領域最關鍵挑戰之一。以下是一個典型的 GUI 軌跡資料示例,它包括以下部分:- 高階指令:明確規定任務目標,例如 “將 Broccoli 應用中的‘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,比如’點選 Calendar APP’),再根據環境匯出一個高階指令(High-level instruction,比如’新增日程:看機器之心推文’)。隨後,讓模型執行這一合成的指令,此過程完全擺脫了人工干預和任務預定義的限制,實現了 GUI 軌跡資料生成的高效性和多樣性。本文可以為構建通用的 GUI agent 提供新的思路,其具體方法如下所示。反向任務合成(Reverse Task Synthesis)是 OS-Genesis 的核心,它幫助我們在構建 GUI 軌跡資料時擺脫需要人工 / 機器預定義任務的侷限。其流程如下所示:在沒有預定義任務的情況下,OS-Genesis 透過在 GUI 環境中系統性地執行基本動作(例如 CLICK、TYPE、SCROLL 等),生成大量的三元組資料 〈狀態前,動作,狀態後〉,即 〈spre, action, spost〉。這些三元組記錄了每個動作對環境狀態的影響,為後續的任務合成提供了原始資料。利用 GPT-4o 模型,將每個三元組 〈spre, action, spost〉 轉化為描述具體操作的低階指令(Low-level Instruction)。例如,若動作 CLICK 使某選單展開,低階指令可能為 “點選下拉選單以顯示選項”。在低階指令的基礎上,OS-Genesis 進一步生成高階指令(High-level Instruction)。高階指令透過結合低階步驟和當前 GUI 環境,描述了一個更為抽象且目標明確的任務,例如 “配置應用程式設定”。這種從低階到高階的逐步生成方法不僅確保了指令的邏輯一致性,還能最大化利用 GUI 環境中的動態特性。透過上述反向任務合成,OS-Genesis 可以在沒有人工干預的情況下構建多樣化、語義豐富的任務集合,顯著提升了資料生成的效率和質量。反向任務合成生成的高階指令隨後被用作探索 GUI 環境的起點,進一步構建完整的軌跡資料(Trajectory)。為了確保生成軌跡的質量,OS-Genesis 引入了一個獎勵模型(Trajectory Reward Model, TRM),對生成的軌跡進行質量評估和篩選。以下是軌跡構建與獎勵模型的詳細流程:利用反向任務合成生成的高階指令,GUI agent 會執行一系列動作以完成任務。每條軌跡由以下內容組成:高階指令、低階指令、動作序列以及狀態(包含截圖和 a11ytree)。軌跡獎勵模型(Trajectory Reward Model)為避免低質量或不完整軌跡對模型訓練的負面影響,OS-Genesis 使用 TRM 對每條軌跡分配一個獎勵分數。獎勵分數基於以下兩個指標:- 完成度(Completion):衡量軌跡是否成功完成高階任務,包括每個步驟的正確性和邏輯連貫性。
- 一致性(Coherence):評估軌跡的邏輯性,確保動作序列能夠高效地實現任務目標。
根據獎勵分數,軌跡資料會被優先用於模型訓練。與傳統的二元過濾方法(即拋棄執行失敗的任務)不同,TRM 允許部分不完整但具有探索價值的軌跡保留在資料集中,從而最大化地利用生成的資料。透過結合反向任務合成和獎勵模型,OS-Genesis 實現了從任務生成到軌跡構建的端到端流程。實驗結果表明,OS-Genesis 生成的資料在質量和多樣性上均顯著優於現有方法,為構建通用 GUI agent 提供了可靠的資料支援。為了驗證 OS-Genesis 在動態環境中生成高質量軌跡資料的能力,本文在動態環境上進行了實驗。對於 Mobile 場景選擇了 AndroidWorld 和 AndroidControl,對於 Web 場景則使用了 WebArena 作為測評基準。在這些複雜的環境中,作者測試用 OS-Genesis 合成資料訓練的 agent 表現相對傳統方法效果如何。VLMs. 作者在實驗中選擇了代表性的 VLSs 作為 GUI agent 的基礎模型,以便全面評估 OS-Genesis 生成的資料在不同模型上的的影響:- InternVL2-4B/8B:一種支援高解析度動態輸入的開源 VLM,主要用於視覺任務。其擴充套件版本 InternVL2-8B 具有更大的模型容量。
- Qwen2-VL-7B-Instruct:一種多模態模型,具備一定的 GUI 互動能力,專為指令執行任務最佳化。
此外,作者還額外新增了 GPT-4o 作為一個強 baseline,來比較我們所訓練的開源模型和商業模型之間的差距。Baselinse. 所有的 baseline 接受的狀態資訊均為 Screenshots + a11ytree- Zero-Shot:直接使用未經過額外訓練的模型完成任務。這種方法用於評估模型的原始能力。
- Task-Driven:利用預定義任務和固定策略生成資料,廣泛應用於傳統資料生成流程。
- Self-Instruct:在 Task-Driven 的基礎上,引入自我指令生成機制來擴充套件任務的和覆蓋範圍。
在 AndroidWorld(In-domain 實驗)中,OS-Genesis 生成的資料顯著提升了 GUI agents 的任務成功率,從基線的 9.82% 提升至 17.41%,幾乎翻倍。尤其是在任務規劃和複雜操作中,OS-Genesis 的資料展現了更強的適應性和泛化能力。在 AndroidControl 中(OOD 實驗),OS-Genesis 生成的軌跡在高階和低階任務中均表現出色,特別是在高階任務中,其規劃能力提升尤為明顯。此外,OS-Genesis 在未見過的應用場景下表現出了較強的泛化能力,驗證了其生成資料的高質量和多樣性。OS-Genesis 在 WebArena 中的表現也顯著優於基線方法。對於複雜的互動式網頁任務(如 GitLab 和 Reddit),本工作的 agent 相比 Task-Driven 方法提升了約 50%。在多個動態網頁場景中,透過 OS-Genesis 生成的資料,agent 表現出了更高的多樣性和泛化能力,特別是在需要多步操作的任務中,其生成軌跡更符合邏輯和使用者意圖。本項工作對合成軌跡的質量進行了詳盡的分析,特別是將 OS-Genesis 生成的資料與人工標註(Human-annotated)資料進行了對比,以全面評估其在實際應用中的可行性和有效性。作者首先比較了 OS-Genesis 生成的高階指令與人工編寫的高階指令在任務執行中的效果。實驗基於 AndroidWorld 的 500 個人工標註軌高階任務,採用 GPT-4o 探索其對應軌跡,並用這些軌跡訓練基於 InternVL2-8B 和 Qwen2-VL-7B。為保證公平性,OS-Genesis 和各 baseline 的軌跡數量保持一致。在任務成功率上,OS-Genesis 生成的高階指令顯著優於人工編寫的指令。這主要歸因於以下兩點:- 動態環境適配性:人工編寫的任務往往難以與複雜環境完全匹配,而 OS-Genesis 透過反向任務合成生成的指令能夠自適應 GUI 動態特性,更符合環境需求。
- 逐步生成策略:OS-Genesis 從低階指令逐步構建高階指令,確保了指令的邏輯連貫性和可執行性,而人工編寫的高階指令有時會因缺乏細節而導致軌跡不完整。
為了進一步驗證軌跡質量,作者探討了 OS-Genesis 生成的完整軌跡與人工標註(Human-annotated)軌跡在 GUI agent 訓練中的差異。作者從 AndroidControl 的訓練集中選取了 1,000 條眾包標註的軌跡進行訓練並對比。正如圖下,OS-Genesis 顯著縮小了合成軌跡與人工標註軌跡之間的效能差距。這種提升在高階任務中尤為顯著,表明基於 OS-Genesis 軌跡訓練的 agent 在任務規劃和問題解決方面表現更接近於人類操作方式。從平均任務成功率來看,將人工標註資料視為 gold standard,OS-Genesis 資料的效能保留率超過了 80%。本項工作提出了 OS-Genesis,為有效構建 GUI Agents 提供了全新的視角。透過引入一種全新的互動驅動合成方法,OS-Genesis 成功克服了以往資料收集中構建(1)有意義且(2)多樣化的 GUI 任務的關鍵瓶頸。在多個挑戰性的 online 基準測試中,作者證明了 OS-Genesis 生成的資料在構建 GUI agents 的規劃和動作能力上實現了突破。此外,OS-Genesis 生成的軌跡資料展現出了更高的多樣性,並顯著縮小了合成資料與人工標註資料之間的質量差距。OS-Genesis 為生成高質量 GUI agents 訓練軌跡資料提供了一個有前景的方向,使研究領域在實現數字世界自動化的道路上更進一步!