Inicio / Artículos

Métricas de inferencia de vLLM: desde TTFT y TPOT hasta caché KV y Goodput

Guía de producción para las métricas vLLM Prometheus: tasas de éxito, percentiles de latencia, relación IO de tokens, interrupciones, relleno previo por bloques, DPD y aceptación de decodificación especulativa.

Editor: REACTAPP.TOP13 min de lectura2973 palabras

Fuentes: A Deep Dive into vLLM Inference Metrics

El servicio a modelos de lenguaje grandes no presenta el mismo problema de observabilidad que el servicio a microservicios sin estado. El porcentaje de uso de la CPU y la latencia promedio de las solicitudes son indicadores poco fiables cuando la atención, el agrupamiento continuo y la capacidad de HBM dominan el comportamiento. El enfoque en producción ha pasado del rendimiento bruto en tokens hacia el goodput: completaciones exitosas dentro de límites estrictos definidos por SLOs.

Esta guía explica en detalle las métricas fundamentales del motor vLLM que deben mostrarse en las pantallas de Grafana: contadores de fiabilidad, histogramas de latencia, aspectos económicos relacionados con los tokens, dinámicas del caché KV, presión en el programador de tareas y opciones de topología que solo se visualizan cuando la telemetría se lee correctamente.

Estatísticas resumidas y estado del sistema

Los motores LLM a menudo fallan de forma silenciosa: generaciones degradadas y interrupciones ocultas, en lugar de mostrar errores HTTP claros. Por lo tanto, para evaluar el estado general se necesitan razones semánticas del final del proceso, no solo códigos de estado.

Tasa de éxito y distribución de razones de finalización

La tasa de éxito se calcula a partir del número total de solicitudes completadas dentro de un período determinado. En vLLM, esto implica analizar cómo finalizó el ciclo de generación, y no solo contar los resultados 200 OK. Las flotas en buen estado suelen mantener una tasa de éxito de al menos ~99.5%; caídas sostenidas por debajo del 98% indican una situación de emergencia.

El contador correspondiente es vllm:request_success_total, etiquetado con finished_reason:

  • Stop — fin natural o cadena de detención configurada. Se considera un éxito real.
  • Length — texto truncado al alcanzar el límite de contexto o generaciones.
  • Abort — desconexión del cliente o interrupción interna.

Los finales crónicos por length suelen indicar que el modelo divaga al realizar la tarea, o bien que los límites de max_model_len o de generación son demasiado estrictos para el estilo del prompt. Un enfoque típico con PromQL consiste en medir la tasa de finales por cese en relación con la tasa total de finales dentro de un período de cinco minutos.

Rendimiento vs. Convergencia al Éxito

Gráfique el rendimiento total de las solicitudes junto con los completamientos exitosos. Bajo una carga normal, las curvas deberían seguirse de cerca. Una brecha cada vez mayor significa que las GPUs gastan ciclos en tareas que nunca se consideran exitosas: tiempos de espera (interrupciones) o excesos en la longitud del texto. En pruebas de carga, grandes diferencias indican una degradación en el rendimiento del modelo o generaciones que no terminan y se acercan rápidamente a los límites de longitud.

Recolección de basura en Python y memoria del proceso

Gran parte del código crítico se ejecuta en CUDA/C++, pero la orquestación sigue siendo en Python. Haga un seguimiento de las cuentas de recolección de basura junto con el consumo de memoria del proceso.

Las inyecciones frecuentes de recolección de basura introducen variabilidad en el tiempo entre tokens. Un RSS que aumenta constantemente indica fugas en los enlaces y, con el tiempo, provoca la activación del asesino de memoria insuficiente. Los pods pueden parecer “en orden” en términos de uso de CPU, ya sea estando inactivos o ocupados; son los pools de memoria no gestionados donde aparece la muerte silenciosa.

Cuantificación de la latencia y la experiencia del usuario

La latencia generativa tiene una distribución de cola larga. Las medias ocultan los problemas reales; son obligatorios los valores P50/P90/P99 y similares.

Latencia de solicitud de extremo a extremo

E2E abarca desde la llegada del mensaje hasta el token final y su cierre. vLLM expone vllm:e2e_request_latency_seconds como un histograma. Los cuantiles se calculan con histogram_quantile(), utilizando interpolación lineal dentro de los intervalos. Los picos irregulares en el P99 suelen indicar que el procesador por lotes continuo no puede intercalar las llegadas de manera ordenada; es momento de analizar el planificador y la presión en la caché.

