EvalAi es una plataforma de código abierto para evaluar y comparar los algoritmos de aprendizaje automático (ML) e inteligencia artificial (IA) a escala.
En los últimos años, se ha vuelto cada vez más difícil comparar un algoritmo que resuelve una tarea dada con otros enfoques existentes. Estas comparaciones sufren diferencias menores en la implementación del algoritmo, el uso de divisiones de conjuntos de datos no estándar y diferentes métricas de evaluación. Al proporcionar una tabla de clasificación central y una interfaz de envío, facilitamos a los investigadores reproducir los resultados mencionados en el documento y realizar un análisis cuantitativo confiable y preciso. Al proporcionar backends rápidos y robustos basados en marcos de reducción de mapas que aceleran la evaluación sobre la marcha, Evali tiene como objetivo facilitar a los investigadores reproducir los resultados de los documentos técnicos y realizar análisis confiables y precisos.
Protocolos y fases de evaluación personalizada : permitimos la creación de un número arbitrario de fases de evaluación y divisiones de conjuntos de datos, compatibilidad utilizando cualquier lenguaje de programación y organizaciones de resultados en tablas de clasificación públicas y privadas.
Evaluación remota : ciertos desafíos a gran escala necesitan capacidades de cálculo especiales para la evaluación. Si el desafío necesita un poder computacional adicional, los organizadores de desafíos pueden agregar fácilmente su propio clúster de nodos de trabajadores para procesar las presentaciones de los participantes mientras nos encargamos de organizar el desafío, manejar las presentaciones de los usuarios y mantener la tabla de clasificación.
Evaluación interna Entornos : EvalAi permite a los participantes enviar código para su agente en forma de imágenes de Docker que se evalúan contra entornos de prueba en el servidor de evaluación. Durante la evaluación, el trabajador obtiene la imagen, el entorno de prueba y la instantánea del modelo y gira un nuevo contenedor para realizar la evaluación.
Soporte de CLI : Evali-CLI está diseñado para extender la funcionalidad de la aplicación web Evali a su línea de comando para que la plataforma sea más accesible y amigable con la terminal.
Portabilidad : Evali está diseñado con la escalabilidad y la portabilidad de dicho sistema desde el inicio de la idea. La mayoría de los componentes dependen en gran medida de las tecnologías de código abierto: Docker, Django, Node.js y PostgreSQL.
Evaluación más rápida : Calentamos los nodos de los trabajadores al inicio al importar el código de desafío y precargando el conjunto de datos en la memoria. También dividimos el conjunto de datos en pequeños trozos que se evalúan simultáneamente en múltiples núcleos. Estos simples trucos dan como resultado una evaluación más rápida y reduce el tiempo de evaluación por orden de magnitud en algunos casos.
Nuestro objetivo final es construir una plataforma centralizada para alojar, participar y colaborar en desafíos de IA organizados en todo el mundo y esperamos ayudar en la evaluación comparativa del progreso en la IA.
Configurar evaluación en su máquina local es realmente fácil. Puede configurar evaluación usando Docker: los pasos son:
Instale Docker y Docker-Compose en su máquina.
Obtenga el código fuente en su máquina a través de Git.
git clone https://github.com/Cloud-CV/EvalAI.git evalai && cd evalai
Construya y ejecute los contenedores Docker. Esto podría llevar un tiempo.
docker-compose up --build
Eso es todo. Abra el navegador web y presione la URL http://127.0.0.1:8888. Se crearán tres usuarios de forma predeterminada que se enumeran a continuación -
SuperUser- Nombre de usuario: Contraseña admin
: password
Host User- UserName: Contraseña host
: password
Participante Usuario : Nombre de usuario: Contraseña participant
: password
Si enfrenta algún problema durante la instalación, consulte nuestros errores comunes durante la página de instalación.
Si está utilizando Evali para alojar desafíos, cite el siguiente informe técnico:
@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
}
Evali es actualmente mantenida por Rishabh Jain, Gunjan Chhablani. Una lista no exhaustiva de otros contribuyentes importantes incluye: Deshraj Yadav, Ram Ramrakhya, Akash Jain, Taranjeet Singh, Shiv Baran Singh, Harsh Agarwal, Prithvijit Chattopadhyay, Devi Parikh y Dhruv Batra.
Si está interesado en contribuir a Evali, siga nuestras pautas de contribución.