大模型培训 AUTOWEBGLM:自动网页导航智能体

大语言模型(LLMs)在智能代理任务中发挥着重要作用,尤其是在网络导航方面。然而,现有的代理在真实世界的网页上表现不佳,主要原因网络导航代理面临着三大挑战:网页上行动的多样性、HTML文本的处理限制以及开放领域决策的复杂性。为了克服这些挑战,AUTOWEBGLM采用了基于ChatGLM3-6B模型的架构,并通过创新的HTML简化算法和混合人类-AI数据构建方法,显著提升了代理的性能。

AUTOWEBGLM的设计灵感来源于人类的浏览模式,它通过一个精心设计的HTML简化算法来表示网页,同时保留了关键信息。此外,它采用了一种混合的人类-AI方法来构建网络浏览数据,并利用强化学习和拒绝采样(Rejection Sampling Finetuning, RFT)来提升模型的网页理解和浏览器操作效率。

上图展示了AUTOWEBGLM与其他几个模型(包括GPT-3.5-Turbo、GPT-4以及人类)在不同基准测试中的表现对比。这些基准测试包括WebArena、AutoWebBench(英文)、Cross-Task (Mind2Web)、Cross-Website (Mind2Web)和Cross-Domain (Mind2Web)。

从图表中可以看出,AUTOWEBGLM在多数测试中的表现优于GPT-3.5-Turbo和GPT-4,尤其是在Cross-Domain (Mind2Web)任务中,这表明AUTOWEBGLM在跨领域的任务上具有较强的适应性和鲁棒性。

 上图为AUTOWEBGLM 执行四个示例用户任务的示例

方法

网络浏览任务被构建为一个序列决策过程,其中包括定义状态集合和行动集合。状态集合包含了当前页面的状态,如HTML内容、URL和窗口位置,而行动集合则包含了所有可能的浏览操作,例如点击、滚动、输入文本等。状态的转换由网页的当前状态和代理输出的行动决定,任务在代理输出完成动作或达到最大交互次数时结束。

AUTOWEBGLM系统的架构可以分为两个主要部分:浏览框架语言模型(LM)代理,它们协同工作以实现自动化的网络浏览任务。

浏览框架

浏览框架位于架构的左侧,负责处理与网页交互相关的任务。它的主要组件包括:

  1. HTML元素过滤器:筛选网页中的可操作元素,如按钮、链接等。

  2. 格式化程序:将网页的HTML结构转换成模型易于理解的格式。

  3. DOM截图:提供网页的屏幕截图,帮助模型理解网页布局。

  4. HTML解析器:解析网页的HTML代码,提取网页的结构和内容信息。

  5. OCR模块:识别网页图像中的文字,使模型能够理解图像中包含的文本信息。

语言模型(LM)代理

LM代理位于架构的右侧,是系统的智能决策中心。它使用以下组件来处理信息和生成操作:

  1. 观察空间:收集和整合来自浏览框架的信息,包括简化后的HTML、当前网页位置、之前的操作记录等,为模型提供决策所需的上下文。

  2. 指令:LM代理根据用户的任务指令来确定需要完成的目标。

  3. 多步追踪:记录和分析用户的操作序列,以便模型能够理解完成任务所需的步骤。

  4. 匹配规则:用于确定用户操作与网页元素之间的对应关系。

  5. 手动注释:在需要时,提供手动标注的数据以辅助模型学习。

  6. 数据收集:收集用于训练模型的数据,包括用户指令、网页信息和操作序列。

  7. 强化学习(RL)拒绝采样微调(RFT):通过这两种方法,模型能够从自己的操作中学习并提升性能,特别是在特定网络环境中的专业性。

交互和迭代

