超越GPT-4,清华发布网页导航智能体AutoWebGLM

news2024/10/6 14:37:45

随着大语言模型(LLMs)的发展,Agent在网络导航等任务中展现出了前所未有的能力。想象一下,一个基于LLM的Agent能够在你享用早餐时为你总结在线新闻,这样的场景已经不再遥不可及。这种将LLMs融入日常任务的做法,不仅优化了我们与技术的互动方式,也重新定义了机器辅助生产力的边界。

许多公司都看好这一块的发展,已着手耕耘,期待着引发一场交互技术的变革,如腾讯的AppAgent、阿里的Mobile Agent等。前百度智能家居硬件总经理吕骋再次创业推出的智能网页访问一体机Rabbit R1,更是引领了一股时代潮流。这不,据说Sam Altman与前苹果设计总监Jony Ive共同创办的神秘AI硬件公司,也与这脱不了干系。

但是,目前真正能使用的网页操作Agent,因现实世界中网页行动的多样性、HTML文本的庞大以及网络开放性质带来的决策复杂性等原因,在实际应用中表现得远不尽人意。

为了应对这些挑战,清华大学的研究者们开发了AutoWebGLM,这是一个基于ChatGLM3-6B构建的自动化网络导航Agent,它在多个方面超越了GPT-4(下图),并通过人工智能与人类的混合方法构建了网络浏览数据,以进行课程训练。AutoWebGLM通过强化学习和拒绝采样进一步提升了模型对网页的理解、浏览器操作以及自身高效任务分解的能力。这一切的进展,都预示着Agent在网络世界中的新征程已经开启。

 GPT-3.5研究测试:

https://hujiaoai.cn

GPT-4研究测试:

https://higpt4.cn

Claude-3研究测试(全面吊打GPT-4):

https://hiclaude3.com

图片

论文标题:
AutoWebGLM: Bootstrap And Reinforce A Large Language Model-based Web Navigating Agent

论文链接:
https://arxiv.org/pdf/2404.03648.pdf

项目地址:
https://github.com/THUDM/AutoWebGLM

挑战与动机:网络导航中的三大难题

网络导航面临的三大挑战包括:

  • 缺乏统一的行动空间:缺少一个全面且便捷的行动空间,能够覆盖浏览器上各种网站所需执行的所有必要任务。

  • 缺乏网页简化方法:网页的多样性和复杂性,以及它们倾向于冗长的文本,对LLMs理解内容和执行正确操作构成了重大挑战。内容丰富的网页的token长度通常可以达到30k以上。

  • 缺乏高质量的训练跟踪:现有的训练Agent在网络任务的正确推断和自检方面明显缺乏能力。一旦陷入错误循环,它们很难及时纠正问题。

为了应对这些挑战,研究者们设计了AutoWebGLM,这是一个基于开源ChatGLM3-6B模型的网页浏览Agent。与之前的WebGLM相比,AutoWebGLM专注于通过真实浏览器自主完成复杂任务。我们采用高效的数据策略快速构建训练数据集,并使用监督和强化学习方法训练AutoWebGLM,以提高其在网页浏览任务上的性能。

此外,我们使用拒绝采样微调(RFT)技术进行持续学习,使Agent能在特定领域成为专家。我们还开发了基于AutoWebGLM的Chrome扩展(下图,任务是为小孩选择圣诞节礼物),并创建了首个双语(英文和中文)网页浏览评估数据集,以适应不同地区网站的风格差异。

图片

AutoWebGLM框架介绍

如下图,我们通过HTML简化和OCR技术处理网页信息,以便于Agent交互,并启动动作预测。AUTOWEBGLM将这些组件整合,提升了交互和导航精度。为了构建健壮的网页浏览框架,我们定义了观察空间和动作空间,以标准化数据源的转换。

图片

观察空间包括任务描述、简化HTML、当前位置和历史操作记录,旨在提供接近浏览器界面的信息,提升模型的网页理解和操作能力。

动作空间则基于语言模型,定义了一套完整的函数调用(下表),使Agent能够在网页浏览中执行各种操作。我们通过这些设计,旨在提高模型在网页浏览任务中的性能和适应性。

图片

为了应对网页HTML文本的庞大和复杂性,AutoWebGLM框架设计了一种HTML简化算法。这个算法的目标是在保留网页关键信息的同时,去除冗余或干扰元素,以便模型能够更有效地理解和操作网页。简化过程中,必须保留HTML的基本结构和重要内容信息,以便模型能够理解并利用这些信息完成网页浏览任务。算法通过递归计数、最大深度、最大子节点数和最大兄弟节点数等参数,有效地将元素树转换为简洁的表示形式。

混合人工智能方法构建训练数据集AutoWebBench

