Mind2Web: 首个全面衡量大模型上网能力的数据集

夕小瑶科技说 原创
作者 | 智商掉了一地、ZenMoore

在互联网的浩瀚世界中,存在着无数复杂而扑朔迷离的任务等待我们去解决。如果要设计一个解决很多问题的通用智能体(AI agent),无论是关于购物、旅行、学习还是娱乐,要想在这个纷繁复杂的网络中驾驭大部分事物,我们需要一位真正的通才。而幸运的是,Mind2Web 数据集也许有机会成为我们探索互联网的指南,帮助我们开发和评估能够根据语言指令在任何网站上完成复杂任务的通用智能体。Mind2Web 包含来自 31 个领域、137 个网站的 2350 个任务,它具有以下特点:

  • 反映了 Web 上多样化和与生活实际相关的使用案例。
  • 提供具有真实世界网站的具有挑战性但又现实的环境。
  • 测试在不同任务和环境中的泛化能力。

现有的 Web 智能体数据集要么使用模拟网站,要么只涵盖了有限的网站和任务,因此不适用于通用的 Web 智能体。和之前的数据集相比,Mind2Web 在以下几个方面独树一帜:

  1. 覆盖更多领域、网站和任务:包含来自31个不同领域的任务,覆盖了更广泛的主题和领域,使得智能体能够处理更多种类的任务。
  2. 真实世界网站:提供了真实世界的网站作为任务环境,这些网站反映了实际的在线体验,使得智能体可以在真实的网络环境中进行训练和测试。
  3. 广泛的用户互动模式:使得智能体能够适应不同的用户行为和操作方式,从而更好地应对各种任务要求。

咱们一起来看看这个数据集及相关任务的介绍吧~

论文题目:
Mind2Web: Towards a Generalist Agent for the Web

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

代码地址:
https://github.com/OSU-NLP-Group/Mind2Web

Demo 地址:
https://osu-nlp-group.github.io/Mind2Web/

大模型研究测试传送门

GPT-4能力研究传送门(遇浏览器警告点高级/继续访问即可):
https://gpt4test.com

论文速览

任务与领域

图1 Mind2Web 中的示例任务和所有领域

作者使用 SimilarWeb 的排名作为参考来收集这些网站,平衡了任务和网站的分布,以更好地测试不同级别的泛化能力,具体任务如下所示:

  • 跨任务泛化:在相同环境中跨任务的泛化,例如从图 (a) 到 (c )。
  • 跨网站泛化:在相同领域下跨网站的泛化,例如从图 (a) 到 (d)。
  • 跨领域泛化:在不同任务和环境中的泛化,例如从图 (e) 到 (i)。

图(a) 查询从纽约到多伦多的单程航班

图(b) 预订两名成年人7月1日和5日往返孟买和伦敦的航班

图(c) 使用 eTicket 号码 12345678 搜索由 Jason Two 预订的行程收据

图(d) 查找4月20日和23日往返芝加哥和伦敦的航班

图(e) 搜索布洛芬和阿司匹林之间的相互作用

图(f) 作为Verizon的用户,用月付购买一台 256GB 的蓝色 iPhone 13,并附带每月的苹果保护计划

图(g) 查找埃隆·马斯克的资料并关注,开启通知并点赞最新的推文

图(h) 浏览 Netflix 上从 1992 至 2007 年发布的喜剧电影流媒体

图(i) 打开页面以安排车辆知识测试的预约

对于上述的每个任务,作者提供了以下组件信息:

  • 任务描述:用自然语言句子描述任务。
  • 操作序列:描述完成任务所需执行的操作序列。
    • 每个操作是一个(操作类型,目标元素)对,其中目标元素是用户选择与之交互的网页元素,而操作则是要在该元素上执行的操作。
    • 支持四种常见的操作:点击(Click)、悬停(Hover)、输入(Type)和选择(Select)。
  • 网页快照:用作环境的快照,作者还提供了不同格式的快照:
    • MHTML:包含网页的原始HTML代码。
    • DOM快照:包含带有DOM、布局和样式信息的快照。
    • 图像:包含网页的屏幕截图。
    • HAR:包含所有网络流量以供回放。
    • 跟踪:包含完整的交互跟踪以进行注释。