在这两个主要部分之间,存在一个迭代的循环过程:LM 代理预测操作,然后浏览框架执行这些操作,并观察结果。这个过程不断重复,直到任务完成。LM 代理还利用强化学习和拒绝采样微调(Rejection Sampling Finetuning, RFT)技术来提升自身的性能,使其能够从错误中学习,并在特定网络环境中变得更加专业。

  1. 动作预测:LM代理根据当前状态和历史信息预测下一步操作。

  2. 动作执行:浏览框架执行LM代理预测的操作,如点击、滚动或输入文本。

  3. 状态更新:执行操作后,浏览框架更新网页状态,并将新的状态信息反馈给LM代理。

  4. 自我提升:LM代理通过强化学习和拒绝采样微调不断优化其决策过程,提高在复杂网络环境中的性能。

上图展示了 AUTOWEBGLM 系统的架构图,该图详细描述了系统的两个关键组成部分:浏览框架(Browsing Framework)和语言模型(LM)代理。输入接口包括对 LM 代理的任务描述和简化后的 HTML 页面,而输出则是 LM 代理基于当前网页状态和历史信息所做出的操作决策。这些操作通过自动化浏览程序执行,从而实现对网页的导航和交互。

为了提高模型对网页的理解和操作水平,研究者定义了一个统一的观察空间,它提供了接近浏览器图形界面所提供的信息。观察空间包括任务描述、简化HTML、当前位置和过去操作记录四个关键指标。这些信息帮助模型理解其在网页中的位置,提供历史背景,并生成更一致的后续操作。

行动空间的构建基于语言模型能够执行的可能性,定义了一系列函数调用,以便语言模型在网络浏览世界中执行操作。这些操作包括点击元素、悬停、选择选项、输入文本、滚动页面、前进或后退、跳转到URL、切换标签页等。

数据准备

行动空间是指在网络浏览任务中,模型可以执行的所有潜在操作的集合。这些操作模拟了用户与网页交互时可能采取的行为。

  1. 点击(click):模拟用户点击页面上特定元素的操作。
  2. 悬停(hover):模拟用户将鼠标悬停在某个元素上的动作。
  3. 选择(select):在下拉菜单中选择一个选项。
  4. 输入(type_string):在输入框中键入文本。
  5. 滚动页面(scroll_page):向上或向下滚动页面。
  6. 前进/后退(go):在浏览历史中前进或后退。
  7. 跳转到URL(jump_to):跳转到指定的网址。
  8. 切换标签页(switch_tab):在浏览器的不同标签页之间切换。
  9. 用户输入(user_input):提示用户输入信息或与代理交互。
  10. 结束任务(finish):完成任务并输出结果。

这些操作被设计为函数调用,使得语言模型能够以一种结构化和一致的方式来执行网络浏览任务。通过这样的设计,AUTOWEBGLM 能够模拟真实用户的行为,自动完成复杂的网络任务。Table 1 的定义对于训练和评估模型的性能至关重要,因为它确立了模型需要学习和执行的具体行为。

创建训练数据集面临多种挑战,包括任务收集的多样性、隐私和安全限制、目标标注的劳动密集性以及模型限制。为了解决这些问题,研究者提出了一种混合人类-AI数据构建方法,该方法涉及以下步骤:

  1. Web识别和简单任务操作构建:通过收集主流网站的URL,使用HTML解析器识别可操作组件,并生成简化的HTML表示。然后,设计任务,如网站和组件功能描述,以帮助模型识别网页结构和交云组件的功能。

  2. 复杂任务操作构建:开发了一个包含真实世界复杂网络浏览任务的数据集,每个样本包括任务描述、完成任务的操作序列和每个步骤的意图。

  3. AutoWebBench构建:将复杂任务操作数据集分割为评估基准测试集AutoWebBench,包括领域内和领域外的数据,以评估模型的性能。

AUTOWEBGLM的数据构建流程主要阶段:简单任务构建和复杂任务构建。

训练

训练AUTOWEBGLM模型的三个步骤,这些步骤涉及不同的训练策略和技术,旨在提升模型在网络浏览任务中的表现。以下是如何进行训练的详细说明:

