MLOps puede sonar como el nombre de un monstruo peludo y tuerto, pero en realidad es un acrónimo que significa “éxito en la IA empresarial”.
MLOps, una abreviatura en inglés de operaciones de machine learning, es un conjunto de mejores prácticas para que las empresas ejecuten la IA con éxito.
MLOps es un campo relativamente nuevo porque el uso comercial de la IA es bastante nuevo.
MLOps: Llevando la IA empresarial a la corriente principal
El Big Bang de la IA se produjo en 2012, cuando un investigador ganó un concurso de reconocimiento de imágenes utilizando deep learning. Las ondas se expandieron rápidamente.
Hoy en día, la IA traduce páginas web y dirige automáticamente las llamadas de servicio al cliente. Ayuda a los hospitales a leer radiografías, a los bancos a calcular los riesgos crediticios y los vendedores minoristas a reponer productos para optimizar las ventas.
En resumen, machine learning, una parte del amplio campo de la IA, se convertirá en algo tan común como las aplicaciones de software. Es por eso que el proceso de ejecutar ML debe ser tan sencillo como el trabajo de ejecutar sistemas de TI.
Machine Learning se Combina con DevOps
MLOps se basa en la disciplina existente de DevOps, la práctica moderna de escribir, implementar y ejecutar aplicaciones empresariales de manera eficiente. DevOps comenzó hace una década como una forma en que las tribus en guerra de desarrolladores de software (Devs) y equipos de operaciones de TI (Ops) podían colaborar.
MLOps agrega al equipo a los científicos de datos, quienes seleccionan conjuntos de datos y desarrollan modelos de IA que los analizan. También incluye ingenieros de ML, que ejecutan esos conjuntos de datos a través de los modelos de forma disciplinada y automatizada.
Es un gran desafío tanto en el rendimiento que se necesita como en el rigor de la administración. Los conjuntos de datos son enormes y siguen creciendo. Además, pueden cambiar en tiempo real. Los modelos de IA requieren un seguimiento cuidadoso a través de ciclos de experimentos, ajustes y reentrenamiento para mantener la precisión alta.
Por lo tanto, MLOps necesita una poderosa infraestructura de inteligencia artificial que pueda escalar a medida que las empresas crecen. Para esta base, muchas empresas utilizan los sistemas NVIDIA DGX, CUDA-X y otros componentes de software disponibles en el centro de software de NVIDIA, NGC.
Seguimiento del Ciclo de Vida para Científicos de Datos
Además de esta infraestructura, MLOps es una práctica que administra lo siguiente:
- Fuentes de datos y los conjuntos de datos creados a partir de ellas
- Un repositorio de modelos de IA etiquetados con sus historias y atributos
- Una proceso de ML automatizado que administra conjuntos de datos, modelos y experimentos a través de sus ciclos de vida
- Contenedores de software, por lo general basados en Kubernetes, para simplificar la ejecución de estos trabajos
Se trata de un emocionante conjunto de trabajos relacionados para combinar en un solo proceso.
Los científicos de datos necesitan la libertad de cortar y pegar conjuntos de datos de fuentes externas y lagos de datos internos. Sin embargo, su trabajo y esos conjuntos de datos deben etiquetarse y seguirse cuidadosamente.
Del mismo modo, necesitan experimentar e iterar para crear grandes modelos bien adaptados a la tarea en cuestión. Por lo tanto, necesitan zonas de prueba flexibles y repositorios sólidos como una roca.
También necesitan formas de trabajar con los ingenieros de ML que ejecutan los conjuntos de datos y modelos a través de prototipos, pruebas y producción. Es un proceso que requiere automatización y atención al detalle para que los modelos se puedan interpretar y reproducir fácilmente.
Actualmente, estas capacidades están disponibles como parte de los servicios de computación en la nube. Las empresas que ven el machine learning como algo estratégico están creando sus propios centros de excelencia en inteligencia artificial usando servicios o herramientas de MLOps de un creciente conjunto de proveedores.
Ciencia de Datos en Producción a Escala
Al comienzo, las empresas como Airbnb, Facebook, Google, NVIDIA y Uber tenían que desarrollar estas capacidades por sí mismas.
“Intentamos utilizar código abierto tanto como fue posible, pero en muchos casos no hubo una solución para lo que queríamos hacer a escala”, dijo Nicolas Koumchatzky, director de infraestructura de inteligencia artificial de NVIDIA.
“Cuando escuché por primera vez el término MLOps, me di cuenta de que eso es lo que estamos desarrollando ahora y lo que yo estaba desarrollando antes en Twitter”, agregó.
El equipo de Koumchatzky en NVIDIA desarrolló MagLev, el software MLOps que aloja NVIDIA DRIVE, la plataforma para crear y probar vehículos autónomos. Como parte de su base para MLOps, utiliza NVIDIA Container Runtime y Apollo, un conjunto de componentes desarrollados en NVIDIA para administrar y monitorear los contenedores de Kubernetes que se ejecutan en grandes clústeres.
Establecer las Bases para MLOps en NVIDIA
El equipo de Koumchatzky ejecuta su trabajo en la infraestructura de IA interna de NVIDIA basada en clústeres de GPU llamados DGX POD. Antes de que comiencen los trabajos, el equipo de infraestructura verifica si están utilizando las mejores prácticas.
En primer lugar, “todo debe ejecutarse en un contenedor, lo que evita una cantidad increíble de molestias al momento de buscar las bibliotecas y los entornos de ejecución que necesita una aplicación de IA”, dijo Michael Houston, cuyo equipo desarrolla los sistemas de inteligencia artificial de NVIDIA, incluido Selene, un DGX SuperPOD que fue nombrado recientemente como la computadora industrial más potente de los EE. UU.
Entre los otros puntos de control del equipo, los trabajos deben hacer lo siguiente:
- Ejecutar contenedores con un mecanismo aprobado
- Demostrar que el trabajo se puede ejecutar en varios nodos de GPU
- Mostrar datos de rendimiento para identificar posibles cuellos de botella
- Mostrar datos de creación de perfiles para asegurarse de que el software se haya depurado
“La madurez de las prácticas de MLOps utilizadas en los negocios de la actualidad varía ampliamente”, afirma Edwin Webster, un científico de datos asesora a Neal Analytics en MLOps desde hace un año y escribió un artículo definiendo MLOps. “En algunas empresas, los científicos de datos todavía almacenan modelos en sus laptops personales, otros recurren a grandes proveedores de servicios en la nube para un servicio integral”, indicó.
Dos Historias de Éxito de MLOps
Webster compartió historias de éxito de dos de sus clientes.
Una involucra a un gran minorista que utilizó las capacidades de MLOps en un servicio de cloud público para crear un servicio de inteligencia artificial que redujo el desperdicio entre un 8 y un 9 por ciento con pronósticos diarios de cuándo reabastecer los estantes con productos perecederos. Un equipo en ciernes de científicos de datos en el minorista creó conjuntos de datos y construyó modelos; el servicio en el cloud empaqueta los elementos clave en contenedores, luego ejecuta y administra los trabajos de IA.
Otro involucra a un fabricante de PC que desarrolló software utilizando IA para predecir cuándo sus computadoras portátiles necesitarían mantenimiento para poder instalar automáticamente actualizaciones de software. Utilizando prácticas establecidas de MLOps y especialistas internos, el OEM escribió y probó sus modelos de IA en una flota de 3000 portátiles. El fabricante de PC ahora ofrece el software a sus clientes más importantes.
“Muchas, pero no todas, las compañías de la Fortune 100 están adoptando MLOps”, dijo Shubhangi Vashisth, analista principal senior que sigue el área en Gartner. “Está ganando fuerza, pero no es algo tan conocido”, dijo.
Vashisth fue el coautor de un documento técnico que establece tres pasos para comenzar en MLOps: Alinea a las partes interesadas con los objetivos, crea una estructura organizativa que defina quién es el dueño de qué y, luego, define las responsabilidades y los roles: Gartner enumera una docena de ellos.
Cuidado con las Palabras de Moda: AIOps, ITOA, DLOps, DataOps y Más
No te pierdas en un bosque de palabras de moda que ha crecido a lo largo de esta avenida. La industria claramente ha unido su energía en torno a MLOps.
Por el contrario, AIOps es una práctica más restringida, que implica utilizar machine learning para automatizar las funciones de TI. Una parte de AIOps es el análisis de operaciones de TI o ITOA. Su trabajo consiste en examinar los datos que generan las AIOps para descubrir cómo mejorar las prácticas de TI.
De manera similar, algunos han acuñado los términos DataOps y ModelOps para referirse a las personas y los procesos dedicados a la creación y administración de conjuntos de datos y modelos de IA, respectivamente. Esas son dos piezas importantes del rompecabezas general de MLOps.
Curiosamente, miles de personas buscan cada mes el significado de DLOps. Seguramente suponen que DLOps son las operaciones de TI para deep learning. Pero la industria usa el término MLOps, no DLOps, porque deep learning es parte del campo más amplio de machine learning.
A pesar de las muchas consultas, resulta difícil encontrar algo en línea sobre DLOps. Por el contrario, nombres conocidos como Google y Microsoft, así como empresas emergentes como Iguazio y Paperspace, han publicado informes técnicos detallados sobre MLOps.
MLOps: una gama de servicios y software en expansión
Aquellos que prefieren dejar que otra persona maneje sus MLOps tienen muchas opciones.
Los principales proveedores de servicios en la nube (como Alibaba, AWS y Oracle) son algunos de los que ofrecen servicios integrales y accesibles desde la comodidad de tu teclado.
Para los usuarios que distribuyen su trabajo en varias nubes, MLFlow de DataBricks admite servicios MLOps que funcionan con varios proveedores y varios lenguajes de programación, incluidos Python, R y SQL. Otras alternativas que no dependen de una nube específica son los software de código abierto como Polyaxon y KubeFlow.
Las empresas que creen que la inteligencia artificial es un recurso estratégico con el que quieren contar en su firewall pueden elegir entre una lista creciente de proveedores externos de software MLOps. En comparación con las herramientas de código abierto, estas opciones suelen agregar funciones valiosas y son más fáciles de utilizar.
Estos son seis productos certificados por NVIDIA que forman parte del programa de software DGX-Ready:
- Allegro AI
- cnvrg.io
- Core Scientific
- Domino Data Lab
- Iguazio
- Paperspace
Los seis proveedores proporcionan software para administrar conjuntos de datos y modelos que pueden funcionar con Kubernetes y NGC.
Todavía es temprano para contar con un software MLOps listo para usar.
“Gartner realiza un seguimiento de una docena de proveedores que ofrecen herramientas MLOps, incluidas ModelOp y ParallelM, que ahora forman parte de DataRobot”, dijo el analista Vashisth. “Ten cuidado con las ofertas que no abarcan todo el proceso”, advierte. Obligan a los usuarios a importar y exportar datos entre programas que los usuarios deben unir ellos mismos, lo que representa un proceso tedioso y propenso a errores.
“El edge de la red, especialmente para los nodos parcialmente conectados o desconectados, es otra área que, por el momento, no abarca MLOps”, dijo Webster de Neal Analytics.
Koumchatzky de NVIDIA coloca a las herramientas para seleccionar y administrar conjuntos de datos en la parte superior de su lista de deseos para la comunidad.
“Puede ser difícil etiquetar, fusionar o dividir conjuntos de datos o ver partes de ellos, pero existe un ecosistema MLOps en crecimiento para abordar esto. NVIDIA los ha desarrollado internamente, pero creo que todavía es un aspecto infravalorado en la industria”, dijo.
A largo plazo, MLOps necesita el equivalente de los IDE, los entornos de desarrollo de software integrados, como Microsoft Visual Studio, de los que dependen los desarrolladores de aplicaciones. Mientras tanto, Koumchatzky y su equipo crean sus propias herramientas para visualizar y depurar modelos de IA.
La buena noticia es que hay muchos productos para comenzar con MLOps.
Además del software de sus socios, NVIDIA proporciona un conjunto de herramientas principalmente de código abierto para administrar una infraestructura de inteligencia artificial basada en sus sistemas DGX, y esa es la base de MLOps. Estas herramientas de software incluyen lo siguiente:
- Foreman y MAAS (Metal as a Service) para el aprovisionamiento de sistemas individuales
- Ansible y Git para la gestión de la configuración de clústeres
- Data Center GPU Manager (DCGM) y NVIDIA System Management (NVSM) para el monitoreo y la generación de informes
- NVIDIA Container Runtime para ejecutar contenedores compatibles con GPU y NVIDIA GPU Operator para simplificar la administración de GPU en Kubernetes
- Triton Inference Server y TensorRT para implementar modelos de IA en producción
- Y DeepOps para crear scripts e obtener instrucciones sobre cómo implementar y organizar todos los elementos anteriores
Muchas de estas piezas están disponibles en NGC y otros repositorios de código abierto. Al incorporar estos ingredientes en una receta para el éxito, NVIDIA proporciona una arquitectura de referencia para crear clústeres de GPU llamados DGX POD.
En definitiva, cada equipo debe encontrar la combinación de productos y prácticas de MLOps que mejor se adapten a sus casos de uso. Todos comparten el objetivo de crear una forma automatizada de ejecutar la IA sin problemas como una parte diaria de la vida digital de una empresa.