Tiempo hasta el primer token (TTFT) P99

TTFT es la métrica de interactividad. La guía de HCI establece como objetivo mantenerla por debajo de un segundo antes de que aumente la frustración.

TTFT está determinada principalmente por el proceso de prefill: se lee la solicitud, se concentra la atención y se crea el caché KV inicial. El costo escala aproximadamente con el cuadrado de la longitud de la secuencia multiplicado por su ancho; se trata de cálculos limitados por TFLOPS. Ejemplo de escala: un prefill de 512 tokens en un modelo de ~70B implica decenas de TFLOPs.

PromQL para TTFT P99:

histogram_quantile(0.99, sum(rate(vllm:time_to_first_token_seconds_bucket[5m])) by (le))

En las interfaces de chat, TTFT P99 suele ser la restricción determinante. Los grandes tamaños ocultos en las GPUs de gama media (por ejemplo, de la clase L40S) pueden hacer que TTFT sea inaceptable independientemente del agrupamiento de solicitudes, lo que lleva a los equipos a optar por modelos más pequeños o chips con mayor capacidad de TFLOPS (de la clase H100).

Tiempo por token de salida (TPOT) y desglose de la etapa de inferencia

Después del primer token, toma el control el proceso de decode. TPOT (latencia entre tokens) mide la velocidad de generación de los tokens siguientes.

La decodificación suele estar limitada por el ancho de banda de la memoria: en cada paso se vuelven a cargar los pesos y el historial KV desde la HBM hacia las unidades de cómputo, con baja intensidad aritmética (~1 FLOP/byte para rutas densas sin MoE).

Una descomposición útil:

E2E ≈ TTFT + (N_output − 1) × TPOT

Los gráficos de desglose por etapas muestran la proporción de prefill frente a la proporción de decodificación:

  • Alto tiempo de prefill → prompts largos o TFLOPS bajos.
  • Alto tiempo de decodificación → outputs largos o ancho de banda de HBM saturado.

Comparar TTFT con TPOT bajo cargas crecientes es la forma más rápida de identificar el cuello de botella.

Rendimiento por token y caracterización de la carga de trabajo

No se puede determinar el precio del hardware sin considerar la latencia en relación con el volumen de datos.

Rendimiento por token y la relación IO

Dividir el rendimiento en tokens de prompt por segundo y tokens de generación por segundo. Totales más altos a largo plazo permiten amortizar mejor el costo del uso de la GPU.

La relación token IO (tokens de prompt sobre tokens de generación) caracteriza el trabajo:

  • Alta (~20:1) — entradas largas, salidas cortas: RAG, resumen, clasificación. Uso intensivo de prefill.
  • Baja — prompts cortos, generaciones largas: chat abierto, generación de código. Uso intensivo de decode/HBM.

Una topología que no coincide con la relación desperdicia dinero: RAG en pools optimizados para decode, o chat de formato largo en placas con escaso prefill.

Mapa de calor de longitud de solicitud (Prompt)

Los mapas de calor de longitud de prompt muestran si el tráfico tiene una distribución unimodal y estable o una mezcla de prompts pequeños y grandes. Colas pesadas en la longitud del prompt explican los picos de TTFT incluso cuando el QPS parece moderado.

Internos del motor y dinámicas de caché

La latencia externa depende del estado del caché KV y del programador.

Uso del caché KV de GPU

Controla qué tan lleno está el pool KV. A medida que aumenta la ocupación, el procesamiento por lotes continuo permite menos secuencias; al superar un umbral, el motor interrumpe el proceso.

Tasa de acierto y ahorros en el caché de prefijos

El caché de prefijos reutiliza los valores KV para prefijos comunes en las solicitudes (solicitudes del sistema, encabezados RAG). La tasa de acierto y los ahorros obtenidos mediante el relleno previo permiten determinar si el diseño y la ruta de las solicitudes realmente comparten prefijos, o si accidentalmente se hace único cada pedido.

Estatus del programador y eficiencia del sistema

Observa las cifras de procesamiento en curso frente a las de espera. Un aumento en el tiempo de espera con un procesamiento estable suele indicar límites en KV o en max_num_seqs, y no que la CPU esté ocupada.

Estatus del programador y tasa de interrupciones