数据

数据通过亚马逊众包平台(Amazon Mechanical Turk)收集,主要分为三个阶段:

  1. 第一阶段-任务提出:首先要求工作者提出可以在给定网站上执行的任务。作者会仔细审核提出的任务,并选择在第二阶段进行注释的可行且有趣的任务。
  2. 第二阶段-任务演示:要求工作者演示如何在网站上执行任务。使用 Playwright 开发了一个注释工具,记录交互跟踪并在每个步骤中对网页进行快照。如图 2 所示,用红色标记的操作将导致转换到新网页。
  3. 第三阶段-任务验证:作者验证所有任务,以确保所有操作都是正确的,任务描述正确地反映了注释的操作。

图2 包含三个组件的数据集的示例数据实例

数据集统计与比较

表1 Mind2Web 与现有数据集的对比统计

MINDACT 框架

作者利用 Mind2Web 的数据引入了一个探索性框架 MINDACT 来利用 LLM 的强大能力。原始的 HTML 文档可能包含数千个元素,直接将其输入 LLM 要么不可行,要么成本过高。

因此如图 3 所示,作者提出了一个两阶段的过程,将小型和大型 LLM 的优势相结合。

图3 MINDACT 的整体框架

第一阶段:使用经过微调的小型 LLM 对网页上存在的元素进行排序,筛选出一小部分候选元素。如图 4 所示,将每个 DOM 元素与任务查询进行配对,并通过交叉编码器结构(Cross-Encoder)将其输入到仅编码器的 LLM 中,得到一个匹配得分。

图4 候选生成模块和构建任务查询和候选表示的模板说明

第二阶段:这些候选元素被整合成网页的代表性片段,然后由 LLM 处理以预测最终的操作,包括预测与交互的元素和相应操作。图 5 展示了一个示例,在每个输入中最多包含5个候选元素,以及一个“None”选项,并将候选集划分为若干组。

图5 使用LLM进行操作预测的示意图

实验

  • 候选元素生成:使用参数为 86M 的基础版本 DeBERTaB 作为小型 LLM,并进行了微调。在 TestCross-Task、TestCross-Website 和 TestCross-Domain 上,其 Recall@50 分别达到了 88.9%、85.3% 和85.7%。
  • 操作预测:如表 2 所示,在使用多选问题回答的形式时,MINDACT 表现出显著的提升。然而,对于所有模型来说,整体任务成功率仍然较低,因为在大多数情况下,智能体至少在一个步骤上出现错误

表2 实验结果

  • 三个层次的泛化能力:如图 6 所示,所有模型在跨任务设置中表现最佳,表明推广到未见环境仍然是一个主要挑战。相反,我们注意到跨网站和跨领域设置的性能非常相似,表明挑战主要源于网站设计和交互逻辑的多样性,而不是特定领域的特定问题。不同领域的任务往往共享相同的操作,预训练语言模型可能已经具备基于常识知识在高层次上分解复杂任务的能力。然而,将这样的知识应用到具体且多样化的环境中仍然是一个重大挑战

图6 按三个分组划分的每个网站的步骤成功率如下所示

  • 使用 LLM 进行上下文学习:两个 LLM 模型,GPT-3.5-turbo 和 GPT-4 在上下文学习中表现相当。尽管 GPT-3.5 的准确率较低,但 GPT-4 在元素选择方面表现出色。然而,GPT-4 的高运行成本仍然是一个问题。因此,未来可以探索开发针对 Web 专门的较小模型方向。

小结

本文的作者们基于 Mind2Web 进行了初步探索,尝试利用大型语言模型(LLM)构建通用 Web 智能体。他们还提出了 MINDACT,一种利用 LLM 的能力来有效应对这一任务的智能体。虽然真实世界网站的原始 HTML 通常太大,无法直接输入到 LLM 中,但他们证明,通过先使用小型语言模型对其进行过滤,可以显著提高 LLM 的效果和效率。