鉴于实际用户产生的高质量、复杂网页浏览数据稀缺,我们旨在创建一个训练数据集,但面临几个挑战:

  • 任务收集:获取不同网站上多样化的真实用户任务查询是一个重大障碍。

  • 隐私与安全:隐私和安全限制阻碍了直接获取用户浏览器操作序列,同时确认用户任务完成情况也具有挑战性。

  • 目标标注:为每个操作步骤收集用户目标在现实世界数据收集中不切实际。

  • 模型限制:现有模型无法处理跨网站的复杂用户查询,限制了在真实环境中使用自动化方法收集准确浏览轨迹的能力。

为应对这些挑战,我们提出了一种混合人机数据构建方法,并把数据分为两类进行构建(如下图所示):

图片

  1. 网络识别和简单任务操作构建:我们的目标是训练模型准确识别网页结构并执行基本操作。我们收集中英文主流网站的URLs,使用HTML解析器识别可操作组件,并生成简化的HTML。我们还设计任务描述,如网站和组件功能,以帮助模型识别网页结构和交互组件的功能。

  2. 复杂任务操作构建:我们开发了一个数据集,以使模型能够在网页浏览场景中进行规划和推理。每个样本包括一个真实世界的复杂网页浏览任务、完成任务的操作序列和每个步骤的意图。

在上面的基础上,我们构建了AutoWebBench,一个用于评估的复杂任务操作数据集,分为领域内和领域外两部分,以衡量模型在熟悉和陌生环境下的性能。我们为每个分割选择50个浏览轨迹作为测试数据,并进行全面评估以衡量模型操作的准确性。

强化学习与拒绝采样在模型训练中的应用

为了提升模型在网页浏览任务中的表现,我们采取了三个关键步骤进行训练(如下图):

图片

  1. 课程学习:我们实施了监督微调(SFT),并利用课程学习(CL)策略,即从简单任务开始,逐步过渡到复杂任务,以此增强模型对网页的理解和操作执行能力。

  2. 强化学习:在SFT的基础上,我们采用自采样强化学习方法来进一步训练模型,通过多次采样和对比正负样本,以及DPO训练方法,减少操作错误并提升模型的推理能力。

  3. 拒绝采样微调(RFT):最后,我们通过RFT针对特定网页环境进行优化,通过大量采样和奖励信号选择,提高了模型在没有实例的情况下的准确度。

实验设计:AutoWebBench双语基准测试

1. 测试设置与评估指标

AutoWebBench是一个双语(英语和中文)的网页浏览评估数据集,用于测试AutoWebGLM的性能。测试集被分为四个部分:中文、英文、领域内和领域外,以评估模型在熟悉和不熟悉环境中的表现。评估指标为步骤成功率(Step Success Rate, SSR),这允许对模型在执行操作的每一步中的准确性进行评估(下表)。

图片

2. 实验结果与模型性能分析

实验结果显示,AutoWebGLM在多任务训练后,在预测用户操作模式方面表现出色,与用户操作高度一致。与其他基线模型相比(下表),AutoWebGLM在没有足够训练的情况下,能够更准确地学习基于网页内容和任务描述的用户操作。此外,通过对不同数据和训练策略的消融研究,发现复杂任务数据集显著提高了模型性能,而简单任务数据集在与复杂任务数据集联合训练时也显示出显著改进。强化学习和拒绝采样进一步增强了模型在特定领域的性能。

图片

模型训练策略的消融研究

1. 训练数据的影响

我们训练和测试了那些包含原始训练集,并融合了简单任务和复杂任务数据的模型。实验结果显示(下表上半部分),引入复杂任务数据集能显著提升模型的性能。我们假设这是因为复杂任务数据更接近真实世界的操作场景,因此从根本上改善了模型的表现。相比之下,仅包含简单任务的数据集在单独训练时对性能的提升作用有限。但是,当它与复杂任务数据集结合训练时,模型性能却有了显著的提高。我们还发现,如果仅用复杂任务数据集进行训练,可能会导致一些基本的操作错误。这表明,在训练中加入简单任务数据集可以有效减少这类问题的发生。

图片

2. 训练策略的效果对比

我们将SFT(监督微调)、DPO(自采样强化学习)和RFT(拒绝采样微调)增强模型的结果进行了比较(上表下半部分),并发现:(1)与SFT相比,DPO训练有助于模型从错误中学习,进一步提升了模型的性能。(2)RFT使我们的模型能够在不同领域进行自举增强。随着实践的深入,模型在每个领域内的熟练度提高,从而带来了性能上的改进。

错误分析与案例研究

1. 常见错误类型与分布

