A medida que el ámbito del aprendizaje automático experimenta un ascenso notable, surgen nuevos desafíos que impulsan a los desarrolladores de ML y a las empresas de tecnología a diseñar soluciones innovadoras. El aprendizaje automático puede percibirse como un software dotado de una capa de inteligencia adicional, que se diferencia del software tradicional debido a su naturaleza inherentemente experimental. Esta distinción introduce elementos únicos como datos robustos, arquitectura de modelos, código, hiperparámetros y características. Naturalmente, las herramientas de aprendizaje automático y los procesos de desarrollo divergen, haciendo de MLOps la contraparte distintiva de DevOps en el panorama tradicional del desarrollo de software.
En el panorama tecnológico, DevOps constituye un conjunto de prácticas que agilizan el desarrollo, las pruebas, la implementación y la operación de sistemas de software expansivos. Esto ha dado como resultado ciclos de desarrollo truncados, una mayor velocidad de implementación y la creación de versiones de sistemas más auditables y confiables. Por el contrario, MLOps surgió como una práctica que fomenta la colaboración y la comunicación entre los científicos de datos y los profesionales de operaciones. Estas prácticas no solo elevan la calidad final, sino que también simplifican los procesos de gestión y automatizan la implementación de modelos de aprendizaje automático y aprendizaje profundo en entornos de producción extensos. MLOps actúa como el puente que facilita la alineación perfecta de los modelos con las necesidades comerciales y los requisitos regulatorios, lo que garantiza la integración armoniosa del aprendizaje automático en los flujos de trabajo operativos.
Optimización gratuita de costos en la nube y gestión mejorada de recursos de ML/AI para toda la vida
¿Qué abarca la gestión de modelos de aprendizaje automático?
Integrada en MLOps, la gestión de modelos desempeña un papel fundamental a la hora de garantizar la coherencia y la escalabilidad de los modelos de ML para satisfacer los requisitos empresariales sin problemas. Para lograrlo, resulta imprescindible implementar una política lógica y fácil de usar para la gestión de modelos. La gestión de modelos de ML amplía sus responsabilidades para abarcar el desarrollo, la capacitación, el control de versiones y la implementación de modelos de ML.
Vale la pena señalar que, en este contexto, el control de versiones no se limita al modelo, sino que incluye los datos asociados. Este enfoque inclusivo hace un seguimiento del conjunto o subconjunto de datos utilizado para entrenar una versión particular del modelo.
Al desarrollar nuevos modelos de ML o adaptarlos a nuevos dominios, los investigadores realizan numerosos experimentos que involucran el entrenamiento y la prueba de modelos. Estos experimentos exploran diferentes arquitecturas de modelos, optimizadores, funciones de pérdida, parámetros, hiperparámetros y variaciones de datos. Los investigadores aprovechan estos experimentos para identificar la configuración óptima del modelo que logre el equilibrio adecuado entre la generalización y los compromisos de rendimiento y precisión en el conjunto de datos.
Sin embargo, la ausencia de un enfoque sistemático para realizar un seguimiento del rendimiento y las configuraciones de los modelos en varios experimentos puede generar caos. Incluso para un investigador que realiza experimentos independientes, llevar un registro de todos los experimentos y sus resultados resulta un desafío. Aquí es precisamente donde entra en juego la gestión de modelos, que permite a las personas, los equipos y las organizaciones:
Por qué es esencial la gestión de modelos de aprendizaje automático
La gestión de modelos de aprendizaje automático (ML) es un componente fundamental en el Marco operativo de los pipelines de ML (MLOps), que proporciona un enfoque sistemático para gestionar todo el ciclo de vida de los procesos de ML. Desempeña un papel fundamental en tareas que van desde la creación, configuración y experimentación de modelos hasta el seguimiento meticuloso de diferentes experimentos y la posterior implementación de modelos. Si lo analizamos más de cerca, la gestión de modelos de ML abarca la supervisión de dos facetas vitales:
- Modelos:
Supervisa los complejos procesos de empaquetado de modelos, linaje, estrategias de implementación (como pruebas A/B), monitoreo y el reentrenamiento necesario cuando el rendimiento de un modelo implementado cae por debajo de un umbral predeterminado. - Experimentos:
Gestiona el registro meticuloso de métricas de entrenamiento, pérdidas, imágenes, texto y otros metadatos relevantes y abarca el control de versiones sistemático de código, datos y canalizaciones.
La ausencia de una gestión eficaz de los modelos plantea importantes desafíos para los equipos de ciencia de datos que intentan abordar las complejidades de la creación, el seguimiento, la comparación, la recreación y la implementación de modelos. Por el contrario, la dependencia de prácticas ad hoc conduce a proyectos de aprendizaje automático no repetibles, insostenibles, no escalables y desorganizados. Además, la investigación realizada por AMY X. ZHANG∗ en el MIT y otros subraya la Naturaleza colaborativa de los esfuerzos Entre los trabajadores de ciencia de datos (DS) se trabaja para extraer información de ML de los datos. Los equipos colaboran ampliamente y se adhieren a las mejores prácticas, como la documentación y el control de versiones del código. MLOps facilita esta colaboración al proporcionar herramientas para colaboraciones asincrónicas y dispersas globalmente entre científicos de datos. Sin embargo, las perspectivas convencionales sobre la colaboración en ciencia de datos se centran predominantemente en el punto de vista del científico de datos, haciendo hincapié en herramientas técnicas como el control de versiones. La verdadera colaboración dentro de un equipo de ciencia de datos implica varias dimensiones:
- Charlas sobre la definición del problema:
Participar en debates con las partes interesadas para definir el problema inicial. - Comentarios reveladores sobre el experimento:
Ofreciendo comentarios valiosos para mejorar la comprensión colectiva de los experimentos. - Liderando iniciativas de desarrollo:
Tomar el control de cuadernos o códigos existentes como punto de partida fundamental para un mayor desarrollo. - Gestión de modelos colaborativos:
Unir fuerzas entre investigadores y científicos de datos durante el entrenamiento, la evaluación y el etiquetado de modelos. - Repositorio de modelos compartido:
Creación de un registro modelo para que las partes interesadas comerciales revisen y evalúen los modelos de producción.
Explorando la colaboración en equipos de ciencia de datos
Descripción general de la colaboración
En el dinámico ámbito de la ciencia de datos, es fundamental comprender la profundidad de la colaboración dentro de los equipos. Profundicemos en los porcentajes de informes de colaboración en los distintos roles:
En la dinámica de los equipos de ciencia de datos, la colaboración surge como un aspecto fundamental, lo que refleja la intrincada interacción entre los diversos roles. El panorama colaborativo, como se muestra en los porcentajes de informes, revela patrones notables. En particular, roles como Ingeniero/Analista/Programador exhiben un impresionante porcentaje de informes de colaboración de 99%, lo que subraya la naturaleza integral de sus contribuciones. De manera similar, los Comunicadores e Investigadores/Científicos demuestran una sólida colaboración, con porcentajes de 96% y 95%, respectivamente. Incluso los roles gerenciales y ejecutivos, representados por los Ejecutivos Gerentes en 89% y los Ejecutivos de Dominio en 87%, contribuyen activamente al tejido colaborativo dentro de los equipos de ciencia de datos. Estos porcentajes iluminan la importancia del trabajo en equipo en diversos roles, mostrando un esfuerzo colectivo en la búsqueda de esfuerzos prácticos y sinérgicos en ciencia de datos.
Perspectivas sobre las tendencias de colaboración
Tres de los roles se destacaron durante la investigación, con índices de colaboración superiores a 95%. Estos roles son la base de un equipo de aprendizaje automático (ML) exitoso.
La investigación destaca que los investigadores, los científicos de datos y los ingenieros de ML colaboran activamente y desempeñan papeles fundamentales a lo largo de todo el ciclo de vida del modelo de ML. Este ciclo de vida abarca el desarrollo, la capacitación, la evaluación (teniendo en cuenta la precisión, el rendimiento y el sesgo), el control de versiones y la implementación, lo que en conjunto se denomina gestión del modelo de ML.
Mayor refuerzo de la importancia de la gestión de modelos
A continuación se presentan algunas razones convincentes que resaltan la importancia crítica de Importancia de una gestión robusta de modelos:
- Establecer una fuente única de verdad: una base para la confiabilidad
- Facilitar el control de versiones: evaluación comparativa y reproducibilidad simplificadas
- Agilizar la depuración: garantizar la trazabilidad y el cumplimiento de la normativa
- Acelerar la investigación y el desarrollo: acelerar la innovación
- Aumentar la eficiencia del equipo: proporcionar un sentido claro de dirección
- Fomentar la colaboración: dentro del equipo y entre equipos
Explorando los componentes de la gestión de modelos ML
Al aprender la gestión de modelos de aprendizaje automático, es necesario comprender los componentes críticos de la gestión de modelos de aprendizaje automático para guiarnos a través de la esencia de este concepto.
Monitoreo de modelos:
Un elemento fundamental que realiza un seguimiento del rendimiento de inferencia de los modelos y señala signos de sesgo en el servicio. Este sesgo se produce cuando los cambios en los datos hacen que el rendimiento de un modelo implementado disminuya por debajo del puntaje o la precisión observados durante el entrenamiento.
Rastreador de experimentos:
Esta herramienta es indispensable para recopilar, organizar y supervisar la información de validación y entrenamiento de modelos. Resulta valiosa en múltiples ejecuciones, ya que se adapta a diferentes configuraciones, como tasa de aprendizaje, épocas, optimizadores, pérdida, tamaño de lote y conjuntos de datos con varias divisiones y transformaciones.
Registro de modelos:
Como sistema de seguimiento centralizado, el registro de modelos controla los modelos de ML entrenados, preparados e implementados, lo que garantiza un repositorio optimizado y organizado.
Versiones de datos:
A diferencia de los sistemas de control de versiones que se utilizan principalmente para gestionar cambios en el código fuente, el control de versiones de datos adapta estos procesos al ámbito de los datos. Facilita la gestión de los cambios de modelos relacionados con los conjuntos de datos y viceversa.
Control de versiones de código/puntos de control de notas:
Esencial para supervisar las alteraciones en el código fuente del modelo, este componente garantiza un enfoque sistemático para rastrear y gestionar los cambios en el código.
Navegando por los distintos ámbitos de la gestión de modelos de ML y el seguimiento de experimentos
Dentro del intrincado entramado de operaciones de aprendizaje automático (MLOps), la relación entre la gestión de modelos de ML y el seguimiento de experimentos se desarrolla como una interacción llena de matices. El seguimiento de experimentos no es simplemente una entidad independiente, sino que surge como un subconjunto vital de la gestión de modelos, que se armoniza a la perfección dentro del marco más amplio de MLOps. Su función se extiende más allá de la mera recopilación de datos y abarca las intrincadas tareas de organización y monitoreo del entrenamiento y validación de modelos en un espectro de ejecuciones, cada una caracterizada por configuraciones únicas, desde hiperparámetros y tamaño del modelo hasta divisiones de datos y parámetros.
A medida que nos adentramos en el ámbito de la experimentación inherente a aprendizaje automático y aprendizaje profundo, El papel indispensable de las herramientas de seguimiento de experimentos como OptScale se hace evidente y sirve como punto de referencia para los innumerables modelos que se examinan.
Estas herramientas incorporan una tríada de características esenciales:
Paneles dinámicos:
Las herramientas de seguimiento de experimentos mejoran la accesibilidad y la comprensión y tejen un panel visual. Esta plataforma dinámica es un centro para visualizar todos los datos registrados y versionados. Facilita la comparación matizada del rendimiento a través de componentes visualmente atractivos, como gráficos. Orquesta la clasificación de diversos experimentos, lo que agiliza el proceso de evaluación. En esta compleja danza entre la gestión de modelos de ML y el seguimiento de experimentos surge una sinergia armoniosa que traza el rumbo para avances innovadores dentro del panorama de MLOps.
Brillantez del registro:
Estas herramientas ofrecen una sofisticada vía para registrar metadatos de experimentos y encapsulan métricas, pérdidas, configuraciones, imágenes y otros parámetros críticos. Este registro meticuloso garantiza un registro completo de las dimensiones multifacéticas del experimento.
Dominio del control de versiones:
Más allá de la mera experimentación, estas herramientas destacan en el control de versiones, ya que rastrean hábilmente las versiones de los datos y los modelos. Esta habilidad resulta invaluable en entornos de producción, ya que fomenta procesos de depuración efectivos y sienta las bases para mejoras continuas. El control de versiones se convierte en el eje central para la evolución sistemática de los datos y los modelos.
Nos vemos en página de GitHub OptScale: plataforma de código abierto MLOps y FinOps para ejecutar ML/AI y cargas de trabajo regulares en la nube con un rendimiento y un costo óptimos
OptScale ofrece a los ingenieros de ML/IA:
- Seguimiento de experimentos
- Versiones del modelo
- Tablas de clasificación de ML
- Hiperajuste
- Instrumentación de entrenamiento de modelos
- Recomendaciones de optimización de costos de la nube, incluida la utilización óptima de RI/SI y SP, optimización del almacenamiento de objetos, redimensionamiento de VM, etc.
- Gestión de costes de Databricks
- Buscador de objetos duplicados S3