WebRL:让 AutoGLM 自我进化

WebRL:让 AutoGLM 自我进化

WebRL:让 AutoGLM 自我进化

智谱技术团队  2024年11月06日 18:44 北京

www.zeeklog.com  - WebRL:让 AutoGLM 自我进化

🌐

使用自我进化在线课程强化学习框架,服务于 AutoGLM 性能提升

大型语言模型(LLMs)不仅在人类语言理解、常识推理和知识获取方面表现出卓越的能力,而且在复杂规划和逻辑推理方面也具有巨大的潜力,这表明它们有望成为自主LLMs智能体。

LLM 智能体的各种应用层出不穷,包括代码生成、数据库操作和图形用户界面(GUI)交互等领域。其中,由 LLMs 驱动的网页智能体因其广泛的应用前景和在数字生态系统中构建真实自主智能的独特潜力而受到特别关注。

尽管取得了一定进步,但现有的 LLM 网页智能体,无论其性能指标或架构范式仍然发展不足。

高性能的 LLM 网页智能体主要依靠精心制作的提示(prompt)和闭源的 LLM API(如 OpenAI GPT-4)来理解和操作网页,这既昂贵又耗时。

相反,开源 LLMs 在作为网页智能体的能力方面表现出明显的不足,这主要是由于在预训练阶段(Pretraining)和微调阶段(Post-training)都缺乏以决策为中心的数据。尽管最近有研究者尝试通过模仿学习(Imitation Learning)来训练开源 LLMs 作为网页智能体,但这些方法没有充分利用网络固有的在线交互性质,无法产生一致、持续的改进。

在这项工作中,我们提出在在线环境 WebArena 中,基于开源 LLMs 训练高性能的网页智能体。

训练该网页智能体主要面临以下挑战:

训练任务不足:离线数据集通常提供了人类注释的轨迹,便于在预定义任务上训练和评估智能体。但像WebArena这样的在线网页环境通常只提供有限的测试集用于评估。这种缺乏预定义训练任务和训练数据的情况显著阻碍了在这些环境中对智能体的有效训练。

反馈信号的稀疏性:在没有任务特定评估函数的情况下,评估任意网页浏览任务的成功与否较为困难。此外,不同于某些图形用户界面数据集中的任务(如 AITW 和 WebShop),WebArena中的任务通常具有较长的步骤序列,最优解平均需要约10步。这一特点在在线探索过程中导致了反馈信号的严重稀疏性。

在线学习中的策略分布漂移:由于缺乏预定义的训练集,在线探索成为必要,然而这不可避免地导致智能体策略的分布漂移。这一现象可能会引发灾难性遗忘,并导致性能随时间下降。

针对这些挑战,我们提出了 WebRL,一种自我进化的在线课程强化学习框架,专门用于训练大语言模型网页智能体。通过应用 WebRL,我们成功将 Llama-3.1-8B 模型转变为一个高效的 LLM 网页智能体,使其在 WebArena-Lite 上的成功率从初始的4.8%提升至42.4%。此外,当应用于 Llama-3.1-70B 时,我们取得了显著的49.1%成功率,大幅超越了最先进的专有 LLM API(GPT-4-Turbo,成功率为17.6%)以及此前基于开源 LLM 训练的网络代理(AutoWebGLM,成功率为18.2%)。

www.zeeklog.com  - WebRL:让 AutoGLM 自我进化

图:(a) 开源 LLMs 和 闭源 LLMs 的性能比较;(b) 相比于其他训练方法,经过 WebRL 训练后,GLM-4-9B 的性能得到了大幅提升


WebRL 算法流程

www.zeeklog.com  - WebRL:让 AutoGLM 自我进化

我们针对 WebArena环境,提出了一个为训练网页智能体而设计的自我进化在线课程学习框架。在这个系统中,智能体不断与环境互动,收集实时轨迹数据。这种交互由自我进化的课程学习策略引导,该策略能够动态生成任务,从而有效缓解训练任务不足的问题。

此外,自进化课程学习策略生成的任务是根据智能体当前的能力水平量身定制的,从而增加了获得正反馈的可能性,并缓解了稀疏反馈信号的挑战。

另外,我们训练了一个基于结果的奖励模型(Outcome-Supervised Reward Model,ORM)来评估任务的成功情况。我们引入了一种 KL 散度约束的策略更新算法,以防止在课程学习过程中出现剧烈的策略偏移。

同时,系统还利用了一个改进的重放缓冲区(Replay Buffer)来保留先前的知识,以降低灾难性遗忘的风险。这些技术使得智能体能够逐步改进,逐步处理更复杂的任务。