在AutoWebGLM的实际应用中,我们通过错误分析识别了一些在任务执行过程中偶尔出现的错误类型。这些错误可以大致分为四类:幻觉错误、图形识别不良、任务上下文误解和弹窗干扰。在我们的分析中(下表),幻觉错误占比最大,达到44%,其次是图形识别不良,占比28%,任务上下文误解占比20%,弹窗干扰占比8%。尽管这些错误相对不频繁,但它们在我们持续改进和提高系统能力的努力中至关重要。

图片

2. 典型案例展示与讨论

我们进行了一系列案例研究,涵盖了包括日常使用、休闲放松和学术研究在内的各种基于网页的任务,覆盖了网页需求的典型范围。在大多数情况下,我们的系统都取得了令人满意的结果。

例如,在一个涉及使用社交媒体网站的任务中,模型成功地根据用户指令导航到了正确的页面,并执行了相关的点击和输入操作。然而,在另一个涉及在线购物的任务中,模型由于图形识别不良,错误地点击了一个广告链接,而不是预期的产品链接。这些案例展示了AutoWebGLM在处理真实世界任务时的潜力和局限性,为未来的研究和改进提供了宝贵的见解。

结论与展望

本文提出了AutoWebGLM,这是一个基于高级语言模型的Agent,它在多个自动网页导航基准测试中表现出色。该模型克服了现有LLM的局限,通过控制HTML文本长度和处理开放领域特性来简化网页。我们采用了课程学习、强化学习和拒绝采样微调等策略来提升网页理解和浏览器操作的学习效果。此外,我们还引入了一个独特的双语网页浏览基准,为未来研究打下了基础。这些研究成果在利用LLM开发Agent方面取得了显著进展。

AutoWebGLM作为一种新兴的网络导航Agent,其未来的发展方向包括进一步提升模型的泛化能力,以适应更多样化的网络环境和任务。此外,研究者们可能会探索如何减少模型对人类辅助的依赖,使其能够更独立地完成复杂任务。随着技术的进步,AutoWebGLM有望在网络导航的准确性和效率方面取得更大的突破,从而更好地服务于实际应用。

Agent技术的发展将对我们与技术互动的方式产生深远的影响。随着LLMs在日常任务中的集成,我们可以预见到各种以前难以想象的场景。例如,一个基于LLM的Agent可以在我们早餐时为我们总结在线新闻。这种技术的融合预示着我们与技术互动方式的重大转变,它将优化我们的效率并重新定义机器辅助生产力的边界。随着Agent技术的不断进步,我们可以期待它们在未来为人类带来更多便利和效率的提升。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1632639.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

1Panel - 现代化、开源的 Linux 服务器运维管理面板

产品介绍 1Panel 是一个现代化、开源的 Linux 服务器运维管理面板。 1Panel的官方网站:https://1panel.cn 1Panel的GitHub仓库:https://github.com/1Panel-dev/1Panel 体验环境:https://demo.1panel.cn 1Panel 特点 开源特性 Star 数…

LLaMA 3:大模型之战的新序幕

作者 | 符尧 OneFlow编译 翻译|杨婷、宛子琳、张雪聃 本文要点概览: 文本数据的扩展可能已经达到了极限,因为易于获取的网络文本资源(如Common Crawl、GitHub、ArXiv等)已基本被充分利用。 尽管如此,通过更…

JAVASE->数据结构|顺序表底层逻辑

✅作者简介:大家好,我是橘橙黄又青,一个想要与大家共同进步的男人😉😉 🍎个人主页:再无B~U~G-CSDN博客 目标: 1. 什么是 List 2. List 常见接口介绍 3. …

js 中的非空断言操作符 (!.)叹号加点

js 中的非空断言操作符 (!.)叹号加点 在 TypeScript 或 JavaScript 中,!.并不是一个官方的语法结构。然而,!符号在 TypeScript 中确实有特定的用法,它被称为非空断言操作符。 !通常用作逻辑非操作符,用于…

cuda和cudnn的安装(ubuntu22.04环境)

一、安装准备 安装依赖 sudo apt-get update sudo apt-get install g sudo apt-get install gcc sudo apt-get install make禁用默认驱动 sudo gedit /etc/modprobe.d/blacklist.conf 在末尾加上 blacklist nouveau options nouveau modeset0更新一下initramfs -u的镜像 s…

自动驾驶横向控制算法

本文内容来源是B站——忠厚老实的老王,侵删。 三个坐标系和一些有关的物理量 使用 frenet坐标系可以实现将车辆纵向控制和横向控制解耦,将其分开控制。使用右手系来进行学习。 一些有关物理量的基本概念: 运动学方程 建立微分方程 主要是弄…

【跟我学RISC-V】认识RISC-V指令集并搭建实验环境

写在前面 现在计算机的体系架构正是发展得如火如荼的时候,占领桌面端市场的x86架构、占领移动端市场的arm架构、在服务器市场仍有一定地位的mips架构、国产自研的指令集loongarch架构、还有我现在要讲到的新型开源开放的RISC-V指令集架构。 我先说一说我的学习经历…

