Marco de código abierto para investigadores
El proyecto Collective Knowledge ( CK ) es un marco y un repositorio de código abierto para permitir la investigación y el desarrollo colaborativo, reproducible y sostenible de sistemas computacionales complejos. [2] CK es una infraestructura pequeña, portátil, personalizable y descentralizada que ayuda a investigadores y profesionales a:
- comparten su código, datos y modelos como componentes Python reutilizables y acciones de automatización [3] con API JSON unificada , metainformación JSON y un UID basado en principios FAIR [2]
- ensamblar flujos de trabajo portátiles a partir de componentes compartidos (como el autoajuste multiobjetivo y la exploración del espacio de diseño [4] )
- automatizar, colaborar y reproducir evaluaciones comparativas de sistemas computacionales complejos [5]
- unificar el análisis predictivo ( scikit-learn , R , DNN)
- permitir artículos reproducibles e interactivos [6]
Usos notables
Administrador de paquetes portátil para flujos de trabajo portátiles
CK tiene un administrador de paquetes multiplataforma integrado con scripts de Python , API JSON y metadescripción JSON para reconstruir automáticamente el entorno de software en una máquina de usuario necesaria para ejecutar un flujo de trabajo de investigación determinado. [17]
Reproducibilidad de experimentos.
CK permite la reproducibilidad de resultados experimentales a través de la participación de la comunidad de manera similar a Wikipedia y la física . Siempre que se comparte un nuevo flujo de trabajo con todos los componentes a través de GitHub, cualquiera puede probarlo en una máquina diferente, con un entorno diferente y usando opciones ligeramente diferentes (compiladores, bibliotecas, conjuntos de datos). Siempre que se encuentra un comportamiento inesperado o incorrecto, la comunidad lo explica, repara los componentes y los comparte como se describe en [4] .
Referencias
- ^ Paquete CK en PYPI
- ^ ab Fursin, Grigori (29 de marzo de 2021). Conocimiento colectivo: organizar proyectos de investigación como una base de datos de componentes reutilizables y flujos de trabajo portátiles con API comunes . Transacciones filosóficas de la Royal Society . arXiv : 2011.01149 . doi :10.1098/rsta.2020.0211.
- ^ Componentes y acciones de CK reutilizables para automatizar tareas de investigación comunes
- ^ abc Live paper con experimentos reproducibles para permitir la investigación colaborativa sobre técnicas de aprendizaje automático y autoajuste multiobjetivo
- ^ Repositorio en línea con resultados reproducidos
- ^ Índice de artículos reproducidos
- ^ Ed Plowman; Grigori Fursin, presentación de ARM TechCon'16 "Conozca sus cargas de trabajo: ¡Diseñe sistemas más eficientes!"
- ^ Evaluación de artefactos para sistemas y conferencias sobre aprendizaje automático.
- ^ ACM TechTalk sobre la reproducción de 150 artículos de investigación y su prueba en el mundo real
- ^ Proyecto EU TETRACOM para combinar CK y CLSmith (PDF) , archivado desde el original (PDF) el 5 de marzo de 2017 , consultado el 15 de septiembre de 2016
- ^ Reproducción de evaluación de artefactos para "Captación previa de software para accesos indirectos a memoria", CGO 2017, utilizando CK, 16 de octubre de 2022
- ^ Sitio web de desarrollo de GitHub para Caffe con tecnología CK, 11 de octubre de 2022
- ^ Aplicación de Android de código abierto para permitir que la comunidad participe en evaluaciones comparativas colaborativas y optimización de varias bibliotecas y modelos DNN
- ^ Reproducir resultados cuánticos de la naturaleza: ¿qué tan difícil podría ser?
- ^ Evaluación comparativa colectiva de MLPerf
- ^ Guía de automatización de referencias de inferencia de MLPerf, 17 de octubre de 2022
- ^ Lista de paquetes CK compartidos
enlaces externos
- Sitio de desarrollo: [1]
- Documentación: [2]
- Repositorio público con experimentos colaborativos: [3]
- El Taller internacional sobre sistemas informáticos adaptativos y autoajustables (ADAPT) utiliza CK para permitir la revisión pública de publicaciones y artefactos a través de Reddit : [4]