AI知识库

53AI知识库

学习大模型的前沿技术与行业应用场景


AUTOWEBGLM
发布日期:2024-04-17 12:49:50 浏览次数: 1815


         

 

一、结论写在前面  

LLM推动了许多agent任务,如Web导航 - 但大多数现有agent在现实世界的网页上的表现远不令人满意,这是由于三个因素造成的:(1) 网页上操作的多样性,(2) HTML 文本超过了模型的处理能力,(3) 由于网络的开放性质,决策的复杂性。针对这一挑战,论文提出了AUTOWEBGLM,一个基于先进语言模型的agent程序,在各种自主网络导航基准测试中表现出稳健的性能。论文的模型解决了现有LLM的局限性,并通过有效控制HTML文本长度和处理网络的开放域特性来简化网页。论文战略性地采用课程学习、强化学习和拒绝抽样微调来增强网页理解和浏览器操作学习。论文还介绍了一个独特的双语网页浏览基准测试,为未来研究奠定了坚实的基础。论文的发现代表了在利用LLMs进行智能agent的领域中取得的重要进展。相关代码、模型和数据将在 https://github.com/THUDM/AutoWebGLM 发布。    

         

 

   

二、论文的简单介绍  

2.1 论文的背景  

         

 

将自主数字agent作为有益的助手的概念是一个诱人的前景。借助LLM强大的理解和响应能力,论文可以设想各种以前难以想象的场景。例如,基于LLM的agent可以在早餐时总结论文在线的新闻。将LLM集成到日常任务中预示着人机交互方式的重大转变,优化论文的效率并重新定义机器辅助生产力的边界。
缺乏统一的操作空间:缺乏一个覆盖在各种网站上浏览器所需的所有必要任务执行的通用和方便的操作空间。    
缺乏网页简化方法:网页的多样性和复杂性以及倾向于冗长的措辞给LLM理解内容和执行正确操作带来了巨大挑战。内容丰富的网页的token长度通常可达3万以上。
缺乏高质量的训练轨迹:用于培训强大的基于LLM的网络agent的高质量轨迹有限。现有训练的agent明显缺乏在网络任务上进行正确推理和自我检查的能力。一旦陷入错误的循环,它们就难以及时纠正问题。
论文介绍了AUTOWEBGLM,一个基于开放的ChatGLM3-6B模型的可部署网页浏览agent。与其前身WebGLM侧重于检索增强的网络规模问题解答不同,AUTOWEBGLM专注于通过导航和操作真实的网络浏览器像人类一样自主完成复杂的现实世界任务。
论文提出了各种高效的数据策略,以支持快速构建一个庞大、可靠的训练数据集,而最先进的模型无法可靠地完成数据注释任务。此外,通过利用监督和强化学习方法,论文在收集的网络agent数据集的基础上训练AUTOWEBGLM,以在一般网页浏览任务上实现性能优势。进一步地,论文采用拒绝采样微调(RFT)进行终身学习,使agent在特定的Web环境中成为专家。
         

 

   

2.2 论文的方法  

2.2.1问题设置  

论文将Web浏览任务视为一个序列决策过程。状态S包括当前页面状态(如HTML、URL和Window Position)。动作集A包含所有潜在的浏览操作,包括单击、输入、滚动等。

S = {HTML, URL, Window Position}, A = {click, scroll, type, ...}
状态的转移由当前网页状态和agent的输出动作决定。当agent输出完成或达到最大交互次数时,任务将结束。在决策过程中,函数 根据先前的历史、最近的动作和当前状态 S来更新历史信息。
策略是agent基于当前状态和历史来选择动作的过程。一个完整的决策过程从初始状态和历史开始,通过策略 和转移函数迭代进行。当动作为 finish 或达到最大长度时,这个迭代过程终止。    

2.2.2 AUTOWEBGLM框架  

         

 

如图3所示,论文通过HTML简化和OCR(光学字符识别)模块处理信息,在获取HTML和网页截图后得到简化的HTML表示。论文标记可操作元素以便agent交互,并使用OCR模块在图像解析过程中标注文本元素。
agent通过将这个表示与其他观察数据结合来启动动作预测。在输出动作后,自动化的web程序被用于执行动作;这个迭代循环一直持续到任务结束。
AUTOWEBGLM通过将这些组件融合到一个统一的框架中,增强了交互能力和网页导航精度。构建一个全面、精确的观察和动作空间对于构建一个健壮的网页浏览框架至关重要。这些空间将各种数据源统一为标准格式。    
2.2.2.1 观察空间  

观察空间应该尽可能提供与浏览器图形界面相近的信息,从而最大化agent的能力上限。论文确定了四个用于Web浏览任务的关键指标:任务描述、简化的HTML、当前位置和过去操作记录。

