此次,苹果提出的多模态大谈话模型(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)这一思想。
具体来说,基于手机的原始纵横比,他们选择了两种网格配置:1×2 和 2×1。给定一张屏幕图象,选取最接近其原始纵横比的网格配置。之后,调整屏幕图象大小,使其匹配所选的网格配置,然后再将其切分为子图象(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 的结果进行了详细的分析,进一步验证了其在引述和定基使命上的出色表现,概况参阅原论文。