Próximo seminario web: Seguridad empresarial para Claude Code | 21 de abril · 11:00 a. m. PST. Regístrese aquí →

Aprendizaje automático en Kubernetes #2: Arquitectura de Kubernetes para MLOps

Por TrueFoundry

Actualizado: March 27, 2023

Resumir con

Las operaciones de aprendizaje automático (MLOP) son un componente fundamental de los flujos de trabajo de ciencia de datos modernos. El mLOps implica el desarrollo, la implementación y la administración de los modelos de aprendizaje automático y la infraestructura asociada. Uno de los desafíos clave de los mLOps es la necesidad de una infraestructura escalable y flexible que pueda adaptarse a los requisitos únicos de las cargas de trabajo de aprendizaje automático. Kubernetes es una plataforma potente que puede proporcionar la infraestructura necesaria para soportar los MLOps a gran escala. Sin embargo, el diseño de una arquitectura de Kubernetes para los MLOps requiere una consideración cuidadosa de factores como la seguridad, la administración de recursos y las dependencias de las aplicaciones. En este blog, analizaremos algunas de las mejores prácticas para diseñar una arquitectura de Kubernetes para MLOps.

Consideraciones principales en el diseño de la arquitectura mLOps con Kubernetes

Diseño de espacios de nombres

Los espacios de nombres de Kubernetes proporcionan una forma de particionar los recursos dentro de un clúster. En una arquitectura MLOps, es común usar espacios de nombres para separar diferentes entornos, como el desarrollo, las pruebas y la producción. Esto ayuda a garantizar que las aplicaciones y los servicios estén aislados unos de otros y reduce el riesgo de conflictos entre recursos y aplicaciones. Un diseño eficaz del espacio de nombres también puede mejorar el rendimiento general del clúster y la utilización de los recursos.

Al diseñar espacios de nombres para MLOps, tenga en cuenta lo siguiente:

  1. Utilice nombres descriptivos que reflejen el propósito del espacio de nombres (por ejemplo, «dev», «test», «prod»).
  2. Utilice el RBAC (control de acceso basado en roles) para restringir el acceso a los espacios de nombres en función de los roles de los usuarios.
  3. Use cuotas de recursos para limitar la cantidad de CPU y memoria que pueden usar las aplicaciones en cada espacio de nombres.

Selección de nodos

Kubernetes usa un algoritmo de programación para determinar qué nodos usar para implementar aplicaciones. La selección adecuada de los nodos puede garantizar un rendimiento óptimo y reducir la probabilidad de que surjan problemas de rendimiento y latencia de la red.

Al diseñar una arquitectura de Kubernetes para MLOps, es importante tener en cuenta los siguientes factores al seleccionar los nodos:

  1. El tipo y la cantidad de recursos que requieren las aplicaciones (p. ej., CPU, memoria, GPU).
  2. La latencia de la red entre los nodos y la ubicación de almacenamiento de datos.
  3. La ubicación de cualquier hardware especializado necesario para las cargas de trabajo de aprendizaje automático.

Para optimizar la selección de nodos, puedes usar herramientas como los selectores de nodos, la afinidad de nodos y las contaminaciones y tolerancias. Por ejemplo, puedes usar selectores de nodos para especificar qué nodos son adecuados para las cargas de trabajo de aprendizaje automático que requieren GPU.

Ejemplo de ilustración: supongamos que tiene un conjunto de datos grande con el que necesita entrenar un modelo de aprendizaje automático y desea utilizar un enfoque de entrenamiento distribuido para acelerar el proceso. Decides usar TensorFlow y ejecutar el trabajo de entrenamiento en un clúster de Kubernetes. Para optimizar el rendimiento del trabajo de entrenamiento, debes asegurarte de que los nodos que selecciones para ejecutar el trabajo tengan la combinación correcta de recursos de CPU, GPU, memoria y almacenamiento. Por ejemplo, es posible que desees seleccionar nodos que tengan GPU con una cantidad determinada de memoria o nodos que tengan almacenamiento SSD para un acceso más rápido a los datos.

¿Cómo usar los selectores de nodos y la afinidad para el escenario anterior?

En este escenario, puedes usar etiquetas de nodos y selectores de nodos en Kubernetes para asegurarte de que tu trabajo de entrenamiento de aprendizaje automático se ejecute en nodos con la combinación correcta de recursos. Puedes etiquetar los nodos del clúster en función de sus especificaciones de hardware, como el tipo de CPU, el tipo de GPU, el tamaño de la memoria y el tipo de almacenamiento, y luego usar los selectores de nodos en la especificación de tu trabajo de entrenamiento para especificar qué nodos usar.

