SlideShare una empresa de Scribd logo
1 de 23
MLOps: Machine Learning en
Producción
Luis Beltrán luis@luisbeltran.mx
Luis Beltrán
luis@luisbeltran.mx
@darkicebeam
Un proyecto típico de Machine Learning
Problemas
• No hay un seguimiento del trabajo realizado
• ¿Qué datos se han utilizado?
• ¿Qué código se ha probado en cada ocasión?
• ¿Qué combinación de código y datos produjeron X modelo?
• ¿Cuáles fueron las métricas del modelo X?
• No siempre se generan entregables (“artefactos”)
• No se puede reproducir (repetir) un modelo
• No es posible pasar el modelo y todas sus variables (código, entorno,
datos, etc) con facilidad
El proceso de ciencia de datos en equipo
¿Qué es DevOps?
DevOps es la unión of
personas, procesos y
productos para habilitar la
entrega continua de valor a
tus usuarios finales.
“
”
MLOps
MLOps
• MLOps permite a los científicos de datos y a los desarrolladores de
aplicaciones ayudar a llevar los modelos de machine learning a
producción.
• MLOps le permite realizar un seguimiento / gestionar versiones /
auditar / certificar / reutilizar cada activo en su ciclo de vida de ML y
proporciona servicios de orquestación para agilizar la gestión de este
ciclo de vida.
MLOps: Objetivo
Beneficios MLOps
• Reproducibilidad
• El código impulsa las implementaciones
• Los pipelines son reproducibles y verificables
• Todos los artefactos se pueden etiquetar y auditar
• Validación
• Mejores prácticas de Ingeniería de Software para el control de calidad
• Comparaciones sin conexión de la calidad del modelo
• Minimice el bias y habilite la explicabilidad
• Automatización
• Capacidades de implementación controlada
• Comparación en vivo del rendimiento previsto frente al esperado
• Resultados retroalimentados para observar la deriva y mejorar el modelo
Diferencias entre DevOps y MLOps
• Control de versiones de datos / modelo! = Control de versiones de código: cómo
versionar conjuntos de datos a medida que cambian el esquema y los datos de
origen
• Los requisitos de seguimiento de auditoría digital cambian cuando se trata de
código + datos (potencialmente del cliente)
• La reutilización de modelos es diferente a la reutilización de software, ya que los
modelos deben ajustarse en función de los datos de entrada / escenario.
• Para reutilizar un modelo, es posible que deba ajustar / transferir el aprendizaje
en él (lo que significa que necesita un pipeline de entrenamiento)
• Los modelos tienden a deteriorarse con el tiempo y necesita la capacidad de
volver a capacitarlos a pedido para garantizar que sigan siendo útiles en un
contexto de producción.
Herramientas para acelerar
MLOps
Neptune
• Neptune es un rastreador de
experimentos centrado en Python. Es
un servicio alojado.
• Los experimentos se rastrean
mediante el uso de enlaces de
biblioteca para registrar parámetros
(modelo), resultados de evaluación y
cargar artefactos (como modelos,
hashes de datos de entrenamiento o
incluso código). La biblioteca puede
rastrear el uso del hardware y el
progreso del experimento.
Proporcionan una API para consultar los resultados
del experimento. Esto se puede utilizar para
alimentar las canalizaciones de CI / CD para la
implementación del modelo.
Los resultados se pueden analizar y comparar en un
sitio web. También hay opciones colaborativas.
Neptune tiene integraciones con portátiles Jupyter,
varias bibliotecas ML, visualizadores (HiFlow,
TensorBoard), otros rastreadores (MLFlow) y ofertas
externas (Amazon Sagemaker).
MLFlow
• MLFlow es un rastreador de
experimentos y un servidor de
modelos genérico. Puede ser
autohospedado.
• Los experimentos se rastrean
mediante el uso de enlaces de
biblioteca para registrar parámetros
(modelo), resultados de evaluación y
cargar artefactos (como modelos,
hashes de datos de entrenamiento o
incluso código). Los artefactos se
pueden registrar en el
almacenamiento local, remoto o en la
nube (S3, GFS, etc.).
Los resultados se pueden analizar a través de una interfaz de
usuario web y la exportación CSV está disponible. Los modelos
se empaquetan como un contenedor alrededor del formato
subyacente (Sklearn, XGBoost, Torch, etc.). Se pueden enviar a
Spark para la inferencia por lotes o se pueden servir a través de
REST.
Hay API de CLI, Python, R, Java y REST para una mayor
integración con las canalizaciones de CI / CD. Los modelos se
pueden enviar a servicios en la nube (SageMaker, AzureML, ...).
Kubeflow
• Kubeflow es esencialmente una versión
autohospedada de la plataforma de
inteligencia artificial de Google. Utiliza
Kubernetes para abstraer la infraestructura.
• Kubeflow puede implementar cuadernos de
Jupyter, ejecutar canalizaciones para el
procesamiento de datos y el entrenamiento
de modelos (programado, bajo demanda),
organizar ejecuciones, archivar modelos y
otros artefactos, y exponer modelos a través
de puntos finales. Las canalizaciones son
gráficos de cálculo y se describen en Python
con un DSL. Sus componentes se envuelven
como imágenes de Docker.
Se integra con GCP para que pueda escalar elásticamente
a la computación y el almacenamiento en la nube (p. Ej.,
Entrenamiento de modelos distribuidos). También se
integra con ofertas como BigQuery o Dataproc.
La solución es pesada y compleja, pero permite una
rápida ampliación. Es especialmente aplicable si la
infraestructura ya se administra a través de Kubernetes.
CML
• Continuous Machine Learning es una herramienta
CLI de código abierto para implementar (CI / CD) con
un enfoque en MLOps.
• Permite automatizar los flujos de trabajo de
desarrollo, incluido el aprovisionamiento de
máquinas, el entrenamiento y la evaluación de
modelos, la comparación de experimentos de
aprendizaje automático en el historial del proyecto y
el monitoreo de conjuntos de datos cambiantes.
• CML puede ayudar a entrenar y evaluar modelos, y
luego generar un informe visual con resultados y
métricas, automáticamente en cada solicitud de
extracción.
https://github.com/iterative/cml/
https://cml.dev/
Workshop
• Descarga el tutorial
https://drive.google.com/drive/folders/1h4tJ6q6VKB1oYCYsuGzR9J0qd
4a5rGHy?usp=sharing

