当前位置: 首页 > 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自主代理|移动操作系统数据集

http://www.lryc.cn/news/478073.html

相关文章:

  • Java--正则表达式入门指南
  • 阿里云服务器 篇十(加更二):自动定时备份CSDN博客内容:更新文件最后修改时间,以在个人博客正确展示最近更新
  • Python编程探索:从基础语法到循环结构实践
  • 今天要重新认识下注解@RequestBody
  • 北斗有源终端|智能5G单北斗终端|单兵|单北斗|手持机
  • 【题解】—— LeetCode一周小结44
  • faiss 用于检索10亿向量(维度768)的方法
  • sql专题 之 常用命令
  • Kubernetes Extended Resource 扩展资源使用简介
  • 基于STM32的天气时钟项目教学
  • 神经网络进行波士顿房价预测
  • C++builder中的人工智能(7)如何在C++中开发特别的AI激活函数?
  • 更改lvgl图片的分辨率(减少像素)达到减小内存占用的目的
  • python的socket库的基本使用总目录
  • golang学习3
  • Python解力扣算法题(六)(详解+注释)
  • 【C++】继承和多态常见的面试问题
  • 入门网络安全工程师要学习哪些内容(详细教程)
  • 【游戏引擎之路】登神长阶(十二)——DirectX11教程:If you‘re going through hell, keep going!
  • Python列表(一图秒了)
  • 雷池社区版 7.1.0 LTS 发布了
  • 推荐一款功能强大的数据库开发管理工具:SQLite Expert Pro
  • 动态规划 之 路径问题 算法专题
  • 从office套件接入GPT4谈自动化测试的前景
  • CentOS操作系统安装过程简介
  • 基于Multisim光控夜灯LED电路(含仿真和报告)
  • 导师双选系统开发:Spring Boot技术详解
  • 双11花了“一部手机钱”买手机壳的年轻人,究竟在买什么?
  • rediss数据结构及其底层实现
  • 自动化测试中使用Pytest Fixture?推荐10种常见用法!