Cuando KV no puede almacenar los vectores del siguiente token, vLLM interrumpe el proceso. vllm:num_preemptions_total es un contador límite: valores distintos de cero indican que las interrupciones constantes requieren más VRAM, más réplicas o un límite más bajo para max_num_seqs.

Eficiencia del sistema y tiempo en la cola de solicitudes

La eficiencia del sistema compara el ritmo de procesamiento con el ritmo de llegada de solicitudes. Un valor cercano a 1.0 significa que las solicitudes se manejan de inmediato; valores por debajo de ~0.7 indican que la cola de espera crece más rápido de lo que las GPUs pueden procesarlas.

Ese problema se refleja en vllm:request_queue_time_seconds: es el tiempo que se pasa esperando antes de poder realizar cálculos útiles. El tiempo en la cola aumenta el tiempo total de ejecución sin que se generen tokens.

Los métodos clásicos de HPA basados en CPU fallan aquí. Conecte vllm:num_requests_waiting y las métricas de tiempo en la cola a través de un adaptador Prometheus para que HPA escale según la profundidad de la cola (por ejemplo, cuando hay muchas solicitudes en espera) en lugar de basarse en ilusiones relacionadas con la CPU.

Infraestructura, equilibrio de carga y topologías avanzadas

Las señales de software deben coincidir con la realidad del hardware.

Equilibrio de carga y utilización del hardware

La duración de las solicitudes de LLM varía enormemente: minutos para generaciones largas frente a respuestas instantáneas y breves. Por lo tanto, el método round-robin desequilibra los grupos de procesamiento. Es preferible utilizar equilibradores que tengan en cuenta el nivel de trabajo en curso.

Verifique también con DCGM:

  • Utilización de GPU — se desea un alto rendimiento con colas cortas; una alta utilización junto con colas largas indica saturación.
  • VRAM utilizada — confirma que vLLM reservó la fracción deseada al inicio.

Resolución del conflicto entre prefill y decodificación

Un proceso de prefill intensivo basado en cálculos dentro de un lote mixto puede monopolizar los núcleos tensoriales y detener toda decodificación en curso, lo que provoca picos en el TPOT e interrupciones en las transmisiones.

Dos estrategias de mitigación son las más importantes: el prellenado por bloques y el prellenado/descodificación desagregados.

Prellenado por bloques

Se dividen los prompts muy largos en bloques fijos (por ejemplo, 512 tokens) y se intercalan estos bloques con los pasos de descodificación de otras solicitudes. El TTFT para los recién llegados aumenta ligeramente; el TPOT de todos los demás se estabiliza. Se observan histogramas ITL más suaves, un costo P50 de TTFT moderado y mayores mejoras en la estabilidad del flujo a nivel P99.

Prellenado y descodificación desagregados (DPD)

A escala mayor, se separan las fases en diferentes grupos de hardware: el prellenado se realiza en GPUs con alto rendimiento en TFLOPS, mientras que la descodificación se hace en GPUs con gran capacidad de HBM; los datos KV se transfieren a través de la red después del prellenado. Hay que monitorizar los tiempos y cantidades de bytes transferidos por NIXL (o equivalente), como vllm:nixl_xfer_time_seconds_sum y vllm:nixl_bytes_transferred_sum. El DPD solo es ventajoso cuando el tiempo de transferencia es menor que la interferencia que elimina; la calidad de RDMA/NCCL determina ese cálculo.

Matemáticas de decodificación especulativa

La decodificación especulativa acelera el proceso de decodificación limitado por la memoria mediante un modelo preliminar que propone tokens y un modelo objetivo que verifica muchos de ellos en una sola pasada. La verificación de varios tokens puede costar aproximadamente un paso de generación de cálculos, superando los límites del HBM cuando los borradores son buenos.

Indicador clave: tasa de aceptación de borradores (vllm:spec_decode_draft_acceptance_rate). La cantidad esperada de tokens aceptados por paso sigue una serie geométrica según la probabilidad de aceptación α. Si α es inferior a ~0.5, la sobrecarga generada por los borradores puede superar los ahorros y ralentizar el sistema.

Evalúe los borradores a temperatura de producción. Las pruebas con enfoque codicioso (T=0) pueden mostrar α≈0.8, mientras que el tráfico creativo con T=1.0 hace que la misma pareja baje a α≈0.4, convirtiendo una optimización en una regresión.

Arquitectura de telemetría multiproceso de Prometheus

El servidor de vLLM compatible con OpenAI utiliza multiprocesamiento. Los clientes naïves de Prometheus no funcionan correctamente entre los procesos trabajadores (debido al GIL y a la memoria dividida).