Más contenido relacionado

La actualidad más candente

MLOps for production-level machine learning
MLOps for production-level machine learningMLOps for production-level machine learning
MLOps for production-level machine learning
cnvrg.io AI OS - Hands-on ML Workshops
 
“MLOps: Managing Data and Workflows for Efficient Model Development and Deplo...
“MLOps: Managing Data and Workflows for Efficient Model Development and Deplo...“MLOps: Managing Data and Workflows for Efficient Model Development and Deplo...
“MLOps: Managing Data and Workflows for Efficient Model Development and Deplo...
Edge AI and Vision Alliance
 

La actualidad más candente (20)

MLOps for production-level machine learning
MLOps for production-level machine learningMLOps for production-level machine learning
MLOps for production-level machine learning
 
Vertex AI: Pipelines for your MLOps workflows
Vertex AI: Pipelines for your MLOps workflowsVertex AI: Pipelines for your MLOps workflows
Vertex AI: Pipelines for your MLOps workflows
 
MLOps by Sasha Rosenbaum
MLOps by Sasha RosenbaumMLOps by Sasha Rosenbaum
MLOps by Sasha Rosenbaum
 
MLflow Model Serving
MLflow Model ServingMLflow Model Serving
MLflow Model Serving
 
From Data Science to MLOps
From Data Science to MLOpsFrom Data Science to MLOps
From Data Science to MLOps
 
“Houston, we have a model...” Introduction to MLOps
“Houston, we have a model...” Introduction to MLOps“Houston, we have a model...” Introduction to MLOps
“Houston, we have a model...” Introduction to MLOps
 
Apply MLOps at Scale
Apply MLOps at ScaleApply MLOps at Scale
Apply MLOps at Scale
 
MLOps with Azure DevOps
MLOps with Azure DevOpsMLOps with Azure DevOps
MLOps with Azure DevOps
 
Machine Learning using Kubeflow and Kubernetes
Machine Learning using Kubeflow and KubernetesMachine Learning using Kubeflow and Kubernetes
Machine Learning using Kubeflow and Kubernetes
 
ML-Ops: From Proof-of-Concept to Production Application
ML-Ops: From Proof-of-Concept to Production ApplicationML-Ops: From Proof-of-Concept to Production Application
ML-Ops: From Proof-of-Concept to Production Application
 
MLOps Using MLflow
MLOps Using MLflowMLOps Using MLflow
MLOps Using MLflow
 
Introducing MlFlow: An Open Source Platform for the Machine Learning Lifecycl...
Introducing MlFlow: An Open Source Platform for the Machine Learning Lifecycl...Introducing MlFlow: An Open Source Platform for the Machine Learning Lifecycl...
Introducing MlFlow: An Open Source Platform for the Machine Learning Lifecycl...
 
MLflow: A Platform for Production Machine Learning
MLflow: A Platform for Production Machine LearningMLflow: A Platform for Production Machine Learning
MLflow: A Platform for Production Machine Learning
 
Introduction to DevSecOps
Introduction to DevSecOpsIntroduction to DevSecOps
Introduction to DevSecOps
 
“MLOps: Managing Data and Workflows for Efficient Model Development and Deplo...
“MLOps: Managing Data and Workflows for Efficient Model Development and Deplo...“MLOps: Managing Data and Workflows for Efficient Model Development and Deplo...
“MLOps: Managing Data and Workflows for Efficient Model Development and Deplo...
 
Building a MLOps Platform Around MLflow to Enable Model Productionalization i...
Building a MLOps Platform Around MLflow to Enable Model Productionalization i...Building a MLOps Platform Around MLflow to Enable Model Productionalization i...
Building a MLOps Platform Around MLflow to Enable Model Productionalization i...
 
MLOps Bridging the gap between Data Scientists and Ops.
MLOps Bridging the gap between Data Scientists and Ops.MLOps Bridging the gap between Data Scientists and Ops.
MLOps Bridging the gap between Data Scientists and Ops.
 
MLOps with serverless architectures (October 2018)
MLOps with serverless architectures (October 2018)MLOps with serverless architectures (October 2018)
MLOps with serverless architectures (October 2018)
 
Running Kubernetes with Amazon EKS - AWS Online Tech Talks
Running Kubernetes with Amazon EKS - AWS Online Tech TalksRunning Kubernetes with Amazon EKS - AWS Online Tech Talks
Running Kubernetes with Amazon EKS - AWS Online Tech Talks
 
Apply MLOps at Scale by H&M
Apply MLOps at Scale by H&MApply MLOps at Scale by H&M
Apply MLOps at Scale by H&M
 

Similar a MLOps.pptx

MODELO DE PROCESOS DEL SOFTWARE
MODELO DE PROCESOS DEL SOFTWAREMODELO DE PROCESOS DEL SOFTWARE
MODELO DE PROCESOS DEL SOFTWARE
Micky Jerzy
 
