Esta publicación de blog es coautora de Guillermo Ribeiro, científico de datos sénior en Cepsa.
El aprendizaje automático (ML) ha evolucionado rápidamente de ser una tendencia de moda que surge de los entornos académicos y los departamentos de innovación a convertirse en un medio clave para generar valor en las empresas de todas las industrias. Esta transición de los experimentos en laboratorios a la resolución de problemas del mundo real en entornos de producción va de la mano con MLOps, o la adaptación de DevOps al mundo ML.
MLOps ayuda a optimizar y automatizar el ciclo de vida completo de un modelo de ML, centrándose en los conjuntos de datos de origen, la reproducibilidad del experimento, el código del algoritmo de ML y la calidad del modelo.
At Cepsa, una compañía de energía global, usamos ML para abordar problemas complejos en todas nuestras líneas de negocios, desde hacer mantenimiento predictivo para equipos industriales hasta monitorear y mejorar los procesos petroquímicos en nuestras refinerías.
En esta publicación, analizamos cómo construimos nuestra arquitectura de referencia para MLOps utilizando los siguientes servicios clave de AWS:
- Amazon SageMaker, un servicio para construir, entrenar e implementar modelos ML
- Funciones de paso de AWS, un servicio de flujo de trabajo visual low-code sin servidor que se utiliza para orquestar y automatizar procesos
- Puente de eventos de Amazon, un bus de eventos sin servidor
- AWS Lambda, un servicio informático sin servidor que le permite ejecutar código sin aprovisionar ni administrar servidores
También explicamos cómo aplicamos esta arquitectura de referencia para iniciar nuevos proyectos de ML en nuestra empresa.
El desafío
Durante los últimos 4 años, múltiples líneas de negocio en Cepsa iniciaron proyectos de ML, pero pronto comenzaron a surgir ciertos problemas y limitaciones.
No teníamos una arquitectura de referencia para ML, por lo que cada proyecto siguió una ruta de implementación diferente, realizando entrenamiento e implementación de modelos ad hoc. Sin un método común para manejar el código y los parámetros del proyecto y sin un registro de modelo de ML o un sistema de control de versiones, perdimos la trazabilidad entre los conjuntos de datos, el código y los modelos.
También detectamos margen de mejora en la forma en que operamos los modelos en producción, porque no supervisábamos los modelos implementados y, por lo tanto, no teníamos los medios para realizar un seguimiento del rendimiento del modelo. Como consecuencia, generalmente volvimos a entrenar a los modelos en función de los cronogramas, porque carecíamos de las métricas correctas para tomar decisiones informadas de reentrenamiento.
La solución
Partiendo de los desafíos que tuvimos que superar, diseñamos una solución general que apuntaba a desacoplar la preparación de datos, el entrenamiento de modelos, la inferencia y el monitoreo de modelos, y presentaba un registro de modelos centralizado. De esta manera, simplificamos la administración de entornos en varias cuentas de AWS, al mismo tiempo que introducimos la trazabilidad del modelo centralizado.
Nuestros científicos de datos y desarrolladores utilizan Nube de AWS9 (un IDE en la nube para escribir, ejecutar y depurar código) para la manipulación de datos y la experimentación de ML y GitHub como repositorio de código Git.
Un flujo de trabajo de capacitación automático utiliza el código creado por el equipo de ciencia de datos para entrenar modelos en SageMaker y registrar modelos de salida en el registro de modelos.
Un flujo de trabajo diferente administra la implementación del modelo: obtiene la referencia del registro del modelo y crea un punto final de inferencia utilizando Funciones de alojamiento de modelos de SageMaker.
Implementamos flujos de trabajo de implementación y entrenamiento de modelos con Step Functions, ya que proporcionó un marco flexible que permite la creación de flujos de trabajo específicos para cada proyecto y organiza diferentes servicios y componentes de AWS de una manera sencilla.
Modelo de consumo de datos
En Cepsa utilizamos una serie de lagos de datos para cubrir diversas necesidades de negocio, y todos estos lagos de datos comparten un modelo común de consumo de datos que facilita a los ingenieros y científicos de datos encontrar y consumir los datos que necesitan.
Para manejar fácilmente los costos y las responsabilidades, los entornos de lagos de datos están completamente separados de las aplicaciones de consumidores y productores de datos, y se implementan en diferentes cuentas de AWS que pertenecen a una organización de AWS común.
Los datos utilizados para entrenar modelos ML y los datos utilizados como entrada de inferencia para modelos entrenados están disponibles desde los diferentes lagos de datos a través de un conjunto de API bien definidas que usan Puerta de enlace API de Amazon, un servicio para crear, publicar, mantener, monitorear y proteger las API a escala. El backend de la API utiliza Atenea amazónica (un servicio de consulta interactivo para analizar datos usando SQL estándar) para acceder a datos que ya están almacenados en Servicio de almacenamiento simple de Amazon (Amazon S3) y catalogado en el Pegamento AWS Catálogo de datos.
El siguiente diagrama proporciona una visión general de la arquitectura MLOps de Cepsa.
Entrenamiento modelo
El proceso de entrenamiento es independiente para cada modelo y manejado por un Flujo de trabajo estándar de Step Functions, lo que nos brinda flexibilidad para modelar procesos en función de los diferentes requisitos del proyecto. Tenemos una plantilla base definida que reutilizamos en la mayoría de los proyectos, realizando pequeños ajustes cuando es necesario. Por ejemplo, algunos propietarios de proyectos han decidido agregar puertas manuales para aprobar implementaciones de nuevos modelos de producción, mientras que otros propietarios de proyectos han implementado sus propios mecanismos de detección de errores y reintentos.
También realizamos transformaciones en los conjuntos de datos de entrada utilizados para el entrenamiento del modelo. Para ello, utilizamos funciones de Lambda que están integradas en los flujos de trabajo de formación. En algunos escenarios donde se requieren transformaciones de datos más complejas, ejecutamos nuestro código en Servicio de contenedor elástico de Amazon (Amazon ECS) en AWS Fargate, un motor informático sin servidor para ejecutar contenedores.
Nuestro equipo de ciencia de datos utiliza algoritmos personalizados con frecuencia, por lo que aprovechamos la capacidad de usar contenedores personalizados en el entrenamiento de modelos de SageMaker, depender de Registro de contenedores elásticos de Amazon (Amazon ECR), un registro de contenedores totalmente administrado que facilita el almacenamiento, la administración, el intercambio y la implementación de imágenes de contenedores.
La mayoría de nuestros proyectos de ML se basan en la biblioteca Scikit-learn, por lo que hemos ampliado el estándar Contenedor de aprendizaje de SageMaker Scikit para incluir las variables de entorno necesarias para el proyecto, como la información del repositorio de Git y las opciones de implementación.
Con este enfoque, nuestros científicos de datos solo necesitan concentrarse en desarrollar el algoritmo de entrenamiento y especificar las bibliotecas requeridas por el proyecto. Cuando envían cambios de código al repositorio de Git, nuestro sistema CI/CD (Jenkins alojado en AWS) construye el contenedor con el código de entrenamiento y las bibliotecas. Este contenedor se envía a Amazon ECR y finalmente se pasa como parámetro a la invocación de capacitación de SageMaker.
Cuando se completa el proceso de entrenamiento, el modelo resultante se almacena en Amazon S3, se agrega una referencia en el registro del modelo y toda la información y las métricas recopiladas se guardan en el catálogo de experimentos. Esto asegura una reproducibilidad total porque el código del algoritmo y las bibliotecas están vinculados al modelo entrenado junto con los datos asociados al experimento.
El siguiente diagrama ilustra el proceso de capacitación y reentrenamiento del modelo.
Despliegue del modelo
La arquitectura es flexible y permite implementaciones automáticas y manuales de los modelos entrenados. El flujo de trabajo del implementador de modelos se invoca automáticamente por medio de un evento que la capacitación de SageMaker publica en EventBridge una vez que finaliza la capacitación, pero también se puede invocar manualmente si es necesario, pasando la versión correcta del modelo desde el registro del modelo. Para obtener más información sobre la invocación automática, consulte Automatización de Amazon SageMaker con Amazon EventBridge.
El flujo de trabajo del implementador de modelos recupera la información del modelo del registro de modelos y utiliza Formación en la nube de AWS, una infraestructura administrada como servicio de código, para implementar el modelo en un punto final de inferencia en tiempo real o realizar una inferencia por lotes con un conjunto de datos de entrada almacenado, según los requisitos del proyecto.
Cada vez que un modelo se implementa correctamente en cualquier entorno, el registro del modelo se actualiza con una nueva etiqueta que indica en qué entornos se está ejecutando actualmente el modelo. Cada vez que se elimina un punto final, su etiqueta también se elimina del registro del modelo.
El siguiente diagrama muestra el flujo de trabajo para la inferencia y la implementación del modelo.
Experimentos y registro de modelos
Almacenar cada experimento y versión del modelo en una sola ubicación y tener un repositorio de código centralizado nos permite desacoplar el entrenamiento y la implementación del modelo y usar diferentes cuentas de AWS para cada proyecto y entorno.
Todas las entradas del experimento almacenan el ID de compromiso del código de entrenamiento e inferencia, por lo que tenemos una trazabilidad completa de todo el proceso de experimentación y podemos comparar fácilmente diferentes experimentos. Esto evita que realicemos trabajo duplicado en la fase de exploración científica de algoritmos y modelos, y nos permite implementar nuestros modelos en cualquier lugar, independientemente de la cuenta y el entorno donde se entrenó el modelo. Esto también se aplica a los modelos entrenados en nuestro entorno de experimentación de AWS Cloud9.
En general, contamos con canalizaciones de implementación y capacitación de modelos completamente automatizadas y tenemos la flexibilidad para realizar implementaciones manuales rápidas de modelos cuando algo no funciona correctamente o cuando un equipo necesita un modelo implementado en un entorno diferente con fines de experimentación.
Un caso de uso detallado: proyecto YET Dragon
El proyecto YET Dragon tiene como objetivo mejorar el rendimiento productivo de la planta petroquímica de Cepsa en Shanghái. Para lograr este objetivo, estudiamos a fondo el proceso de producción, buscando los pasos menos eficientes. Nuestro objetivo era aumentar la eficiencia de rendimiento de los procesos manteniendo la concentración de componentes exactamente por debajo de un umbral.
Para simular este proceso, construimos cuatro modelos aditivos generalizados o GAM, modelos lineales cuya respuesta depende de funciones suaves de variables predictoras, para predecir los resultados de dos procesos de oxidación, un proceso de concentración y el rendimiento antes mencionado. También construimos un optimizador para procesar los resultados de los cuatro modelos GAM y encontrar las mejores optimizaciones que podrían aplicarse en la planta.
Aunque nuestros modelos están entrenados con datos históricos, la planta a veces puede operar bajo circunstancias que no fueron registradas en el conjunto de datos de entrenamiento; esperamos que nuestros modelos de simulación no funcionen bien en esos escenarios, por lo que también creamos dos modelos de detección de anomalías utilizando algoritmos de Isolation Forests, que determinan qué tan lejos están los puntos de datos del resto de los datos para detectar las anomalías. Estos modelos nos ayudan a detectar este tipo de situaciones para deshabilitar los procesos de optimización automatizados cuando esto suceda.
Los procesos químicos industriales son muy variables y los modelos de ML deben estar bien alineados con la operación de la planta, por lo que se requiere una capacitación frecuente y la trazabilidad de los modelos implementados en cada situación. SIN EMBARGO, Dragon fue nuestro primer proyecto de optimización de ML que presentó un registro de modelos, reproducibilidad total de los experimentos y un proceso de capacitación automatizado completamente administrado.
Ahora, la canalización completa que pone un modelo en producción (transformación de datos, entrenamiento de modelos, seguimiento de experimentos, registro de modelos e implementación de modelos) es independiente para cada modelo de ML. Esto nos permite mejorar los modelos de manera iterativa (por ejemplo, agregar nuevas variables o probar nuevos algoritmos) y conectar las etapas de capacitación e implementación a diferentes factores desencadenantes.
Los resultados y futuras mejoras.
Actualmente podemos entrenar, implementar y rastrear automáticamente los seis modelos ML utilizados en el proyecto YET Dragon, y ya hemos implementado más de 30 versiones para cada uno de los modelos de producción. Esta arquitectura MLOps se ha extendido a cientos de modelos ML en otros proyectos de la empresa.
Planeamos seguir lanzando nuevos proyectos YET basados en esta arquitectura, que ha reducido la duración media del proyecto en un 25 %, gracias a la reducción del tiempo de arranque y la automatización de las canalizaciones de ML. También hemos estimado un ahorro de alrededor de 300,000 € al año gracias al aumento del rendimiento y la concentración que es un resultado directo del proyecto YET Dragon.
La evolución a corto plazo de esta arquitectura MLOps es hacia el monitoreo de modelos y las pruebas automatizadas. Planeamos probar automáticamente la eficiencia del modelo en comparación con los modelos implementados anteriormente antes de implementar un nuevo modelo. También estamos trabajando en la implementación de monitoreo de modelos y monitoreo de deriva de datos de inferencia con Monitor de modelo de Amazon SageMaker, con el fin de automatizar el reentrenamiento del modelo.
Conclusión
Las empresas enfrentan el desafío de llevar sus proyectos de ML a producción de manera automatizada y eficiente. La automatización del ciclo de vida completo del modelo de ML ayuda a reducir los tiempos del proyecto y garantiza una mejor calidad del modelo y una implementación más rápida y frecuente en la producción.
Al desarrollar una arquitectura MLOps estandarizada que ha sido adoptada por diferentes negocios en toda la compañía, en Cepsa pudimos acelerar el arranque de proyectos de ML y mejorar la calidad del modelo de ML, proporcionando un marco confiable y automatizado sobre el cual nuestros equipos de ciencia de datos pueden innovar más rápido. .
Para obtener más información sobre MLOps en SageMaker, visite Amazon SageMaker para MLOps y consulte otros casos de uso de clientes en el Blog de aprendizaje automático de AWS.
Sobre los autores
Guillermo Ribeiro Jiménez es Científico de Datos Sr en Cepsa con un Doctorado. en Física Nuclear. Tiene 6 años de experiencia en proyectos de ciencia de datos, principalmente en la industria de telecomunicaciones y energía. Actualmente lidera equipos de científicos de datos en el departamento de Transformación Digital de Cepsa, con un enfoque en el escalado y la productización de proyectos de aprendizaje automático.
Guillermo Menendez Corral es arquitecto de soluciones en AWS Energy and Utilities. Tiene más de 15 años de experiencia en el diseño y la creación de aplicaciones SW, y actualmente brinda orientación arquitectónica a los clientes de AWS en la industria energética, con un enfoque en análisis y aprendizaje automático.
- Coinsmart. El mejor intercambio de Bitcoin y criptografía de Europa.
- Platoblockchain. Inteligencia del Metaverso Web3. Conocimiento amplificado. ACCESO LIBRE.
- CriptoHawk. Radar de altcoins. Prueba gratis.
- Fuente: https://aws.amazon.com/blogs/machine-learning/how-cepsa-used-amazon-sagemaker-and-aws-step-functions-to-industrialize-their-ml-projects-and-operate- sus-modelos-a-escala/
- "
- 000
- 100
- 15 años
- a
- capacidad
- Nuestra Empresa
- de la máquina
- Mi Cuenta
- Lograr
- a través de
- Ad
- adicional
- Ventaja
- en contra
- algoritmo
- algoritmos
- Todos
- permite
- ya haya utilizado
- Amazon
- entre
- Analytics
- analizar
- dondequiera
- abejas
- API
- aplicaciones
- aplicada
- enfoque
- aprobar
- arquitectónico
- arquitectura
- en torno a
- asociado
- automatizado
- Confirmación de Viaje
- Automático
- automáticamente
- automatizar
- Automatización
- Hoy Disponibles
- AWS
- porque
- cada vez
- antes
- "Ser"
- a continuación
- MEJOR
- Blog
- build
- Construir la
- construye
- negocios
- case
- cases
- centralizado
- a ciertos
- Reto
- retos
- químico
- Soluciones
- código
- hacer
- Algunos
- compañía
- completar
- completamente
- integraciones
- componente
- componentes
- Calcular
- concentración
- Contacto
- consumir
- consumidor
- consumo
- Envase
- Contenedores
- Precio
- podría
- Protectora
- Para crear
- crea
- creación
- En la actualidad
- personalizado
- cliente
- Clientes
- datos
- Ciencia de los datos
- científico de datos
- decidido
- decisiones
- Dependiente
- depende
- desplegar
- desplegado
- despliegue
- Despliegues
- diseñado
- diseño
- detallado
- detectado
- Detección
- Determinar
- desarrolladores
- el desarrollo
- una experiencia diferente
- digital
- Transformación Digital
- de reservas
- discutir
- Dragon
- cada una
- pasan fácilmente
- eficiencia
- eficiente
- emergentes
- permite
- Punto final
- energía
- Motor
- certificados
- Entorno
- equipo
- estimado
- Evento
- evolución
- exactamente
- ejemplo
- esperar
- experience
- experimento
- exploración
- tener problemas con
- RÁPIDO
- más rápida
- Feature
- destacado
- Finalmente
- Nombre
- Flexibilidad
- flexible
- Focus
- siguiendo
- Marco conceptual
- Desde
- ser completados
- funciones
- futuras
- -
- General
- Git
- GitHub
- Buscar
- objetivo
- encargarse de
- es
- ayuda
- ayuda
- altamente
- histórico
- mantiene
- organizado
- hosting
- Cómo
- HTTPS
- Cientos
- imágenes
- implementación
- implementado
- mejorar
- es la mejora continua
- la mejora de
- En otra
- incluir
- aumente
- independientes
- independientemente
- industrial
- energético
- información
- informó
- EN LA MINA
- Innovation
- Las opciones de entrada
- COMPLETAMENTE
- interactivo
- Presentamos
- solo
- cuestiones
- IT
- Guardar
- acuerdo
- Clave
- lanzamiento
- líder
- aprendizaje
- Biblioteca
- líneas
- Ubicación
- mirando
- máquina
- máquina de aprendizaje
- hecho
- mantener
- un mejor mantenimiento.
- para lograr
- HACE
- gestionan
- gestionado
- administrar
- manera
- manual
- a mano
- significa
- Métrica
- ML
- modelo
- modelos
- Monitorear
- monitoreo
- más,
- MEJOR DE TU
- múltiples
- funcionar
- Inteligente
- optimización
- Opciones
- solicite
- organización
- Otro
- EL DESARROLLADOR
- los propietarios de
- Pasando (Paso)
- actuación
- realizar
- fase
- Física
- puntos
- predecir
- problemas
- en costes
- productor
- Producción
- proyecto
- proyecta
- previsto
- proporciona un
- proporcionando
- publicar
- propósito
- fines
- empujó
- calidad
- en tiempo real
- reducir
- registrarte
- registrado
- confianza
- repositorio
- Requisitos
- Requisitos
- respuesta
- responsabilidades
- RESTO
- resultante
- Resultados
- Ejecutar
- correr
- Escala
- la ampliación
- Ciencia:
- Científico
- los científicos
- seguro
- Serie
- Sin servidor
- de coches
- Servicios
- set
- Shanghai
- Compartir
- a corto plazo
- sencillos
- simulación
- soltero
- situación
- SEIS
- So
- a medida
- Soluciones
- algo
- algo
- soluciones y
- velocidad
- etapas
- estándar
- fundó
- STORAGE
- tienda
- aerodinamizar
- Con éxito
- te
- Target
- equipo
- equipos
- Las redes de
- test
- Pruebas
- La
- La Fuente
- por lo tanto
- a fondo
- umbral
- A través de esta formación, el personal docente y administrativo de escuelas y universidades estará preparado para manejar los recursos disponibles que derivan de la diversidad cultural de sus estudiantes. Además, un mejor y mayor entendimiento sobre estas diferencias y similitudes culturales permitirá alcanzar los objetivos de inclusión previstos.
- equipo
- veces
- hacia
- Trazabilidad
- seguir
- Seguimiento
- Formación
- transformaciones
- transición
- bajo
- us
- utilizan el
- generalmente
- utilidades
- propuesta de
- versión
- bien definido
- mientras
- sin
- Actividades:
- flujos de trabajo
- trabajando
- mundo
- la escritura
- año
- años
- Rendimiento