当前位置: 首页 > news >正文

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自主代理|移动操作系统数据集

相关文章:

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

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

Java--正则表达式入门指南

正则表达式(Regular Expression)是一种用于匹配字符串中字符模式的工具。在Java中,正则表达式的使用主要依赖于java.util.regex包,其中最重要的两个类是Pattern和Matcher。今天将探讨正则表达式的基础概念、书写规则、常用方法&am…...

阿里云服务器 篇十(加更二):自动定时备份CSDN博客内容:更新文件最后修改时间,以在个人博客正确展示最近更新

文章目录 系列文章核心修改更新后的核心代码使用方法系列文章 阿里云服务器 篇一:申请和初始化 阿里云服务器 篇二:搭建静态网站 阿里云服务器 篇三:提交搜索引擎收录 阿里云服务器 篇四:404页面模板 阿里云服务器 篇五:短链服务网站 阿里云服务器 篇六:GitHub镜像网站 …...

Python编程探索:从基础语法到循环结构实践

文章目录 前言1. 行与缩进:Python代码的灵魂2. 数据类型的转换:灵活处理数据3. 字符串切片:提取字符串的子部分4. 字符串拼接:连接多个字符串5. 逻辑运算符:处理布尔值6. 成员运算符:检查值是否存在于序列中…...

今天要重新认识下注解@RequestBody

在Spring框架中,RequestBody是一个常用的注解,它用于将HTTP请求体中的数据绑定到控制器(Controller)处理方法的参数上。这个注解通常与RESTful Web服务一起使用,在处理POST或PUT请求时尤为常见,因为这些请求…...

北斗有源终端|智能5G单北斗终端|单兵|单北斗|手持机

在当今科技日新月异的时代,智能设备的创新与升级速度令人目不暇接。其中,智能5G终端作为连接数字世界的桥梁,正逐步渗透到我们生活的方方面面。今天,让我们聚焦于一款集尖端科技与实用功能于一身的智能5G设备——QM-L5智能5G单北斗…...

【题解】—— LeetCode一周小结44

🌟欢迎来到 我的博客 —— 探索技术的无限可能! 🌟博客的简介(文章目录) 【题解】—— 每日一道题目栏 上接:【题解】—— LeetCode一周小结43 28.冗余连接 II 题目链接:685. 冗余连接 II 在…...

faiss 用于检索10亿向量(维度768)的方法

faiss 用检索10亿向量(维度768)的方法,注意考虑占用内存空间大小不能超过100G,因为100G已经是很多服务器内存的极限了,有的128G已经是超规格的机器了。价格也就是2000左右(月租)。 要处理 10 亿个 768 维的向量,并且限制内存占用不超过 100G,我们需要使用 FAISS 中的…...

sql专题 之 常用命令

文章目录 查询基础语法查询全表查询选择查询&#xff1a;常量和运算&#xff1a; 条件查询where运算符&#xff1a;、 !、<、>空值&#xff1a;null模糊查询&#xff1a;like逻辑运算&#xff1a;and or not 去重&#xff1a;distinct排序&#xff1a;order by截断和偏移…...

Kubernetes Extended Resource 扩展资源使用简介

Kubernetes 除了提供基于 CPU 和内存的传统计算资源调度外&#xff0c;还支持自定义的 Extended Resource 扩展资源&#xff0c;以便调度和管理其它各种类型的资源。 Extended Resource Extended Resource 扩展资源的创建和使用过程如下图所示&#xff1a; 定义资源&#xff…...

基于STM32的天气时钟项目教学

引言 随着物联网技术的普及&#xff0c;基于STM32的微控制器被广泛应用于各种智能设备的开发。本项目旨在打造一个基于STM32的天气时钟&#xff0c;除了显示当前时间&#xff0c;还可以通过Wi-Fi获取当地天气信息&#xff0c;提供一个实用的生活工具。 环境准备 在开始项目之前…...

神经网络进行波士顿房价预测

前言 前一阵学校有五一数模节校赛&#xff0c;和朋友一起参加做B题&#xff0c;波士顿房价预测&#xff0c;算是第一次自己动手实现一个简单的小网络吧&#xff0c;虽然很简单&#xff0c;但还是想记录一下。 题目介绍 波士顿住房数据由哈里森和鲁宾菲尔德于1978年Harrison …...

C++builder中的人工智能(7)如何在C++中开发特别的AI激活函数?

在当今的AI开发中&#xff0c;人工智能模型正迅速增加。这些模型使用数学函数来执行和学习&#xff0c;以便在传播时优化最佳结果&#xff0c;或在反向传播时选择最佳解决方案。其中之一就是激活函数。也称为转移函数或阈值函数&#xff0c;它决定了神经元的激活值作为输出&…...

更改lvgl图片的分辨率(减少像素)达到减小内存占用的目的

lvgl的内存占比过大&#xff0c;更改图片的分辨率&#xff08;减少像素&#xff09;达到减小内存占用的目的&#xff0c;可以用更多的空间去开发其他的功能 -- 由于lvgl中图片占的内存过大&#xff0c;所以需要更改图片的分辨率&#xff08;降低像素的方式&#xff09; --注意…...

python的socket库的基本使用总目录

章节总目录 一、Python 实现UDP通讯的简单模型 二、Python 实现TCP通讯的简单模型 三、Python 实现TCP和UDP通讯代码的区别...

golang学习3

Go 语言之旅...

Python解力扣算法题(六)(详解+注释)

# 1.学校打算为全体学生拍一张年度纪念照。根据要求&#xff0c;学生需要按照 非递减 的高度顺序排成一行。 # 排序后的高度情况用整数数组 expected 表示&#xff0c;其中 expected[i] 是预计排在这一行中第 i 位的学生的高度&#xff08;下标从 0 开始&#xff09;。 # 给你一…...