(1)训练结果监督奖励模型

在课程学习过程中,我们需要根据代理生成的轨迹来确定是否完成了相应的指令。由于缺乏来自环境的反馈,我们训练了一个 LLM 作为结果监督奖励模型 ORM,以自动进行任务成功评估。ORM 允许我们评估代理在任何给定任务中的滚动轨迹,并提供二进制奖励信号(0 表示失败,1 表示成功)。我们利用从 ORM 语言头模块中学习到的知识,配置 ORM 输出 "是 "或 "否",以指示轨迹是否成功完成任务。

鉴于 LLM 的上下文窗口有限,而 HTML 文档通常较长,因此我们采用只将最终状态的 HTML 保留在输入中。但不同的是,状态还包括代理的历史行动,这些行动提供了有关轨迹前几步的信息。因此,模型的输入由几个部分组成:指令、历史行动和最终状态。为了获得结果,我们要比较 ORM 生成 "YES"和 "NO"的概率。如果产生 "YES"的概率高于产生 "NO"的概率,则认为任务成功,奖励设为 1。否则,奖励设为 0。

(2)在线交互下的强化学习

在 WebArena 中训练 LLM 网络代理的一个典型挑战是训练任务的稀缺性,这与开发真实世界网络代理的情况不谋而合。尽管最近的工作为 WebArena 策划了一个轨迹微调集,但它只包含约 1k 个具有 Oracle 轨迹的指令,远远不足以训练强大的 LLM 网络代理。

因此,我们将研究设定为在线课程学习环境,在此过程中,模型在每个阶段都会逐步遇到并学习一组新任务,以提高数据效率。考虑到这一设置,这里的一个主要挑战是避免每个学习阶段出现过度的策略分布漂移,因为这可能会导致之前获得的知识发生灾难性遗忘。

传统方法通常通过混合不同阶段的数据来缓解这一问题。然而,在网络代理任务中,中间步骤不会获得直接的过程奖励,只有来自最终状态结果的微弱信号。因此,即使正确执行了中间步骤,后面步骤的错误也很容易导致最终失败,从而造成对中间步骤的误判,使其难以被重复使用。因此,在这项工作中,我们主要寻求算法上的改进,以更直接地解决策略分布漂移问题。

一个潜在的解决方案来自于人类反馈强化学习(RLHF),其中两个策略之间的 KL 散度受到限制,以减轻策略分布的漂移。通过将其应用到我们的课程学习设置中,我们旨在确保当前阶段的策略与前一阶段的策略不会有太大偏差,同时仍能优化新任务的性能。我们设计了一个KL限制的策略更新算法。其细节如下:


www.zeeklog.com  - WebRL:让 AutoGLM 自我进化
www.zeeklog.com  - WebRL:让 AutoGLM 自我进化
www.zeeklog.com  - WebRL:让 AutoGLM 自我进化
www.zeeklog.com  - WebRL:让 AutoGLM 自我进化

除了在算法层面通过 KL 控制策略分布漂移外,我们还实施了自适应重放缓冲区,以减轻数据层面的知识遗忘。具体来说,我们只将每个阶段的成功轨迹(可能是稀疏的)存储到重放缓冲区中。

在第 i 阶段,我们使用上一阶段的行动者来计算缓冲区中所有行动的复杂度。困惑度在 1/0.95 到 1/0.5 范围内的动作及其相应的状态会被添加到当前阶段的训练数据中。这一筛选过程既能排除过于熟悉的数据,也能排除对智能体来说难度过高的数据。

此外,通过只存储成功的轨迹,我们避免了对前一阶段错误轨迹的中间状态进行准确估计的挑战。

(3)自我进化的课程学习

为了实现持续改进,我们采用了自我进化的课程学习策略,生成越来越复杂的指令,逐步提高代理的能力。在每个阶段,我们都会实施一个生成和过滤的两步流程,以生成逐渐更具挑战性的任务,同时仍然适合代理当前的能力。在生成阶段,我们使用 In-breadth evolving 技术来创建新指令。

我们选择模型在上一个交互阶段未能完成的指令作为生成新指令的种子。为了确保生成的指令在目标环境中是可行的,并且符合所需的难度水平,我们首先使用训练有素的批评者对其进行过滤。

具体来说,我们使用批判者来评估每条新指令,并考虑其初始状态。我们会选择批判者评分在 0.05 到 0.75 之间的指令,确保只有符合我们难度标准的任务才会被保留下来。

