AndroidLab:系统评估 Android 自主代理的基准测试框架,支持大型语言模型和多模态模型

❤️ 如果你也关注大模型与 AI 的发展现状,且对大模型应用开发非常感兴趣,我会快速跟你分享最新的感兴趣的 AI 应用和热点信息,也会不定期分享自己的想法和开源实例,欢迎关注我哦!

🥦 微信公众号|搜一搜:蚝油菜花 🥦


🚀 快速阅读

  1. AndroidLab 是一个系统化的 Android 代理评估框架,支持大型语言模型和多模态模型。
  2. 包含 138 个任务,覆盖九大应用,提供多种评估指标。
  3. 提供两个执行模式:AVD on Mac (arm64) 和 Docker on Linux (x86_64)。

正文(附运行示例)

AndroidLab 是什么

在这里插入图片描述

AndroidLab 是一个用于训练和系统评估 Android 自主代理的框架,集成了多模态操作环境和可重现的基准测试。它支持大型语言模型(LLMs)和多模态模型(LMMs),包含 138 个任务,涵盖九个常见的移动应用程序。基于 AndroidLab,开发了 Android 指令数据集,显著提升了开源模型在任务完成率和操作效率上的表现,缩小了开源与闭源模型之间的性能差距。

AndroidLab 的主要功能

  • 多模态操作环境:提供标准化的多模态操作环境,支持 LLMs 和 LMMs 在相同的操作空间内进行交互。
  • 基准测试:设计了包含 138 项任务的基准测试,覆盖九个常见应用,任务类型包括操作任务和查询任务,涉及真实世界的复杂交互场景。
  • 评估指标:引入任务完成率(SR)、子目标成功率(Sub-SR)、反向冗余率(RRR)和合理操作比率(ROR)等评估指标,精准评估代理的任务表现。
  • 数据集构建:创建 Android Instruct 数据集,结合自动化探索与人工标注,生成高质量的操作数据,提升模型在任务完成率和操作效率上的表现。
  • 模型训练与优化:支持对开源和闭源模型进行训练和优化,基于指令调优显著缩小开源与闭源模型之间的性能差距。

AndroidLab 的技术原理

  • 操作模式
    • XML 模式:为文本输入的 LLMs 设计,基于压缩 XML 信息传递界面状态,模型直接选择元素执行操作。
    • SoM 模式:针对 LMMs 的设计,用 Set-of-Mark 方法,将屏幕截图与标记信息结合,模型选择带有编号的标记元素进行操作。
  • 推理与操作框架
    • ReAct 框架:基于逐步推理和操作输出,模型输出操作的同时展示中间推理过程。
    • SeeAct 框架:推理与操作分离,分两轮交互进行,第一轮模型生成详细的推理步骤,第二轮执行具体操作。
  • 任务设计与重现性:每个任务设计多个子目标,用 XML 树结构匹配来验证每个子目标的完成情况,确保结果准确性和操作的高效性。
  • 评估系统:基于任务完成的评估系统,直接从设备和屏幕状态判断,提供全面和精确的代理性能评估。
  • 数据集与模型训练:基于自动化探索和人工标注构建数据集,训练和微调模型,提升模型在多模态与文本输入任务中的表现。

如何运行 AndroidLab

自动评估管道

我们提供了两种测试方法:AVD on Mac (arm64) 和 Docker on Linux (x86_64)。

前提条件
  1. 克隆此仓库并安装依赖项。
cd /path/to/your/repo
conda create -n Android-Lab python=3.11
conda activate Android-Lab
pip install -r requirements.txt
  1. 如果使用 AVD on Mac (arm64),请参考这里设置环境。
  2. 如果使用 Docker on Linux (x86_64),请参考这里设置环境。
运行自动评估管道
  1. 测试:
python eval.py -n test_name -c your_path_to_config.yaml

具体输出保存在./logs/evaluation/test_name下,评估结果保存在output文件夹中。 2. 只运行几个问题进行测试:

python eval.py -n test_name -c your_path_to_config.yaml --task_id taskid_1,taskid_2,taskid_3
  1. 支持并行测试,注意内存和存储空间:
python eval.py -n test_name -c your_path_to_config.yaml -p 3
  1. 生成评估结果:
# 由gpt-4o-2024-05-13评估:
export OPENAI_API_KEY='your-api-key-here'
python generate_result.py --input_folder ./logs/evaluation/ --output_folder ./logs/evaluation/ --output_excel ./logs/evaluation/test_name.xlsx --judge_model gpt-4o-2024-05-13

# 由glm4评估:
python generate_result.py --input_folder ./logs/evaluation/ --output_folder ./logs/evaluation/ --output_excel ./logs/evaluation/test_name.xlsx --judge_model glm4 --api_key your_api_key

如果想进一步开发 AndroidLab,包括更改代理的基础模型、添加任务和更改 AVD 图像,请参考这里

资源

  1. GitHub 仓库:https://github.com/THUDM/Android-Lab
  2. arXiv 技术论文:https://arxiv.org/pdf/2410.24024

❤️ 如果你也关注大模型与 AI 的发展现状,且对大模型应用开发非常感兴趣,我会快速跟你分享最新的感兴趣的 AI 应用和热点信息,也会不定期分享自己的想法和开源实例,欢迎关注我哦!

🥦 微信公众号|搜一搜:蚝油菜花 🥦

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值