在现代数字世界中,图形用户界面(GUI)是人机交互的核心。然而,尽管大型语言模型(LLM)如ChatGPT在处理文本任务上表现出色,但在理解和操作GUI方面仍面临挑战,因此最近一年来,在学界和大模型社区中,越来越多的研究者和开发者们开始关注VLM-based GUI Agent。2023年12月,智谱发布了CogAgent,第一个基于视觉语言模型(Visual Language Model, VLM)的开源 GUI agent 模型,而在最近,最新的CogAgent模型 CogAgent-9B-20241220发布,让LLM操作GUI在技术上更进了一步。

1. CogAgent的诞生与发展

CogAgent是基于视觉语言模型的开源GUI代理模型。它的独特之处在于仅依赖于屏幕截图作为输入,不需要HTML等文本表征。这使得CogAgent能够在各种基于GUI交互的场景中应用,如个人电脑、手机、车机设备等。随着CogAgent的发布,越来越多的研究者和开发者开始关注VLM-based GUI Agent的研究。

1.1 CogAgent-9B-20241220的发布

CogAgent-9B-20241220是CogAgent团队经过一年迭代优化后的最新版本。该版本基于GLM-4V-9B双语开源VLM基座模型,通过数据采集与优化、多阶段训练与策略改进等方法,使其在GUI感知、推理预测准确性、动作空间完善性、任务的普适和泛化性上得到了大幅提升。

1.2 CogAgent 执行过程

下图展示了CogAgent-9B-20241220执行用户指令的过程。

  • 以 GUI 截图为唯一的环境输入,结合已经完成的动作历史,计算当前 GUI 截图中最合适的动作。
  • 根据更新后的历史动作和截图,计算后续的操作
  • 重复上述过程,直到CogAgent认为指令执行完毕

2. CogAgent-9B的技术架构与优化

CogAgent-9B-20241220在模型基座、视觉处理模块、数据集丰富与完善、预训练策略优化、后训练策略改进等方面进行了全面的升级。

2.1 模型基座和结构升级

CogAgent使用更强大的视觉语言模型GLM-4V-9B作为基座模型,大幅提升了模型的基座图像理解性能。在视觉处理模块上,CogAgent实现了更高效统一的视觉处理模块,支持1120*1120原生高分辨率图像输入。

2.2 数据集丰富与完善

CogAgent团队广泛收集并整合了多种数据集,包括无监督数据和GUI指令微调数据集。这些数据集的丰富性和多样性为CogAgent提供了更广泛的训练和测试基础,使其能够更好地适应实际应用场景。

2.3 预训练与后训练策略优化

在预训练阶段,CogAgent引入了GUI Grounding预训练方法,通过屏幕截图和layout对,构造界面子区域和layout表征的对应关系。在后训练阶段,CogAgent采用了更科学的GUI agent后训练策略,使模型具备了更强的分析、推理、预测能力。

3. CogAgent-9B的应用与性能评估

CogAgent-9B-20241220在多个数据集上的测试结果显示了其卓越的性能。尤其是在Screenspot、OmniAct、CogAgentBench-basic-cn、OSworld等数据集上,CogAgent均取得了领先的成绩。

CogAgent-9B-20241220模型在多平台、多类别的 GUI agent 及 GUI grounding benchmarks 上取得了当前最优的结果。

4. GUI Agent的未来展望

