El proyecto Collective Knowledge ( CK ) es un marco y repositorio de código abierto que permite la investigación y el desarrollo colaborativos, reproducibles y sostenibles de sistemas computacionales complejos. [2] CK es una infraestructura pequeña, portátil, personalizable y descentralizada que ayuda a los 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 colectivamente y reproducir evaluaciones comparativas de sistemas computacionales complejos [5]
Investigadores de la Universidad de Cambridge utilizaron CK para ayudar a la comunidad a reproducir los resultados de su publicación en el Simposio Internacional sobre Generación y Optimización de Código (CGO'17) durante la Evaluación de Artefactos [11]
La Fundación Raspberry Pi y la fundación cTuning publicaron un flujo de trabajo CK con un artículo "en vivo" reproducible para permitir la investigación colaborativa en técnicas de aprendizaje automático y autoajuste multiobjetivo [4]
CK permite la reproducibilidad de los resultados experimentales a través de la participación de la comunidad, de forma 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 utilizando opciones ligeramente diferentes (compiladores, bibliotecas, conjuntos de datos). Siempre que se encuentra un comportamiento inesperado o incorrecto, la comunidad lo explica, corrige 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: organización de proyectos de investigación como una base de datos de componentes reutilizables y flujos de trabajo portátiles con API comunes . Philosophical Transactions of the Royal Society . arXiv : 2011.01149 . doi :10.1098/rsta.2020.0211.
^ Componentes y acciones CK reutilizables para automatizar tareas de investigación comunes
^ abc Documento en vivo con experimentos reproducibles para permitir la investigación colaborativa en técnicas de aprendizaje automático y autoajuste multiobjetivo
^ Repositorio en línea con resultados reproducidos
^ Índice de trabajos reproducidos
^ Ed Plowman; Grigori Fursin, presentación en ARM TechCon'16 "Conozca sus cargas de trabajo: ¡Diseñe sistemas más eficientes!"
^ Conferencias sobre evaluación de artefactos para sistemas y aprendizaje automático
^ ACM TechTalk sobre la reproducción de 150 artículos de investigación y su prueba en el mundo real
^ Proyecto UE TETRACOM para combinar CK y CLSmith (PDF) , archivado desde el original (PDF) el 2017-03-05 , consultado el 2016-09-15
^ Reproducción de evaluación de artefactos para "Precarga 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 que permite a la comunidad participar en la evaluación comparativa y optimización colaborativa de varias bibliotecas y modelos de DNN
^ Reproducir resultados cuánticos de la naturaleza: ¿qué tan difícil podría ser?
^ Evaluación comparativa de multitudes de MLPerf
^ Guía de automatización de pruebas comparativas 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 de Computación Autoajustables Adaptativos (ADAPT) utiliza CK para permitir la revisión pública de publicaciones y artefactos a través de Reddit : [4]