HTML:网页的HTML是广泛而复杂的,因此需要在输入模型之前对其进行简化。简化过程旨在提取关键信息,同时去除可能阻碍模型理解的冗余或干扰性元素。在此过程中,必须保留HTML的基本结构和重要内容信息,以使模型能够理解和利用这些信息进行有效的Web浏览。附录A中的算法可以高效地将元素树转换为简洁的表示形式。论文可以使用这些处理技术将原始HTML格式简化为更易于模型理解和管理的结构,从而提高模型在Web浏览任务中的有效性。
当前位置:根据论文观察模型与环境的交互,当提供窗口位置和页面大小时,agent可以表现更好。agent使用页面滚动位置来理解当前可见区域的内容,使用页面高度信息来理解整个页面的规模,为模型提供了空间上下文。
先前的动作:让agent了解过去操作的最佳解决方案是显式提供。这种方法有助于agent理解其过去的行为。它可以防止agent陷入重复同样失败操作的无效循环,通过防止未成功操作的重复,提高其适应Web浏览任务复杂性和动态性的能力。

2.2.2.2动作空间  

通过在实际任务执行过程中广泛总结经验,论文定义了一个完整和自洽的动作空间(见表1),以函数调用的形式供语言模型在Web浏览领域执行。    

2.2.3 数据准备  

         

 

考虑到实际用户产生的高质量、复杂的Web浏览数据的稀缺性,论文旨在创建一个训练数据集。然而,数据集的构建存在几个挑战:
任务收集:获取跨不同网站的各种真实用户任务查询是一个重大障碍。
隐私和安全:隐私和安全限制阻碍了直接获取用户浏览器操作序列。排除与任务完成无关的冗余或错误操作,并确认用户任务完成也很具有挑战性。
客观注释:为每个操作步骤收集用户目标的劳动密集型性质使其在现实世界的数据收集场景中不切实际。
模型限制:当前模型无法处理跨不同网站的复杂用户查询,从而排除了在真实和复杂的应用场景中使用纯自动化方法准确收集浏览轨迹的可能性。
如图4所示,论文建议使用人机混合的数据构建方法来创建论文的训练数据,以应对这些挑战。经过仔细考虑,论文将论文的数据分为两种类型:    
         

 

2.2.3.1 Web识别和简单任务操作构建  

对于Web浏览任务,高效准确地理解和操纵网页由于用户行为的多样性和Web内容的复杂性而成为模型开发中的关键挑战。

Web识别:Web识别的主要目标包括理解特定的HTML格式,识别不同类型的Web元素(如文本框、按钮、图像等),并理解这些元素在用户交互中的作用。论文提出了以下基于上述实际挑战的构建方法。
论文首先从Similarweb上列出的中英文主流网站收集URL。在数据处理阶段,论文使用HTML解析器识别每个网页中的可操作组件,并记录组件位置和大小等重要信息。然后,论文通过重排和简化组件树来生成简化的HTML(详见2.2节)。论文设计了一些任务,如网站和组件功能描述,以帮助模型识别网页结构和交互组件的功能。对于每个任务,论文开发了一系列自然语言问题作为数据的源字段。论文使用GPT-3.5-Turbo生成每个问题的多种表述,从而使问题形式多样化。对于目标,论文利用GPT-3.5-Turbo生成响应。论文在提示中提供相关的简化HTML和问题,并限制响应长度,从而获得论文的目标。    
简单任务操作:简单任务操作数据集的主要目标是训练模型执行单步Web操作。这涉及在网页上执行基本功能,如单击链接、填写表单或导航到特定部分。为了构建论文的数据,论文以与Web识别相同的方式收集各种网站。然后,论文为每种操作类型构建一个分割,以确保论文的数据集涵盖简单任务操作的所有要求。论文根据实际中每种操作的频率调整每个分割的数据大小。论文构建数据集的关键是使用规则而不是模型生成。论文尝试使用GPT-3.5-Turbo进行任务、意图和操作生成,并使用Selenium 2来验证生成结果的可执行性。然而,这显然存在缺点:模型无法达到足以完成任务的操作精度,而模型生成操作的正确性也很难判断。
为了解决上述问题,论文努力从一个全新的视角进行方法。论文识别网页中的各种可操作元素,将它们组装成Web操作。然后,论文使用GPT-3.5-Turbo生成这些操作的相应任务和操作意图。对于行为相对固定的操作类型,如滚动和跳转,论文直接使用模板生成相应的任务;对于功能丰富且灵活的操作,如单击和输入,论文使用GPT-3.5-Turbo来帮助完成构建。这种方法确保了指令的可执行性,并提供了操作任务的丰富性。    
2.2.3.2 复杂任务操作构建  
         

 

