讓大模型理解手機螢幕,蘋果多模態Ferret-UI用自然語言操控手機

机器之心發表於2024-05-20

此次,蘋果提出的多模態大語言模型(MLLM) Ferret-UI ,專門針對移動使用者介面(UI)螢幕的理解進行了最佳化,其具備引用、定位和推理能力。

移動應用已經成為我們日常生活的一大重要組成部分。使用移動應用時,我們通常是用眼睛看,用手執行對應操作。如果能將這個感知和互動過程自動化,使用者也許能獲得更加輕鬆的使用體驗。此外,這還能助益手機輔助功能、多步 UI 導航、應用測試、可用性研究等。

為了在使用者介面內實現感知和互動的無縫自動化,就需要一個複雜的系統,其需要具備一系列關鍵能力。

這樣一個系統不僅要能完全理解螢幕內容,還要能關注螢幕內的特定 UI 元素。以視覺理解為基礎,它應當有能力進一步將自然語言指令對映到給定 UI 內對應的動作、執行高階推理並提供其互動的螢幕的詳細資訊。

為了滿足這些要求,必須開發出能在 UI 螢幕中確定相關元素位置並加以引述的視覺 - 語言模型。其中,確定相關元素位置這一任務通常被稱為 grounding,這裡我們將其譯為「定基」,取確定參考基準之意;而引述(referring)是指有能力利用螢幕中特定區域的影像資訊。

多模態大型語言模型(MLLM)為這一方向的發展帶來了新的可能性。近日,蘋果公司一個團隊提出了 Ferret-UI。

圖片

  • 論文地址:https://arxiv.org/pdf/2404.05719.pdf

  • 論文標題:Ferret-UI: Grounded Mobile UI Understanding with Multimodal LLMs

這應當是首個專門針對 UI 螢幕設計的用於精確引述和定基任務的 MLLM,並且該模型能解讀開放式的語言指令並據此採取行動。他們的這項工作聚焦於三個方面:改進模型架構、整編資料集、建立評估基準

實驗表明,他們的這種方法效果還挺不錯,如圖 1 所示:Ferret-UI 能夠很好地處理從基礎到高階的 11 種任務,從簡單的尋找按鈕到複雜的描述具體功能。

圖片

下面來看具體方法。

方法概覽

Ferret-UI 基於 Ferret,而 Ferret 是一個擅長處理自然影像的引述和定基任務的 MLLM,並且其支援多種形狀和細節層級。

Ferret 包含一個預訓練的視覺編碼器(如 CLIP-ViT-L/14)和一個僅解碼器語言模型(如 Vicuna)。

此外,Ferret 還採用了一種獨特的混合表徵技術,可將指定區域轉換為適合 LLM 處理的格式。其核心是一個可感知空間的視覺取樣器,能夠以不同稀疏層級管理區域形狀的連續特徵。

為了將 UI 專家知識整合到 Ferret 中,蘋果團隊做了兩方面工作:(1)定義和構建 UI 引述和定基任務;(2)調整模型架構以更好地應對螢幕資料。

具體來說,為了訓練模型,Ferret-UI 包含多個 UI 引述任務(比如 OCR、圖示識別、小部件分類)和定基任務(比如尋找文字 / 圖示 / 小元件、小元件列表);這些任務可幫助模型很好地理解手機 UI 並與之互動。之前的 MLLM 需要外部檢測模組或螢幕檢視檔案,而 Ferret-UI 不一樣,它自己就能搞定,可以直接輸入原始螢幕畫素。這種方法不僅有助於高階的單螢幕互動,而且還可支援新應用,比如提升支援殘障人士的輔助功能。

研究 UI 資料集還為該團隊帶來了另外兩個有關建模的見解:(1)手機螢幕的縱橫比(見表 1a)與自然影像的不一樣,通常更長一些。(2)UI 相關任務涉及很多物件(即圖示和文字等 UI 元件),並且這些元件通常比自然影像中的物件小得多。

圖片

舉個例子,很多問題涉及的圖示的面積只佔整個螢幕的 0.1%。因此,如果只使用單張重新調整了大小的低解析度全域性影像,可能會丟失很多重要的視覺細節。

為了解決這個問題,該團隊引入了 any resolution(任意解析度 /anyres)這一思想。

