Qué es
La inferencia es todo lo que ocurre después del entrenamiento: se introduce un prompt y el modelo produce una respuesta. No se aprende nada; los pesos se mantienen fijos. Cada chat de prueba, cada respuesta de evaluación, cada veredicto de juez y cada respuesta en producción es inferencia.
Cómo funciona
Un modelo genera texto un token a la vez. Primero lee todo el prompt en una sola pasada (llamado prellenado), lo cual es rápido porque todos los tokens se pueden procesar en paralelo. Luego decodifica: predice el siguiente token, lo añade y repite el proceso hasta que produce un token de finalización o alcanza un límite de longitud. Cada nuevo token necesita otra pasada por el modelo, razón por la cual las respuestas largas tardan más que las preguntas largas.
- El tiempo hasta el primer token es principalmente prellenado: a prompts más largos, mayor es la espera antes de que aparezca algo.
- Los tokens por segundo representan la velocidad de decodificación: determinan la rapidez con la que se transmite la respuesta.
- La configuración de muestreo, como la temperatura, decide cómo se elige el siguiente token a partir de las probabilidades del modelo. Los valores bajos hacen que las respuestas sean más predecibles; los valores altos, más variadas.
- Procesamiento por lotes: un servidor responde a muchas solicitudes a la vez para mantener ocupada la GPU. Los sistemas de servicio como vLLM gestionan la memoria tan bien que aumentaron el rendimiento entre 2 y 4 veces en comparación con los sistemas anteriores con la misma latencia.
Despliegue
El entrenamiento produce un conjunto de pesos almacenados en el proveedor. Para responder, esos pesos deben ser desplegados: cargados en la memoria de una o más GPU, detrás de un endpoint que acepta solicitudes. La memoria necesaria es aproximadamente el número de parámetros multiplicado por los bytes utilizados por parámetro:
memory for weights ≈ parameters × bytes per parameter
7B model × 2 bytes (16-bit) ≈ 14 GB
70B model × 2 bytes (16-bit) ≈ 140 GB → several GPUsAsignar ese hardware, descargar los pesos y cargarlos en la memoria de la GPU es el inicio en frío. Para los modelos gestionados suele ser rápido o invisible; para los modelos abiertos en GPU dedicadas suele tardar de 10 a 40 minutos. Una vez cargado, el despliegue se mantiene en caliente y responde en segundos, durante todo el tiempo que exista.
- 01Elegir duracióncoste por hora mostrado por adelantado
- 02Desplegandocarga de pesos · arranque en frío
- 03Activochat · el contador avanza
- 04Eliminandose detiene la facturación
- Ha finalizado una ejecución supervisada en un modelo abierto de 8000 millones de parámetros. En precisión de 16 bits, sus pesos ocupan unos 16 GB, por lo que necesita una GPU con más memoria que esa, además de espacio para las solicitudes que se están procesando.
- Usted inicia un chat de prueba durante dos horas. El precio por hora se muestra antes de crear nada.
- Despliegue: se asigna la GPU y se cargan los pesos. Esto tarda unos 15 minutos; la facturación del despliegue ha comenzado.
- En vivo: cada pregunta se responde en uno o dos segundos. Usted prueba diez preguntas reales de la semana pasada.
- Usted termina antes y finaliza la sesión. Eliminando elimina el despliegue y la facturación se detiene. Costo: el tiempo que existió el despliegue × el precio por hora, independientemente de las pocas preguntas que haya hecho.
Errores comunes
- Dejar un despliegue dedicado en ejecución durante la noche «por si acaso»: se factura por hora, se use o no.
- Juzgar un modelo por su primera respuesta tras un inicio en frío, o por el tiempo de respuesta mientras aún se está cargando.
- Probar con una configuración de muestreo diferente o un prompt del sistema distinto a los utilizados en la evaluación.
- Esperar que un modelo ajustado sepa cosas que ocurrieron después del entrenamiento: la inferencia no aprende.
Referencias y lecturas adicionales
Las fuentes externas se abren en una pestaña nueva.
- 01Efficient Memory Management for Large Language Model Serving with PagedAttentionKwon et al., 2023 · arXiv · arxiv.orgEl artículo sobre vLLM: cómo los sistemas de servicio procesan solicitudes por lotes y gestionan la memoria de la GPU.
- 02Text Generation InferenceHugging Face docs · huggingface.coUn stack de servicio en producción para modelos abiertos, con sus características explicadas.
- 03Inference EndpointsHugging Face docs · huggingface.coLo que implica desplegar un modelo detrás de un endpoint gestionado.
- 04Cold start (computing)Wikipedia · en.wikipedia.orgLa idea general de un inicio en frío.