AndroidLab:一个系统化的Android代理框架,包含操作环境和可复现的基准测试,支持大型语言模型和多模态模型。

2024-10-31,由清华大学和北京大学共同创建的AndroidLab数据集,为安卓自主代理的训练和评估提供了一个包含操作环境、行动空间和可复现基准的系统框架,这对于推动安卓代理技术的发展具有重要意义。

数据集地址:Android Instruct|Android自主代理数据集|移动操作系统数据集

一、研究背景:

随着自主代理与现实世界互动中的重要性日益增加,特别是安卓代理,已成为近期频繁提及的互动方式。然而,现有的安卓代理训练和评估研究缺乏对开源和闭源模型的系统性探索。

目前遇到困难和挑战:

1、训练和评估移动代理面临的挑战包括缺乏系统性的探索,以及对静态环境的依赖,这限制了代理的实际交互能力。

2、现有的基准测试缺乏对模型行为的系统性评估,限制了对模型行为的分析、洞察力的整合以及强化学习实验的有效进行。

3、缺乏统一的基准比较开源和闭源模型在不同模态下的表现,限制了提升开源解决方案的机会。

数据集地址:Android Instruct|Android自主代理数据集|移动操作系统数据集

二、让我们一起来看一下AndroidLab

AndroidLab是一个系统性的安卓代理框架,包括操作环境、行动空间和可复现基准。

包括预定义的安卓虚拟设备和覆盖九个应用的138个任务。通过使用预加载的应用程序操作历史和离线数据的安卓虚拟设备,AndroidLab确保了可复现性,并消除了外部网络或时间依赖。

AndroidLab构建 :

AndroidLab的构建涉及任务推导和扩展、自动探索以及手动注释。

通过学术数据集和手动编写的指令来种子任务生成,然后使用语言模型创建额外的任务,并通过审核添加到数据集中。自动任务探索使用LLMs和LMMs输出完成状态,初步使用手动选择来验证结果,后来用奖励模型替代。手动注释包括指令检查、初步熟悉、任务执行和交叉验证。

AndroidLab的特点:

1、支持大型语言模型(LLMs)和多模态模型(LMMs)在同一行动空间。

2、包括XML模式和SoM模式,确保不同观察模式下的动作一致性。

3、引入ReAct和SeeAct框架,允许代理逐步思考和执行任务。

4、提供了精确的任务完成和进度评估。

AndroidLab支持文本和多模态训练,通过在线注释工具收集操作记录,该工具使用ADB命令监控用户在手机上的交互,并在每个动作之前捕获屏幕截图和页面XML。

基准测试:

AndroidLab基准测试提供了一个确定性和可复现的评估平台,允许用户公平且具有挑战性地比较安卓代理的能力。基准测试包括操作任务和查询任务,以及基于设备和屏幕状态的任务完成评估系统。