第一步:Curriculum Learning(课程学习)
  1. Supervised Fine-Tuning (SFT):使用构建的数据集对模型进行监督式微调。这个过程增强了模型对网页的理解能力以及在环境中执行操作的能力。
  2. Curriculum Learning (CL):采用课程学习的方法,即让模型从简单样本开始学习,然后逐渐过渡到复杂样本。这种方法模仿了人类的学习过程,并已被证明可以显著提升模型的能力。
第二步:Reinforcement Learning(强化学习)
  1. Self-Sampling:使用SFT训练后的模型(MSFT)对复杂任务操作样本进行自我采样,生成正面和负面的对比数据。
  2. Direct Preference Optimization (DPO):结合DPO训练方法,使MSFT从错误中学习,进一步提升其能力。在训练过程中,为了增加稳定性,研究者们提出将DPO损失与SFT损失结合,通过调整两者的比例,来优化模型。
第三步:Rejection Sampling Finetuning(拒绝采样微调)
  1. Targeted Training:在特定领域的网页环境中进行有针对性的训练。通过从现有模型中大量采样,并使用奖励信号选择准确轨迹。
  2. Reward Signals:奖励信号可以由环境本身提供,也可以通过预先设计好的奖励模型来确定。在沙盒环境中进行实验,以避免真实网页环境中的网络策略限制。

Table 2Table 3 展示了AUTOWEBGLM在不同网络浏览基准测试中的表现。Table 2 着重于模型在AutoWebBench基准上的步骤成功率(Step Success Rates, SSR),并对比了包括GPT-3.5-Turbo、GPT-4在内的其他模型以及人类的表现。结果显示AUTOWEBGLM在跨任务和跨领域的表现上均优于基线模型。

Table 3 则聚焦于Mind2Web基准测试,提供了模型在跨任务(Cross-Task)、跨网站(Cross-Website)和跨领域(Cross-Domain)场景下的平均步骤成功率。AUTOWEBGLM在所有场景中均展现出较高的性能,与其它模型相比,它在理解和执行复杂网络任务方面具有显著的优势。这些表格证明了AUTOWEBGLM在多样化网络环境中的鲁棒性和有效性。

实施训练的具体步骤:
  1. 数据准备:根据2.3节中的方法,准备包括网页识别、简单任务操作和复杂任务操作的数据集。
  2. 模型初始化:使用ChatGLM3-6B作为基础模型进行初始化。
  3. SFT训练:在第一阶段,使用构建的数据集对模型进行监督式微调。
  4. DPO训练:在第二阶段,通过自我采样和强化学习进一步训练模型。
  5. RFT训练:在第三阶段,进行拒绝采样微调,优化模型在特定领域的性能。
  6. 评估与调整:在每个阶段后评估模型性能,并根据需要调整训练策略和参数。

通过这三个步骤,AUTOWEBGLM模型能够学习如何理解和操作网页,以及如何在复杂的网络环境中做出决策,最终达到执行复杂网络浏览任务的目标。

简化算法的伪代码

算法是AUTOWEBGLM系统中的一个关键组件。目的是将复杂的HTML网页转换为一个简化的版本,使大型语言模型(LLMs)能够更有效地处理和理解网页内容。

算法输入:
  • tree:表示原始的HTML DOM树。
  • kept:需要保留的元素列表。
  • rcc:递归计数,用于控制递归深度。
  • d:最大深度参数。
  • mc:最大子节点数参数。
  • ms:最大兄弟节点数参数。
算法输出:
  • pruned tree:简化后的HTML DOM树。