随着CogAgent-9B-20241220的发布,GUI Agent的研究和工程热又迈入一个新的台阶,智谱表示此版CogAgent模型已被应用于智谱AI的GLM-PC产品 (https://cogagent.aminer.cn/home 申请内测),预计25年Q1会开展公测。

在之前,智谱发布了AutoGLM,通过CogAgent控制手机实现点餐、买票等操作,节省用户时间。我的理解这些场景还不是刚需,但是非常有潜力变成一个更通用的入口,不过手机终归还不是生产力平台,GLM-PC产品则更让人值得期待,杀死RPA的最后一根稻草。

现在豆包在强化浏览器的功能,就是要将豆包app打造为一个高生产力的入口平台,或许不远的将来,就能看到豆包支持操作PC各类应用的功能。

未来,GUI Agent产品有望在更多的应用领域中得到应用,如智能家居、智能座舱等,为用户提供更智能、更便捷的交互体验。

智谱开源CogAgent的最新模型CogAgent-9B-20241220,全面领先所有开闭源GUI Agent模型的更多相关文章

  1. [源码解析] 模型并行分布式训练Megatron (5) --Pipedream Flush

    [源码解析] 模型并行分布式训练Megatron (5) --Pipedream Flush 目录 [源码解析] 模型并行分布式训练Megatron (5) --Pipedream Flush 0x0 ...

  2. [源码解析] 模型并行分布式训练 Megatron (3) ---模型并行实现

    [源码解析] 模型并行分布式训练 Megatron (3) ---模型并行实现 目录 [源码解析] 模型并行分布式训练 Megatron (3) ---模型并行实现 0x00 摘要 0x01 并行Tr ...

  3. [源码解析] 模型并行分布式训练Megatron (2) --- 整体架构

    [源码解析] 模型并行分布式训练Megatron (2) --- 整体架构 目录 [源码解析] 模型并行分布式训练Megatron (2) --- 整体架构 0x00 摘要 0x01 启动 1.1 分 ...

  4. Python的开源人脸识别库:离线识别率高达99.38%(附源码)

    Python的开源人脸识别库:离线识别率高达99.38%(附源码) 转https://cloud.tencent.com/developer/article/1359073   11.11 智慧上云 ...

  5. Linux开源系统对比Windows闭源系统的优势解析

    当我们听到linux的时候是不是觉得高大上的感觉呢?在我刚上大学的时候,听着学长们给我讲他们的大学的学习经历,先学习C语言.单片机.然后做一些项目,现在正学习linux操作系统,当我听到linux操作 ...

  6. DL4NLP——词表示模型(一)表示学习;syntagmatic与paradigmatic两类模型;基于矩阵的LSA和GloVe

    本文简述了以下内容: 什么是词表示,什么是表示学习,什么是分布式表示 one-hot representation与distributed representation(分布式表示) 基于distri ...

  7. 第一次作业:基于Linux操作系统深入源码进程模型分析

    1.Linux操作系统的简易介绍 Linux系统一般有4个主要部分:内核.shell.文件系统和应用程序.内核.shell和文件系统一起形成了基本的操作系统结构,它们使得用户可以运行程序.管理文件并使 ...

  8. 自动化运维工具之Puppet master/agent模型、站点清单和puppet多环境设定

    前文我们了解了puppe中模块的使用,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/14086315.html:今天我来了解下puppet的master/age ...

  9. [源码解析] 模型并行分布式训练 Megatron (4) --- 如何设置各种并行

    [源码解析] 模型并行分布式训练 Megatron (4) --- 如何设置各种并行 目录 [源码解析] 模型并行分布式训练 Megatron (4) --- 如何设置各种并行 0x00 摘要 0x0 ...

  10. 使用睿云智合开源 Breeze 工具部署 Kubernetes v1.12.3 高可用集群

    一.Breeze简介 Breeze 项目是深圳睿云智合所开源的Kubernetes 图形化部署工具,大大简化了Kubernetes 部署的步骤,其最大亮点在于支持全离线环境的部署,且不需要FQ获取 G ...

随机推荐

  1. docker-compose -- 创建 redis && mysql

    version: '3' services: nest-admin-web: image: buqiyuan/vue3-antdv-admin:stable container_name: nest- ...

  2. WebDriver常用属性和方法

    除了上一篇的元素定位方法,Selenium中的WebDriver类中还有一些常用的属性和方法 一.常用的属性 1.下表列出了WebDriver的常用属性 # 属性 属性描述 用途 1 driver.n ...

  3. Java Z 垃圾收集器如何彻底改变内存管理

    大家好,我是 V 哥,今天的内容来聊一聊 ZGC,Java Z Garbage Collector(ZGC)是一个低延迟垃圾收集器,旨在优化内存管理,主要用于大内存应用场景.它通过以下几个关键创新,彻 ...

  4. Centos7系统docker部署Ferry工单系统

    1.更新yum源国内阿里1.1备份当前yum仓库配置sudo cp /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.rep ...

  5. win10启用长路径

    方法一:操作组策略 Win+R 输入 gpedit.msc 依次点击[计算机配置]->[管理模板]->[系统]->[文件系统],找到 "启用win32长路径" 并 ...

  6. 灵活轻巧的java接口自动化测试实战

    前言 无论是自动化测试还是自动化部署,撸码肯定少不了,所以下面的基于java语言的接口自动化测试,要想在业务上实现接口自动化,前提是要有一定的java基础. 如果没有java基础,也没关系.这里小编也 ...

  7. KindleVocab 教程,Kindle导出查词记录成文本文档,Kindle导出查询单词记录导入Anki

    程序功能 因本人使用Kindle Mate导出觉得复杂,特意写了个自用的导出程序(有linux版本和win两个版本). 所以 KindleVocab 只有一个作用:导出Kindle查询过的生词和生词所 ...

  8. 【Spring】IOC核心源码学习(二):容器初始化过程

    接上文 啃啃老菜: Spring IOC核心源码学习(一) ,本文将以 ClassPathXmlApplicationContext 这个容器的实现作为基础,学习容器的初始化过程. ClassPath ...

  9. ArrayList源码分析(基于JDK1.6)

    不积跬步,无以至千里:不积小流,无以成江海.从基础做起,一点点积累,加油! <Java集合类>中讲述了ArrayList的基础使用,本文将深入剖析ArrayList的内部结构及实现原理,以 ...

  10. gitlab之配置文件.gitlab-ci.yml

    自动化部署給我们带来的好处 自动化部署的好处体现在几个方面 1.提高前端的开发效率和开发测试之间的协调效率 Before 如果按照传统的流程,在项目上线前的测试阶段,前端同学修复bug之后,要手动把代 ...