La solución es utilizar prometheus_client.multiprocess junto con PROMETHEUS_MULTIPROC_DIR: cada proceso trabajador agrega cambios a archivos mapeados en memoria; los scrapers acceden a un MultiProcessCollector que combina los resultados de OpenMetrics. Las consultas complejas de PromQL (histogram_quantile, rate) permanecen en Prometheus, no en el camino principal de inferencia; así, medir la latencia no se convierte en parte de ella misma.

Juntos, estos indicadores —razones de éxito y finalización, cuantiles TTFT/TPOT/E2E, patrón de entrada/salida de tokens, ocupación KV, interrupciones, tiempo en cola, además de estadísticas específicas de la topología y de tipo especulativo— crean un bucle cerrado que conecta los objetivos de rendimiento del usuario con las características técnicas de la GPU. Ese bucle es lo que convierte a vLLM de un servidor de demostración en una plataforma de inferencia operativa.

Mantenga un manual escrito que asocie cada métrica crítica con la primera acción a tomar: aumento de las interrupciones → reduzca max_num_seqs o agregue VRAM; solo TTFT P99 → acorte los prompts, aumente los TFLOPS o active el caché de prefijos; picos en TPOT con KV completo → reduzca la presión de decodificación o elimine interferencias en el prefill; colapso especulativo de α → ajuste nuevamente los parámetros de draft y temperatura. Associe cada cambio en capacidad con un gráfico de rendimiento antes/después en la misma traza, de modo que los gastos en hardware estén vinculados a mejoras reales en los SLO y no solo a cifras superficiales de tokens por segundo. Revise los paneles de control del ratio de E/S cada vez que cambie la combinación de productos: el lanzamiento de funciones RAG y las características de formato largo trasladan los cuellos de botella entre el prefill y la decodificación de la noche a la mañana, y los umbrales de escalado automático de ayer se convierten en colas silenciosas hoy. Finalmente, trate los directorios de métricas multiproceso como parte del ciclo de vida del pod: las rutas vacías o con permisos incorrectos en PROMETHEUS_MULTIPROC_DIR parecen resultados “sanos” con ceros, mientras que los usuarios ya perciben problemas.

la interrupción.

Al incorporar un nuevo punto de control del modelo, congele un perfil de carga (combinación de longitud de la solicitud, combinación de longitud de la salida, concurrencia) y compare las mismas pantallas PromQL antes de aumentar el tráfico. Un punto de control que obtiene buenos resultados en tokens por segundo promedio pero pierde en TTFT P99 o tasa de preemisión no es un candidato para su uso en APIs interactivas.

Al incorporar un nuevo punto de control del modelo, congele un perfil de carga (combinación de longitud de la solicitud, combinación de longitud de la salida, concurrencia) y compare las mismas pantallas PromQL antes de aumentar el tráfico. Un punto de control que obtiene buenos resultados en tokens por segundo promedio pero pierde en TTFT P99 o tasa de preemisión no es un candidato para su uso en APIs interactivas.

Al incorporar un nuevo punto de control del modelo, congele un perfil de carga (combinación de longitud de la petición, combinación de longitud de la salida, concurrencia) y compare las mismas pantallas PromQL antes de aumentar el tráfico. Un punto de control que obtiene buenos resultados en tokens por segundo promedio pero pierde en TTFT P99 o tasa de preemisión no es un candidato para su uso en APIs interactivas.

Al incorporar un nuevo punto de control del modelo, congele un perfil de carga (combinación de longitud de la petición, combinación de longitud de la salida, concurrencia) y compare las mismas pantallas PromQL antes de aumentar el tráfico. Un punto de control que obtiene buenos resultados en tokens por segundo promedio pero pierde en TTFT P99 o tasa de preemisión no es un candidato para su uso en APIs interactivas.

Al incorporar un nuevo punto de control del modelo, congele un perfil de carga (combinación de longitud de la petición, combinación de longitud de la salida, concurrencia) y compare las mismas pantallas PromQL antes de aumentar el tráfico. Un punto de control que obtiene buenos resultados en tokens por segundo promedio pero pierde en TTFT P99 o tasa de preemisión no es un candidato para su uso en APIs interactivas.