算法步骤:
  1. 初始化一个空列表 nodes,用于存储需要保留的节点。
  2. 对于每个递归计数 t(从0到 rcc),执行以下操作:
    • 遍历所有需要保留的元素 id
    • 从 tree 中找到对应的元素 node 并将其添加到 nodes 列表中。
    • 递归地获取该 node 的祖先节点(getAnscendants),并将它们也添加到 nodes 中,但不超过 d 层深。
    • 获取 node 的子孙节点(getDescendants),同样不超过 d 层深,并且限制子孙节点的数量不超过 mc
    • 获取 node 的兄弟节点(getSiblings),限制兄弟节点的数量不超过 ms
  3. 更新 dmc 和 ms 参数,使它们在下一次迭代中变得更小,这有助于进一步简化树结构。
  4. 遍历 tree 中的节点,逆序检查每个节点:
    • 如果节点不在 nodes 列表中,或者节点没有文本、属性、子节点数少于2或者不是根节点,则从 tree 中移除该节点。

实验

主要结果 

实验部分首先介绍了AUTOWEBGLM在不同基准测试集上的表现。研究者们建立了一个双语(中文和英文)基准测试集AutoWebBench,用于评估真实世界的网络浏览任务。此外,AUTOWEBGLM还在其他三个已建立的网络导航基准测试集上进行了测试:Mind2Web、MiniWoB++和WebArena。

  • AutoWebBench:测试集分为中文、英文、领域内和领域外四个部分,使用步骤成功率(Step Success Rate, SSR)作为评估指标。结果显示,经过多任务训练的AUTOWEBGLM在预测一般用户操作模式方面表现出色,与其他基线模型相比,能够更准确地学习基于网页内容和任务描述的用户操作。

  • Mind2Web:使用Mind2Web的设置和SSR作为主要评估指标。研究者们利用MindAct框架评估模型性能,并与参考文献中的基线结果进行了比较。

  • MiniWoB++ 和 WebArena:在MiniWoB++上,研究者们测试了56个任务,每个任务运行100次评估周期。对于WebArena,他们将HTML解析器模块和动作执行模块集成到WebArena环境中,以适应他们的系统。测试结果列在表格中,并与参考文献中的基线结果进行了比较。

图表中列出了不同模型在完成网络任务时的成功率,并特别标注了(*) 表示这些模型在其相关的任务数据集上进行了单独的微调(individual finetuning)。

微调意味着这些模型针对特定的任务或数据集进行了额外的训练,以提高它们在类似任务上的性能。通过这种方式,模型能够更好地适应特定的任务需求,从而在基准测试中取得更好的成绩。

消融研究 (3.2 Ablation Study)

为了评估不同阶段数据和训练策略对模型性能提升的影响,研究者们进行了消融研究:

  • 训练数据消融:通过只训练包含原始训练集的模型,并结合简单和复杂任务数据进行训练,来定性衡量不同数据集对模型的影响。研究发现,复杂任务数据集显著提高了模型性能,而简单任务数据集在与复杂任务数据集联合训练时也有显著提升。

  • 训练策略消融:比较了监督式微调(SFT)、直接偏好优化(DPO)和拒绝采样微调(RFT)增强模型的结果。研究发现,DPO训练有助于模型从错误中学习,进一步提升性能;RFT使模型能够在不同领域进行自举增强,通过实践提高领域内的专业水平。

AutoWebBench和WebArena这两个基准测试集。它们在消融研究中的表示方式是"-",原因如下:

  1. AutoWebBench和WebArena没有训练集:这意味着在消融研究中,没有可用于训练的数据集。消融研究通常需要一个训练集来观察移除或修改某些部分对模型性能的影响,但由于这两个基准测试没有提供训练集,因此无法进行常规的消融分析。

  2. RFT阶段仅适用于环境采样:拒绝采样微调(Rejection Sampling Finetuning, RFT)阶段是训练过程中的一部分,它依赖于在特定环境中的采样来优化模型。由于RFT是为了在特定网页环境中提高模型的专业性而设计的,因此它不适合传统的消融研究方法,这也可能是为什么在消融研究中用"-"表示的原因。

