AndroidLab是什么
AndroidLab是用在训练和系统评估Android自主代理的框架,集成文本和图像模态操作环境,统一行动空间和可重现基准测试。AndroidLab支持大型语言模型和多模态模型,包含138个任务,覆盖九个应用。基于AndroidLab,开发Android指令数据集,提升开源模型的成功率。框架缩小开源与闭源模型性能差距,推动开源解决方案发展,并在GitHub开源。
AndroidLab的主要功能
- 多模态操作环境:提供标准化的多模态操作环境,支持大型语言模型(LLMs)和多模态模型(LMMs)在相同的操作空间内进行交互。
- 基准测试:设计一个包含138项任务的基准测试,覆盖九个常见应用,任务类型包括操作任务和查询任务,涉及真实世界的复杂交互场景。
- 评估指标:引入任务完成率(SR)、子目标成功率(Sub-SR)、反向冗余率(RRR)和合理操作比率(ROR)等评估指标,精准评估代理的任务表现。
- 数据集构建:创建Android Instruct数据集,结合自动化探索与人工标注,生成高质量的操作数据,提升开源模型在任务完成率和操作效率上的表现。
- 模型训练与优化:支持对开源和闭源模型进行训练和优化,基于指令调优显著缩小开源与闭源模型之间的性能差距。
AndroidLab技术原理
- 操作模式:
- XML模式:为文本输入的LLMs设计,基于压缩XML信息传递界面状态,模型直接选择元素执行操作。
- SoM模式:针对LMMs的设计,用Set-of-Mark方法,将屏幕截图与标记信息结合,模型选择带有编号的标记元素进行操作。
- 推理与操作框架:
- ReAct框架:基于逐步推理和操作输出,模型输出操作的同时展示中间推理过程。
- SeeAct框架:推理与操作分离,分两轮交互进行,第一轮模型生成详细的推理步骤,第二轮执行具体操作。
- 任务设计与重现性:每个任务设计多个子目标,用XML树结构匹配来验证每个子目标的完成情况,确保结果准确性和操作的高效性。
- 评估系统:基于任务完成的评估系统,直接从设备和屏幕状态判断,提供全面和精确的代理性能评估。
- 数据集与模型训练:基于自动化探索和人工标注构建数据集,训练和微调模型,提升模型在多模态与文本输入任务中的表现。
AndroidLab的项目地址
- GitHub仓库:https://github.com/THUDM/Android-Lab
- arXiv技术论文:https://arxiv.org/pdf/2410.24024