在人工智能的浪潮中,大型语言模型(LLMs)和大型多模态模型(LMMs)已经展示了令人惊叹的语言理解和生成能力。然而,尽管这些模型在获取人类知识方面表现出色,它们在动态现实环境中的决策能力却显得力不从心。这一局限性凸显了开发能够通过自主环境交互学习的“基础Agents”的重要性。由智谱研发的AutoGLM应运而生,作为ChatGLM家族的新成员,它旨在通过图形用户界面(GUI)实现对数字设备的自主控制。本文将详细介绍AutoGLM的设计理念、技术实现及其在多个领域的卓越表现。
论文地址:AutoGLM: Autonomous Foundation Agents for GUIs
GitHub: https://github.com/THUDM/AutoGLM
Blog: AutoGLM
1. 引言
基础模型,包括大型语言模型(LLMs)和大型多模态模型(LMMs),因其卓越的语言理解和生成能力而备受关注。通过在大规模互联网语料库上的自监督预训练,这些模型不仅掌握了知识和语言能力,还具备了类似人类的推理和规划能力,从而催生了“LLMs作为Agents”的概念。这些Agents在编码、数据分析和游戏等多个领域展示了其应用潜力,为通向人工通用智能(AGI)开辟了新的道路。
添加图片注释,不超过 140 字(可选)
然而,尽管基础模型在获取人类知识方面表现出色,它们在动态现实环境中的决策能力却显得力不从心。这一局限性凸显了开发能够通过自主环境交互学习的“基础Agents”的重要性。AutoGLM应运而生,作为ChatGLM家族的新成员,它旨在通过图形用户界面(GUI)实现对数字设备的自主控制。
添加图片注释,不超过 140 字(可选)
2. AutoGLM:技术与洞察
2.1 重要技术
训练Agents与训练普通的LLMs或LMMs有所不同。一个关键障碍在于缺乏高质量的轨迹数据,这些数据包含了决策过程。以下是AutoGLM团队在项目中认识到的一些有用技术:
预训练:互联网文本语料库中很少有与Agents相关的数据,这使得LLMs难以有效地充当Agents。此外,现有的LMM预训练主要是“视觉指令调优”,模拟文本和图像之间的对齐,而没有充分学习序列多模态数据。因此,在预训练中适当利用现有的在线数据和弱监督决策信号实际上是有帮助的。此外,对于多模态感知,高分辨率的视觉输入非常重要,尤其是在使用像Set-of-Marks(SoM)提示这样的接地策略时。
大型多模态模型(LMMs):LMMs对于GUI的理解和操作非常重要。传统上,在机器人流程自动化(RPA)中,使用光学字符识别(OCR)捕捉器来匹配人工编写的自动化程序中的关键元素,这种方法无法扩展和泛化。相反,LMMs可以进行模糊匹配,并由于其从预训练中获得的强大常识和GUI环境理解能力,能够进行长程规划。然而,LMMs仍然需要大量训练才能获得Agents任务所需的强大规划和推理能力。
行为克隆(监督微调):行为克隆(BC)是从高质量专家轨迹中训练Agents的关键策略。该策略在LLM和LMM-based Agents训练中也已被验证为有效。然而,收集专家轨迹的成本和时间极高。此外,使用BC的一个根本问题是Agents只学会逐步模仿专家的行为,而没有完全理解其目标。当专家轨迹是oracle(大多数情况下为了保持训练稳定性)时,Agents无法很好地培养从错误中恢复的能力。
课程学习:Agents任务通常难度差异很大。因此,逐步增加训练难度是明智的。例如,AutoWebGLM采用多阶段课程,Agents模型依次训练单步任务、简单多步任务和复杂长程任务。DigiRL还提出了一个简单的课程,根据Agents在特定时间戳的能力从固定指令集中过滤适当的任务。AutoGLM团队发现该策略对于构建具有复杂目标实现能力的基础Agents非常有用。
奖励建模(RM):为了启用基础Agents的在线强化学习(RL),需要适当的RM来提供监督。传统上,许多RL Agents使用有限任务和精确的基于规则的奖励函数进行训练。然而,基于LLMs和LMMs的基础Agents旨在在开放世界中完成通用任务,这与任务特定奖励函数的能力相矛盾。因此,构建可处理广泛现实世界Agents任务的通用RM至关重要。具体来说,RM可以分为结果监督ORM和过程监督PRM,它们提供不同粒度的有效监督。
强化学习(RL):与BC相比,狭义上的RL可以更好地从失败中学习。这对于基础Agents训练尤为重要,因为高质量的专家轨迹非常难以获取。然而,将RL应用于基础Agents训练的挑战在于环境中的采样效率低下。这个问题可以从两个方面理解:1)模拟器:当Agents在Web或Android环境中探索时,其效率受限于互联网连接速度和最大并行度。像Android虚拟设备这样的环境非常消耗内存。2)样本多样性:LLMs和LMMs被训练为输出某些基于函数的动作。严格的函数格式化通常需要与模型进行过拟合训练,导致即使在高温度下推理时,采样结果仍然单调。
尽管存在挑战,AutoGLM团队认为扩大RL和基础模型的后训练对于构建强大的基础Agents至关重要,正如OpenAI o1的成功所示。如果不让其从与现实环境的交互中学习,构建通用智能是不可能的。
2.2 洞察1:中间接口设计
在开发过程中,AutoGLM团队发现中间接口设计对于分离基础Agents中的规划和接地行为至关重要。通过将它们分离到不同的模块中,基础Agents可以在灵活性和准确性两个维度上得到改进,而不会相互干扰。
直觉很简单:AutoGLM团队发现现有的LLMs和LMMs在执行Agents任务时,规划能力比接地能力更强。虽然规划能力仍有很大的提升空间,但当前大多数错误源于接地阶段的元素识别错误。例如,在VAB-WebArena-Lite中使用视觉输入测试时,典型的生成动作可能是:
# End-to-End Agent
do(action="Click", element_coordinates=[823,684])
其中元素“4”可能指的是Reddit上的“提交”按钮。如果我们将格式更改为以下内容:
# Agent with Intermediate Interface Design
# Planner
do(action="Click", element_description="the ‘Submit’ button on the bottom right")
# Grounder
find_coordinates_by_instruction("the ‘Submit’ button on the bottom right")
# Expected Output: [823,684]
通过这种方式,规划器和接地器的能力可以分别得到改进。实际上,从无监督的环境观察中自动构建大量接地数据要容易得多。在AutoGLM团队的实验中(参见表1),他们发现使用训练的接地器的策略对于改进专有LLM/LMM API的规划器非常有用。他们的观察与另一项并发工作[12]相似,该工作探索了GUI Agents的通用接地模型。
添加图片注释,不超过 140 字(可选)
2.3 洞察2:自我进化的在线课程RL
虽然中间接口设计有助于缓解接地不准确的问题,但规划仍然是一个问题。许多现有的Agents工作基于专有的LLM/LMM API,其规划能力因此无法通过训练得到改进。
因此,AutoGLM团队决定通过RL探索内部规划器的训练。这非常具有挑战性,因为它缺乏足够的用户任务或专家轨迹。他们开发了一个自我进化的在线课程RL框架-WebRL [30]-用于从头开始训练基础Agents。以WebArena [47]环境为例,他们采用actor-critic RL框架进行训练。简而言之,他们确定了应用课程RL时最困难的问题-任务数据稀缺和策略分布漂移。
添加图片注释,不超过 140 字(可选)
任务数据稀缺:利用VisualAgentBench [23]提供的约1,000个BC数据,他们将GLM-4-9B初始化为22.4% SR。此时,他们已经耗尽了任务指令或oracle轨迹。因此,他们应用自我进化技术来增强在线roll-out期间失败的任务指令,将指令变异为更复杂或更简单。这些自我进化的指令由critic过滤,然后用于下一轮迭代训练阶段的roll-out。
策略分布漂移:课程学习的一个显著问题是策略分布在渐进课程计划期间的漂移。他们开发了一种KL约束的策略更新方法,用于Agents训练,并结合actor信心过滤的经验回放。消融研究表明,这些设计对于迭代训练期间的一致性能改进是不可或缺的。
添加图片注释,不超过 140 字(可选)
3. 结果
在本节中,AutoGLM团队报告了AutoGLM在Web和Android导向任务上的评估结果。
添加图片注释,不超过 140 字(可选)
3.1 Web评估
他们采用了三个交互式基准:VAB-WebArena-Lite [47; 23]和一个在线人类评估数据集OpenTable [29]。AutoGLM在这些环境中经历了训练优化。
添加图片注释,不超过 140 字(可选)
VAB-WebArena-Lite [47; 23]:VAB-WebArena-Lite1是原始812任务WebArena [47]的精简165任务子集,经过手动验证答案和判断函数。其设计意图是加速WebArena的评估并确保判断正确性。他们评估了代表性的专有LLMLMM API、开放模型[9]、最近的Agents框架[36; 45]和AutoGLM。图4中的结果显示,AutoGLM在基准测试中取得了显著进展,缩小了自主Agents与人类之间的性能差距。
OpenTable评估[29]:遵循Agent Q [29],他们还在真实网站OpenTable上评估了AutoGLM,该网站提供在线开放预订服务。由于[29]的测试集未公开,他们根据其论文中提供的示例(“在OpenTable上为4人预订2024年5月22日晚上7:00的Cecconi's餐厅”)重建了一个200样本测试集,并在真实OpenTable网站上进行了人类评估。结果如图5所示。AutoGLM在这个真实世界网站上优于gpt-4o和Agent Q。
3.2 Android评估
他们在学术基准AndroidLab [37](即VAB-Mobile [23])和常见中国移动APP的频繁任务上评估了AutoGLM的Android能力。
添加图片注释,不超过 140 字(可选)
AndroidLab [37](VAB-Mobile [23]):AndroidLab是一个交互式Android基准和开发环境,支持可重复的评估,涵盖系统和一些可离线部署的英文APP。与一些现有基准(如AITW [32])相比,其交互性质允许对Android基础Agents进行更实际的评估,并通过RL进行改进。他们评估了代表性的专有LLMLMM API、在提供的BC数据上微调的开放模型[9]和AutoGLM。结果如图6所示。AutoGLM实现了36.2% SR,是所有比较Agents中表现最好的。
中国Android APP的人类评估:为了测试AutoGLM在公共用户部署中的实用性,他们仔细检查了其在7个常见中国Android APP(包括微信、美团、淘宝、点评、高德地图、小红书和12306)中的频繁任务。
他们策划了一个测试查询集(参见表2),用于评估AutoGLM在用户交付设置中的实际性能,其中最终成功率由人类对整个执行轨迹进行评估。与在AndroidLab和先前工作[31; 39]中评估Android虚拟设备(AVD)不同,他们的评估是在物理Android手机上进行的,通过AccessibilityService应用程序实现,以反映基础Agents在手机使用中的实际场景。结果如图7所示。他们将结果分为3类,以便更好地理解AutoGLM:
- 成功:任务完全成功,满足用户指令中的所有要求。
- 部分:任务在正确方向上部分完成,但未完成一些后续程序以满足用户要求。
- 失败:任务过早终止,中途卡住,或走向错误方向。
正如他们观察到的,AutoGLM在评估的APP上表现良好。虽然目前它无法完美解决所有任务,但未完成的任务仍能完成一半,这在实际情况中对用户加速GUI操作仍具有辅助作用。
4. 结论
通过这项工作,AutoGLM团队介绍了AutoGLM,这是一个基于ChatGLM模型系列的基础Agents系列,展示了在Web浏览和Android环境中GUI操作的强大能力。他们的关键贡献包括设计了一个有效分离规划和接地行为的中间接口,以及开发了一种自我进化的在线课程RL方法,实现了强大的错误恢复和性能改进。在各种基准测试中的强大实证结果,包括在VAB-WebArena-Lite上的55.2%成功率和在AndroidLab上的36.2%成功率,以及通过浏览器插件和Android应用程序成功进行的实际部署,展示了AutoGLM作为开发实用GUI交互基础Agents的重要一步的潜力。