论文开发了一个针对复杂Web任务的数据集,以使模型能够在Web浏览场景中制定计划和推理。该数据集的每个样本包括一个真实世界的复杂Web浏览任务、完成该任务的操作序列以及每个步骤的意图。
论文首先使用参考EvolInstruct的提示技术为每个网站设计了50个复杂任务,其中约20个可行任务被手工选择并标注。对于操作序列,由于任务的高度复杂性,即使是最先进的LLM也无法以令人满意的准确度完成任务。因此,论文利用手工注释通过一个记录网站任务期间操作的浏览器插件来捕获Web任务执行。    
为了改善CoT构建过程,论文使用GPT-4作为操作意图预测器。论文的首次迭代逐步创建方法证明生成的操作链接较弱,并且由于数据构建而产生高额的API成本。为了解决这个问题,论文采用了一种全局思维链提示方法,其中所有操作和关键HTML段都输入到一个轨迹中。然后,论文提示GPT-4输出每一步的意图。这种方法提高了每一步的准确性和连贯性,从而形成了高度相关、一致的思维链。
构建完成后,论文将数据与Mind2Web和MiniWob++的训练集合并,形成了论文最终的训练数据集。每个分割的比例如图5所示。
2.2.3.3 AutoWebBench 构建  

论文将收集的复杂任务操作数据集分段用于评估。AutoWebBench被划分为两个分割:领域内和领域外,作为论文性能评估的基础。

领域内数据集代表从同一网站收集的训练数据,用于衡量模型在熟悉条件下的性能。相比之下,领域外数据集包括从未包含在论文训练集中的网站收集的数据。它为测量模型的泛化能力和适应陌生环境的能力提供了独特的机会。
论文为每个分割选择50个浏览轨迹作为测试数据。这些轨迹经过人工验证仔细检查和过滤,确保更可靠的评估基准。借鉴Mind2Web中提出的方法,论文全面评估了操作中涉及的每个步骤。这使论文能够评估模型操作的步骤和总体准确性。这个评估的详细结果可以在表2中找到。    

2.2.4训练  

论文通过图6所示的三个步骤训练模型。

         

 

2.2.4.1 第1步:课程学习  

第一步是监督微调(SFT):这种方法增强了模型对网页的理解,以及作为agent在环境中执行操作的能力。值得注意的是,论文使用课程学习(CL),它模仿了人类的学习过程,要求模型从简单的样本开始学习,逐步过渡到复杂的样本。已有先前的工作证明,这可以大幅提高模型的能力。

使LM能够阅读和操作Web:在初始阶段,论文混合构建的数据,使模型具备(1)理解网页结构和各种Web组件功能,(2)在当前网页上执行预定义操作,从而实现简单用户指令的能力。    
使LM学会在Web上规划和推理:在这个阶段,论文继续使用构建的数据进行训练。论文使模型能够将任务分解为子任务,并根据当前网页和先前操作序列执行后续步骤。
经过上述训练,论文的模型MSFT获得了完成Web浏览任务的基本能力,可以根据用户指令独立执行操作。

2.2.4.2第2步:强化学习  

在之前的训练之后,MSFT已经展现了一些操作浏览器和推断任务的能力。然而,由于SFT训练的独特性质,MSFT会尝试模仿推理过程和操作,但有时会忽略网页状态和前一操作序列,导致幻觉。因此,论文提出了自采样强化学习来缓解这些操作幻觉。

首先,论文使用MSFT在训练集中的复杂任务操作样本上进行n倍(n=20)采样。论文将采样的输出和标准答案结合起来构建具有正负样本对的对比数据。随后,论文根据以下标准保留样本:
• 从所有n次采样中,论文选择模型在1到n-1次中完成任务的数据。如果MSFT在所有迭代中都正确回答,论文认为它缺乏训练价值,无法提供实际的负例。相反,如果MSFT在所有迭代中都回答错误,论文怀疑数据存在问题,将其排除,因为模型无法在优化过程中充分拟合这些异常值。
• 论文保留不同的错误操作并删除重复项,以保留不同的负例。
在构建对比数据之后,论文采用DPO训练方法,使MSFT从自己的错误中学习,进一步提高其能力。在训练过程中,论文发现直接使用DPO损失会导致不稳定。为了缓解这个问题,论文提出包括SFT损失来稳定强化学习过程,并增加训练步骤数,同时确保不会丧失原模型的自然语言和agent能力,从而实现更健壮的模型MDPO    

2.2.4.3 第3步: 拒绝采样微调  

在RFT(拒绝采样微调)步骤中,论文的目标是针对特定领域的网页环境进行优化。RFT允许论文通过从现有模型进行大量采样来进行有针对性的训练,并通过奖励信号在缺乏正确轨迹的实例中选择准确的轨迹。论文的奖励信号可以由环境本身提供,也可以通过预先设计的奖励模型提供。

