Como resultado, hay una gran cantidad de personas que tienden a perder mucho trabajo mientras trabajan en el aprendizaje automático debido a la falta de un buen seguimiento al iterar. Enfrentamos el mismo problema todo el tiempo en la escuela de posgrado y en la industria. Solíamos hacer un seguimiento de nuestro trabajo usando una combinación de archivos / carpetas, hojas de cálculo de Google y notas cuidadosas, y descubrimos que el mayor problema era el tiempo que tomaba anotar todo. Esto nos impidió llegar al trabajo que más importaba, iterar. Como nos enfrentamos a esto una y otra vez, decidimos construir una CLI y una GUI para administrar este proceso, que básicamente se encargó de eso y nos permitió seguir iterando en lugar de preocuparnos por anotar todo.
En particular, cuando trabajamos en el aprendizaje automático, tenemos que rastrear los siguientes componentes a intervalos frecuentes
Entradas:
- ¿Cuál es el problema más desafiante resuelto por un ingeniero en escalabilidad y sistema distribuido, analítica en tiempo real?
- ¿Cuáles son los elementos básicos de un estudio hogareño de músicos electrónicos que utiliza máquinas dedicadas en lugar de una computadora personal?
- ¿Cómo haría un estudiante británico de 17 años para encontrar un mentor involucrado en el mundo comercial cuantitativo y algorítmico?
- ¿Cuál es la principal diferencia entre ATA y SATA?
- ¿Cuál es la diferencia entre todas las empresas que trabajan en el aprendizaje automático?
- Conjunto de datos
- Código
- Entornos de tiempo de ejecución
- Configuraciones de entrada / hiperparámetros
- Varios archivos de entrada (por ejemplo, un archivo de pesos anterior que estamos construyendo encima o cualquier otro archivo)
Salidas
- pesos / representación de su modelo
- estadísticas o métricas de rendimiento
- Varios archivos de salida
Al rastrear los componentes anteriores a intervalos frecuentes, podemos ver cómo formamos un modelo y qué métricas tenemos para definirlo. Con Datmo, puede realizar un seguimiento de los componentes anteriores a través del concepto de una instantánea de su modelo, que puede usar para comparar con otras instantáneas para ver cómo se desempeñaron e incluso volver a las instantáneas anteriores a tiempo para que luego pueda continuar iterar desde el punto anterior en el tiempo.
Honestamente, creamos Datmo porque estábamos teniendo los mismos problemas con el seguimiento de nuestros propios modelos de aprendizaje automático y reconocimos que en ese momento no había una buena manera de hacer un seguimiento de nuestro trabajo. Por supuesto, dado que también utilizamos Git para el control de origen de nuestro código, decidimos construir algo que se integra con Git y no interrumpe los flujos de trabajo actuales, sino que funciona dentro de ellos. Por ejemplo, si tiene un repositorio actual en el que está trabajando, puede comenzar a rastrear instantáneas simplemente haciendo lo siguiente dentro de su repositorio
- Inicialice un modelo de datmo con el siguiente comando (usando la CLI de Datmo)
datmo init
- Agregue un Dockerfile (o use una plantilla)
- Cambia la ubicación de donde guardas tus archivos en tu código
Puede encontrar instrucciones más detalladas aquí sobre cómo convertir su repositorio.
Una vez que tenga un modelo Datmo, obtendrá automáticamente el seguimiento de instantáneas y las reversiones para que nunca tenga que preocuparse por sobrescribir archivos de pesos, renombrar archivos constantemente y seguir el seguimiento de las configuraciones y métricas en las hojas de cálculo.
Si está interesado en usar la versión beta, no dude en enviarme un mensaje de ping en FB o Twitter para obtener el código de invitación.
Espero que esto ayude 🙂
¡También me encantaría saber más sobre el sistema de gestión de modelos de código abierto que está creando! Estoy seguro de que hay más de una forma de romper este huevo.