最近这几天,让大模型具备控制计算机(包括电脑和手机)的相关研究和应用如雨后春笋般不断涌现。
- Ferret-UI 项目地址:https://huggingface.co/papers/2404.05719
不仅如此,微软也低调开源了他们的相关研究 OmniParser,这是一个基于大模型的屏幕解析工具,可将 UI 截图转换成结构化的元素;据称其解析和理解 UI 的能力达到了当前最佳水平,甚至超越了 GPT-4V。
- 项目地址:https://huggingface.co/microsoft/OmniParser
- 代码地址:https://github.com/microsoft/OmniParser
- 论文标题:OmniParser for Pure Vision Based GUI Agent
- 论文地址:https://arxiv.org/abs/2408.00203
有了这个工具,或许每个人都可以创建自己的计算机操控智能体了。先来看看 OmniParser 的效果。对于一个用户任务:「将约翰内斯堡提供素食选择的餐厅保存到我的行程中」。OmniParser 首先会解析 Tripadvisor 网页屏幕上的所有元素,然后它成功从中找到了「餐厅」选项。之后它点击(动作执行需要搭配其它模型)该选项,打开了一个搜索框。OmniParser 继续解析,这一次没有在屏幕上找到所需关键词,于是它在搜索框中输入了「约翰内斯堡」。再次解析后,它打开了相应的搜索项,展开了搜索结果。同样,继续解析,它成功定位到了素食选项,然后进行了勾选。最后,点击筛选出的第一个选项上的相应按钮将其收藏到行程中。至此,任务完成。而如果你想看看能否进入布莱斯峡谷国家公园呢?OmniParser 也能助你轻松完成。整体来看,OmniParser 的解析能力非常出色,过程也还算流畅。我们知道,不同的操作系统和应用有着大不相同的交互界面。为了稳健地应对各种不同情况,屏幕解析模型需要:
- 理解屏幕截图中各种不同元素的含义,并将计划动作与屏幕上相应的区域准确地关联起来。
OmniParser 正是为这一目的而生的。OmniParser 可基于用户任务和 UI 截图输出:(1) 解析后的截图,带有边界框和数值 ID,(2) 包含提取出的文本和图标描述的局部语义。下面展示了几个例子:如果再搭配上其它可以基于 UI 采取行动的模型(比如 GPT-4V、Phi-3.5 和 Llama 3.2),便可以创造出可以理解并控制计算机的智能体。该团队用 GPT-4V 做了实验,结果发现 OmniParser 能大幅提升其为界面区域生成精准动作的能力。他们使用 OmniParser 和 GPT-4V 创建的一个智能体在 WindowsAgentArena 基准上达到了最佳水平。收集和整理专用数据集 ——OmniParser 的开发始于创建两个数据集:
- 一个可交互区域检测数据集,该数据集收集整理自常见的网页,其中可点击和可操作的区域都做了标注。
- 一个图标描述数据集,旨在将每个 UI 元素与其相应的功能关联起来。在训练模型以理解检测到的元素的语义方面,此数据集非常关键。
对检测和描述模型进行微调 ——OmniParser 使用了两个互补的模型: