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

True ML Talks #13 - ML Platform @ Cookpad

Por TrueFoundry

Actualizado: June 12, 2023

Resumir con

Volvemos con otro episodio de True ML Talks. En este artículo, profundizaremos en la arquitectura de aprendizaje automático de Cookpad, una de las plataformas de servicios de recetas más grandes del mundo. También abordaremos los desafíos de crear una plataforma de aprendizaje automático exitosa y cómo utilizan el servidor de inferencia Triton de Nvidia para ejecutar modelos.
Estamos hablando con José Navarro

Jose es el ingeniero principal de plataformas de aprendizaje automático en Cookpad y trata de ayudar a los ingenieros de aprendizaje automático y a todos los profesionales del aprendizaje automático a ofrecer sistemas de aprendizaje automático de forma rápida y confiable.

📌

Nuestras conversaciones con José abordarán los siguientes aspectos:
- Estructura de los equipos de ML en Cookpad
- Infraestructura ML basada en GPU
- Despliegue automatizado de modelos en Cookpad
- Integración y configuración de la tienda de funciones para la inferencia en línea
- Gestión de fuentes de datos y funciones durante los experimentos con modelos
- Uso de los flujos de trabajo de Argo para volver a entrenar modelos de aprendizaje automático
- El servidor Triton Inference de Nvidia y sus ventajas
- Integración del registro de modelos de MLFlow con el servidor de inferencia Triton
- Aprovechar los LLM y la generación de IA en Cookpad
- Adaptación de la arquitectura mLOps a sus necesidades

Mira el episodio completo a continuación:

Estructura de los equipos de ML en Cookpad

  1. Ingenieros de aprendizaje automático: El equipo principal de ML está formado por ingenieros con experiencia tanto en aprendizaje automático como en ingeniería de software. Son responsables de desarrollar, capacitar e implementar modelos de aprendizaje automático, colaborando estrechamente con los equipos de productos.
  2. Equipo de plataforma: El equipo de la plataforma apoya a los ingenieros de ML administrando la infraestructura subyacente, incluidos los clústeres de Kubernetes. Garantizan la escalabilidad, la confiabilidad y el rendimiento de los sistemas de aprendizaje automático. Además, desarrollan y mantienen herramientas y marcos internos para agilizar el proceso de desarrollo del aprendizaje automático.

Infraestructura ML basada en GPU

  1. Infraestructura basada en la nube: Cookpad opera su infraestructura de aprendizaje automático en la nube, principalmente mediante AWS, con algunos recursos en GCP. La infraestructura está diseñada para gestionar la escala y las exigencias de la base de usuarios global de Cookpad.
  2. Procesamiento de datos y extracción de funciones: El contenido y las acciones generados por los usuarios se ingieren a través de Kafka y se procesan en un servicio de streaming. Las funciones se calculan y almacenan en la tienda de funciones de Amazon SageMaker, donde Amazon Redshift actúa como almacén de datos.
  3. Arquitectura de microservicios y capa de inferencia: La plataforma ML de Cookpad se basa en una arquitectura de microservicios implementada en Kubernetes. El preprocesamiento se produce dentro de los microservicios y el servidor de inferencia de Nvidia se utiliza para la inferencia del aprendizaje automático.
  4. Plataforma de experimentación ML Engineer: Cookpad proporciona una plataforma de experimentación para ingenieros de aprendizaje automático, que incluye servidores Jupyter para la exploración de datos y el entrenamiento de modelos. MLFlow se utiliza para el seguimiento de experimentos y el registro de modelos.
  5. Despliegue y automatización de modelos: Los ingenieros de aprendizaje automático registran los modelos en MLFlow y los procesos de automatización gestionan la transformación y el despliegue de los modelos en el servidor de inferencia de Nvidia (Triton).
  6. Casos de uso intensivo de GPU: La infraestructura de GPU de Cookpad admite varios modelos, incluidos los modelos multilingües y los embebidores de imágenes. Los modelos multilingües utilizan grandes redes neuronales, mientras que los embebidores de imágenes requieren muchos cálculos. Los modelos se implementan en las GPU de forma predeterminada mediante el servidor de inferencia Triton de Nvidia.

