EvalAI 项目介绍
EvalAI 是一个开源平台,用于大规模评估和比较机器学习(ML)和人工智能(AI)算法。
背景与动机
近年来,比较不同算法以解决特定任务变得越来越困难。研究人员在比较算法时往往会遇到实现细节的微小差异、使用非标准的数据集分割和不同的评估指标等问题。EvalAI 通过提供一个中央排行榜和提交接口,使研究人员能够更轻松地复现论文中的结果,并执行可靠且准确的量化分析。同时,通过基于 map-reduce 框架的快速和稳健的后端,EvalAI 旨在加速评估过程,使研究人员更容易复现技术论文中的结果,并进行可靠和准确的分析。
功能特性
-
自定义评估协议和阶段:允许创建任意数量的评估阶段和数据集分割,支持任何编程语言的兼容性,并可以在公共和私有排行榜中组织结果。
-
远程评估:一些大规模挑战需要特殊的计算能力进行评估。挑战如果需要额外的计算能力,组织者可以轻松地添加自己的工作节点集群来处理参与者提交的内容,我们负责主持挑战,处理用户提交和维护排行榜。
-
环境内部评估:EvalAI 允许参与者以 Docker 镜像的形式提交其代理的代码,这些代码会在评估服务器的测试环境中进行评估。在评估过程中,工作节点会获取镜像、测试环境和模型快照,启动一个新容器来执行评估。
-
命令行支持:EvalAI 提供了一个命令行工具 evalai-cli,扩展了 EvalAI 网页应用的功能,使平台更加易于访问并适合终端环境。
-
可移植性:EvalAI 在设计上非常注重系统的可扩展性和可移植性,主要依赖于开源技术,如 Docker、Django、Node.js 和 PostgreSQL。
-
更快的评估:通过在启动时预热工作节点,导入挑战代码并将数据集预加载到内存中,同时将数据集拆分成可以在多个核心上同时评估的小块,从而实现更快的评估,这些简单的技巧在某些情况下将评估时间缩短了一个数量级。
项目目标
EvalAI 的最终目标是建设一个集中平台,用于在全球范围内组织、参与和协作 AI 挑战,并希望能够帮助推动 AI 进步的基准化。
本地安装指南
在本地机器上设置 EvalAI 非常简单。可以使用 Docker 快速设置 EvalAI。以下是步骤:
-
在你的机器上安装 docker 和 docker-compose。
-
通过 git 将源码下载到本地。
git clone https://github.com/Cloud-CV/EvalAI.git evalai && cd evalai
-
构建并运行 Docker 容器,这可能需要一些时间。
docker-compose up --build
-
完成后,在浏览器中打开 URL http://127.0.0.1:8888。默认会创建三个用户:
- 超级用户(SUPERUSER):用户名
admin
,密码password
- 主办用户(HOST USER):用户名
host
,密码password
- 参与者用户(PARTICIPANT USER):用户名
participant
,密码password
- 超级用户(SUPERUSER):用户名
如果在安装过程中遇到任何问题,请参阅我们的常见安装错误解决页面。
引用 EvalAI
如果您正在使用 EvalAI 主办挑战,请引用以下技术报告:
@article{EvalAI,
title = {EvalAI: Towards Better Evaluation Systems for AI Agents},
author = {Deshraj Yadav and Rishabh Jain and Harsh Agrawal and Prithvijit
Chattopadhyay and Taranjeet Singh and Akash Jain and Shiv Baran
Singh and Stefan Lee and Dhruv Batra},
year = {2019},
volume = arXiv:1902.03570
}
贡献者
EvalAI 目前由 Rishabh Jain 和 Gunjan Chhablani 维护。主要贡献者还包括:Deshraj Yadav、Ram Ramrakhya、Akash Jain、Taranjeet Singh、Shiv Baran Singh、Harsh Agarwal、Prithvijit Chattopadhyay、Devi Parikh 和 Dhruv Batra 。