Por ejemplo, puedes definir un selector de nodos en la especificación de trabajo de TensorFlow que seleccione los nodos con una determinada combinación de etiquetas, como «CPU=Intel» y «GPU=nVidia» y «Memory>=32GB». Esto garantizaría que tu trabajo de entrenamiento se ejecute en nodos con las especificaciones de hardware correctas, lo que optimizaría el rendimiento del trabajo y reduciría el tiempo necesario para entrenar el modelo.

Como alternativa, puedes usar las reglas de afinidad y antiafinidad de los nodos de Kubernetes para especificar requisitos de programación más complejos, como programar pods solo en nodos que tienen un determinado conjunto de etiquetas o evitar programar pods en nodos que tienen ciertas etiquetas. Esto proporcionaría un control más detallado sobre la programación del trabajo de entrenamiento y podría ayudar a garantizar que se ejecute en los nodos más adecuados para la tarea.

Administración de recursos

La administración de los recursos es fundamental para garantizar que las aplicaciones y los servicios se ejecuten sin problemas y de manera eficaz en Kubernetes. También ayuda a prevenir problemas de rendimiento y reduce la probabilidad de errores

Al diseñar una arquitectura de Kubernetes para MLOps, tenga en cuenta las siguientes prácticas recomendadas para la administración de recursos:

  1. Utilice las solicitudes y los límites de recursos para especificar la cantidad de CPU y memoria que necesitan las aplicaciones.
  2. Utilice el escalado automático (HPA) de módulos horizontales para escalar automáticamente la cantidad de réplicas en función del uso de la CPU o la memoria.
  3. Usa herramientas nativas de Kubernetes, como kube-top, kube-state-metrics y Prometheus, para supervisar el uso de los recursos.

Alta disponibilidad

En una arquitectura mLOps, la alta disponibilidad es esencial para garantizar que los servicios estén siempre disponibles para los usuarios, incluso en caso de fallas, lo que mejora la confiabilidad de las cargas de trabajo de aprendizaje automático y reduce la probabilidad de interrupciones.

Para lograr una alta disponibilidad en Kubernetes, tenga en cuenta lo siguiente:

  1. Utilice múltiples réplicas de aplicaciones críticas para garantizar que puedan sobrevivir a las fallas de los nodos.
  2. Usa un balanceador de cargas para distribuir el tráfico a varias réplicas.
  3. Utilice las herramientas nativas de Kubernetes, como las sondas de preparación y las sondas de actividad, para detectar los errores de las aplicaciones y recuperarse de ellos.
Ejemplo ilustrativo: supongamos que es una empresa de SaaS que ofrece a sus clientes un motor de recomendaciones basado en ML. Su motor de recomendaciones utiliza un modelo de aprendizaje profundo que requiere una cantidad considerable de recursos informáticos para su entrenamiento y funcionamiento. Debe asegurarse de que su carga de trabajo de aprendizaje automático tenga una alta disponibilidad y de que pueda asignar los recursos de manera eficaz para gestionar las fluctuaciones de la demanda.

Administrar los recursos y garantizar la alta disponibilidad mediante funciones internas de Kubernetes

Para administrar sus recursos de manera eficaz, puede usar las funciones de administración de recursos integradas de Kubernetes, como las solicitudes, los límites y las cuotas de recursos. Puedes definir las solicitudes y los límites de recursos para cada componente de tu motor de recomendaciones, como el servidor web, la base de datos y el modelo de aprendizaje automático. Esto garantizaría que a cada componente se le asigne la cantidad correcta de recursos para funcionar de manera eficiente y que no se desperdicien recursos en un sobreaprovisionamiento.

Además, puedes configurar un escalador automático de módulos horizontales (HPA) en Kubernetes que escale automáticamente tu motor de recomendaciones en función de la demanda. La HPA supervisaría la utilización de los recursos de su carga de trabajo y ajustaría la cantidad de réplicas de cada componente para adaptarla a la demanda. Esto garantizaría que dispone de la cantidad adecuada de recursos disponibles para gestionar las fluctuaciones de la demanda y que no está realizando un aprovisionamiento excesivo o insuficiente.

Para garantizar una alta disponibilidad de su carga de trabajo, puede implementar su motor de recomendaciones en varias zonas de disponibilidad (AZ) de la infraestructura de su proveedor de nube. Puedes usar las reglas de afinidad y antiafinidad de nodos de Kubernetes para asegurarte de que cada componente de tu carga de trabajo se distribuya en varias zonas de disponibilidad. Esto garantizaría que, si una zona de disponibilidad deja de funcionar, tu carga de trabajo continúe funcionando, lo que garantiza una alta disponibilidad.

Además, puede configurar un balanceador de carga para distribuir el tráfico a las diferentes réplicas del componente de su servidor web, garantizando así que el tráfico esté equilibrado en todas las réplicas disponibles. Esto evitaría que una sola réplica se sobrecargara y garantizaría que su carga de trabajo pueda gestionar altos niveles de tráfico.

Seguridad