Despliegue automatizado de modelos en Cookpad

  1. Jupyter Hub para experimentación: Los ingenieros de aprendizaje automático de Cookpad tienen acceso a un entorno gestionado de Jupyter Hub donde pueden realizar sus experimentos. El equipo admite varios núcleos de Jupyter Hub con fines de experimentación.
  2. Publicación de modelos en MLFlow: Una vez que el ingeniero de ML haya desarrollado un modelo y obtenido resultados satisfactorios, puede publicar el modelo en MLFlow, que sirve como plataforma de registro de modelos y seguimiento de experimentos.
  3. Automatización de extremo a extremo: Cookpad ha implementado una canalización automatizada de extremo a extremo para la implementación de modelos. El proceso de automatización sustituye al registro de modelos de MLFlow y hace que el modelo avance sin problemas a lo largo del proceso de implementación.
  4. Marcos de backend compatibles: La canalización de automatización de Cookpad admite un subconjunto de marcos de backend, incluidos PyTorch, TensorFlow y ONNX. Estos marcos se utilizan para optimizar e implementar los modelos de manera eficaz.
  5. De forma predeterminada, PyTorch y TensorFlow: Si bien Cookpad admite varios marcos de backend, el equipo tiende a utilizar PyTorch y TensorFlow de forma predeterminada para el desarrollo y la implementación de modelos debido a su uso generalizado y su compatibilidad con la infraestructura.

📌

Despliegue automatizado de modelos con MLFlow y soporte de backend:
Cuando un ingeniero de aprendizaje automático está experimentando en Cookpad, tiene acceso a un centro Jupyter administrado donde puede ejecutar sus experimentos y utilizar varios núcleos. Una vez que han desarrollado un modelo, lo publican en MLFlow, que sirve como registro del modelo. A partir de ahí, el proceso está completamente automatizado.
La canalización de automatización de Cookpad admite una lista de backends que son compatibles tanto con MLFlow como con el Triton Inference Server. Los backends compatibles incluyen PyTorch, TensorFlow, Onnx y otros. El proceso de automatización gestiona la implementación de los modelos registrados y aprovecha el backend adecuado en función de la compatibilidad. Las opciones predeterminadas para la implementación suelen ser PyTorch o TensorFlow, y Onnx se utiliza para optimizar ciertas redes neuronales.

Integración y configuración de Feature Store para la inferencia en línea

En Cookpad, los científicos de datos utilizan la tienda de funciones tanto para la experimentación como para la inferencia en línea. Durante la experimentación, tienen acceso sin conexión a Internet para consultar las funciones existentes para el entrenamiento de modelos. Al explorar nuevas funciones, los datos se extraen del almacén de datos, se transforman y se utilizan para crear nuevas funciones. Una vez satisfechos con el rendimiento del modelo, los científicos de datos simplemente crean un nuevo grupo de funciones en el almacén de funciones mediante el esquema del repositorio.

Los datos fluyen del almacén de datos al almacén de funciones a través de Kafka, lo que permite la transmisión de las funciones recién creadas. Para permitir la inferencia en línea, los científicos de datos amplían el servicio de streaming para consumir los eventos relevantes y realizar transformaciones. Durante el registro del modelo, los científicos de datos especifican la construcción del modelo y las características utilizadas, y el código de transformación se configura para recuperar las características específicas por su nombre.

Esta integración entre la tienda de funciones, el almacén de datos y el servicio de streaming garantiza la incorporación perfecta de las funciones en el proceso de inferencia en línea, lo que ofrece flexibilidad para realizar ajustes y actualizaciones cuando sea necesario.

Administración de fuentes de datos y funciones durante los experimentos con modelos

Durante los experimentos con modelos, los científicos de datos de Cookpad tienen dos opciones para obtener datos. Si las funciones necesarias ya están disponibles en la tienda de funciones, pueden consultarlas directamente sin conexión a Internet. Sin embargo, cuando exploran nuevas funciones, acceden al almacén de datos, recuperan los datos y crean las transformaciones necesarias para entrenar los modelos.

La incorporación de nuevas funciones en la tienda de funciones es sencilla. Los científicos de datos envían una solicitud de extracción (PR) con los detalles del esquema de la función, y la automatización gestiona la creación del grupo de características mediante llamadas de AWS. Los datos utilizados en el almacén de datos se transmiten a través de Kafka para permitir la inferencia en línea con las funciones recién creadas. El servicio de streaming existente se amplía para consumir eventos y aplicar transformaciones, lo que garantiza el flujo de funciones por streaming a la tienda de funciones.

Para mantener la configuración de las funciones, los científicos de datos incluyen información relevante al registrar el modelo en MLFlow. El código de transformación accede directamente al almacén de funciones y, mediante la configuración, los científicos de datos especifican los nombres de las funciones requeridos. Esta flexibilidad permite modificar fácilmente las configuraciones de las funciones según sea necesario.

Uso de los flujos de trabajo de Argo para volver a entrenar modelos de aprendizaje automático

