ShowUI:新加坡国立大学联合微软推出用于 GUI 自动化的视觉-语言-操作模型

2

在图形用户界面(GUI)自动化领域,新加坡国立大学 Show Lab 与微软研究院联手打造了一款名为 ShowUI 的视觉-语言-行动模型。这款模型旨在提升 GUI 助手的效率,其独特之处在于它采用了一系列创新技术,从而在 GUI 视觉代理方面展现出巨大的潜力。

ShowUI 的核心优势

ShowUI 的核心在于其 UI 引导的视觉令牌选择机制。传统的图像处理方法通常将屏幕截图分割成大量的视觉令牌,这导致了巨大的计算成本。ShowUI 通过构建 UI 连接图,能够自适应地识别冗余关系,并以此作为选择令牌的标准,从而大幅减少计算量。

此外,ShowUI 采用了交错视觉-语言-行动流,这使得它能够灵活地统一 GUI 任务中的多样化需求。GUI 任务通常涉及复杂的视觉信息、自然语言指令和用户操作,ShowUI 的交错流能够有效地管理视觉-行动历史,从而提高训练效率。

更令人印象深刻的是,ShowUI 仅使用了小规模但高质量的指令跟随数据集。通过精心策划数据和采用重采样策略来解决数据类型不平衡的问题,ShowUI 仅用 256K 数据就实现了 75.1% 的零样本截图定位准确率,同时训练速度提升了 1.4 倍。这充分证明了 ShowUI 在 GUI 视觉代理领域的强大实力。

ShowUI 的技术原理

ShowUI 的技术原理涉及多个方面,包括 UI 引导的视觉令牌选择、交错视觉-语言-行动流、数据策划和重采样策略,以及高效处理高分辨率 UI 截图的能力。

1. UI 引导的视觉令牌选择

ShowUI 将屏幕截图分割成规则的补丁(patches),每个补丁作为一个节点。然后,它识别具有相同 RGB 值的相邻补丁,构建 UI 连接图,将视觉冗余区域组合起来。在自注意力模块中,ShowUI 基于 UI 连接图选择性地处理视觉令牌,从而减少计算量。这种方法有效地降低了计算复杂度,使得模型能够更快地处理 GUI 界面。

2. 交错视觉-语言-行动流

ShowUI 采用结构化的 GUI 动作表示方法,以 JSON 格式统一不同设备上的动作。通过交替处理视觉、语言和行动数据,ShowUI 能够管理复杂的交互历史。在训练过程中,ShowUI 采用多轮对话的方式,从而提高数据利用效率。这种交错流的设计使得模型能够更好地理解用户的意图,并执行相应的操作。

3. 数据策划和重采样策略

ShowUI 的成功离不开精心策划的数据和重采样策略。ShowUI 团队没有简单地聚合所有可用的数据源,而是精心策划和选择高质量的训练数据。此外,他们还采用了重采样策略,以解决不同设备和任务类型之间的数据不平衡问题。这些策略有效地提高了模型的准确性和效率。

4. 高效处理高分辨率 UI 截图

ShowUI 针对高分辨率 UI 截图进行了优化,使其能够有效地处理长令牌序列,并减少计算成本。这使得 ShowUI 能够应用于各种高分辨率 GUI 界面,而不会受到计算资源的限制。

5. 模型架构

ShowUI 基于 Qwen2-VL-2B 模型,整合了视觉编码器和语言模型,从而能够处理视觉和文本数据。通过特定的数据食谱和训练策略,ShowUI 提高了模型在 GUI 任务中的性能。Qwen2-VL-2B 模型的强大能力为 ShowUI 提供了坚实的基础。

ShowUI 的主要功能

ShowUI 具备多种强大的功能,包括:

  • UI 引导的视觉令牌选择:通过构建 UI 连接图,自适应地识别冗余关系,减少计算成本。
  • 交错视觉-语言-行动流:灵活地统一 GUI 任务中的多样化需求,有效管理视觉-行动历史,提高训练效率。
  • 小规模高质量 GUI 指令跟随数据集:基于精心策划数据和采用重采样策略解决数据类型不平衡的问题,提高模型的准确性和效率。
  • 零样本截图定位:在没有额外训练的情况下,直接对屏幕截图进行理解和操作的能力。这使得 ShowUI 能够快速适应新的 GUI 界面。
  • GUI 自动化:自动化执行 GUI 任务,如点击、输入等,提高人机交互效率。这使得 ShowUI 能够应用于各种自动化场景。

ShowUI 的应用场景

ShowUI 的应用场景非常广泛,包括:

  • 网页自动化:自动执行网页上的点击、输入、滚动等操作,可用于自动化测试、数据抓取或模拟用户行为。例如,可以使用 ShowUI 自动填写表单、搜索信息或下载文件。
  • 移动应用测试:在移动应用中自动化执行各种用户交互,如滑动、点击、填写表单等,进行应用功能测试。这可以大大提高测试效率,并减少人工测试的成本。
  • 桌面软件自动化:自动化桌面软件中的重复性任务,如文件管理、数据输入、设置调整等。例如,可以使用 ShowUI 自动整理文件、批量重命名文件或自动调整软件设置。
  • 虚拟助手:作为虚拟助手的一部分,根据用户的自然语言指令执行特定的 GUI 操作。例如,用户可以通过语音指令让虚拟助手自动打开某个软件、查找某个文件或发送电子邮件。
  • 游戏自动化:在支持自动化脚本的游戏中,自动执行角色移动、物品拾取、战斗等操作。这可以帮助玩家更轻松地完成游戏任务,并提高游戏体验。

AI快讯

ShowUI 的项目地址

ShowUI 的相关资源已在多个平台上发布,方便研究人员和开发者使用:

通过这些资源,开发者可以深入了解 ShowUI 的技术细节,并将其应用于各种实际场景中。

ShowUI 的未来展望

ShowUI 的出现为 GUI 自动化领域带来了新的希望。随着技术的不断发展,ShowUI 有望在以下几个方面取得更大的突破:

  • 更强的泛化能力:ShowUI 可以进一步提高其泛化能力,使其能够适应更多不同类型的 GUI 界面,而无需进行额外的训练。
  • 更高的准确率:ShowUI 可以进一步提高其准确率,减少错误操作的发生,从而提高用户体验。
  • 更快的速度:ShowUI 可以进一步优化其算法,提高处理速度,使其能够更快地响应用户的指令。
  • 更强的鲁棒性:ShowUI 可以进一步提高其鲁棒性,使其能够更好地应对各种干扰因素,如光线变化、遮挡等。

总之,ShowUI 是一款极具潜力的视觉-语言-行动模型,它有望在 GUI 自动化领域发挥重要作用。随着技术的不断发展,ShowUI 将会变得更加强大,并为人们的生活带来更多的便利。