AndroidLab 的环境和基准测试概述:我们为多模态模型 (LMM) 设计了 SoM 模式,为纯文本模型 (LLMs,确保相同的动作空间。我们还在这两种模式下实现了 ReAct 和 SeeAct 框架。根据环境,我们提出了 AndroidLab 基准测试。

Android Instruct 数据收集概述

Android Instruct 微调前后的成功率

任务示例以及 AndroidLab 基准测试中所有应用和子类别的分布情况。我们将每项任务分解为子目标并独立评估它们。只有当所有子目标都得到正确解决时,任务才被视为完成。

代理完成整个任务的所有子目标的示例。我们只介绍开始和结束步骤,以及代理完成每个子目标的步骤。我们必须记录每个子目标的完成状态。如果没有这些信息,我们可能无法从已完成页面的 XML 中获取详细信息,这可能会导致对任务的误判。

XML 和 SoM 模式的主要结果。SR、Sub-SR、RRR 和 ROR 分别代表成功率、子目标成功率、反向冗余率和合理运营率。对于所有这些指标,值越高意味着越好。-ft 表示微调模型。在每种模式下,Bold 表示最佳结果。如果 SR < 5,我们不会报告 RRR 评分

ReAct 和 SeeAct 框架对 SR 结果的影响。值得注意的是,在 XML+ReAct 模式下,模型性能得到了显著提高

不同模式的平均生成代币。我们使用 LLaMA3 分词器进行计算。FT 表示指令调优模型。

介绍了四种模型在四种不同设备类型上的性能。其中,Pixel 3a 是一款体积更小的手机,Pixel 7 Pro 和 Pixel 8 Pro 的尺寸与常用手机相当,Pixel Fold 类似于平板电脑。

三、让我们一起展望AndroidLab应用

比如,我是一个安卓应用的测试人员,我想要测试应用在不同用户操作下的表现。

日常工作状态是,说起这个事吧,让人头疼。我要手动一遍又一遍地去点击、滑动屏幕,还要记录下每个操作后应用的反应,看看有没有bug,用户体验是否流畅。比如我要测试应用里的日程管理功能,我得自己打开应用,找到日程管理的界面,然后手动添加一个事件,设置时间、地点啥的,费时费力,脑壳疼。

但是,现在有了AndroidLab数据集,这事儿就简单多了。这就好比给应用来了个“智能替身”,能自动帮我模拟各种用户操作,从简单的点击到复杂的多步骤任务,都能搞定。我只需要告诉它你要测试什么功能,比如“添加一个联系人”,然后它就能自动在应用里找到对应的界面,输入信息,然后检查结果是不是符合预期。

比如,我想测试应用的响应速度,AndroidLab数据集能帮我记录下每个操作的响应时间,还能分析出哪些操作特别慢,或者有没有卡顿的情况。

比如,我想测试一个个人财务管理应用,我说:“记录一笔3000元的收入,标记为投资收入。AndroidLab数据集帮助我训练应用来准确执行这些任务。

告诉你啊,还有一个最棒的功能,AndroidLab数据集还能帮我模拟不同的用户行为,比如有些用户可能喜欢用语音输入,有些用户可能更喜欢用键盘。我能通过这个数据集,测试应用在不同用户习惯下的表现,确保每个用户都能有良好的体验。

来吧,让我们走进Android Instruct|Android自主代理|移动操作系统数据集

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

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

相关文章

HTTP请求和请求体Body

HTTP 请求体(Request Body)是 HTTP 请求的一个重要组成部分,它位于请求头(Headers)之后,用于向服务器发送数据。请求体通常用于 POST 和 PUT 请求中,但在某些情况下也可以用于其他类型的请求&am…

如何在算家云搭建Aatrox-Bert-VITS2(音频生成)

一、模型介绍 ‌ Aatrox - Bert -VITS2 模型是一种基于深度学习的语音合成系统,结合了 BERT 的预训练能力和 VITS2 的微调技术,旨在实现高质量的个性化语音合成。 二、模型搭建流程 1. 创建容器实例 进入算家云的“应用社区”,点击搜索找到…

OpenEuler 使用ffmpeg x11grab捕获屏幕流,rtsp推流,并用vlc播放

环境准备 安装x11grab(用于捕获屏幕流)和libx264(用于编码) # 基础开发环境&x11grab sudo dnf install -y \autoconf \automake \bzip2 \bzip2-devel \cmake \freetype-devel \gcc \gcc-c \git \libtool \make \mercurial \pkgconfig \zlib-devel \libX11-devel \libXext…

深度学习:Masked Self-Attention 详解

Masked Self-Attention 详解 Masked Self-Attention 是 Transformer 架构中解码器的关键组件,特别用于处理自回归任务,如文本生成。该机制确保模型在生成一个序列的每个元素时只能利用之前元素的信息,防止未来信息的泄露。以下是对 Masked S…

QCustomPlot添加自定义的图例,实现隐藏、删除功能(二)

文章目录 QCustomPlot初识和基本效果图实现步骤:详细代码示例:实现原理和解释:使用方法:其他参考要实现一个支持复选框来控制曲线显示和隐藏的自定义 QCPLegend 类,可以通过继承 QCPLegend 并重写绘制和事件处理方法来实现,同时发出信号通知曲线的状态变更。 QCustomPl…

聊一聊Elasticsearch的基本原理与形成机制

1、搜索引擎的基本原理 通常搜索引擎包括:数据采集、文本分析、索引存储、搜索等模块,它们之间的协作流程如下图: 数据采集模块负责采集需要搜索的数据源。 文本分析模块是将结构化数据中的长文本切分成有实际意义的词,这样用户…

《AI 大模型重塑软件开发:机遇与挑战》

《AI 大模型重塑软件开发:机遇与挑战》 在当今科技飞速发展的时代,AI 技术的不断进步正深刻地改变着各个领域,软件开发行业也不例外。AI 大模型的出现,正在重塑软件开发流程,为软件开发者、企业以及整个产业链带来了深…

PyCharm 导入本地包目录

PyCharm 是最新版 声明一下是野路子 现在我工程目录下有个 gen-py 文件夹,这是我 thrift 编译出来的 Python 依赖包 使用的话,我们可以在代码里加入系统路径 sys.path.append("./gen-py/") 但是这样写,PyCharm 没有提示&#…

80端口被进程 System PID=4 IIS导致的解决方法

是因为80端口被IIS占用。解决办法打开IIS管理器,然后停止:

Linux 有名管道

有名管道(Named Pipe),也称为FIFO(First In, First Out),是一种特殊的文件系统对象,它允许不相关的进程之间的通信。与无名管道不同,有名管道在文件系统中有一个路径名,因…

异步4位计数器(Quartus与Modelsim联合仿真)

异步计数器(也称为ripple-through counter)的特点是每一位触发器的输出作为下一位触发器的时钟输入,因此计数速度会因为级联触发器的传播延迟而受到限制。这种计数器的最大工作频率通常低于同步计数器。 一、电路符号 输入信号:时…

PS-基础学习(常用快捷键1.2-1.3)

常用快捷键 钢笔操作功能Alt 选择工具使用选择工具放到锚点上,按下alt,然后放到调整曲度的上面,可以修改一边的曲度可以修改出不平滑的转折点选择工具放到锚点上进行拖拽可以移动锚点的位置ctrl 选择工具使用选择工具,按住ctrl…

若依cloud版集成微信扫码登录-绑定篇

前言 集成微信扫码登录的话,需要把项目的账号和微信账号进行绑定,然后才可以进行扫码登录 本篇内容是项目绑定微信 还需要申请一个微信开放平台账号 微信公众平台申请(测试平台)-CSDN博客 平台的项目回调接口可以先不写&…

鸿蒙应用App测试-通用测试

注意:大家记得学完通用测试记得再学鸿蒙专项测试 鸿蒙应用App测试-专项测试(DevEco Testing)-CSDN博客 注意:博主有个鸿蒙专栏,里面从上到下有关于鸿蒙next的教学文档,大家感兴趣可以学习下 如果大家觉得…

Docker 容器网络模式详解

Docker 容器网络模式详解 1.1 引言 1.1.1 Docker 网络简介 Docker 是一个开源的应用容器引擎,它允许开发者将应用和依赖打包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器采用沙箱机制,彼此…

100种算法【Python版】第53篇——无损压缩之LZW算法

本文目录 1 算法步骤2 算法示例3 算法应用3.1 压缩字符串3.1 压缩图像Lempel-Ziv-Welch (LZW) 是一种无损数据压缩算法,广泛应用于图像格式(如 GIF)和其他文件格式。LZW 通过查找输入数据中的重复子串,并使用短码替换这些子串,从而实现压缩。 1 算法步骤 (1)初始化字典…

Linux 配置JDK

文章目录 一、下载Oracle-JDK1.1、如何正确的下载JDK二、配置JDK环境变量2.1 环境变量配置2.1.1、修改vim /etc/profile 添加jdk的路径一、下载Oracle-JDK 1.1、如何正确的下载JDK 首先我要安装的是oracle-jdk,这个时候什么地方都不要去,就去oracle的官网,然后找到,jdk的下…

EasyExcel 学习之 导出 “提示问题”

EasyExcel 学习之 导出 “提示问题” 现象分析解决(伪代码)前端 POST 实现后端实现 现象 EasyExcel 支持导出 xlsx、xls、csv 三种文件格式。在导出过程中可能发生各种异常,当发生异常时应该提示错误信息而非导出一个错误的文件。 分析 首…

springBoot 自动配置与starter

目录 一、自动配置 Springboot实现自动配置的核心机制 Conditional的作用是什么? 如何自定义自动配置? 步骤 例子分析 自动配置的优先级 如何禁用特定的自动配置? 二、starter 如何理解Spring Boot中的starter? 如何自…

Json 类型与多值索引 — OceanBase 4.3.2 AP 功能体验

本文来自 2024年OceanBase技术征文大赛——“让技术被看见 | OceanBase 布道师计划”的用户征文。也欢迎更多的技术爱好者参与征文,赢取万元大奖。和我们一起,用文字让代码跳动起来! 参与2024年OceanBase技术征文大赛>> MySQL在5.7.8…