El proceso de incorporación de canalizaciones de reentrenamiento en la arquitectura es actualmente un trabajo en progreso en Cookpad. Si bien se ha centrado en repetir rápidamente las nuevas funciones de aprendizaje automático, aún se está desarrollando la implementación de canales de readiestramiento avanzados que sustituyan o vuelvan a entrenar a los modelos de forma diaria o semanal. Los sistemas de recomendación de Cookpad aún se encuentran en una fase inicial, y el enfoque iterativo permite experimentar y reemplazar modelos rápidamente mediante pruebas A/B.

Si bien existe la posibilidad de crear canalizaciones reproducibles con Argo Workflows, Cookpad reconoce que se encuentran en las primeras etapas de esta implementación. Todavía no es una solución ideal, y la reproducibilidad de las tuberías es un desafío que están abordando activamente.

Comenzar con experimentos más pequeños y sencillos y automatizar los componentes críticos de la canalización permite una arquitectura bien pensada. Cookpad dio prioridad a la automatización de las inferencias, reconociendo su importancia, y tiene previsto centrarse en el readiestramiento de las canalizaciones en el futuro. Este enfoque organizado e incremental para crear la plataforma es una experiencia de aprendizaje valiosa para la audiencia, que pone de relieve la eficacia de la metodología.

Intentar construir un sistema de extremo a extremo desde el principio a menudo resulta en componentes innecesarios o que no encajan bien. Sugiere explorar alternativas a los flujos de trabajo de Argo para crear canalizaciones reproducibles, como usar un contenedor de Python o una herramienta diferente que se adapte mejor a la familiaridad de los ingenieros de aprendizaje automático con los manifiestos de Kubernetes y se adapte mejor a sus prácticas de CI/CD.

El servidor de inferencia Triton de Nvidia y sus beneficios

  1. Decisión de utilizar el servidor de inferencia Triton: Cookpad eligió Triton Inference Server para abordar los desafíos de ejecutar inferencias en las GPU de Kubernetes, optimizando el costo y el rendimiento y teniendo en cuenta el equilibrio entre el costo y el valor empresarial.
  2. Ventajas del servidor de inferencia Triton: Triton Inference Server ofrece optimización de costos al agregar modelos, compartir recursos de GPU y enrutar solicitudes de manera inteligente para reducir los costos. Mejora el rendimiento mediante la implementación predeterminada de modelos en las GPU, lo que se traduce en una inferencia más rápida. Mejora la experiencia de usuario de los ingenieros de aprendizaje automático al simplificar la implementación mediante una única línea de mapa de configuración y una recuperación y carga de modelos sin interrupciones.

Al aprovechar el servidor de inferencia Triton de Nvidia, Cookpad logra la optimización de costos, mejora el rendimiento de la inferencia de modelos y simplifica la implementación para los ingenieros de ML.

Integración de MLFlow Model Registry con Triton Inference Server

Cookpad ha integrado MLFlow Model Registry y Triton Inference Server para agilizar la implementación de modelos a escala. Así es como lo lograron:

  1. Almacenamiento modelo MLFlow: Cuando se registra un modelo en MLFlow, se almacena en un bucket de S3 con una estructura de carpetas específica basada en las convenciones de MLFlow. El modelo puede estar en formato TensorFlow o PyTorch, cada uno con su propia estructura.
  2. Estructura del modelo de Triton: Triton Inference Server espera una estructura de carpetas diferente para cargar los modelos, incluidos los archivos de configuración. Esta desalineación requiere algunos ajustes para mover un modelo de MLFlow a Triton.
  3. Despliegue del sidecar: Cookpad desarrolló un componente de sidecar que se implementó junto con Triton Inference Server. Este pequeño contenedor de Python consulta la API de MLFlow cada minuto para identificar los modelos recién registrados. También consulta la API de Triton para comprobar qué modelos están cargados actualmente.
  4. Consolidación de modelos: Al detectar un nuevo modelo en MLFlow que no está presente en Triton, el sidecar recupera el archivo del modelo del bucket S3. Realiza los movimientos de archivos necesarios y garantiza que la estructura de carpetas se ajuste a las expectativas de Triton.
  5. Cargando modelos: A continuación, el sidecar coloca los archivos del modelo en la carpeta correspondiente dentro del volumen de Triton y llama a la API de Triton para cargar el modelo. El modelo se carga sin problemas en Triton Inference Server sin necesidad de reiniciar el servidor ni intervenir manualmente.

Al aprovechar esta integración, Cookpad permite una implementación eficiente de modelos desde MLFlow a Triton Inference Server, lo que permite la escalabilidad y las actualizaciones sencillas sin interrumpir las operaciones de inferencia en curso.