MODELO DE PROCESOS DEL SOFTWARE
MODELO DE PROCESOS DEL SOFTWAREMODELO DE PROCESOS DEL SOFTWARE
MODELO DE PROCESOS DEL SOFTWARE
Micky Jerzy
 
Metodologia Estructurada
Metodologia EstructuradaMetodologia Estructurada
Metodologia Estructurada
Susana Daldin
 
Ingeniería de software
Ingeniería de softwareIngeniería de software
Ingeniería de software
mat3matik
 
Ingeniería%20de%20 software[1], maryy
Ingeniería%20de%20 software[1], maryyIngeniería%20de%20 software[1], maryy
Ingeniería%20de%20 software[1], maryy
nelly
 
Ingeniería de software16
Ingeniería de software16Ingeniería de software16
Ingeniería de software16
Ramon
 
Ingenier%c3%ada de software
Ingenier%c3%ada de softwareIngenier%c3%ada de software
Ingenier%c3%ada de software
Marilupe
 
Ingeniería de software
Ingeniería de softwareIngeniería de software
Ingeniería de software
142918
 
Ingen de software
Ingen de softwareIngen de software
Ingen de software
erikapoh
 
Ingeniería de software
Ingeniería de softwareIngeniería de software
Ingeniería de software
samantha
 

Similar a MLOps.pptx (20)

Meetup Oracle Technology MAD_BCN: 6.2 DevOps y DataOps
Meetup Oracle Technology MAD_BCN: 6.2 DevOps y DataOpsMeetup Oracle Technology MAD_BCN: 6.2 DevOps y DataOps
Meetup Oracle Technology MAD_BCN: 6.2 DevOps y DataOps
 
Seguridad en MLOps.pdf
Seguridad en MLOps.pdfSeguridad en MLOps.pdf
Seguridad en MLOps.pdf
 
Clase 11
Clase 11Clase 11
Clase 11
 
Commit 2018 - Integrando Microservicios y Machine Learning
Commit 2018 - Integrando Microservicios y Machine LearningCommit 2018 - Integrando Microservicios y Machine Learning
Commit 2018 - Integrando Microservicios y Machine Learning
 
MODELO DE PROCESOS DEL SOFTWARE
MODELO DE PROCESOS DEL SOFTWAREMODELO DE PROCESOS DEL SOFTWARE
MODELO DE PROCESOS DEL SOFTWARE
 
MODELO DE PROCESOS DEL SOFTWARE
MODELO DE PROCESOS DEL SOFTWAREMODELO DE PROCESOS DEL SOFTWARE
MODELO DE PROCESOS DEL SOFTWARE
 
Metodologia Estructurada
Metodologia EstructuradaMetodologia Estructurada
Metodologia Estructurada
 
Ingeniería de software
Ingeniería de softwareIngeniería de software
Ingeniería de software
 
Ingeniería%20de%20 software[1], maryy
Ingeniería%20de%20 software[1], maryyIngeniería%20de%20 software[1], maryy
Ingeniería%20de%20 software[1], maryy
 
Ingeniería de software16
Ingeniería de software16Ingeniería de software16
Ingeniería de software16
 
Ingenier%c3%ada de software
Ingenier%c3%ada de softwareIngenier%c3%ada de software
Ingenier%c3%ada de software
 
Clase 11
Clase 11Clase 11
Clase 11
 
Ingeniería de software
Ingeniería de softwareIngeniería de software
Ingeniería de software
 
Ingen de software
Ingen de softwareIngen de software
Ingen de software
 
Ingeniería de software
Ingeniería de softwareIngeniería de software
Ingeniería de software
 
Sesión 3: Modelos prescriptivos de proceso
Sesión 3: Modelos prescriptivos de procesoSesión 3: Modelos prescriptivos de proceso
Sesión 3: Modelos prescriptivos de proceso
 
Sesión 3: Modelos prescriptivos de proceso de software
Sesión 3: Modelos prescriptivos de proceso de softwareSesión 3: Modelos prescriptivos de proceso de software
Sesión 3: Modelos prescriptivos de proceso de software
 
Machine learning for dummies - Azuges November 2016
Machine learning for dummies - Azuges November 2016Machine learning for dummies - Azuges November 2016
Machine learning for dummies - Azuges November 2016
 
Actividad 14: Diseño de Algoritmos Paralelos
Actividad 14: Diseño de Algoritmos ParalelosActividad 14: Diseño de Algoritmos Paralelos
Actividad 14: Diseño de Algoritmos Paralelos
 
Presentación 162 modelos de proceso de software
Presentación 162 modelos de proceso de softwarePresentación 162 modelos de proceso de software
Presentación 162 modelos de proceso de software
 

Más de Luis Beltran

Más de Luis Beltran (20)

AI for Accessibility.pptx
AI for Accessibility.pptxAI for Accessibility.pptx
AI for Accessibility.pptx
 
NET Conf Bhubaneswar - Migrating your Xamarin.Forms app to .NET MAUI.pptx
NET Conf Bhubaneswar - Migrating your Xamarin.Forms app to .NET MAUI.pptxNET Conf Bhubaneswar - Migrating your Xamarin.Forms app to .NET MAUI.pptx
NET Conf Bhubaneswar - Migrating your Xamarin.Forms app to .NET MAUI.pptx
 
03 GlobalAIBootcamp2020Lisboa-Rock, Paper, Scissors.pptx
03 GlobalAIBootcamp2020Lisboa-Rock, Paper, Scissors.pptx03 GlobalAIBootcamp2020Lisboa-Rock, Paper, Scissors.pptx
03 GlobalAIBootcamp2020Lisboa-Rock, Paper, Scissors.pptx
 