本文的工作工作开辟了广泛的有前途的未来方向,包括整合多模态信息、利用来自真实网站的反馈进行强化学习,以及为 Web 理解和行动采取专门的语言模型。Mind2Web 的提出令人振奋,它不仅是一个普通数据集,更是一场关于智能体进化的探索。它的出现将带来前所未有的机遇和挑战,我们或许能够训练出真正的通才——一位能够在 Web 的广袤世界中独当一面的全能智能体。期待有更多的研究能揭开 Mind2Web 的精彩细节,打破任务的边界,为未来的网络智能体之旅开启全新篇章~

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

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

相关文章

MySQL高级篇第二天

文章目录 一、Mysql的体系结构概览 二、 存储引擎 三、优化SQL步骤 一、Mysql的体系结构概览 整个MySQL Server由以下组成 Connection Pool : 连接池组件 Management Services & Utilities : 管理服务和工具组件 SQL Interface : SQL接口组件 Parser : 查询分析器组件 O…

感觉被榨干了,被美团拷打一小时...

普通本科毕业后,进了一家互联网公司,这几年里不断在积累经验,最终选择跳到美团,涨薪了50%,下面分享一下我个人的面经和一些心得建议。 面经 面团一面 自我介绍专业技能一条条核对下来 有软件测试流程、用例设计方法…

快速入门教程:神经常微分方程 (Neural ODE)

神经常微分方程(Neural Ordinary Differential Equations,简称 Neural ODE)是一种基于常微分方程(Ordinary Differential Equations,ODEs)的深度学习方法,它结合了传统的ODE数值求解技术和神经网络模型。通过使用ODE来建模数据的演化过程,Neural ODE可以自动地学习数据…

力扣题库刷题笔记3--无重复字符的最长子串

1、题目如下: 2、个人Python代码实现如下: 代码如下: class Solution: def lengthOfLongestSubstring(self, s: str) -> int: temp "" #临时变量,记录当前连续不重复子串 out_put …

中国市场成为高阶智驾战略高地,博世/安波福包揽四项大奖

高工智能汽车研究院监测数据显示,2022年度中国市场(不含进出口)乘用车前装标配搭载辅助驾驶(L0-L2)交付1001.22万辆,首次突破千万辆规模,同时,前装搭载率也首次突破50%大关。 此外&a…

我用AI提高我的代码质量,周边同事对我的代码赞不绝口,速来围观

文章目录 前言功能演示1.使用Stream API来简化集合操作2.使用switch语句来替代多个if-else语句3.使用try-with-resources语句来自动关闭资源4. Lambda 表达式来简化代码,并提高代码的可读性和可维护性5.查找代码中的bug并优化6.python 使用sort方法来对列表进行排序7.javaScrpi…

【docker桌面版】windows使用docker搭建nginx

1.拉取nginx镜像 docker pull nginx 2.运行容器 docker run -d -p 80:8081 --name nginx nginx 3.本地磁盘创建nginx目录 D:\Docker\project\nginx 4.复制docker中的nginx配置文件 查看运行的容器docker ps -a docker cp 8f18d58bc77b:/etc/nginx/nginx.conf D:\Docker…

docker ansible与剧本模式

ansible(跨主机编排) ansible 是一个基于python开发的配置管理和应用部署和管理工具,现在也在自动化管理领域大放异彩,他融合了众多老牌运维工具的优点,pubbet和saltstack能实现的功能,ansible基本上都可以…

Docker使用记录

文章目录 Docker基本使用Docker配置查看状态卸载安装使用 apt 存储库安装在 Ubuntu 上安装 Docker 桌面(非必要) Docker实例使用现有的镜像查找镜像拖取镜像列出镜像列表更新镜像导出镜像删除镜像导入镜像清理镜像查看容器导出容器导入容器-以镜像的方式创建容器重启容器进入容…

虚函数表不一定总是在对象的起始位置