然后,我们对指令进行人工检查,剔除明显不合理或不可能完成的指令。由此产生的指令集将用于下一阶段的交互和训练。


实验与结果

www.zeeklog.com  - WebRL:让 AutoGLM 自我进化

图:主实验结果表,展示不同模型在 WebArena-Lite 五个网站上的成功率及平均成功率

主实验结果

Llama3.1-8B 在 WebRL 训练下,平均准确率达到 42.4%,超越所有基线方法,尤其在Gitlab(46.7%)和CMS(54.3%)等复杂任务上表现出色。

WebRL 在不同模型架构中效果一致,如 GLM-4-9B 也展现了相似的性能提升,达到了 43% 的平均准确率,证明了 WebRL 的鲁棒性和适应性。

WebRL 在更大规模模型上仍具有有效性。Llama3.1-70B 在 WebRL 训练后的平均准确率达到了 49.1%。

在不同难度任务的表现

www.zeeklog.com  - WebRL:让 AutoGLM 自我进化
www.zeeklog.com  - WebRL:让 AutoGLM 自我进化

在具有各种数量的步骤需求的任务上,WebRL 都有优秀的表现。尤其在需要更长步骤数量的任务上(步骤数 >= 6),WebRL 的表现明显优于其他方法。WebRL 通过课程学习逐步增加任务难度,提高了对复杂任务的处理能力,在需要长期规划的任务上表现优于其他方法。

WebRL 在不同复杂度的指令上表现良好,尤其在更复杂的指令上表现出色。WebRL 采用的自我进化课程学习策略能够基于模型能力逐步提升任务复杂度,从而在复杂任务上表现更佳,展现了其适应不同复杂度指令的有效性。

错误类型分析

www.zeeklog.com  - WebRL:让 AutoGLM 自我进化

相比基线方法,使用 WebRL 训练的模型在“中途卡住(Get Stuck Midway)”错误上表现更好,成功减少了陷入重复操作的循环的情况。

WebRL 通过课程学习提升了模型应对“无法恢复错误(Fail to Recover)”的能力,使其在遭遇失败时能更灵活地调整操作。

WebRL 训练的模型在“错误页面停留”和“未尝试合理行动”错误上表现最优,表现出对任务与网页之间关系的更深层理解。这使模型能够更准确地识别完成特定任务所需的正确页面,从而减少误停错误页面或导航至不相关页面的概率。

消融实验

www.zeeklog.com  - WebRL:让 AutoGLM 自我进化

WebRL 与 DigiRL 对比,证明了通过自我进化的课程学习策略可以实现更加持续的性能提升。

WebRL w/o replay buffer 与 WebRL w/o KL & replay buffer 对比,证明了 KL 散度约束的策略更新算法在减轻知识遗忘上的有效性。

WebRL 与 WebRL w/o replay buffer 对比,证明了重放缓冲区在实现模型能力稳定提升上的有效性。


结论

在这项工作中,我们提出了 WebRL,一种新颖的自我进化在线课程强化学习框架,用于训练基于 LLM 的网页智能体。

通过解决训练任务稀缺、反馈信号稀疏和策略分布漂移等关键挑战,WebRL 能够在 WebArena 等在线环境中持续、一致地提高智能体性能。

我们的方法展示了显著的性能提升,超越了目前最先进的 LLM 网页智能体。这些结果凸显了 WebRL 在提升开源 LLMs 的网页任务能力方面的有效性。


Paper

www.zeeklog.com  - WebRL:让 AutoGLM 自我进化

https://arxiv.org/pdf/2411.02337v1

Read more

敏捷开发系列学习总结(13)——Spotify敏捷模式详解三部曲第一篇:研发团队

敏捷开发系列学习总结(13)——Spotify敏捷模式详解三部曲第一篇:研发团队

引言 2018年4月,来自北欧瑞典的音乐流媒体公司、百亿美元独角兽Spotify创造了历史,它成为了当代上市公司当中,第一家通过“直接上市”的方式在美国纽交所成功挂牌的公司。这家公司改变的可能不仅是人们听音乐的习惯,而且还有企业进入资本市场的方式。截至2018年初,Spotify拥有1.59亿的全球活跃用户数量、7000万的付费用户数和46%的付费用户增长率。Spotify是当之无愧的音乐流媒体领域的霸主,排名第二的苹果音乐,无论是付费用户还是活跃用户,都只有Spotify的一半。 是什么成就了Spotify?他们是如何打造出这么一款深受用户喜爱的产品的?幸运的是有Henrik Kniberg的存在。Henrik Kniberg是全球知名的敏捷和精益教练,也是一位多产的作家,他参与了Spotify公司的这一过程,并写下了多篇文章,向外界揭开了Spotify公司的神秘面纱。 笔者通过自己的收集和整理,梳理出了Spotify敏捷模式的整个过程,并通过一系列的文章呈现给大家。在本期的文章中,笔者将首先介绍Spotify的研发团队。 组织架构 Spotify采用的是一种非常独特的组

