Evalai est une plate-forme open source pour évaluer et comparer l'apprentissage automatique (ML) et les algorithmes d'intelligence artificielle (IA) à grande échelle.
Ces dernières années, il est devenu de plus en plus difficile de comparer un algorithme résolvant une tâche donnée avec d'autres approches existantes. Ces comparaisons souffrent de différences mineures dans la mise en œuvre de l'algorithme, l'utilisation de divisions de données non standard et différentes mesures d'évaluation. En fournissant un classement central et une interface de soumission, nous facilitons la reproduction des résultats mentionnés dans l'article et effectuons une analyse quantitative fiable et précise. En fournissant des backends rapides et robustes basés sur des cadres Map-Reduce qui accélèrent l'évaluation à la volée, Evalai vise à faciliter la reproduction des résultats des articles techniques et d'effectuer des analyses fiables et précises.
Protocoles et phases d'évaluation personnalisés : Nous permettons la création d'un nombre arbitraire de phases d'évaluation et de divisions de données, de compatibilité à l'aide de n'importe quel langage de programmation et d'organisation des résultats dans les classements publics et privés.
Évaluation à distance : certains défis à grande échelle nécessitent des capacités de calcul spéciales pour l'évaluation. Si le défi nécessite une puissance de calcul supplémentaire, les organisateurs du défi peuvent facilement ajouter leur propre groupe de nœuds de travailleurs pour traiter les soumissions des participants pendant que nous prenons soin d'héberger le défi, de gérer les soumissions des utilisateurs et de maintenir le classement.
Évaluation dans les environnements : Evalu permet aux participants de soumettre du code pour leur agent sous la forme d'images Docker qui sont évaluées par rapport aux environnements de test sur le serveur d'évaluation. Pendant l'évaluation, le travailleur récupère l'image, l'environnement de test et l'instantané du modèle et tourne un nouveau conteneur pour effectuer une évaluation.
Prise en charge de la CLI : EVALAI-CLI est conçu pour étendre les fonctionnalités de l'application Web Evalai à votre ligne de commande pour rendre la plate-forme plus accessible et conviviale.
Portabilité : Evalai est conçu pour garder à l'esprit l'évolutivité et la portabilité d'un tel système depuis la création de l'idée. La plupart des composants reposent fortement sur les technologies open source - Docker, Django, Node.js et PostgreSQL.
Évaluation plus rapide : nous réchauffons les nœuds de travail au démarrage en important le code de défi et en préchargeant l'ensemble de données en mémoire. Nous avons également divisé l'ensemble de données en petits morceaux qui sont simultanément évalués sur plusieurs cœurs. Ces astuces simples entraînent une évaluation plus rapide et réduit le temps d'évaluation par un ordre de grandeur dans certains cas.
Notre objectif ultime est de construire une plate-forme centralisée pour héberger, participer et collaborer aux défis de l'IA organisés dans le monde entier et nous espérons aider à réaliser des progrès dans l'IA.
La configuration de l'évaluation sur votre machine locale est vraiment facile. Vous pouvez configurer EVALAI à l'aide de Docker: les étapes sont:
Installez Docker et Docker-Compose sur votre machine.
Obtenez le code source sur votre machine via Git.
git clone https://github.com/Cloud-CV/EvalAI.git evalai && cd evalai
Construisez et exécutez les conteneurs Docker. Cela pourrait prendre un certain temps.
docker-compose up --build
C'est ça. Ouvrez le navigateur Web et appuyez sur l'URL http://127.0.0.1:8888. Trois utilisateurs seront créés par défaut qui sont répertoriés ci-dessous -
SuperUser - Nom d'utilisateur: Mot de passe admin
: password
Utilisateur hôte - Nom d' utilisateur: Mot de passe host
: password
Nom d'utilisateur des participants : Mot de passe participant
: password
Si vous êtes confronté à un problème lors de l'installation, veuillez consulter nos erreurs courantes pendant la page d'installation.
Si vous utilisez EVALAI pour les défis d'hébergement, veuillez citer le rapport technique suivant:
@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 est actuellement entretenu par Rishabh Jain, Gunjan Chhablani. Une liste non exhaustive d'autres contributeurs majeurs comprend: Deshraj Yadav, Ram Ramrakhya, Akash Jain, Taranjeet Singh, Shiv Baran Singh, Harsh Agarwal, Prithvijit Chattopadhyay, Devi Parikh et Dhruv Batra.
Si vous êtes intéressé à contribuer à EVALAI, suivez nos directives de contribution.