【C++】继承和多态常见的面试问题

文章目录 继承笔试面试题1. 什么是菱形继承&#xff1f;菱形继承的问题是什么&#xff1f;2. 什么是菱形虚拟继承&#xff1f;如何解决数据冗余和二义性&#xff1f;3. 继承和组合的区别&#xff1f;什么时候用继承&#xff1f;什么时候用组合&#xff1f; 选择题 多态概念考察…...

入门网络安全工程师要学习哪些内容(详细教程)

&#x1f91f; 基于入门网络安全/黑客打造的&#xff1a;&#x1f449;黑客&网络安全入门&进阶学习资源包 大家都知道网络安全行业很火&#xff0c;这个行业因为国家政策趋势正在大力发展&#xff0c;大有可为!但很多人对网络安全工程师还是不了解&#xff0c;不知道网…...

【游戏引擎之路】登神长阶(十二)——DirectX11教程:If you‘re going through hell, keep going!

【游戏引擎之路】登神长阶&#xff08;十二&#xff09;——DirectX11教程&#xff1a;If youre going through hell, keep going! 2024年 5月20日-6月4日&#xff1a;攻克2D物理引擎。 2024年 6月4日-6月13日&#xff1a;攻克《3D数学基础》。 2024年 6月13日-6月20日&#x…...

【Redis技术进阶之路】「原理分析系列开篇」分析客户端和服务端网络诵信交互实现(服务端执行命令请求的过程 - 初始化服务器)

服务端执行命令请求的过程 【专栏简介】【技术大纲】【专栏目标】【目标人群】1. Redis爱好者与社区成员2. 后端开发和系统架构师3. 计算机专业的本科生及研究生 初始化服务器1. 初始化服务器状态结构初始化RedisServer变量 2. 加载相关系统配置和用户配置参数定制化配置参数案…...

MVC 数据库

MVC 数据库 引言 在软件开发领域,Model-View-Controller(MVC)是一种流行的软件架构模式,它将应用程序分为三个核心组件:模型(Model)、视图(View)和控制器(Controller)。这种模式有助于提高代码的可维护性和可扩展性。本文将深入探讨MVC架构与数据库之间的关系,以…...

Linux-07 ubuntu 的 chrome 启动不了

文章目录 问题原因解决步骤一、卸载旧版chrome二、重新安装chorme三、启动不了&#xff0c;报错如下四、启动不了&#xff0c;解决如下 总结 问题原因 在应用中可以看到chrome&#xff0c;但是打不开(说明&#xff1a;原来的ubuntu系统出问题了&#xff0c;这个是备用的硬盘&a…...

Linux系统部署KES

1、安装准备 1.版本说明V008R006C009B0014 V008&#xff1a;是version产品的大版本。 R006&#xff1a;是release产品特性版本。 C009&#xff1a;是通用版 B0014&#xff1a;是build开发过程中的构建版本2.硬件要求 #安全版和企业版 内存&#xff1a;1GB 以上 硬盘&#xf…...

机器学习的数学基础:线性模型

线性模型 线性模型的基本形式为&#xff1a; f ( x ) ω T x b f\left(\boldsymbol{x}\right)\boldsymbol{\omega}^\text{T}\boldsymbol{x}b f(x)ωTxb 回归问题 利用最小二乘法&#xff0c;得到 ω \boldsymbol{\omega} ω和 b b b的参数估计$ \boldsymbol{\hat{\omega}}…...

内窥镜检查中基于提示的息肉分割|文献速递-深度学习医疗AI最新文献

Title 题目 Prompt-based polyp segmentation during endoscopy 内窥镜检查中基于提示的息肉分割 01 文献速递介绍 以下是对这段英文内容的中文翻译&#xff1a; ### 胃肠道癌症的发病率呈上升趋势&#xff0c;且有年轻化倾向&#xff08;Bray等人&#xff0c;2018&#x…...

深入浅出JavaScript中的ArrayBuffer:二进制数据的“瑞士军刀”

深入浅出JavaScript中的ArrayBuffer&#xff1a;二进制数据的“瑞士军刀” 在JavaScript中&#xff0c;我们经常需要处理文本、数组、对象等数据类型。但当我们需要处理文件上传、图像处理、网络通信等场景时&#xff0c;单纯依赖字符串或数组就显得力不从心了。这时&#xff…...

华为云Flexus+DeepSeek征文 | 基于Dify构建具备联网搜索能力的知识库问答助手

华为云FlexusDeepSeek征文 | 基于Dify构建具备联网搜索能力的知识库问答助手 一、构建知识库问答助手引言二、构建知识库问答助手环境2.1 基于FlexusX实例的Dify平台2.2 基于MaaS的模型API商用服务 三、构建知识库问答助手实战3.1 配置Dify环境3.2 创建知识库问答助手3.3 使用知…...

vue3 手动封装城市三级联动

要做的功能 示意图是这样的&#xff0c;因为后端给的数据结构 不足以使用ant-design组件 的联动查询组件 所以只能自己分装 组件 当然 这个数据后端给的不一样的情况下 可能组件内对应的 逻辑方式就不一样 毕竟是 三个 数组 省份 城市 区域 我直接粘贴组件代码了 <temp…...

自建 dnslog 回显平台:渗透测试场景下的隐蔽回显利器

&#x1f50d; 背景介绍 在渗透测试与红队评估过程中&#xff0c;DNS 外带&#xff08;DNS Exfiltration&#xff09; 是一种常见且隐蔽的通信通道。由于多数目标环境默认具备外网 DNS 解析能力&#xff0c;即便在 无回显、无文件上传权限 的条件下&#xff0c;仍可通过 DNS 请…...