Despliegue de modelo en batch

Contenido del Bootcamp Dirigido por: | Última modificación: 12 de abril de 2024 | Tiempo de Lectura: 3 minutos

Algunos de nuestros reconocimientos:

Premios KeepCoding

En este post vamos a ver algunas generalidades del despliegue de modelo en batch.

Recordemos que en el despliegue de modelo en batch, el modelo entrenado se implementa en un servidor de producción y se configura para aceptar entradas en forma de lotes de datos (batches). Estos lotes se procesan simultáneamente y se generan salidas correspondientes. Veamos, por tanto, en qué consiste el despliegue de modelo en batch.

¿Qué es un modelo en batch?

El modelo en batch es un enfoque de entrenamiento de modelos de machine learning que procesa los datos en lotes (batches). En lugar de alimentar todos los datos de entrenamiento a la vez, el modelo en batch divide los datos en lotes más pequeños y los procesa por separado.

Por ejemplo, en lugar de alimentar 1000 imágenes en un modelo de red neuronal convolucional para el entrenamiento, estas se pueden dividir en lotes de 100 imágenes para procesar cada lote por separado. Después de procesar todos los lotes, el modelo actualizará sus pesos en función de la media de los errores de cada lote.

El modelo en batch es útil porque permite el procesamiento de grandes cantidades de datos sin requerir una gran cantidad de memoria RAM. Además, puede acelerar el proceso de entrenamiento al procesar varios lotes simultáneamente utilizando múltiples núcleos de procesamiento.

Puntos claves de la inferencia en el despliegue de modelo en batch

Para hacer el despliegue de modelo en batch deben tenerse en cuenta algunos puntos importantes.

Despliegue de modelo en Batch
Despliegue de modelo en batch

Incrementar la automatización

Uno de los aspectos fundamentales y que cabe resaltar en el despliegue de modelo en batch es que todo esto se hace para incrementar la automatización, es decir, se busca ser lo más eficientes posible a la hora de desarrollar y que todo esté trazable.

No es ideal entrenar un modelo en el notebook de Jupyter, ponerlo en cualquier sitio y empezar a generar predicciones. Por eso debemos tener en cuenta:

Experimentación manual

Para todos estos procesos debemos tener unas pautas, una forma de establecer la experimentación y de cuadrar las métricas.

Es relevante saber decir con qué datos específicos hemos entrenado un modelo, qué modelos de salida hemos generado que estén en determinado bucket y mencionar la forma en la que están guardados y el formato con el que se guardaron.

Pipelines automáticos de entrenamiento

También es importante que todo esto esté automatizado con pipelines. Como primera instancia, es normal usar los notebooks para realizar modelos y los preprocesamientos. No obstante, en pasos más avanzados hay que convertir todo esto en algo que sea más automático. Esta es precisamente la parte en donde entran los pipelines.

Inferencias programadas y autosuficientes

Se debe tener en cuenta que todas las inferencias sean programadas y autosuficientes y que no dependan de ningún agente externo para su adecuado funcionamiento.

Trazabilidad y reproducibilidad

Cuando vamos a hacer algo en producción, debemos asegurarnos de que se cumpla. De cara a asegurar toda trazabilidad y la reproducibilidad (reproducir la misma ejecución, cuantas veces deseemos, y que siempre dé los mismos resultados), debemos resolver las siguientes preguntas:

  • ¿Qué datos se han empleado?
  • ¿Cuándo se ha entrenado/inferido?
  • ¿Qué parámetros tiene el modelo?
  • ¿Qué código enlazado se ha usado del repositorio?
  • ¿Qué resultado hemos obtenido y dónde?

Despliegue de modelo online

Paralelo al despliegue de modelo en batch, existe el despliegue de modelo online.

En este tipo de despliegue nos dan datos en tiempo real y generamos respuestas también en tiempo real, que devolvemos directamente a un servicio (podemos devolverlas, por ejemplo, a una aplicación móvil, a una página web, etc.). Todo esto utiliza microservicios o API.

Cuando, por ejemplo, hacemos una consulta en Google, esto es un llamado a una API, que es un microservicio desplegado en algún sitio.

¿Qué sigue?

Ahora que has entendido cómo funciona el despliegue de modelo en batch y el despliegue online, es la hora de seguir formándote en alguna de las numerosas temáticas del mundo del Big Data. En KeepCoding, contarás con la guía de grandes expertos a través de la teoría y la práctica para que, en unos pocos meses, te conviertas en un gran profesional IT. Échale un ojo al temario del Big Data, Inteligencia Artificial & Machine Learning Full Stack Bootcamp y descubre esta formación intensiva e íntegra que catapultará tu carrera. ¡Solicita ahora mismo más información y da el salto que transformará tu futuro!

Posts más leídos

¡CONVOCATORIA ABIERTA!

Big Data, IA & Machine Learning

Full Stack Bootcamp

Clases en Directo | Profesores en Activo | Temario 100% actualizado