BI LATAM Summit 2022 - Creación de soluciones de automatización serverless-...
BI LATAM Summit 2022 - Creación de soluciones de automatización serverless-...BI LATAM Summit 2022 - Creación de soluciones de automatización serverless-...
BI LATAM Summit 2022 - Creación de soluciones de automatización serverless-...
 
CEIAAIT - Fundamentos y Aplicaciones de Deep Learning.pdf
CEIAAIT - Fundamentos y Aplicaciones de Deep Learning.pdfCEIAAIT - Fundamentos y Aplicaciones de Deep Learning.pdf
CEIAAIT - Fundamentos y Aplicaciones de Deep Learning.pdf
 
Computo en la Nube con Azure - AI Gaming Panama.pptx
Computo en la Nube con Azure - AI Gaming Panama.pptxComputo en la Nube con Azure - AI Gaming Panama.pptx
Computo en la Nube con Azure - AI Gaming Panama.pptx
 
5StarsConf - Serverless Machine Learning con Azure Functions y ML.NET .pptx
5StarsConf - Serverless Machine Learning con Azure Functions y ML.NET .pptx5StarsConf - Serverless Machine Learning con Azure Functions y ML.NET .pptx
5StarsConf - Serverless Machine Learning con Azure Functions y ML.NET .pptx
 
ACW - Azure Speaker Recognition Biometria de Voz.pptx
ACW - Azure Speaker Recognition Biometria de Voz.pptxACW - Azure Speaker Recognition Biometria de Voz.pptx
ACW - Azure Speaker Recognition Biometria de Voz.pptx
 
UNICABA - Azure Machine Learning.pptx
UNICABA - Azure Machine Learning.pptxUNICABA - Azure Machine Learning.pptx
UNICABA - Azure Machine Learning.pptx
 
Azure Talks Bolivia - Aumente la confiabilidad de su negocio con Azure Anomal...
Azure Talks Bolivia - Aumente la confiabilidad de su negocio con Azure Anomal...Azure Talks Bolivia - Aumente la confiabilidad de su negocio con Azure Anomal...
Azure Talks Bolivia - Aumente la confiabilidad de su negocio con Azure Anomal...
 
Latino NET - Integrando WhatsApp en nuestras apps .NET con Twilio.pptx
Latino NET - Integrando WhatsApp en nuestras apps .NET con Twilio.pptxLatino NET - Integrando WhatsApp en nuestras apps .NET con Twilio.pptx
Latino NET - Integrando WhatsApp en nuestras apps .NET con Twilio.pptx
 
NOVA - Enriquecimiento de IA con Azure Cognitive Search.pptx
NOVA - Enriquecimiento de IA con Azure Cognitive Search.pptxNOVA - Enriquecimiento de IA con Azure Cognitive Search.pptx
NOVA - Enriquecimiento de IA con Azure Cognitive Search.pptx
 
Netcoreconf 2021 Realidad mixta en apps móviles con Azure Spatial Anchors y ...
Netcoreconf 2021 Realidad mixta en apps móviles con Azure Spatial Anchors y ...Netcoreconf 2021 Realidad mixta en apps móviles con Azure Spatial Anchors y ...
Netcoreconf 2021 Realidad mixta en apps móviles con Azure Spatial Anchors y ...
 
ATG Puebla - El cementerio de Microsoft.pptx
ATG Puebla - El cementerio de Microsoft.pptxATG Puebla - El cementerio de Microsoft.pptx
ATG Puebla - El cementerio de Microsoft.pptx
 
Data-Saturday-10-Sofia-2021 Azure Video Indexer- Advanced data extraction fro...
Data-Saturday-10-Sofia-2021 Azure Video Indexer- Advanced data extraction fro...Data-Saturday-10-Sofia-2021 Azure Video Indexer- Advanced data extraction fro...
Data-Saturday-10-Sofia-2021 Azure Video Indexer- Advanced data extraction fro...
 
Azure Community Conference - Image Recognition in WhatsApp chatbot with Azure...
Azure Community Conference - Image Recognition in WhatsApp chatbot with Azure...Azure Community Conference - Image Recognition in WhatsApp chatbot with Azure...
Azure Community Conference - Image Recognition in WhatsApp chatbot with Azure...
 
Real NET Docs Show - Serverless Machine Learning v3.pptx
Real NET Docs Show - Serverless Machine Learning v3.pptxReal NET Docs Show - Serverless Machine Learning v3.pptx
Real NET Docs Show - Serverless Machine Learning v3.pptx
 
Sesion 5 - Eficiencia del Rendimiento - Well Architected Backstage Tour.pptx
Sesion 5 - Eficiencia del Rendimiento - Well Architected Backstage Tour.pptxSesion 5 - Eficiencia del Rendimiento - Well Architected Backstage Tour.pptx
Sesion 5 - Eficiencia del Rendimiento - Well Architected Backstage Tour.pptx
 
XamarinExpertDay - Creating PDF files in mobile apps with PdfSharpCore and Mi...
XamarinExpertDay - Creating PDF files in mobile apps with PdfSharpCore and Mi...XamarinExpertDay - Creating PDF files in mobile apps with PdfSharpCore and Mi...
XamarinExpertDay - Creating PDF files in mobile apps with PdfSharpCore and Mi...
 
Latam Space Week - Clasificación de rocas espaciales por medio de IA.pptx
Latam Space Week - Clasificación de rocas espaciales por medio de IA.pptxLatam Space Week - Clasificación de rocas espaciales por medio de IA.pptx
Latam Space Week - Clasificación de rocas espaciales por medio de IA.pptx
 