由于真实网页环境中固有的网络策略约束,论文在MiniWob++和WebArena提供的沙箱环境中进行实验。对于MiniWob++,论文利用MiniWob++中的查询生成器为每个任务自动生成多个用户查询。论文根据任务的难度确定每个任务生成查询的数量。然后,论文使用MDPO尝试解决这些查询。如果一个轨迹完成了任务(根据MiniWob++环境的判断),论文将其视为正轨迹。
对于WebArena,为了防止与测试集重叠,论文根据WebArena的模板手动构建了多个不同的用户查询。对于每个样本,论文让MDPO进行64次采样。同样,如果论文的模型至少一次完成了任务(根据手写规则的判断),论文将成功的轨迹视为正轨迹。
通过使用上述方法,论文构建了两个不同的成功数据集,一个来自MiniWob++,另一个来自WebArena。它们分别包含约15k条轨迹(66k步)和240条轨迹(2k步),用于AUTOWEBGLM在这两个任务上的个别微调。    
         

 

2.3论文的效果  

论文建立了一个双语(中英文)基准AutoWebBench,并评估了公开可用agent的能力。论文还在众多基准上进行了广泛的实验,以评估AUTOWEBGLM在涉及导航英文和中文网站的各种任务中与几个基线的性能对比。

2.3.1主要结果  

除了AutoWebBench,论文还测试了AUTOWEBGLM在三个其他已建立的Web导航基准上的性能:Mind2Web、MiniWoB++和WebArena。    

AutoWebBench:论文将测试集划分为四个分割:中文、英文、领域内和领域外,用于评估目的。论文使用步骤成功率(SSR)作为评估指标。所有模型都使用附录E中描述的上下文学习提示进行评估。结果如表2所示。
从表中可以看出,AUTOWEBGLM在多任务训练之后,在预测一般用户操作模式方面表现卓越,与用户操作很好地保持一致。相比之下,其他基线在缺乏足够训练的情况下,很难准确学习基于网页内容和任务描述在不同真实世界网站上的用户操作。
Mind2Web:论文使用Mind2Web中的设置,以SSR作为主要评估指标。为了公平比较模型,论文利用Mind2Web提供的MindAct框架来评估模型的性能。结果如表3所示。论文从参考文献[4; 9; 12; 14; 8]中获得了基线结果。
MiniWoB++ & WebArena:对于MiniWob++,论文遵循WebAgent的实验设置,通过在每个任务上运行100个评估回合来测试56个MiniWob++任务,以评估模型的能力。对于WebArena,论文将论文的HTML解析器模块和动作执行模块集成到WebArena环境中,使其与论文的系统兼容。结果如表7所示。对于WebArena基线,结果来自参考文献。LLaMA2的结果是通过在MinWob++数据集上进行训练和评估获得的。    
         

 

2.3.2 消融研究  

         

 

   
为了评估不同阶段的数据和训练策略对模型性能提升的影响,论文在表4中进行了全面的消融研究。
训练数据消融:论文只训练和测试包含原始训练集并包含简单和复杂任务数据的模型。这种方法有助于定性地评估不同数据集对模型的影响。
复杂任务数据集显著提升了模型性能。论文假设这是因为复杂数据更接近于现实场景,从而从根本上改变了模型的性能。
单独使用简单任务数据集进行训练只会带来轻微的改善。但是,当与复杂任务数据集联合训练时,会有显著的改善。论文发现,仅使用复杂任务数据集进行训练会导致基本操作错误,这表明使用简单任务数据集进行训练可以有效缓解这个问题。
训练策略消融:论文比较了SFT、DPO和RFT增强型模型的结果,发现:
(1) 相比于SFT,DPO训练有助于模型从自己的错误中学习,进一步提升模型性能。
(2) RFT使论文的模型能够在不同领域进行自举式增强。熟能生巧,导致每个领域内都有所改进。
         

 

   

2.3.3 案例研究和错误分析  

为了评估论文模型的有效性,论文进行了一系列案例研究,涵盖了各种Web任务,包括日常使用、休闲娱乐和学术研究,覆盖了典型的Web需求范围。论文的系统在大多数场景下取得了满意的结果。

虽然论文的系统在各种Web任务上表现出色,但也存在一些局限性。论文发现在任务执行过程中偶尔会出现四种类型的错误:幻觉、图形识别不佳、对任务背景的误解以及弹窗中断。表5概括了在错误分析中观察到的这些错误的比例。尽管相对较少,但这些错误对于论文不断完善和提升系统能力的努力至关重要。



53AI,企业落地应用大模型首选服务商

产品:大模型应用平台+智能体定制开发+落地咨询服务

承诺:先做场景POC验证,看到效果再签署服务协议。零风险落地应用大模型,已交付160+中大型企业

联系我们

售前咨询
186 6662 7370
预约演示
185 8882 0121

微信扫码

与创始人交个朋友

回到顶部

 
扫码咨询