By Ne0inhk
敏捷开发系列学习总结(14)——Spotify敏捷模式详解三部曲第二篇:研发过程

敏捷开发系列学习总结(14)——Spotify敏捷模式详解三部曲第二篇:研发过程

摘要 在本系列文章的第一篇,我们介绍了Spotify的敏捷研发团队,以及它独特的组织架构。在本篇,我们将介绍Spotify基于敏捷开发和精益创业思维的产品研发过程。 引言 在本系列文章的第一篇,我们介绍了Spotify的敏捷研发团队,以及它独特的组织架构。Spotify的研发团队采用的是一种非常独特的组织架构,如下图所示: 整个研发组织有多个称为“Tribe部落”的单元组成,每个部落中包括多个“Squad小队”,从横向的维度,把拥有类似技能的人放在一起形成“Chapter分会”和“Guild协会”。 本篇是Spotify敏捷模式详解三部曲第二篇,将继续为大家介绍Spotify基于敏捷开发和精益创业思维的产品研发过程。 Spotify产品开发的核心理念 * 创造革命性的产品,通过早期低成本的原型设计来控制产品风险。 * 品质不过关决不发布产品,即便是落后于既定的发布日期。 * 通过产品发布后持续地调整优化,来确保产品从发布时就表现优异,直至最后得到惊艳的产品。 从产品创意——>形成产品4个阶段 产品风险控制 * 产品开发最大的风险——构建一个错误的产品。 *

By Ne0inhk
科普文:一文搞懂jvm(一)jvm概叙

科普文:一文搞懂jvm(一)jvm概叙

概叙 因篇幅限制,这里将分为多篇文章来讲解。 为什么要学习jvm? 1.这是3年+的java程序员必备技能。 2.理解“跨平台”、熟悉jvm组织结构、类的加载、双亲委派、对象在jvm中的生命周期、STD。 3.最终目的只有一个:用jdk提供的工具分析排查解决java问题。 你所遇到java问题示例 如何设置各种JVM参数,这些参数设置是否合理? 线上系统突然卡死,响应慢,甚至系统无法访问,有OOM,该如何分析解决??? 如何解决线上JVM GC问题? 针对监控平台的告警,或者某些指标的“抽风/凸起/波谷/波峰”如何分析?? 如何配合测试大佬,完成性能测试要求,确保你的项目性能指标达标?? 如何让你的系统更快? 如何让你的系统避免出现性能瓶颈? 如何给产品大佬打包票,你的系统能支持他的业务要求? 如何向老板解释你为什么要买这么多服务器?? 。。 jvm为什么是跨平台语言? JVM简介: JVM是Java Virtual Machine的缩写,中文翻译为Java虚拟机,是一种用于计算设备的规范,

By Ne0inhk
敏捷开发系列学习总结(15)——Spotify敏捷模式详解三部曲第三篇:工程文化

敏捷开发系列学习总结(15)——Spotify敏捷模式详解三部曲第三篇:工程文化

摘要 在本系列文章的第一篇和第二篇,我们分别介绍了Spotify的敏捷研发团队和研发过程。 在本篇,我们将介绍Spotify的敏捷工程文化。 引言 Spotify通过文化和价值观来进行管理,在本篇中,我们从如下八个方面来介绍Spotify的敏捷工程文化: 一、 如何管理小队的自主性 二、 如何管理标准化 三、 如果做到以人为本 四、 如何管理部署上线 五、 如何管理创新 六、 如何管理失败 七、 如何处理浪费 八、 如何管理文化 一、 如何管理小队的自主性 Spotify的小队,类似于一个高度自治的、迷你的“创业公司”。一方面,小队要保持自主性,同时也要兼顾公司在产品上的整体一致性。 如何看待自主性和一致性 通常认为:一致性和自主性就像是天平的两端,自主性高则一致性少。 Spotify认为:这是两个不同的维度: 1. 低一致性、低自主性: 管理者下指令,团队执行。 2. 高一致性、低自主性: 管理者告诉团队要做什么,以及怎么做。

By Ne0inhk