具體來說,基於手機的原始縱橫比,他們選擇了兩種網格配置:1x2 和 2x1。給定一張螢幕影像,選取最接近其原始縱橫比的網格配置。之後,調整螢幕影像大小,使其匹配所選的網格配置,然後再將其切分為子影像(sub-image)。很明顯,縱向螢幕會被水平切分,而橫向螢幕會被垂直切分。然後,使用同一個影像編碼器分開編碼所有子影像。接下來 LLM 就可以使用各種粒度的所有視覺特徵了 —— 不管是完整影像還是經過增強的細節特徵。

圖 2 給出了 Ferret-UI 的整體架構,包括任意解析度調整部分。

圖片

資料集和任務構建

蘋果團隊構建了一個資料集來訓練和評估模型。

收集 UI 資料

UI 螢幕。該團隊不僅收集了 iPhone 螢幕,也收集了安卓裝置的螢幕。

其中安卓螢幕資料來自 RICO 資料集的一個子集,並根據該團隊的分割方案進行了處理。總共有 26,527 張訓練影像和 3080 張測試影像。

iPhone 螢幕則來自 AMP 資料集,有不同大小,共 84,685 張訓練影像和 9,410 張測試影像。

UI 螢幕元素標註。他們使用一個預訓練的基於畫素的 UI 檢測模型對收集到的螢幕資料進行了細粒度的元素標註。

任務構建

下面將簡單描述該團隊是如何將 UI 螢幕和相應標註轉換成可用於訓練 MLLM 的格式。這有三種方法。

方法一:調整 Spotlight 的格式。基於論文《Spotlight: Mobile ui understanding using vision-language models with a focus》,他們取用了 Spotlight 中的三個任務:screen2words、widgetcaptions 和 taperception,並將它們的格式調整為了對話式的一對對問答。具體來說,為了建立 prompt,他們使用了 GPT-3.5 Turbo 來處理他們編寫的基礎 prompt:

每個訓練示例都取樣了相應任務的 prompt,並搭配了原始原影像和基本真值答案。

方法二:基礎任務。除了 Spotlight 任務,該團隊還建立了 7 個新的 UI 任務:用於引述的 OCR、圖示識別和小部件分類;用於定基的小部件列表、查詢文字、查詢圖示、查詢小部件。他們將引述(referring)任務定義為輸入中有邊界框的任務,而將定基(grounding)任務定義為輸出中有邊界框的任務。

他們還使用 GPT-3.5 Turbo 擴充套件了每個任務的基礎 prompt,以引入任務問題的變體版本。圖 3 給出了資料生成的詳情。每個任務的訓練樣本數量見表 1b。

圖片

方法三:高階任務。為了讓新模型具備推理能力,他們跟隨 LLaVA 的做法並使用 GPT-4 額外收集了四種其它格式的資料。圖 4 展示了高階任務的訓練資料生成過程。

圖片

這四個任務是:詳細描述、對話感知、對話互動和功能推斷

實驗結果

該團隊進行了實驗研究和消融研究,並對結果進行了詳細分析。

設定:Ferret-UI-anyres 是指整合了任意解析度的版本,Ferret-UI-base 是指直接採用 Ferret 架構的版本,Ferret-UI 是指這兩種配置。訓練使用了 8 臺 A100 GPU,Ferret-UI-base 耗時 1 天,Ferret-UI-anyres 耗時約 3 天。

結果

實驗比較了 Ferret-UI-base、Ferret-UI-anyres、Ferret 和 GPT-4V 在所有任務上的表現;另外在高階任務上參與比較的模型還有 Fuyu 和 CogAgent。

表 2 總結了實驗結果,其中的資料是模型在每個類別中的平均表現。

圖片

圖 5 和表 3 給出了在具體的基礎和高階任務上的表現詳情。

圖片

圖片

從這些圖表可以看到,Ferret-UI 的表現頗具競爭力。尤其是任意解析度(anyres)的加入能讓 Ferret-UI-base 的表現更上一層樓。

消融研究

表 4 給出了消融研究的詳情。

圖片

從表 4a 可以看到,基礎任務能夠幫助提升模型解決高階任務的能力。

而表 4b 則表明,加入基礎任務資料並不會明顯改變模型在三個 Spotlight 任務上的效能。其原因可能是基礎任務的響應中使用了簡短且高度專業化的 UI 相關術語,這與 Spotlight 任務要求的響應風格不一致。而如果進一步整合高階任務,便能夠在 Spotlight 任務上得到最佳結果,即便這些高階任務資料完全來自 iPhone 螢幕。

該團隊最後對 Ferret-UI 的結果進行了詳細的分析,進一步驗證了其在引述和定基任務上的出色表現,詳情參閱原論文。

相關文章