超越GPT-4V,苹果多模态大模型上新!
一句话Siri就能帮忙打开美团外卖下订单的日子看来不远啦!
4月8日,苹果发布了其最新的多模态大语言模型(MLLM )——Ferret-UI,能够更有效地理解和与屏幕信息进行交互,在所有基本UI任务上都超过了GPT-4V!
论文地址:https://arxiv.org/pdf/2404.05719.pdf
虽然苹果前段时间经历了泰坦项目的沉没,但看目前的形式,这是又要开卷的节奏呀~
不少人十分期待,这项技术如果在苹果的Siri上,Siri岂不是要变得聪明绝顶了!
众所周知,通用域多模态大型语言模型(MLLM )在理解和有效交互的能力方面往往不足。
而Ferret-UI被称之为是一种新的MLLM,专为理解移动UI屏幕而量身定制,具备指向、定位和推理等多种能力。
Ferret-UI能够通过灵活的输入格式(点、框、涂鸦)和基础任务(例如:查找小部件、查找图标、查找文本、小部件列表)在移动用户界面屏幕上执行引用任务(例如:小部件分类、图标识别、OCR) )。
Ferret-UI的一个关键特点是「任何分辨率」(anyres),该技术通过放大细节来解决UI屏幕中小型对象的识别问题,从而提高模型对UI元素的理解精度。
这些基本任务为模型提供了丰富的视觉和空间知识,使其能够在粗略和精细级别上区分 UI 类型, 例如区分各种图标或文本元素。
具体来说,Ferret-UI 不仅能够在详细描述和感知对话中讨论视觉元素, 还能在交互对话中提出目标导向的动作并通过函数推理来推断屏幕的整体功能。
网友直呼:泰裤辣!
虽然Ferret-UI-base紧密遵循Ferret的架构,但Ferret-UI-anyres融入了额外的细粒度图像功能。
特别是,预先训练的图像编码器和投影层可以为整个屏幕生成图像特征,对于基于原始图像长宽比获得的每个子图像,生成附加图像特征。
为了增强模型的推理能力, 研究人员编译了用于高级任务的数据集,包括详细描述、 感知/交互对话和函数推理。
在基础任务性能的比较上, Ferret-UI展现出了对UI屏幕的出色理解能力以及执行开放式指令的能力,表现可谓亮眼!
掌握应用程序屏幕并使AI像人类一样进行交互,苹果未来或许将改变MLLM的游戏规则!
论文细节
方法
Ferret-UI建立在Ferret的基础上。
Ferret是一种MLLM,擅长在形状和细节各异的自然图像中进行空间参照和定位。
它可以解释区域或对象并与之交互,无论这些区域或对象被指定为任何自由形状(点、方框等)。
它包含一个预先训练好的视觉编码器和一个纯解码器语言模型,并采用一种独特的混合表示技术,将指定区域转换为适合LLM处理的格式。
为了向Ferret灌输UI专业知识,他们对Ferret-UI进行了两个扩展:
1. UI参照和定位的定义与构建
2. 模型架构调整以更好地处理屏幕数据
与之前需要外部检测模块或屏幕视图文件的MLLM不同, Ferret-UI 是自给自足的。
它将原始屏幕像素作为模型输入,这种方法不仅促进了高级单屏交互,还为新应用程序铺平道路,例如:提高可访问性。
数据集
他们对iPhone和安卓设备的屏幕进行了研究。
对于安卓屏幕,研究人员使用RICO数据集的一个子集,具体来说,他们考虑了Spotlight中的任务,其数据是公开的,包括 screen2words、widgetcaptions 和 taperception。
对于iPhone屏幕,研究人员使用AMP数据集,它涵盖了广泛的应用程序。
在收集 Android 和 iPhone 屏幕后,他们使用预先训练好的基于像素的UI检测模型进一步从屏幕收集细粒度元素注 释。
对于每个检测到的用户界面元素,输出结果都包括用户界面类型(按钮、文本、图标、图片等)、相应的边界框,以及由Apple Vision Framework识别的显示在其上的文本(如果有的话)。
任务制定
首先从现有的Spotlight任务中获取screen2words、widgetcaptions和taperception,并将它们格式化为会话QA 对。
对于每个训练示例,他们都会对相应任务的提示进行采样,并将其与原始源图像和真实答案配对。
基础任务数据生成
除了Spotlight任务之外,他们将referring任务定义为输入中带有边界框的任务,而基础任务则是输出中带有边界框的任务。
对于每个任务,他们还使用GPT-3.5 Turbo来扩展基本提示以引入任务问题的变体。
数据生成的详细信息如下图所示。
高级任务数据生成
为了将推理能力融入到该模型中,他们使用LLaVA方法,并用GPT-4收集另外4种格式的数据。
首先对检测输出中的边界框坐标进行标准化,然后将检测、提示和可选的一次性示例发送到GPT-4。
为了详细描述和功能推理,他们将生成的响应与预选的提示配对来训练Ferret-UI。
下图说明了高级任务的训练数据生成过程。
以上数据的生成主要为4个任务,分别是:详细描述、对话感知、对话交互和功能推理。
其中,他们扩展了详细描述和函数推理的基本提示,将它们与GPT-4响应配对,作为模型训练中的输入数据。
对于对话任务,他们为GPT-4提供了一个上下文示例,以更好地遵循其输出中的边界框格式。
实验结果
初级任务的性能细分如下表所示。
可以看到,与Spotlight相比,Ferret-UI在S2W和 WiC方面表现出了优越的性能,尽管Spotlight使用了80M网页截图和269M手机截图进行预训练。Ferret-UI性能虽然低于TaP,但仍然具有竞争力。
高级任务性能的结果如下表所示。
尽管Ferret-UI的训练数据 集中缺少Android特定数据,但它在两个平台的高级任务上都表现出了值得称赞的性能。
这表明用户界面知识在不同操作系统之间具有显著的可转移性。
消融研究
研究发现,当仅使用高级任务数据,两个平台的性能均为64%。添加iPhone或Android基本任务 后,iPhone上高级任务的性能持续提高5%。
同样,从iPhone添加基本任务可将Android在高级任务上的性能提高约4%,而合并Android基本任务可将这一性能提高9%。
包含iPhone和Android基本任务后,iPhone 和 Android 高级任务的性能分别进一步提高了3%和5%,超出了单组基本任务所带来的改进。
这些观察结果支持他们的假设,即:基本任务为模型提供了增强的视觉和空间理解,从而促进了高级任务。
为了探索不同数据配置对Spotlight Tasks性能的影响,他们特别研究了添加初级任务数据是否能提高模型性能,因为这些任务的目的是为了提高对屏幕的视觉和空间理解能力。
如下表所示,添加基本任务数据(无论是仅来自Android、iPhone还是两者的组合)都不会显著改变三个Spotlight任务的性能。
在分析Ferret-UI 的参照功能时,他们特别关注OCR和小部件分类预测,如下图所示。
OCR分析揭示了三个值得注意的观察结果:
1. 模型预测相邻文本而不是目标区域中的文本
2. 该模型表现出预测实际单词的倾向,而不仅仅是破译屏幕上显示的字符。
3.Ferret-UI展示了准确预测部分被截断的文本的能力,即使在OCR模型返回不正确文本的情况下也是如此。
本文转自 新智元 ,作者:新智元