简而言之,Table 4中的"-"表示在消融研究中无法对AutoWebBench和WebArena进行常规的分析,因为缺少训练集,同时RFT阶段的训练方法与消融研究的目的和方法不完全兼容。这表明在评估AUTOWEBGLM模型时,需要考虑这些基准测试集和训练阶段的特殊性。

AUTOWEBGLM的研究不仅推动了网络导航技术的发展,也为未来智能代理的研究奠定了基础。通过结合先进的数据处理技术和机器学习算法,AUTOWEBGLM证明了LLMs在处理复杂网络任务方面的潜力。随着技术的不断进步,我们可以预见,未来的网络导航将变得更加智能和高效。

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

GitHub 地址:https://github.com/THUDM/AutoWebGLM

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

127.0.0.1 和 localhost 以及 0.0.0.0 区别

之前用 nginx 的时候,发现用这几个 IP,都能正常访问到 nginx 的欢迎网页。一度认为这几个 IP 都是一样的。 但本质上还是有些区别的。 首先 localhost 就不叫 IP,它是一个域名,就跟 "baidu.com",是一个形式的东西&…

开放式耳机推荐品牌:五款品质超凡机型必须选购

在这个快节奏的生活中,我们每个人都渴望在忙碌之余找到一片属于自己的宁静。音乐,作为连接心灵的桥梁,无疑是最为直接和有效的途径。而一款优秀的开放式耳机,不仅能让我们沉浸在美妙的旋律中,还能在保持对外界环境感知…

汇编原理(三)编程

源程序: 汇编指令:有对应的机器码与其对应 伪指令:无对应的机器码,是由编译器来执行的指令,编译器根据伪指令来进行相关的编译工作。 ex1:XXX segment、XXX ends这两个是一对成对使用的伪指令,且必须会被用…

HNU-计算机体系结构-实验3-缓存一致性

计算机体系结构 实验3 计科210X 甘晴void 202108010XXX 文章目录 计算机体系结构 实验31 实验目的2 实验过程2.0 预备知识2.0.1 多cache一致性算法——监听法2.0.1.1 MSI协议2.0.1.2 MESI协议2.0.1.3 本题讲解 2.0.2 多cache一致性算法——目录法2.0.2.1 有中心的目录法2.0.2…

摸鱼大数据——Hive表操作——复杂类型

1、hvie的SerDe机制 其中ROW FORMAT是语法关键字,DELIMITED和SERDE二选其一。本次我们主要学习DELIMITED关键字相关知识点 如果使用delimited: 表示底层默认使用的Serde类:LazySimpleSerDe类来处理数据。 如果使用serde:表示指定其他的Serde类来处理数据,支持用户自…

无需安装的在线PS:打开即用

为什么想用在线PS网页版?Photoshop常用于平面设计,是不少设计师接触过的第一款设计软件。作为一款平面设计工具,ps功能太多,并且没有在线版,这不仅需要设计师花费时间学习软件,还需要设计师具备一定的设计能…

Ant Design 动态增减form表单,第二三项根据第一项选中内容动态展示内容