Al incorporar un nuevo punto de control del modelo, congele un perfil de carga (combinación de longitud de la petición, combinación de longitud de la salida, concurrencia) y compare las mismas pantallas PromQL antes de aumentar el tráfico. Un punto de control que obtiene buenos resultados en tokens por segundo promedio pero pierde en TTFT P99 o tasa de preemisión no es un candidato para su uso en APIs interactivas.

Al incorporar un nuevo punto de control del modelo, congele un perfil de carga (combinación de longitud de la petición, combinación de longitud de la salida, concurrencia) y compare las mismas pantallas PromQL antes de aumentar el tráfico. Un punto de control que obtiene buenos resultados en tokens por segundo promedio pero pierde en TTFT P99 o tasa de preemisión no es un candidato para su uso en APIs interactivas.

Al incorporar un nuevo punto de control del modelo, congele un perfil de carga (combinación de longitud de la petición, combinación de longitud de la salida, concurrencia) y compare las mismas pantallas PromQL antes de aumentar el tráfico. Un punto de control que obtiene buenos resultados en tokens por segundo promedio pero pierde en TTFT P99 o tasa de preemisión no es un candidato para su uso en APIs interactivas.

Al incorporar un nuevo punto de control del modelo, congele un perfil de carga (combinación de longitud de la petición, combinación de longitud de la salida, concurrencia) y compare las mismas pantallas PromQL antes de aumentar el tráfico. Un punto de control que obtiene buenos resultados en tokens por segundo promedio pero pierde en TTFT P99 o tasa de preemisión no es un candidato para su uso en APIs interactivas.

Al incorporar un nuevo punto de control del modelo, congele un perfil de carga (combinación de longitud de la petición, combinación de longitud de la salida, concurrencia) y compare las mismas pantallas PromQL antes de aumentar el tráfico. Un punto de control que obtiene buenos resultados en tokens por segundo promedio pero pierde en TTFT P99 o tasa de preemisión no es un candidato para su uso en APIs interactivas.

Al incorporar un nuevo punto de control del modelo, congele un perfil de carga (combinación de longitud de la petición, combinación de longitud de la salida, concurrencia) y compare las mismas pantallas PromQL antes de aumentar el tráfico. Un punto de control que obtiene buenos resultados en tokens por segundo promedio pero pierde en TTFT P99 o tasa de preemisión no es un candidato para su uso en APIs interactivas.

Al incorporar un nuevo punto de control del modelo, congele un perfil de carga (combinación de longitud de la petición, combinación de longitud de la salida, concurrencia) y compare las mismas pantallas PromQL antes de aumentar el tráfico. Un punto de control que obtiene buenos resultados en tokens por segundo promedio pero pierde en TTFT P99 o tasa de preemisión no es un candidato para su uso en APIs interactivas.

Al incorporar un nuevo punto de control del modelo, congele un perfil de carga (combinación de longitud de la petición, combinación de longitud de la salida, concurrencia) y compare las mismas pantallas PromQL antes de aumentar el tráfico. Un punto de control que obtiene buenos resultados en tokens por segundo promedio pero pierde en TTFT P99 o tasa de preemisión no es un candidato para su uso en APIs interactivas.

Al incorporar un nuevo punto de control del modelo, congele un perfil de carga (combinación de longitud de la petición, combinación de longitud de la salida, concurrencia) y compare las mismas pantallas PromQL antes de aumentar el tráfico. Un punto de control que obtiene buenos resultados en tokens por segundo promedio pero pierde en TTFT P99 o tasa de preemisión no es un candidato para su uso en APIs interactivas.

Al incorporar un nuevo punto de control del modelo, congele un perfil de carga (combinación de longitud de la petición, combinación de longitud de la salida, concurrencia) y compare las mismas pantallas PromQL antes de aumentar el tráfico. Un punto de control que obtiene buenos resultados en tokens por segundo promedio pero pierde en TTFT P99 o tasa de preemisión no es un candidato para su uso en APIs interactivas.

Al incorporar un nuevo punto de control del modelo, congele un perfil de carga (combinación de longitud de la petición, combinación de longitud de la salida, concurrencia) y compare las mismas pantallas PromQL antes de aumentar el tráfico. Un punto de control que obtiene buenos resultados en tokens por segundo promedio pero pierde en TTFT P99 o tasa de preemisión no es un candidato para su uso en APIs interactivas.

Al incorporar un nuevo punto de control del modelo, congele un perfil de carga (combinación de longitud de la petición, combinación de longitud de la salida, concurrencia) y compare las mismas pantallas PromQL antes de aumentar el tráfico. Un punto de control que obtiene buenos resultados en tokens por segundo promedio pero pierde en TTFT P99 o tasa de preemisión no es un candidato para su uso en APIs interactivas.

