❤️ 如果你也关注大模型与 AI 的发展现状,且对大模型应用开发非常感兴趣,我会快速跟你分享最新的感兴趣的 AI 应用和热点信息,也会不定期分享自己的想法和开源实例,欢迎关注我哦!
🥦 微信公众号|搜一搜:蚝油菜花 🥦
🚀 快速阅读
- AndroidLab 是一个系统化的 Android 代理评估框架,支持大型语言模型和多模态模型。
- 包含 138 个任务,覆盖九大应用,提供多种评估指标。
- 提供两个执行模式: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)。
前提条件
- 克隆此仓库并安装依赖项。
cd /path/to/your/repo
conda create -n Android-Lab python=3.11
conda activate Android-Lab
pip install -r requirements.txt
运行自动评估管道
- 测试:
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
- 支持并行测试,注意内存和存储空间:
python eval.py -n test_name -c your_path_to_config.yaml -p 3
- 生成评估结果:
# 由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 图像,请参考这里。
资源
- GitHub 仓库:https://github.com/THUDM/Android-Lab
- arXiv 技术论文:https://arxiv.org/pdf/2410.24024
❤️ 如果你也关注大模型与 AI 的发展现状,且对大模型应用开发非常感兴趣,我会快速跟你分享最新的感兴趣的 AI 应用和热点信息,也会不定期分享自己的想法和开源实例,欢迎关注我哦!
🥦 微信公众号|搜一搜:蚝油菜花 🥦