Evaluación de la preparación para la producción y la deuda técnica de los sistemas de aprendizaje automático

Diseñado para la velocidad: ~ 10 ms de latencia, incluso bajo carga
¡Una forma increíblemente rápida de crear, rastrear e implementar sus modelos!
- Gestiona más de 350 RPS en solo 1 vCPU, sin necesidad de ajustes
- Listo para la producción con soporte empresarial completo
El aprendizaje automático (ML) está revolucionando varios sectores y aplicaciones, que van desde la atención médica y las finanzas hasta los vehículos autónomos y la detección de fraudes. Sin embargo, la implementación de sistemas de aprendizaje automático en entornos de producción es un desafío debido a varios factores, como la deuda técnica y la falta de preparación para la producción. La deuda técnica es una preocupación constante para ML Systems y se refiere al costo acumulado de las decisiones de diseño, implementación y mantenimiento que se toman para entregar el software con mayor rapidez, con la promesa de amortizarlas más adelante. Cualquier deuda técnica que se acumule puede tener costos significativos en términos de tiempo, dinero y rendimiento. El concepto de deuda técnica en el aprendizaje automático se propuso por primera vez en el artículo titulado «Machine Learning: The high interest credit card of technical debt», de Sculley, Holt y otros en 2o14. La preparación para la producción se refiere al conjunto de prácticas, procesos y tecnologías que garantizan que el sistema de aprendizaje automático sea fiable, escalable, fácil de mantener y seguro.
«La deuda técnica es como una tarjeta de crédito. Es fácil de acumular, pero difícil de pagar. «- Chris Granger.
Evaluar la preparación para la producción y la deuda técnica de un sistema de aprendizaje automático es crucial para garantizar que el sistema pueda funcionar de manera efectiva y eficiente en los entornos de producción. En este blog, definiremos una modificación Puntuación de robustez del sistema ML, una rúbrica para evaluar la preparación para la producción y la deuda técnica de los sistemas de aprendizaje automático, con ideas inspiradas en el documento:»La puntuación de la prueba de aprendizaje automático: una rúbrica para la preparación para la producción de aprendizaje automático y la reducción de la deuda técnica«de Eric Breck y otros Exploraremos los diferentes parámetros y categorías que componen la puntuación de solidez del sistema ML que formulamos y las pruebas que podría realizar en cada categoría.
Puntuación de robustez del sistema ML
La puntuación de solidez del sistema ML tiene como objetivo proporcionar un marco de evaluación integral para los sistemas ML e identificar posibles problemas de deuda técnica. Dividimos la puntuación en 6 categorías principales con 22 subcategorías, que analizaremos a continuación:
- Calidad y preparación de los datos
- Entrenamiento y desempeño de modelos
- Evaluación e interpretabilidad del modelo
- Implementación y monitoreo de modelos
- Infraestructura y operaciones
- Seguridad y cumplimiento
Calidad y preparación de los datos
«No tenemos mejores algoritmos. Solo tenemos más datos».
- Peter Norvig (científico informático estadounidense)
La cita de Peter Norvig resume acertadamente la importancia de los datos en los modelos de aprendizaje automático. La calidad de los datos utilizados para entrenar y probar el modelo de aprendizaje automático tiene un impacto directo en su rendimiento, y es fundamental garantizar que los datos sean relevantes, precisos y representativos del dominio del problema. A continuación se presentan las principales subcategorías de evaluación:
- Calidad e integridad de los datos: ¿Los datos son precisos, completos, suficientes para entrenar el modelo y consistentes?
- Privacidad y seguridad de los datos: ¿Están protegidos los datos contra el acceso y el uso no autorizados?
- Prejuicio e imparcialidad de los datos: ¿Los datos son representativos y están libres de sesgos, es decir, lo suficientemente diversos como para representar diferentes escenarios y casos extremos?
Entrenamiento y desempeño de modelos
No se puede exagerar la importancia del entrenamiento y el desempeño modelo para lograr los resultados deseados. La evolución constante de los modelos de aprendizaje automático y el tamaño cada vez mayor de los conjuntos de datos han generado una creciente demanda de hardware más potente para entrenarlos. La aparición de los grandes modelos lingüísticos (LLM) ha cambiado por completo las reglas del juego en el campo del procesamiento del lenguaje natural.
Para garantizar que los modelos sigan funcionando bien, es fundamental volver a capacitarlos periódicamente con nuevos datos y crear sistemas que admitan varios tipos de hardware. Al adoptar este enfoque, los desarrolladores pueden asegurarse de que los modelos de aprendizaje automático que crean estén actualizados, sean eficientes y capaces de gestionar conjuntos de datos cada vez más complejos y grandes. La evaluación del rendimiento del modelo se puede dividir en varias subcategorías, incluidas las que se enumeran a continuación:
- Métricas de rendimiento del modelo: ¿Las métricas de rendimiento están alineadas con los requisitos empresariales?
- Selección y ajuste de modelos: ¿Se han seleccionado y ajustado los modelos apropiados?
- Estabilidad y reproducibilidad del modelo: ¿El modelo es estable y reproducible en el tiempo?
Evaluación e interpretabilidad del modelo
La evaluación del rendimiento de un modelo de aprendizaje automático en comparación con un conjunto de métricas es una parte integral de la evaluación del modelo que garantiza predicciones precisas. Por otro lado, la interpretabilidad del modelo es igualmente importante, ya que permite a los desarrolladores y a las partes interesadas comprender el funcionamiento interno del modelo y tomar decisiones informadas en función de sus resultados. La falta de interpretabilidad puede hacer que el modelo se vea como una «caja negra», lo que dificulta confiar en sus resultados.
Para evaluar el desempeño del modelo con precisión, la organización debe considerar varias subcategorías, incluidas las que se enumeran a continuación:
- Interpretabilidad del modelo: ¿Se pueden entender y explicar fácilmente los resultados del modelo? ¿El modelo es transparente y justo?
- Importancia y contribución de las características: ¿Se pueden clasificar las características del modelo según su importancia y contribución?
- Entorno de evaluación: ¿Los datos de evaluación son representativos de los datos de producción y el entorno son similares al entorno de producción?
- Explicaciones contrafácticas: ¿Puede el modelo proporcionar explicaciones para escenarios contrafácticos?
Implementación y monitoreo de modelos
La implementación y el monitoreo efectivos de los modelos pueden ayudar a las organizaciones a lograr puntajes óptimos en las pruebas de aprendizaje automático y garantizar que sus modelos continúen brindando valor a lo largo del tiempo. Tenga en cuenta estas subcategorías:
- Infraestructura de despliegue: ¿La infraestructura de implementación es escalable y confiable?
- Pruebas y experimentación A/B: ¿Se prueba y valida el modelo en experimentos controlados? ¿El proceso de implementación del modelo es fluido para garantizar que no haya tiempos de inactividad?
- Monitorización y alertas: ¿Existe una infraestructura de registro? ¿Existen mecanismos para supervisar el rendimiento del modelo y alertar cuando surjan problemas?
- Actualización del modelo: ¿El sistema actualiza automáticamente los modelos a medida que hay nuevos datos y funciones disponibles?
Infraestructura y operaciones
Hablamos sobre la infraestructura en la categoría de capacitación y rendimiento; la infraestructura no solo desempeña un papel fundamental para garantizar que los modelos de aprendizaje automático se entrenen de manera eficiente y precisa, sino también en las operaciones. A continuación se detallan las subcategorías que deben tenerse en cuenta:
- Asignación y optimización de recursos: ¿Se asignan y optimizan los recursos para maximizar la eficiencia y minimizar los costos?
- Contenerización y orquestación: ¿Los contenedores y los servicios se administran de manera escalable y eficiente?
- Integración e implementación continuas: ¿Los cambios en la base de código se prueban, crean e implementan automáticamente?
- Medición del ROI: ¿Podría medir el impacto empresarial del modelo ML una vez que esté al servicio de producción?
Seguridad, gestión de fallos y cumplimiento
Es la última y una de las categorías más importantes, dividida en las siguientes subcategorías:
- Control de acceso y autorización: ¿Existen controles de acceso y políticas de autorización para proteger contra el acceso no autorizado?
- Requisitos normativos y de cumplimiento: ¿El sistema cumple con los reglamentos y requisitos pertinentes?
- Gestión de errores y recuperación: ¿Puede el sistema ML recuperarse correctamente de las fallas y gestionar los errores debidos a las desviaciones de los sistemas?
- Protección y encriptación de datos: ¿Están protegidos y cifrados los datos confidenciales en tránsito y en reposo?
Cómo calcular la puntuación de robustez de su sistema ML
Para la puntuación final, una empresa puede utilizar un marco de puntuación basado en una escala de 0 a 4. El marco de puntuación es el que se muestra en la siguiente tabla.