第9章 知识产权

一、著作权 (一)版权 版权,亦称“著作权”,符号:©。指作者或其他人(包括法人)依法对某一著作物享受的权利。 1、人身权 包括发表权、署名权、修改权、限制。发表权为著作人终身及其死后…

编程代码查重 比赛防作弊 图形界面代码查重工具SIM 支持c++ python java c语言下载

SIM,全称The software and text similarity tester SIM,是Dick grune开发的一款代码查重软件。比较轻量级,也被一些OJ集成用来查重(如hustoj)。但由于软件本身是命令行软件(就是小黑框框的那种)…

IDEA 中的奇技淫巧

IDEA 中的奇技淫巧 书签 在使用ctrlalt方向键跳转时,或者追踪代码时,经常遇到的情况是层级太多,找不到代码的初始位置,入口。可以通过书签的形式去打上一个标记,后续可以直接跳转到书签位置。 标记书签:c…

DevTools failed to load SourceMap: Could not load content for http://127.0.0

运行时报错: DevTools failed to load SourceMap: Could not load content for http://127.0.0.1:64311/.sourcemap/mp-weixin/pages/***/***.js.map: HTTP error: status code 403, net::ERR_HTTP_RESPONSE_CODE_FAILUREDevTools failed to load SourceMap: Could …

CommonJS-模块与ES模块简单了解与区别

文章目录 CommonJS 模块与ES模块简单了解与区别一、简介二、区别1.语法差异2.实现差异 三、其他 CommonJS 模块与ES模块简单了解与区别 今天在用vite构建项目时,用了module.exports写法一直报错,后面了解是因为commonJS模块(以下简称CJS)与E…

改进了洗搞提示词后,Kimi的效果竟秒杀GPT4.0!

大家好,我是五竹。 在《玩转GPT指南》中的AI爆文写作专项中提过,新人使用AI创作爆文最快的流程就是:找对标文章->使用AI对对标文章进行仿写/改写/原创。 其中改写最简单但缺点也很明显,就是和原文的重复率过高,我…

前端可以掌握的nginx相关操作

一、前言: 在日常开发中,前端工程师可以把打好的前端包直接放到测试服务器上,自己再验证功能是否改好,这样可以提高开发效率,写篇笔记记录一下我个人用到的命令 二、使用的工具 用MobaXterm完成相关操作&#xff0c…

java语言开发的商城系统有哪些?

最近,有小伙伴问我有没有靠谱的java商城系统,经过我一顿扒拉,终于给大家整理出来了。 目前java语言开发的商城系统主要有shop、javashop、ejavashop、yuanfeng、mall4j、lilishop等。在没有深入了解这些系统前,我们可以从产品推出…

两种类型的二叉搜索树

文章目录 1.搜索二叉树的概念2.搜索二叉树的模拟实现2.1 搜索二叉树的结构2.2 插入2.3 查找2.4 删除2.5 中序遍历2.6 完整代码 3.二叉搜索树的两种模型3.1 两种模型3.2 key_value模型搜索二叉树 4.两种二叉树的测试 1.搜索二叉树的概念 二叉搜索树又称二叉排序树,它…

【Canvas与艺术】 绘制五星红旗

【注意】 该图中五星定位和大小都是按 https://www.douyin.com/note/7149362345016380710 精确绘制的。 【成图】 【代码】 <!DOCTYPE html> <html lang"utf-8"> <meta http-equiv"Content-Type" content"text/html; charsetutf-8&q…

[iOS]组件化开发

一、组件化开发基础 1.组件定义 在软件开发中&#xff0c;一个组件是指一个独立的、可替换的软件单元&#xff0c;它封装了一组相关的功能。组件通过定义的接口与外界交互&#xff0c;并且这些接口隔离了组件内部的实现细节。在Swift语言中&#xff0c;组件可以是一个模块、一…

Qt使用OPCUA

假如想在Qt下使用OPCUA通讯&#xff0c;貌似大家都是倾向于使用【qtopcua】这个库。但是在Qt6之前&#xff0c;假如想使用这个库&#xff0c;还得自己编译&#xff0c;比较繁琐。假如想开箱即用&#xff0c;而且没有使用太复杂的功能的话&#xff0c;其实可以直接使用open62541…

项目:使用LNMP搭建私有云存储

目录 项目&#xff1a;使用LNMP搭建私有云存储 准备工作 回复快照&#xff0c;关闭安全软件 上传软件 设置nextcloud安装命令权限 设置数据库 重启数据库 配置nginx 安装 内网穿透 cpolar的域名信任 项目&#xff1a;使用LNMP搭建私有云存储 准备工作 回复快照&a…