Último

redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativa
nicho110
 

Último (14)

investigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIinvestigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXI
 
Buenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxBuenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptx
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
 
redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativa
 
Generaciones de las Computadoras..pdf...
Generaciones de las Computadoras..pdf...Generaciones de las Computadoras..pdf...
Generaciones de las Computadoras..pdf...
 
presentación del desensamble y ensamble del equipo de computo en base a las n...
presentación del desensamble y ensamble del equipo de computo en base a las n...presentación del desensamble y ensamble del equipo de computo en base a las n...
presentación del desensamble y ensamble del equipo de computo en base a las n...
 
Guia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos BasicosGuia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos Basicos
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 
infor expo AVANCES TECNOLOGICOS DEL SIGLO 21.pptx
infor expo AVANCES TECNOLOGICOS DEL SIGLO 21.pptxinfor expo AVANCES TECNOLOGICOS DEL SIGLO 21.pptx
infor expo AVANCES TECNOLOGICOS DEL SIGLO 21.pptx
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
 
presentacion_desamblado_de_una_computadora_base_a_las_normas_de_seguridad.pdf
presentacion_desamblado_de_una_computadora_base_a_las_normas_de_seguridad.pdfpresentacion_desamblado_de_una_computadora_base_a_las_normas_de_seguridad.pdf
presentacion_desamblado_de_una_computadora_base_a_las_normas_de_seguridad.pdf
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 

MLOps.pptx

  • 1. MLOps: Machine Learning en Producción Luis Beltrán luis@luisbeltran.mx
  • 3.
  • 4. Un proyecto típico de Machine Learning
  • 5. Problemas • No hay un seguimiento del trabajo realizado • ¿Qué datos se han utilizado? • ¿Qué código se ha probado en cada ocasión? • ¿Qué combinación de código y datos produjeron X modelo? • ¿Cuáles fueron las métricas del modelo X? • No siempre se generan entregables (“artefactos”) • No se puede reproducir (repetir) un modelo • No es posible pasar el modelo y todas sus variables (código, entorno, datos, etc) con facilidad
  • 6. El proceso de ciencia de datos en equipo
  • 7.
  • 8. ¿Qué es DevOps? DevOps es la unión of personas, procesos y productos para habilitar la entrega continua de valor a tus usuarios finales. “ ”
  • 9.
  • 10. MLOps
  • 11. MLOps • MLOps permite a los científicos de datos y a los desarrolladores de aplicaciones ayudar a llevar los modelos de machine learning a producción. • MLOps le permite realizar un seguimiento / gestionar versiones / auditar / certificar / reutilizar cada activo en su ciclo de vida de ML y proporciona servicios de orquestación para agilizar la gestión de este ciclo de vida.
  • 12.
  • 13.
  • 14.
  • 16. Beneficios MLOps • Reproducibilidad • El código impulsa las implementaciones • Los pipelines son reproducibles y verificables • Todos los artefactos se pueden etiquetar y auditar • Validación • Mejores prácticas de Ingeniería de Software para el control de calidad • Comparaciones sin conexión de la calidad del modelo • Minimice el bias y habilite la explicabilidad • Automatización • Capacidades de implementación controlada • Comparación en vivo del rendimiento previsto frente al esperado • Resultados retroalimentados para observar la deriva y mejorar el modelo
  • 17. Diferencias entre DevOps y MLOps • Control de versiones de datos / modelo! = Control de versiones de código: cómo versionar conjuntos de datos a medida que cambian el esquema y los datos de origen • Los requisitos de seguimiento de auditoría digital cambian cuando se trata de código + datos (potencialmente del cliente) • La reutilización de modelos es diferente a la reutilización de software, ya que los modelos deben ajustarse en función de los datos de entrada / escenario. • Para reutilizar un modelo, es posible que deba ajustar / transferir el aprendizaje en él (lo que significa que necesita un pipeline de entrenamiento) • Los modelos tienden a deteriorarse con el tiempo y necesita la capacidad de volver a capacitarlos a pedido para garantizar que sigan siendo útiles en un contexto de producción.
  • 19. Neptune • Neptune es un rastreador de experimentos centrado en Python. Es un servicio alojado. • Los experimentos se rastrean mediante el uso de enlaces de biblioteca para registrar parámetros (modelo), resultados de evaluación y cargar artefactos (como modelos, hashes de datos de entrenamiento o incluso código). La biblioteca puede rastrear el uso del hardware y el progreso del experimento. Proporcionan una API para consultar los resultados del experimento. Esto se puede utilizar para alimentar las canalizaciones de CI / CD para la implementación del modelo. Los resultados se pueden analizar y comparar en un sitio web. También hay opciones colaborativas. Neptune tiene integraciones con portátiles Jupyter, varias bibliotecas ML, visualizadores (HiFlow, TensorBoard), otros rastreadores (MLFlow) y ofertas externas (Amazon Sagemaker).
  • 20. MLFlow • MLFlow es un rastreador de experimentos y un servidor de modelos genérico. Puede ser autohospedado. • Los experimentos se rastrean mediante el uso de enlaces de biblioteca para registrar parámetros (modelo), resultados de evaluación y cargar artefactos (como modelos, hashes de datos de entrenamiento o incluso código). Los artefactos se pueden registrar en el almacenamiento local, remoto o en la nube (S3, GFS, etc.). Los resultados se pueden analizar a través de una interfaz de usuario web y la exportación CSV está disponible. Los modelos se empaquetan como un contenedor alrededor del formato subyacente (Sklearn, XGBoost, Torch, etc.). Se pueden enviar a Spark para la inferencia por lotes o se pueden servir a través de REST. Hay API de CLI, Python, R, Java y REST para una mayor integración con las canalizaciones de CI / CD. Los modelos se pueden enviar a servicios en la nube (SageMaker, AzureML, ...).
  • 21. Kubeflow • Kubeflow es esencialmente una versión autohospedada de la plataforma de inteligencia artificial de Google. Utiliza Kubernetes para abstraer la infraestructura. • Kubeflow puede implementar cuadernos de Jupyter, ejecutar canalizaciones para el procesamiento de datos y el entrenamiento de modelos (programado, bajo demanda), organizar ejecuciones, archivar modelos y otros artefactos, y exponer modelos a través de puntos finales. Las canalizaciones son gráficos de cálculo y se describen en Python con un DSL. Sus componentes se envuelven como imágenes de Docker. Se integra con GCP para que pueda escalar elásticamente a la computación y el almacenamiento en la nube (p. Ej., Entrenamiento de modelos distribuidos). También se integra con ofertas como BigQuery o Dataproc. La solución es pesada y compleja, pero permite una rápida ampliación. Es especialmente aplicable si la infraestructura ya se administra a través de Kubernetes.
  • 22. CML • Continuous Machine Learning es una herramienta CLI de código abierto para implementar (CI / CD) con un enfoque en MLOps. • Permite automatizar los flujos de trabajo de desarrollo, incluido el aprovisionamiento de máquinas, el entrenamiento y la evaluación de modelos, la comparación de experimentos de aprendizaje automático en el historial del proyecto y el monitoreo de conjuntos de datos cambiantes. • CML puede ayudar a entrenar y evaluar modelos, y luego generar un informe visual con resultados y métricas, automáticamente en cada solicitud de extracción. https://github.com/iterative/cml/ https://cml.dev/
  • 23. Workshop • Descarga el tutorial https://drive.google.com/drive/folders/1h4tJ6q6VKB1oYCYsuGzR9J0qd 4a5rGHy?usp=sharing