在我之前的一篇文章 “COM 对象的内存布局”中,作为举例,我将对象的虚函数表指针放置在了底层 C 对象的起始位置,但是值得注意的是,虚函数表指针指向的位置并没有一个实际的标准。即使将虚函数表放置在对象中间,甚至是…

零基础想转行做python爬虫及数据分析方向的程序员,有哪些书可以推荐?

学习Python语言是一个不错的选择,一方面Python的应用广泛,在大数据、人工智能、Web开发等领域有大量的使用,另一方面Python语言本身比较简单,非常适合初学者。 Python是完全可以自学的,如果英语基础还可以的话&#x…

Maxwell安装使用

​欢迎光临我的博客查看最新文章: https://river106.cn 1、Maxwell简介 Maxwell 是由美国Zendesk开源,用Java编写的MySQL实时抓取软件。读取 MySQL binlogs 并将修改行字段的更新写入 Kafka, Kinesis, RabbitMQ, Google Cloud Pub/Sub 或 Redis (Pub/Sub or LPUSH)…

3. SpringCloudAlibaba、nacos 实现配置中心

一、微服务中配置文件的问题 1.1 配置文件的问题: 配置文件的数量会随着服务的增加持续递增单个配置文件无法区分多个运行环境配置文件内容无法动态更新,需要重启服务 1.2 引入配置中心 引入配置中心:刚才架构就会成为这样。是由配置中心统…

2023上半年的九个觉悟

‍觉悟,就是觉了、悟了。有时候,你看到一句话,突然就觉悟了。 一、资本主义的问题 “资本主义把我们都缩减成了一个东西:消费者” 因此,人人都成为资本家利诱、操控、围猎的对象。 同时,金钱成为全民的神&a…

JVM垃圾回收算法及Java引用

目录 Java垃圾回收算法 1.标记清除算法:Mark-Sweep 2.复制算法:copying 3. 标记整理算法:Mark-Compact 4.分代收集算法 5.新生代垃圾回收算法:复制算法 6.老年代:标记整理算法 7.分区收集算法 Java引用 1.Ja…

ROS-melodic:源码安裝teb_local_planner算法、替换DWA算法

一.安裝teb_local_planner算法 源码下载地址:GitHub - rst-tu-dortmund/teb_local_planner: An optimal trajectory planner considering distinctive topologies for mobile robots based on Timed-Elastic-Bands (ROS Package) 注意选择对应ROS版本的代码。 放在…

爬虫 python 正则匹配 保存网页图片

目录 1. 简介1.1 爬虫1.2 爬虫语言1.3 python库1.4 我的步骤 2. 导入包2.1 代码2.2 requests库 3. 写入文件函数4. 获取图片5. 主函数5.1 代码5.2 说明一下webbrowser 6. 所有代码7. 其他(可以忽略)8. 总结 在这里我只提供的是一种方法,有很多…

SpringMVC 万字通关

文章目录 1. 什么是 Spring MVC?1.1 MVC 定义1.2 MVC 和 Spring MVC 的关系 2. Spring MVC 有什么用 ?3. 如何学 Spring MVC ?3.1 Spring MVC 的创建3.2 实现连接功能3.2.1 RquestMapping 详解1. RequestMapping 支持什么请求?2. 请求限定3. GetMapping 和 PostMapping4. c…

【Android -- JNI 和 NDK】Java 和 C/C++ 之间传递参数和返回值

本文主要介绍 JNI 的数据传递上,即 Java 如何传递对象给 C; 而 C 又如何将数据封装成 Java 所需的对象。 1. 基本数据类型 传递 java 的基本类型是非常简单而直接的,一个 jxxx 之类的类型已经定义在本地系统中了,比如:jint, jby…

认识ASP.NET MVC的5种AuthorizationFilter

一、IAuthorizationFilter 所有的AuthorizationFilter实现了接口IAuthorizationFilter。如下面的代码片断所示,IAuthorizationFilter定义了一个OnAuthorization方法用于实现授权的操作。作为该方法的参数filterContext是一个表示授权上下文的AuthorizationContext对…