- Una puntuación inferior a 25 significa que es probable que el sistema ML no esté preparado y que es necesario abordar muchos desafíos.
- Una puntuación en el rango de 25 a 40 sería un indicador de que el sistema actual es adecuado, pero podría empezar a crear puntos de falla a medida que se escala.
- Una puntuación superior a 40 refleja una solución sólida que funcionará a medida que los sistemas se amplíen.
- Cualquier valor superior a 60 representaría la mejor solución de su clase para su empresa.
Responder a estas preguntas y realizar las pruebas puede proporcionar una evaluación integral de la preparación para la producción de un sistema de aprendizaje automático, así como identificar los posibles problemas de deuda técnica que puedan surgir durante el desarrollo y la implementación del sistema de aprendizaje automático. Al identificar estos problemas desde el principio, se pueden tomar medidas para mitigarlos o eliminarlos, lo que reduce la deuda técnica general del sistema.
Evaluación de la deuda técnica similar a la de los sistemas de software
Si bien utilizamos la rúbrica de prueba de aprendizaje automático como base para el marco de puntuación anterior, existen otros marcos para evaluar la preparación de los sistemas de aprendizaje automático.
- Un marco antiguo es el enfoque para las pruebas de software de aplicaciones de aprendizaje automático establecido por C Murphy en 2007 que enfatiza la importancia de las pruebas y la validación durante el desarrollo y la implementación de sistemas de aprendizaje automático similares a los sistemas de software. Este enfoque combina los métodos tradicionales de prueba de software, como las pruebas unitarias y las pruebas de integración, con métodos especializados de prueba de aprendizaje automático, como la validación de modelos y la validación de datos.
- Otro marco reciente se propone en los niveles de preparación tecnológica (TRL) para los sistemas de aprendizaje automático propuestos por A Lavin y Lee en octubre de 2022. Los TRL proporcionan una forma sistemática y detallada de evaluar la madurez y la preparación de los sistemas de aprendizaje automático, desde la fase conceptual hasta la fase operativa.
Conclusión
En conclusión, evaluar la preparación para la producción y la deuda técnica de los sistemas de aprendizaje automático es esencial para una implementación y un mantenimiento exitosos. La puntuación de la prueba de aprendizaje automático proporciona una rúbrica completa para evaluar estos factores, que abarca aspectos como la calidad de los datos, el rendimiento de los modelos, las prácticas de evaluación, las operaciones y la supervisión. Los TRL para los sistemas de aprendizaje automático y otros marcos también pueden proporcionar evaluaciones complementarias de la madurez y la preparación del sistema. La supervisión y el mantenimiento continuos, así como las pruebas y la validación exhaustivas, son cruciales para minimizar la deuda técnica y garantizar que el sistema de aprendizaje automático siga listo para la producción.
👉
PD: ¡Obtenga un diagnóstico gratuito de su sistema ML!
Si está interesado en obtener un diagnóstico de toda su infraestructura de aprendizaje automático, escríbanos a founders@truefoundry.com, y le enviaremos un cuestionario previo; reserve 30 minutos para repasar algunas preguntas que nos ayuden a entender el sistema.
Después de eso, trabajaremos con usted para proporcionarle un diagnóstico gratuito y una evaluación comparativa de su sistema de aprendizaje automático en el plazo de una semana.
Referencias
- C. Murphy, G. E. Kaiser y M. Arias, «Un enfoque para las pruebas de software de aplicaciones de aprendizaje automático», en SEKE. Citeseer, 2007
- D. Sculley, G. Holt, D. Golovin, E. Davydov, T. Phillips, D. Ebner, V. Chaudhary y M. Young, «Aprendizaje automático: la tarjeta de crédito de alto interés de la deuda técnica», en SE4ML: Ingeniería de software para el aprendizaje automático (taller NIPS 2014), 2014
- A Lavin, C Lee et al, «Niveles de preparación tecnológica para sistemas de aprendizaje automático», en octubre de 2022
- Eric Breck, Shanqing Cai, Eric Nielsen, Michael Salib, D. Sculley Google, Inc., «La puntuación de la prueba de aprendizaje automático: una rúbrica para la preparación de la producción de aprendizaje automático y la reducción de la deuda técnica», 2017
TrueFoundry AI Gateway ofrece una latencia de entre 3 y 4 ms, gestiona más de 350 RPS en una vCPU, se escala horizontalmente con facilidad y está listo para la producción, mientras que LitellM presenta una latencia alta, tiene dificultades para superar un RPS moderado, carece de escalado integrado y es ideal para cargas de trabajo ligeras o de prototipos.
La forma más rápida de crear, gobernar y escalar su IA



















.png)


.webp)




.webp)