Al incorporar un nuevo punto de control del modelo, congele un perfil de carga (combinación de longitud de la petición, combinación de longitud de la salida, concurrencia) y compare las mismas pantallas PromQL antes de aumentar el tráfico. Un punto de control que obtiene buenos resultados en tokens por segundo promedio pero pierde en TTFT P99 o tasa de preemisión no es un candidato para su uso en APIs interactivas.

Al incorporar un nuevo punto de control del modelo, congele un perfil de carga (combinación de longitud de la petición, combinación de longitud de la salida, concurrencia) y compare las mismas pantallas PromQL antes de aumentar el tráfico. Un punto de control que obtiene buenos resultados en tokens por segundo promedio pero pierde en TTFT P99 o tasa de preemisión no es un candidato para su uso en APIs interactivas.

Al incorporar un nuevo punto de control del modelo, congele un perfil de carga (combinación de longitud de la petición, combinación de longitud de la salida, concurrencia) y compare las mismas pantallas PromQL antes de aumentar el tráfico. Un punto de control que obtiene buenos resultados en tokens por segundo promedio pero pierde en TTFT P99 o tasa de preemisión no es un candidato para su uso en APIs interactivas.

Al incorporar un nuevo punto de control del modelo, congele un perfil de carga (combinación de longitud de la petición, combinación de longitud de la salida, concurrencia) y compare las mismas pantallas PromQL antes de aumentar el tráfico. Un punto de control que obtiene buenos resultados en tokens por segundo promedio pero pierde en TTFT P99 o tasa de preemisión no es un candidato para su uso en APIs interactivas.

Al incorporar un nuevo punto de control del modelo, congele un perfil de carga (combinación de longitud de la petición, combinación de longitud de la salida, concurrencia) y compare las mismas pantallas PromQL antes de aumentar el tráfico. Un punto de control que obtiene buenos resultados en tokens por segundo promedio pero pierde en TTFT P99 o tasa de preemisión no es un candidato para su uso en APIs interactivas.

Al incorporar un nuevo punto de control del modelo, congele un perfil de carga (combinación de longitud de la petición, combinación de longitud de la salida, concurrencia) y compare las mismas pantallas PromQL antes de aumentar el tráfico. Un punto de control que obtiene buenos resultados en tokens por segundo promedio pero pierde en TTFT P99 o tasa de preemisión no es un candidato para su uso en APIs interactivas.

Al incorporar un nuevo punto de control del modelo, congele un perfil de carga (combinación de longitud de la petición, combinación de longitud de la salida, concurrencia) y compare las mismas pantallas PromQL antes de aumentar el tráfico. Un punto de control que obtiene buenos resultados en tokens por segundo promedio pero pierde en TTFT P99 o tasa de preemisión no es un candidato para su uso en APIs interactivas.

Al incorporar un nuevo punto de control del modelo, congele un perfil de carga (combinación de longitud de la petición, combinación de longitud de la salida, concurrencia) y compare las mismas pantallas PromQL antes de aumentar el tráfico. Un punto de control que obtiene buenos resultados en tokens por segundo promedio pero pierde en TTFT P99 o tasa de preemisión no es un candidato para su uso en APIs interactivas.

Al incorporar un nuevo punto de control del modelo, congele un perfil de carga (combinación de longitud de la petición, combinación de longitud de la salida, concurrencia) y compare las mismas pantallas PromQL antes de aumentar el tráfico. Un punto de control que obtiene buenos resultados en tokens por segundo promedio pero pierde en TTFT P99 o tasa de preemisión no es un candidato para su uso en APIs interactivas.

Lecturas relacionadas

  • Batcheo continuo y prellenado en cuadros en vLLM y SGLang — Los lotes estáticos de LLM desperdician la GPU en datos de relleno. La programación a nivel de iteración y el prellenado en cuadros mantienen fluidos los flujos de decodificación mientras los nuevos prompts siguen avanzando.
  • Lo que LiteLLM no puede ver: monitoreo del servicio de GPU desde el gateway — LiteLLM registra las solicitudes y el consumo. El tiempo de espera en la cola, el prellenado frente a la decodificación, los reinicios de contenedores y la presión en el host requieren Prometheus, métricas de vLLM, cAdvisor y trazas.