Aprovechando los LLM y la generación de IA en Cookpad

Cookpad está explorando activamente los posibles casos de uso y aplicaciones de la tecnología de modelos lingüísticos (LLM) e IA generativa (Gen AI) dentro de su plataforma. Si bien algunas implementaciones específicas aún se encuentran en la fase de exploración, estas son algunas áreas en las que Cookpad prevé aprovechar estos avances:

  1. Simplificación de la creación de recetas: Cookpad tiene como objetivo reducir la barrera para que los usuarios creen recetas mediante el uso de los LLM. Por ejemplo, los usuarios pueden utilizar aplicaciones de reconocimiento de voz en sus teléfonos inteligentes para dictar las instrucciones de las recetas mientras cocinan. Luego, las transcripciones pasan por un LLM para generar textos de recetas formateados, lo que reduce el esfuerzo necesario para documentar las recetas de manera precisa y eficiente.
  2. Reconocimiento inteligente de ingredientes: Cookpad prevé integrar las capacidades de la generación de inteligencia artificial para permitir a los usuarios tomar fotografías de los ingredientes de su refrigerador o despensa y solicitar sugerencias de recetas. El sistema de inteligencia artificial identificaría los ingredientes reconocidos y proporcionaría recomendaciones de recetas mediante el sistema de búsqueda de Cookpad.
  3. Asistencia y personalización de recetas: mediante el uso de LLM, Cookpad planea desarrollar funciones que ofrezcan asistencia y personalización de recetas. Por ejemplo, los usuarios pueden solicitar sustituciones o modificaciones de ingredientes para adaptarlos a sus preferencias o a los ingredientes disponibles. El sistema basado en la LLM proporcionaría sugerencias alternativas y agilizaría el proceso de cocción.

Durante el desarrollo y la implementación de estos casos de uso, Cookpad prioriza la privacidad y el cumplimiento de los datos de los usuarios.

Tenemos que seguir ese proceso y asegurarnos de que cumplen con las normas de seguridad.

Adaptación de la arquitectura mLOps a sus necesidades

Cuando se trata de crear una pila de inferencias en tiempo real con MLOps, no existe un enfoque único para todos. José Navarro hace hincapié en la importancia de adaptar la arquitectura en función de los requisitos específicos y del nivel de madurez de la práctica de aprendizaje automático (ML) de una empresa. Estas son algunas ideas clave sobre los componentes esenciales de una arquitectura MLOps:

  1. Comprensión de la madurez: El estado actual de la implementación del aprendizaje automático desempeña un papel crucial a la hora de determinar los componentes imprescindibles. Si una empresa se encuentra en una fase inicial y se centra principalmente en la experimentación y la entrega de modelos, es posible que el énfasis esté en ofrecer el modelo y crear la capa de inferencia. Por otro lado, para las empresas con modelos de aprendizaje automático que ya están en producción y que son fundamentales para la empresa, los procesos reproducibles, las tiendas de artículos y la observabilidad de los modelos se convierten en componentes fundamentales.
  2. Evitar complicaciones excesivas: Jose sugiere evitar la tendencia a agregar herramientas o componentes innecesarios a la pila de MLOps. En cambio, es importante centrarse en la simplificación y la resolución de problemas mediante la resta. Al eliminar los elementos no esenciales o simplificar el problema, las empresas suelen llegar a una solución más rápido. Este enfoque permite a los equipos priorizar la creación de valor y la evaluación del impacto de sus iniciativas de aprendizaje automático antes de invertir tiempo en herramientas complejas.
  3. Adopción ágil de herramientas: En lugar de seguir una lista predeterminada de artículos imprescindibles, José recomienda introducir herramientas según sea necesario. Comience por identificar los desafíos y requisitos principales, y luego introduzca gradualmente herramientas que aborden esas necesidades específicas. Por ejemplo, en lugar de dedicar mucho tiempo a investigar e integrar una tienda de características, considere la posibilidad de crear una tienda rápida de valores clave con un servicio como DynamoDB para poner en marcha el proyecto y evaluar su valor. Este enfoque iterativo permite una validación más rápida de las iniciativas de aprendizaje automático y, al mismo tiempo, minimiza la complejidad innecesaria.

Lea nuestros blogs anteriores de la serie True ML Talks:

Sigue viendo el TrueML serie youtube y leyendo el TrueML serie de blogs.

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 26, 2023
|
5 minutos de lectura

True ML Talks #23: Apps MLOps and LLMS in GitLab

May 21, 2024
|
5 minutos de lectura

¿Qué son las incrustaciones en el aprendizaje automático?

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