效果图: 选中第一项下拉框,第二第三项展示 点击添加条件,第二条仍然只展示第一项select框 后端返回数据格式: ruleList:[{name:通话时长,key:TALK_TIME,type:’INT‘,unitName:秒,operaObj:[{name:>,value:>…

[JAVASE] String类 StringBuffer类 StringBuilder类

目录 一.String类 1.1 String字符串不可变的原因 1.2 字符串中的比较方法 1.2.1 equals 1.2.2 compareTo 与 compareToIgnoreCase 1.3 字符串中的查找方法 1.3.1 charAt 1.3.2 indexOf 与 lastIndexOf 1.4 字符串中的转换方法 1.4.1 valueOf 1.4.2 toUpperCase 与 to…

msi安装mysql8 启动失败,提示只有在任务处于完成状态(RanToCompletion、Faulted 或 Canceled)时才能释放它。

解决方案: 1.打开服务,找到安装的mysql 2. 右击,打开属性,进入【登录】选项卡,选择本地系统账户。 3. 点击确定-->应用 4.服务中选择开始服务 5.服务启动成功后,在安装步骤中继续点击执行

熵值法(熵权法)

熵值法(Entropy Method)是一种多属性决策分析方法,主要用于权重确定、排序和评价。它在风险评估、资源配置、环境管理等领域得到广泛应用。熵值法的核心思想是基于信息熵的概念,利用信息熵来度量各属性对决策的贡献程度&#xff0…

串口环保212设备 转 profinet IO协议项目案例

1 文档说明 数采仪通过串口输出环保212的数据,vfbox网关通过串口采集数采仪的数据。网关把采集的数据转换成Profinet IO从站数据。 2 测试数采仪的串口数据 测试数采仪的串口有数据输出,并且需要知道输出的数据内容。 把数采仪的串口(232或…

【记录】打印|无需排版,生成证件照打印PDF,打印在任意尺寸的纸上(简单无损!)

以前我打印证件照的时候,我总是在网上找在线证件照转换或者别的什么。但是我今天突然就琢磨了一下,用 PDF 打印应该也可以直接打印出来,然后就琢磨出来了,这么一条路大家可以参考一下。我觉得比在线转换成一张 a4 纸要方便的多&am…

AI视频教程下载:ChatGPT API、HTML、CSS 和 JS开发AI聊天机器人

在课程中,你将开启一段令人兴奋的聊天机器人开发之旅,并装备自己创建智能对话代理所需的技能和知识。 利用 ChatGPT API、HTML、CSS 和 JavaScript 的强大功能,你将学习如何设计和构建吸引用户并提供个性化体验的聊天机器人界面。深入探讨聊天机器人开发的基础知识,了解对话设…

给转行产品经理的小白的一些建议

哈喽我是小源,毕业在教培大厂做了1年的班主任,下午1点上班,被优化后gap3月找到了自己的本命岗位——产品经理! 其实这个转变也挺机缘巧合的,朋友和我都是教培行业,她是成人职教类,我是k111类&a…

SWM181系列应用

一、SWM181系列 ISP功能 1.1、注意:ISP引脚为B0,VCC,GND是UART-RX、UART-TX 下载引脚。所有型号的UART-RX - - > A0,UART-TX - - > A1。 1.2、注意:板级设计必须留出ISP引脚,防止调试过程中芯片锁死后…

Java——执行流程

一、执行流程 1、示例 //第一个Java程序 public class Hello{public static void main(String[] args){System.out.println("Hello World!");} } 编译: 执行: 我们可以看到这里的是类名,而不是字节码文件名 Hello.class &#…

Android manifest清单文件意外权限来源和合并规则

问题背景 当自写APP发现无缘无故多申请了多个权限,其中一个就是:android.permission.WAKE_LOCK. 一想就知道如果并非自己在APP main中引入的,那就是依赖的库清单文件导入进来的. 定位问题 定位手段 1.manifest-merger-buildVariant-report.txt 根据其内容可知, WAKE_LOCK 权…

分布式专题

一:分布式事务 1、理论基础 分布式事务主要区分本地事务 什么是本地事务(Local Transaction)?本地事务也称为数据库事务或传统事务(相对于分布式事务而言)。尤其对于数据库而言,为了数据安全…

图形学初识--矩阵和向量

文章目录 前言正文向量什么是向量?向量涉及哪些常见计算?1、取模2、归一化3、向量加法4、向量减法5、向量与标量乘6、向量点乘(内积)7、向量投影 向量有哪些基本应用? 矩阵什么是矩阵?矩阵涉及哪些常见计算…

【数据结构】冒泡排序、直接插入排序、希尔排序详解!

文章目录 1. 冒泡排序🍎2. 直接插入排序🍎3. 希尔排序(缩小增量排序)🍎 1. 冒泡排序🍎 🐧 基本思想: 比较相邻的元素。如果第一个比第二个大,就交换他们两个。 大的数据…