Notas del editor

  1. MLOps es una práctica de colaboración entre científicos de datos, ingenieros de software y operaciones para automatizar la implementación y la gobernanza de los servicios de ML. Un aspecto crítico de MLOps es la implementación de modelos y pipelines de ML mediante herramientas automatizadas. Este taller describe cómo se puede lograr con varias tecnologías.
  2. Los sistemas de ML generalmente tienen dos fases clave: entrenamiento e inferencia (predicción). La fase de entrenamiento busca manipular los datos de origen en características que se utilizan para entrenar un modelo y evaluar el modelo entrenado. Entrenamiento La mayor parte de la complejidad de los proyectos de aprendizaje automático se encuentra en la fase de entrenamiento. Con el fin de mitigar esta complejidad, la fase de entrenamiento de los proyectos de ML a menudo se diseñan como una canalización de pasos dependientes (conocido como gráfico acíclico dirigido). Normalmente, una canalización de aprendizaje automático contendrá operaciones que: Preparar e integrar datos Ingeniería de características Entrenamiento / ajuste de modelos Ajuste de hiperparámetros Evaluación del modelo La fase de inferencia generalmente carga el modelo previamente entrenado y lo usa para ofrecer predicciones. En muchos casos, la fase de inferencia servirá al modelo a través de una API REST o mediante un servicio para predicciones por lotes.
  3. El proceso de ciencia de datos en equipo (TDSP) es una metodología de ciencia de datos ágil e iterativa para proporcionar soluciones de análisis predictivo y aplicaciones inteligentes de manera eficiente. TDSP ayuda a mejorar la colaboración y el aprendizaje en equipo al sugerir cómo los roles de equipo funcionan mejor juntos. TDSP incluye procedimientos recomendados y estructuras de líderes del sector para ayudar a implementar correctamente iniciativas de ciencia de datos. El objetivo es ayudar a las empresas a que se den cuenta de las ventajas de su programa de análisis. TDSP tiene los siguientes componentes principales: Una definición de ciclo de vida de ciencia de datos Una estructura de proyecto estandarizada Infraestructura y recursos recomendados para proyectos de ciencia de datos Herramientas y utilidades recomendadas para la ejecución de proyectos El proceso de ciencia de datos en equipo (TDSP) proporciona un ciclo de vida para estructurar el desarrollo de los proyectos de ciencia de datos. En el ciclo de vida se describen todos los pasos que siguen los proyectos correctos que se enviarán como parte de aplicaciones inteligentes. Estas aplicaciones implementan modelos de aprendizaje o inteligencia artificial de máquina para realizar un análisis predictivo. Los proyectos de ciencia de datos exploratorios o proyectos de análisis improvisados también se pueden beneficiar del uso de este proceso. Pero, en estos casos, puede que algunos de los pasos descritos no sean necesarios. El ciclo de vida describe las fases principales por las que pasan normalmente los proyectos, a menudo de forma iterativa: Conocimiento del negocio Adquisición y comprensión de los datos Modelado Implementación
  4. En el tema Team Data Science Process lifecycle (Ciclo de vida del proceso de ciencia de datos en equipo) se describen los objetivos, las tareas y los artefactos de documentación de cada fase del ciclo de vida de TDSP. Estas tareas y artefactos están asociados con roles de proyecto: Arquitecto de soluciones Jefe de proyecto Ingeniero de datos Científico de datos Desarrollador de aplicaciones Responsable de proyecto
  5. DevOps (acrónimo inglés de development -desarrollo- y operations -operaciones-) es un conjunto de prácticas que agrupan el desarrollo de software ( Dev ) y las operaciones de TI ( Ops ). Su objetivo es hacer más rápido el ciclo de vida del desarrollo de software y proporcionar una entrega continua de alta calidad. CI / CD significa "Integración continua / Entrega continua" y es un concepto clave de DevOps. En su nivel más básico, CI / CD Pipelines son solo scripts que se activan cada vez que se cambia el código (por ejemplo, como resultado de una inserción o fusión), creando automáticamente activos de software, ejecutando pruebas e implementando código.
  6. El nivel de automatización de las canalizaciones de datos, modelo de aprendizaje automático y código determina la madurez del proceso de aprendizaje automático. Con una mayor madurez, también aumenta la velocidad para el entrenamiento de nuevos modelos. El objetivo de un equipo de MLOps es automatizar la implementación de modelos ML en el sistema de software central o como un componente de servicio. Esto significa automatizar los pasos completos del flujo de trabajo de ML sin ninguna intervención manual. Los desencadenantes de la implementación y el entrenamiento de modelos automatizados pueden ser eventos de calendario, mensajes, eventos de monitoreo, así como cambios en los datos, el código de entrenamiento del modelo y el código de la aplicación. Las pruebas automatizadas ayudan a descubrir problemas rápidamente y en las primeras etapas. Esto permite corregir errores rápidamente y aprender de los errores. Para adoptar MLOps, vemos tres niveles de automatización, comenzando desde el nivel inicial con el entrenamiento y la implementación del modelo manual, hasta ejecutar las canalizaciones de ML y CI / CD automáticamente. Proceso manual. Este es un proceso típico de ciencia de datos, que se realiza al comienzo de la implementación de ML. Este nivel tiene un carácter experimental e iterativo. Cada paso de cada canal, como la preparación y validación de datos, el entrenamiento y las pruebas de modelos, se ejecutan manualmente. La forma común de procesar es utilizar herramientas de desarrollo rápido de aplicaciones (RAD), como Jupyter Notebooks. Automatización de la canalización de ML. El siguiente nivel incluye la ejecución del entrenamiento de modelos de forma automática. Introducimos aquí la formación continua del modelo. Siempre que hay nuevos datos disponibles, se activa el proceso de reentrenamiento del modelo. Este nivel de automatización también incluye pasos de validación de datos y modelos. Automatización de canalizaciones CI / CD. En la etapa final, presentamos un sistema CI / CD para realizar implementaciones de modelos ML rápidas y confiables en producción. La principal diferencia con el paso anterior es que ahora creamos, probamos e implementamos automáticamente los datos, el modelo de aprendizaje automático y los componentes de la canalización de capacitación de aprendizaje automático.
  7. ML Ops encapsula aspectos de la ingeniería de datos, la ingeniería de software y la ciencia de datos para proporcionar una vista de un extremo a otro de la aplicación de la inteligencia de los datos a un caso de uso empresarial. La mayoría de los proyectos de ciencia de datos permanecen en los laboratorios porque la integración con los entornos de producción es extremadamente complicada, manual y propensa a errores. El proceso completo de MLOps incluye tres fases amplias de "Diseño de la aplicación impulsada por ML", "Experimentación y desarrollo de ML" y "Operaciones de ML". La primera fase está dedicada a la comprensión empresarial, la comprensión de los datos y el diseño del software basado en ML. En esta etapa, identificamos a nuestro usuario potencial, diseñamos la solución de aprendizaje automático para resolver su problema y evaluamos el desarrollo posterior del proyecto. Principalmente, actuaríamos dentro de dos categorías de problemas, ya sea aumentando la productividad del usuario o aumentando la interactividad de nuestra aplicación. Inicialmente, definimos los casos de uso de ML y los priorizamos. La mejor práctica para los proyectos de ML es trabajar en un caso de uso de ML a la vez. Además, la fase de diseño tiene como objetivo inspeccionar los datos disponibles que serán necesarios para entrenar nuestro modelo y especificar los requisitos funcionales y no funcionales de nuestro modelo ML. Deberíamos utilizar estos requisitos para diseñar la arquitectura de la aplicación ML, establecer la estrategia de servicio y crear un conjunto de pruebas para el futuro modelo ML. La fase de seguimiento “Experimentación y Desarrollo de ML” está dedicada a verificar la aplicabilidad de ML para nuestro problema mediante la implementación de Prueba de Concepto para el Modelo de ML. Aquí, ejecutamos pasos iterativamente diferentes, como identificar o pulir el algoritmo ML adecuado para nuestro problema, ingeniería de datos e ingeniería de modelos. El objetivo principal en esta fase es ofrecer un modelo de aprendizaje automático de calidad estable que ejecutaremos en producción. El enfoque principal de la fase de “Operaciones de ML” es entregar el modelo de ML desarrollado previamente en producción mediante el uso de prácticas de DevOps establecidas, como pruebas, control de versiones, entrega continua y monitoreo. Las tres fases están interconectadas y se influyen entre sí. Por ejemplo, la decisión de diseño durante la etapa de diseño se propagará a la fase de experimentación y finalmente influirá en las opciones de implementación durante la fase de operaciones final.
  8. ML a escala empresarial es complejo. Las empresas que no cuentan con equipos dedicados para construir la infraestructura de ML no están logrando llevar sus modelos a producción y resolver sus necesidades comerciales. Afortunadamente, las principales empresas de tecnología como Uber, LinkedIn, Twitter, Facebook y Google ya han desarrollado y abierto parte de su infraestructura de ML que podemos utilizar. En esta publicación, quiero compartir nuestras experiencias en la creación de una solución MLOps empresarial usando Kubeflow, que Google abrió hace poco más de un año.
  9. La siguiente lista de conceptos, que creo que deberían considerarse como parte de un marco MLOps: Plataforma de desarrollo: una plataforma colaborativa para realizar experimentos de aprendizaje automático y potenciar la creación de modelos de aprendizaje automático por parte de científicos de datos debe considerarse parte del marco de MLOps. Esta plataforma debe permitir un acceso seguro a las fuentes de datos (por ejemplo, desde los flujos de trabajo de ingeniería de datos). Queremos que el traspaso de la capacitación de ML a la implementación sea lo más fluido posible, que es más probable que sea el caso de una plataforma de este tipo que los modelos de ML desarrollados en diferentes entornos locales. Prueba unitaria del modelo: cada vez que creamos, cambiamos o reentrenamos un modelo, deberíamos validar automáticamente la integridad del modelo, p. Ej. - debe cumplir con el rendimiento mínimo en un equipo de prueba - debería funcionar bien en conjuntos de datos sintéticos específicos de casos de uso Control de versiones: debería ser posible retroceder en el tiempo para inspeccionar todo lo relacionado con un modelo determinado, por ejemplo, qué datos y código se utilizó. ¿Por qué? Porque si algo se rompe, debemos poder retroceder en el tiempo y ver por qué. Registro de modelos: debe haber una descripción general de los modelos de AA implementados y retirados, su historial de versiones y la etapa de implementación de cada versión. ¿Por qué? Si algo se rompe, podemos revertir una versión previamente archivada a producción. Gobierno del modelo: solo determinadas personas deberían tener acceso para ver la formación relacionada con un modelo determinado. Debe haber control de acceso para quién puede solicitar / rechazar / aprobar las transiciones entre las etapas de implementación (p. Ej., Desarrollo a prueba y producción) en el registro del modelo. Implementaciones: la implementación puede ser muchas cosas, pero en esta publicación, considero el caso en el que queremos implementar un modelo en la infraestructura de la nube y exponer una API, que permite a otras personas consumir y usar el modelo, es decir, no estoy considerando casos en los que queremos implementar modelos de AA en sistemas integrados. Las implementaciones de modelos eficientes en la infraestructura adecuada deben: - admite múltiples marcos de ML + modelos personalizados - tener especificaciones de API bien definidas (por ejemplo, Swagger / OpenAPI) - soporte de servidores modelo en contenedores
  10. Supervisión: seguimiento de las métricas de rendimiento (rendimiento, tiempo de actividad, etc.). ¿Por qué? Si de repente un modelo comienza a mostrar errores o a ser inesperadamente lento, debemos saberlo antes de que el usuario final se queje para poder solucionarlo. Retroalimentación: necesitamos enviar información al modelo sobre su rendimiento. ¿Por qué? Por lo general, ejecutamos predicciones en nuevas muestras en las que aún no conocemos la verdad básica. Sin embargo, a medida que aprendemos la verdad, debemos informar al modelo para informar sobre qué tan bien está funcionando. Pruebas A / B: no importa cuán sólida sea la validación cruzada que pensamos que estamos haciendo, nunca sabemos cómo funcionará el modelo hasta que realmente se implemente. Debería ser fácil realizar experimentos A / B con modelos en vivo dentro del marco MLOps. Detección de deriva: normalmente, cuanto más tiempo se implementa un modelo determinado, peor se vuelve a medida que cambian las circunstancias en comparación con cuando se entrenó el modelo. Podemos intentar monitorear y alertar sobre estas diferentes circunstancias o "desviaciones" antes de que se vuelvan demasiado graves: - Deriva de concepto: cuando la relación entre entrada y salida ha cambiado – Deriva de predicción: cambios en las predicciones, pero el modelo aún se mantiene – Desviación de la etiqueta: cambio en los resultados del modelo en comparación con los datos de entrenamiento – Deriva de características: cambio en la distribución de los datos de entrada del modelo Detección de valores atípicos: si un modelo implementado recibe una muestra de entrada que es significativamente diferente de cualquier cosa observada durante el entrenamiento, podemos intentar identificar esta muestra como un valor atípico potencial, y la predicción devuelta debe marcarse como tal, lo que indica que el usuario final debe tenga cuidado al confiar en la predicción. Detección de ataques adversarios: debemos ser advertidos cuando las muestras adversarias atacan nuestros modelos (por ejemplo, alguien que intenta abusar / manipular el resultado de nuestros algoritmos). Interpretabilidad: las implementaciones de ML deben admitir puntos finales que devuelvan la explicación de nuestra predicción, por ejemplo, a través de valores SHAP. ¿Por qué? para muchos casos de uso, una predicción no es suficiente y el usuario final necesita saber por qué se realizó una predicción determinada. Gobernanza de las implementaciones: no solo necesitamos restricciones de acceso sobre quién puede ver los datos, modelos entrenados, etc., sino también sobre quién puede eventualmente usar los modelos implementados. Estos modelos implementados a menudo pueden ser tan confidenciales como los datos en los que fueron entrenados. Centrado en los datos: en lugar de centrarse en el rendimiento y las mejoras del modelo, tiene sentido que un marco MLOps también permita un mayor enfoque en cómo el usuario final puede mejorar la calidad y la amplitud de los datos.
  11. MLOps solution using Kubeflow, that Google open sourced a little over a year ago. "Kubeflow is an open source Kubernetes-native platform for developing, orchestrating, deploying, and running scalable and portable machine learning workloads" Its a Machine Learning Infrastructure Kubeflow is a Cloud Native Machine Learning Toolkit.