La seguridad es una consideración fundamental al diseñar una arquitectura de Kubernetes para MLOps y puede ayudar a garantizar que las cargas de trabajo de aprendizaje automático y los datos asociados estén protegidos contra el acceso no autorizado y las filtraciones de datos.

«La seguridad no es solo una idea de último momento para el aprendizaje automático, sino que es una parte fundamental del proceso de desarrollo. Desde la recopilación de datos hasta la implementación del modelo, cada paso del proceso de aprendizaje automático debe considerarse desde una perspectiva de seguridad. Esto es especialmente cierto cuando se trata de datos confidenciales o cuando se implementan modelos en entornos de producción donde están expuestos a posibles atacantes. Como profesionales del aprendizaje automático, debemos ser proactivos a la hora de identificar y mitigar los riesgos de seguridad, y evaluar continuamente nuestra postura de seguridad a medida que surjan nuevas amenazas».
-Dr. Tracy Hammond, profesora de Ciencias e Ingeniería de la Computación en la Universidad A&M de Texas y directora del laboratorio de reconocimiento de bocetos

Para garantizar la seguridad de su infraestructura, tenga en cuenta las siguientes prácticas recomendadas:

  1. Use RBAC para restringir el acceso a los recursos en función de los roles de los usuarios.
  2. Usa políticas de red para restringir el tráfico entre los espacios de nombres y los pods.
  3. Usa herramientas de administración de secretos, como Vault o Kubernetes Secrets, para almacenar datos confidenciales, como claves de API y contraseñas.
  4. Usa imágenes de contenedor de fuentes confiables y escanéalas en busca de vulnerabilidades con herramientas como Clair o Trivy.

Conclusión

En conclusión, Kubernetes proporciona una plataforma potente para implementar una infraestructura de MLOps que puede adaptarse a los requisitos únicos de las cargas de trabajo de aprendizaje automático. Al considerar cuidadosamente el diseño de los espacios de nombres, la selección de nodos y la administración de los recursos, los profesionales del aprendizaje automático pueden garantizar que sus cargas de trabajo de aprendizaje automático se ejecuten de manera eficiente, segura y con alta disponibilidad. Con la creciente demanda de una infraestructura escalable y flexible para las cargas de trabajo de aprendizaje automático, Kubernetes es una herramienta valiosa para los profesionales de MLOps que desean mantenerse a la vanguardia. Esperamos que este blog le haya proporcionado una introducción útil sobre la implementación de la infraestructura de MLOps en Kubernetes, y le animamos a que explore más a fondo esta potente plataforma para respaldar sus propios flujos de trabajo de aprendizaje automático.

True Foundry es un PaaS de implementación de aprendizaje automático sobre Kubernetes para acelerar los flujos de trabajo de los desarrolladores y, al mismo tiempo, permitirles una flexibilidad total a la hora de probar e implementar modelos, al tiempo que garantiza una seguridad y un control totales para el equipo de Infra. A través de nuestra plataforma, permitimos a los equipos de aprendizaje automático implementar y supervisar modela en 15 minutos con un 100% de confiabilidad, escalabilidad y la capacidad de revertirse en segundos, lo que les permite ahorrar costos y lanzar los modelos a la producción más rápido, lo que permite obtener un verdadero valor empresarial.

La forma más rápida de crear, gobernar y escalar su IA

Inscríbase
Tabla de contenido

Controle, implemente y rastree la IA en su propia infraestructura

Reserva 30 minutos con nuestro Experto en IA

Reserve una demostración

La forma más rápida de crear, gobernar y escalar su IA

Demo del libro

Descubra más

October 5, 2023
|
5 minutos de lectura

<Webinar>GenAI Showcase para empresas

Best Fine Tuning Tools for Model Training
May 3, 2024
|
5 minutos de lectura

Las 6 mejores herramientas de ajuste para el entrenamiento de modelos en 2026

May 25, 2023
|
5 minutos de lectura

LLM de código abierto: abrazar o perecer

August 27, 2025
|
5 minutos de lectura

Mapeando el mercado de la IA local: desde chips hasta aviones de control

April 22, 2026
|
5 minutos de lectura

Mercados de agentes de IA: el futuro de la automatización de nivel empresarial

No se ha encontrado ningún artículo.
Detailed Guide to What is an AI Gateway?
April 22, 2026
|
5 minutos de lectura

¿Qué es AI Gateway? Conceptos básicos y guía

No se ha encontrado ningún artículo.
April 22, 2026
|
5 minutos de lectura

Aprovechar la puerta de enlace de IA de TrueFoundry para el cumplimiento de FIPS

No se ha encontrado ningún artículo.
April 22, 2026
|
5 minutos de lectura

Integración de GraySwan con TrueFoundry

No se ha encontrado ningún artículo.
No se ha encontrado ningún artículo.

Blogs recientes

Realice un recorrido rápido por el producto
Comience el recorrido por el producto
Visita guiada por el producto