Lista De Verificación De Integridad De AA

Tabla de contenido:

Lista De Verificación De Integridad De AA
Lista De Verificación De Integridad De AA

Video: Lista De Verificación De Integridad De AA

Video: Lista De Verificación De Integridad De AA
Video: Integridad de Datos 2024, Mayo
Anonim

Con el objetivo de aumentar la reproducibilidad y empoderar a otros para que se basen en el trabajo publicado más fácilmente, presentamos una lista de verificación de integridad del código ML. La lista de verificación de integridad del código de AA evalúa el almacén de código en función de los scripts y los artefactos proporcionados en él.

Lista de verificación de integridad del código de AA
Lista de verificación de integridad del código de AA

Introducción

El año pasado, Joel Pino lanzó una lista de verificación de reproducibilidad para facilitar la investigación reproducible presentada en las principales conferencias de AA (NeurIPS, ICML,…). La mayoría de los elementos de la lista de verificación se centran en los componentes del documento. Un elemento de esta lista de verificación es "proporcionar un enlace al código fuente", pero aparte de eso, se hicieron pocas recomendaciones.

Las mejores prácticas se han resumido en la Lista de verificación de integridad del código ML, que ahora forma parte del proceso oficial de envío del código NeurIPS 2020 y estará disponible para que los revisores lo utilicen como mejor les parezca.

Lista de verificación de integridad de AA

La lista de verificación de integridad del código M comprueba el almacén de códigos para:

  1. Dependencias: ¿el repositorio tiene información sobre dependencias o instrucciones sobre cómo configurar el entorno?
  2. Escenarios de capacitación: ¿el repositorio contiene una forma de entrenar / ajustar los modelos descritos en el documento?
  3. Escenarios de evaluación: ¿el repositorio contiene un script para calcular el rendimiento de los modelos entrenados o ejecutar experimentos en modelos?
  4. Modelos previamente entrenados: ¿el repositorio proporciona acceso gratuito a los pesos de los modelos previamente entrenados?
  5. Resultados: ¿el repositorio contiene una tabla / gráfico de los resultados principales y un script para reproducir esos resultados?

Cada repositorio puede recibir de 0 (no tiene ninguno) a 5 (tiene todos) ticks. Puede encontrar más información sobre los criterios para cada elemento en el repositorio de Github.

¿Cuál es la evidencia de que los elementos de la lista de verificación contribuyen a repositorios más útiles?

La comunidad generalmente usa estrellas de GitHub como proxy de la utilidad del repositorio. Por lo tanto, se espera que los repositorios con una puntuación más alta en la lista de verificación de integridad de ML también tengan más estrellas de GitHub. Para probar esta hipótesis, se enviaron 884 repositorios de GitHub como implementaciones oficiales en los documentos de NeurIPS 2019. Un subconjunto del 25% de estos 884 repositorios se seleccionaron al azar y se verificaron manualmente en la lista de verificación de integridad de ML. Agruparon esta muestra de repositorios de GitHub de NeurIPS 2019 por la cantidad de tics que tienen en la lista de verificación de integridad del código ML y mapearon las estrellas medianas de GitHub en cada grupo. El resultado es el siguiente:

Imagen
Imagen

Los repositorios de NeurIPS 2019 con 0 casillas de verificación tenían una mediana de 1.5 estrellas en GitHub. Por el contrario, los repositorios con 5 casillas de verificación tenían una mediana de 196,5 estrellas de GitHub. Solo el 9% de los repos tenían 5 ticks, y la mayoría de los repos (70%) tenían 3 ticks o menos. Se realizó la prueba de suma de rangos de Wilcoxon y se encontró que el número de estrellas en la clase de 5 ticks es significativamente (p.value <1e-4) más alto que en todas las demás clases excepto 5 versus 4 (donde p.value es el límite). en 0,015). Puede ver los datos y el código de esta figura en el repositorio de Github.

Para probar si esta relación se extiende más ampliamente, se creó un script para automatizar el cálculo de una lista de verificación del repositorio README y el código asociado. Luego, volvimos a analizar el conjunto completo de 884 repositorios de NeurIPS 2019, así como el conjunto más amplio de 8926 repositorios de código para todos los artículos de ML publicados en 2019. En ambos casos, los especialistas obtuvieron un resultado cualitativamente idéntico con estrellas medianas que aumentaron monótonamente a partir de garrapatas de manera estadísticamente significativa (valor de p <1e-4). Finalmente, utilizando una regresión lineal robusta, encontramos que los modelos y resultados previamente entrenados tienen el mayor impacto positivo en las estrellas de GitHub.

Los analistas consideran que esto es una evidencia útil de que alentar a los investigadores a incluir todos los componentes requeridos por la lista de verificación de integridad de ML conducirá a repositorios más útiles, y que la puntuación en la lista de verificación indica envíos de mejor calidad.

Actualmente, los expertos no afirman que los 5 elementos de la lista de verificación propuestos sean el único o incluso el factor más significativo en la popularidad del repositorio. Otros factores pueden influir en la popularidad, como el tamaño de la contribución científica, el marketing (por ejemplo, publicaciones de blog y publicaciones de Twitter), documentación (READMEs completos, tutoriales y documentación de API), calidad del código y trabajo previo.

Algunos ejemplos de repositorios de NeurIPS 2019 con 5 casillas de verificación:

Los expertos reconocen que, aunque han intentado que la lista de verificación sea lo más general posible, es posible que no sea totalmente aplicable a todos los tipos de documentos, por ejemplo, teóricos o conjuntos de documentos. Sin embargo, incluso si el propósito principal del artículo es representar un conjunto de datos, aún puede beneficiarse de la publicación de modelos de referencia, incluidos escenarios de capacitación, escenarios de evaluación y resultados.

Empieza a usar

Para facilitar que los revisores y los usuarios comprendan lo que hay en el repositorio y que los expertos lo evalúen correctamente, se proporciona una colección de mejores prácticas para escribir archivos README.md, definir dependencias y publicar modelos, conjuntos de datos y resultados previamente entrenados. Se recomienda que defina claramente estos 5 elementos en su repositorio y los vincule a cualquier recurso externo, como documentos y tablas de clasificación, para proporcionar más contexto y claridad a sus usuarios. Estas son las pautas oficiales para enviar un código a NeurIPS 2020.

Recomendado: