top of page

La transferencia KV basada en push de vLLM aborda la espera entre prefill y decode

hace 2 horas
14 min de lectura

La transferencia KV basada en push de vLLM adelanta el trabajo de traspaso de caché, y AWS informa una latencia del primer token hasta 3x mejor que en su prueba comparativa basada en pull. El tiempo hasta el primer token, o TTFT, mide cuánto espera una solicitud antes de que la generación empiece a producir resultados. El cambio se dirige a la coordinación entre procesar un prompt y generar su respuesta.

En su publicación del 19 de octubre, AWS también informa un tiempo por token de salida, o TPOT, hasta un 30% mejor, que mide el tiempo de generación de cada token posterior. Estos resultados corresponden a Qwen3-32B en instancias Amazon EC2 P5en con AWS Elastic Fabric Adapter, la interconexión de servidores de baja latencia de la empresa. Describen una comparación concreta, no una promesa de aceleración general para cada despliegue de vLLM.

La cuestión central es la coordinación mediante push frente a pull. Push prepara antes el motor receptor; pull conserva una decisión más tardía sobre dónde debe ejecutarse la generación. Para los operadores que separan el procesamiento de prompts de la generación, la noticia plantea una pregunta concreta: ¿cuánta flexibilidad de enrutamiento deberían intercambiar por un traspaso más breve?

La transferencia KV basada en push de vLLM cambia cuándo comienza el traspaso

El cambio adelanta la preparación al traspaso, reduciendo el trabajo que debe realizarse después de que finalice el procesamiento del prompt.

Prefill, la etapa de inferencia que procesa los tokens de entrada, produce una caché clave-valor que contiene el estado intermedio de atención necesario para la generación posterior. Decode, la etapa que genera tokens de salida, consume ese estado. La inferencia desagregada sitúa estas etapas en instancias de motor separadas, creando un límite de transferencia entre ellas.

Las pruebas comparativas de transferencia KV de AWS comparan push y pull utilizando una instancia de prefill y una instancia de decode. La prueba desactiva el almacenamiento en caché de prefijos, que de otro modo permite a las solicitudes reutilizar estado calculado previamente. Utiliza 128 tokens de salida, longitudes de entrada de 1.000 a 16.000 tokens y tasas de solicitudes de una a ocho consultas por segundo.

En el extremo más exigente, AWS informa aproximadamente 1.744 milisegundos de TTFT para pull, frente a aproximadamente 540 milisegundos para push. Su comparación de TPOT reportada alcanza aproximadamente 10,4 milisegundos para pull y aproximadamente 7 milisegundos para push. Con carga ligera y entradas más cortas, los modos ofrecen un rendimiento similar.

Esos límites importan más que el multiplicador del titular. El resultado identifica una carga de trabajo en la que la coordinación del traspaso se vuelve relevante. No establece que los servicios con poco uso, modelos diferentes o despliegues mayores reciban el mismo beneficio.

La implicación práctica es un cambio en lo que los operadores deberían investigar cuando la capacidad de respuesta se deteriora. Una primera respuesta lenta no significa automáticamente que el cálculo del prompt necesite más capacidad de acelerador. El tiempo dedicado a organizar la siguiente etapa merece un análisis independiente.

Esa distinción también cambia cómo los equipos de producto interpretan un incidente de rendimiento. Si los usuarios informan respuestas demoradas, los equipos deben distinguir entre esperar al cálculo y esperar a la coordinación. Añadir recursos aborda esas causas de forma diferente, y un gráfico de latencia agregada puede ocultar su separación.

Por tanto, la prueba comparativa respalda una conclusión específica: la secuencia que rodea la transferencia de caché puede afectar materialmente a la experiencia medida. El siguiente paso adecuado es identificar si esa secuencia ocupa una parte significativa de la demora de un servicio concreto.

Sería exagerar la evidencia calificarlo como un reemplazo universal de pull. Una interpretación más útil es que vLLM ahora expone otra opción de programación. Los operadores pueden evaluar esa opción frente a la carga de trabajo y el comportamiento de enrutamiento que realmente necesitan.

El momento es relevante porque se trata de una mejora de serving a nivel de implementación, no de un anuncio de modelo. Los equipos pueden investigarla sin asumir un cambio en la calidad del modelo. El posible beneficio reside en cómo una solicitud existente se mueve por la infraestructura.

Los equipos de serving afrontan un problema de coordinación además de uno de cómputo

La presión recae sobre operadores cuyos objetivos de latencia dependen de separar el procesamiento de prompts de la generación de tokens.

La documentación de prefill desagregado de vLLM plantea la separación en torno al ajuste independiente de la latencia del primer token y entre tokens. También identifica interferencia cuando el procesamiento de prompts entra en un motor que ya está generando respuestas. La documentación califica la función como experimental y advierte explícitamente contra tratar la desagregación en sí misma como una mejora de rendimiento.

Es un contrapeso importante a las afirmaciones arquitectónicas amplias. Separar el trabajo crea oportunidades para un ajuste independiente, pero también introduce responsabilidades. El sistema debe coordinar el estado, seleccionar destinos y mantener el avance de las solicitudes a través de un límite adicional.

Para un asistente documental hipotético, estas responsabilidades se corresponden con comportamientos reconocibles de los usuarios. Un usuario envía un documento extenso y espera a que empiece una respuesta. Mientras tanto, otros usuarios esperan que sus respuestas existentes sigan llegando de manera constante.

Estas expectativas están relacionadas, pero no son intercambiables. Un servicio puede iniciar respuestas rápidamente y luego entregarlas de forma irregular. También puede generar con fluidez una vez iniciado, mientras hace esperar demasiado a los usuarios antes de que aparezca algo.

La propuesta de push importa porque los operadores deben evaluar ambas experiencias. Una decisión sobre el conector debe juzgarse frente al inicio de la respuesta y la generación en curso, en lugar de un único promedio favorable. De lo contrario, un equipo corre el riesgo de mejorar la métrica que observa mientras pasa por alto la experiencia que perciben los usuarios.

Esto presiona a los responsables de infraestructura para mejorar su modelo de medición. Necesitan visibilidad de las etapas de la solicitud, junto con su duración total. Sin esa separación, la sobrecarga de coordinación puede confundirse con el tiempo de ejecución del modelo.

También presiona a los compradores que evalúan inferencia alojada. Una proporción de aceleración reportada necesita una línea de base, una carga de trabajo y un límite operativo. Los compradores deberían preguntar qué cambió bajo el resultado antes de usarlo para comparar servicios.

La distinción es especialmente relevante cuando una aplicación combina solicitudes largas y cortas. Una longitud promedio de prompt oculta las solicitudes que generan las mayores exigencias de programación. Una evaluación convincente debería conservar esa variación en lugar de reemplazarla por una entrada uniforme.

Nada de esto establece que la desagregación sea necesaria para cada aplicación. La decisión sigue comenzando por las restricciones observadas de un servicio. Si la arquitectura actual cumple sus objetivos de respuesta, añadir un límite de transferencia necesita su propia justificación.

Sin embargo, para los equipos que ya operan etapas separadas, el conector pasa a formar parte de la planificación del rendimiento. Su comportamiento afecta a lo que el router debe saber y a cuándo los recursos quedan comprometidos. Esto hace que el cambio sea relevante más allá del ingeniero que mantiene el código de transferencia.

En consecuencia, los equipos de producto y plataforma necesitan una descripción compartida del éxito. Una descripción útil conecta la espera visible para el usuario con las mediciones de infraestructura y las condiciones de despliegue. Evita tratar la prueba comparativa de un conector como una previsión completa para la aplicación.

Los equipos que mantienen estas evaluaciones pueden organizar sus hallazgos en una base de conocimiento con capacidad de búsqueda. Mantener las configuraciones junto a las conclusiones ayuda a los revisores posteriores a comprender por qué un resultado anterior fue o no aplicable.

La configuración temprana del destino da a push su ventaja frente a pull

Push cambia el orden de las dependencias en torno a la transferencia, en lugar de eliminar la necesidad de mover el estado almacenado en caché.

El diseño del conector push documenta NixlPushConnector, una alternativa que utiliza NVIDIA Inference Xfer Library, o NIXL, para coordinar transferencias. El motor receptor de decode asigna memoria de destino y comunica su ubicación. A continuación, el motor de prefill escribe el estado completado en ese destino preparado.

El registro y el estado completado del prompt pueden llegar en cualquier orden. El conector los empareja antes de emitir la escritura. Un hilo de escritor en segundo plano gestiona las operaciones específicas de push, mientras la contabilidad de finalización indica al motor cuándo el estado recibido está listo.

Esta es la explicación esencial de la transferencia push de vLLM: preparar el destino mientras continúa el cálculo útil y luego completar el traspaso cuando existan sus requisitos previos. Esa secuenciación reduce la necesidad de iniciar toda la coordinación después de que termine prefill.

La distinción es más fácil de evaluar como un problema de dependencias. Si la preparación no puede comenzar hasta que termine el cálculo, la solicitud espera ambos procesos en secuencia. Si la preparación se solapa con el cálculo, parte de la espera desaparece de la ruta que determina cuándo puede comenzar la generación.

El solapamiento sigue teniendo condiciones. El receptor debe existir, su destino debe ser adecuado y la transferencia debe completarse correctamente. Preparar antes cambia cuándo ocurren estas responsabilidades; no las convierte en opcionales.

Por ello, describir push simplemente como una operación de red más rápida no explica el mecanismo. La cuestión arquitectónica se refiere a qué trabajo bloquea el avance. Una transferencia puede utilizar hardware capaz mientras el software circundante todavía hace que una solicitud espere innecesariamente.

La ejecución en segundo plano introduce otra distinción útil. El trabajo que ya no bloquea un bucle del motor sigue consumiendo recursos en algún lugar. Por tanto, los operadores deberían preguntar adónde se trasladó el trabajo y si esa ubicación se mantiene saludable bajo demanda sostenida.

El mismo razonamiento se aplica a la interpretación de TPOT. Un cambio relacionado con la transferencia puede afectar a la generación en curso si la coordinación compite con la ruta de ejecución que atiende solicitudes existentes. Evaluar únicamente la solicitud entrante pasaría por alto esa interacción.

Para push frente a pull en vLLM, la comparación decisiva es, por tanto, más amplia que escritura frente a lectura. Incluye selección de destino, momento de preparación, propiedad de ejecución y señalización de disponibilidad. Estos detalles explican por qué cambiar un conector puede alterar el comportamiento de la aplicación sin cambiar el modelo.

La implementación también ilustra por qué la corrección debe acompañar al rendimiento en cualquier decisión de despliegue. Recibir parte del estado es insuficiente si la generación requiere el estado completo esperado. Un traspaso exitoso necesita una condición de disponibilidad inequívoca, especialmente cuando el trabajo abarca múltiples participantes.

NVIDIA ofrece una referencia útil de la industria mediante la arquitectura de serving desagregado de Dynamo. Su documentación describe grupos separados de prefill y decode, orquestación de router y consideraciones de transferencia conscientes de la topología. Esto establece un problema de coordinación comparable, no evidencia de una clasificación de rendimiento frente al conector de vLLM.

Dynamo también es un contexto de integración para motores de serving, por lo que presentar esto como una simple carrera entre empresas sería engañoso. La competencia relevante es entre formas de organizar solicitudes. Cada enfoque debe conciliar la ubicación, el movimiento del estado y la disponibilidad para la generación.

Esa comparación pone en perspectiva el resultado de AWS. La contribución se refiere a un punto específico dentro de un flujo de servicio más amplio. Su valor depende de si mejorar ese punto contribuye a cumplir los objetivos reales de respuesta del servicio.

La selección temprana del decodificador intercambia flexibilidad por solapamiento

La razón más sólida para mantener pull es el valor de elegir un destino más tarde.

La secuencia push requiere un receptor preparado antes de la transferencia. Ese compromiso permite el solapamiento, pero también genera la disyuntiva central del artículo. Un operador no puede evaluar la reducción de la demora de coordinación de forma independiente del momento en que se selecciona el destino.

Consideremos un servicio hipotético en el que las solicitudes llegan de forma desigual a un grupo de decodificadores. Elegir pronto un destino reserva una ruta antes de que termine el procesamiento del prompt. Elegirlo más tarde proporciona a la decisión de enrutamiento información más reciente sobre el sistema.

Ninguna de las dos opciones es automáticamente superior. Si las condiciones se mantienen previsibles durante el prefill, la selección temprana puede ser un intercambio razonable. Si las condiciones cambian sustancialmente, una selección posterior puede tener un valor operativo que un benchmark centrado en la transferencia no captura.

La pregunta relevante es con qué frecuencia esa flexibilidad cambia un resultado. Un operador debería examinar si la selección diferida reduce de forma significativa las colas, evita trabajadores sobrecargados o mejora la consistencia del servicio. Sin esas observaciones, la flexibilidad sigue siendo un beneficio abstracto en lugar de un requisito medido.

Esta es también la razón por la que un despliegue emparejado no puede resolver todas las cuestiones de enrutamiento. Ofrece un entorno controlado para examinar una transferencia. Aporta menos evidencia sobre elecciones entre muchos destinos, especialmente cuando esos destinos presentan cargas de trabajo distintas.

La historia de la reutilización de caché añade otro límite. En una publicación del 12 de octubre, vLLM describe la transferencia KV bidireccional, que devuelve el estado reutilizable de decode a prefill en turnos posteriores de conversación. Ese trabajo aborda el cómputo repetido a medida que crece el historial conversacional, utilizando lecturas NIXL en ambas direcciones.

Esto representa un objetivo de optimización diferente. Una transferencia hacia adelante más breve y una menor repetición del cómputo de prompts pueden mejorar la capacidad de respuesta. No debe suponerse que sus beneficios se combinan automáticamente, ni compararse como si midieran un trabajo idéntico.

Un asistente conversacional ilustra la distinción. Su primera solicitud y una posterior que contiene historial acumulado pueden imponer exigencias distintas a la infraestructura. Mejorar una transición no establece la mejor política para toda la conversación.

Para push frente a pull en vLLM, esto significa que las evaluaciones deberían incluir el comportamiento de sesión cuando el producto dependa de él. Un flujo uniforme de prompts no relacionados responde a una pregunta más acotada. No puede sustituir las pruebas de las interacciones repetidas de la aplicación.

El benchmark con la caché desactivada merece el mismo tratamiento cuidadoso. Eliminar la reutilización ayuda a aislar el comportamiento de transferencia, pero la reutilización en producción cambia la frecuencia con la que ese comportamiento importa. Una aplicación que evita con frecuencia una transferencia completa tiene un perfil de oportunidad diferente.

Esto no invalida una comparación controlada. Define su propósito. Los operadores deberían conservar el resultado aislado y añadir una evaluación de carga de trabajo que restablezca las decisiones reales de caché y enrutamiento de la aplicación.

También existe un límite de evidencia respecto a las ganancias reportadas. Las cifras proceden de la fuente técnica participante, y no de una replicación independiente revisada aquí. Justifican una investigación, pero no respaldan afirmaciones de superioridad universal ni de ahorros garantizados para toda una flota.

Por tanto, la conclusión escéptica es específica: la preparación temprana tiene un mecanismo comprensible, mientras que su valor global sigue dependiendo del despliegue. Una decisión de adopción sólida debe medir el beneficio de coordinación junto con la flexibilidad que intercambia.

La línea base de pull también está cambiando

Parte de la ventaja reportada se refiere a dónde se ejecuta la preparación de la transferencia, una decisión de diseño que pull también puede revisar.

Una propuesta de reader-thread pública apunta al envío de pull mediante NIXL. Su objetivo declarado es trasladar el envío de lecturas a un hilo dedicado en segundo plano, reduciendo el trabajo en el hilo de ejecución forward del motor. La propuesta mantiene el sondeo de finalización en el hilo forward.

La página revisada para este artículo muestra la propuesta como abierta. Eso establece un desarrollo en curso, no un resultado de rendimiento ya entregado. No ofrece base para afirmar que una futura implementación de pull iguale a push o cierre un porcentaje concreto de la brecha.

Su importancia es conceptual. La dirección de la transferencia y la ubicación de la ejecución son decisiones separadas. Push puede beneficiarse de una preparación temprana del destino, mientras que la ejecución en segundo plano aborda otra fuente de interferencia.

Esta distinción cambia la interpretación de una ventaja en benchmarks. Una comparación captura las implementaciones que se prueban en ese momento. No asigna permanentemente cada beneficio observado a la etiqueta arquitectónica asociada al ganador.

Para compradores y operadores, la consecuencia práctica es considerar la versión. “Push” y “pull” son descripciones insuficientes de un entorno de evaluación. La implementación y configuración relevantes determinan qué pasos de preparación se ejecutan y dónde.

Eso convierte el historial de mantenimiento en parte de la evidencia de rendimiento. Una actualización posterior del conector puede alterar la línea base sin cambiar el modelo ni el hardware. Los equipos deberían revisar conclusiones anteriores cuando el comportamiento de ejecución cambie de forma significativa.

El trabajo de reader-thread también ofrece una prueba útil de la explicación subyacente. Si el envío en segundo plano mejora pull en condiciones comparables, respaldaría la importancia de la ubicación de la ejecución. No eliminaría por sí solo el beneficio independiente de solapar la configuración del destino.

A la inversa, una mejora limitada también requeriría interpretación. La demora restante podría implicar otras dependencias, o la carga de trabajo podría revelar restricciones diferentes. Un resultado decepcionante no demostraría automáticamente que el diseño de la propuesta carece de valor en otros contextos.

Aquí es donde los informes de rendimiento necesitan moderación. Un informe útil separa lo que se midió, el mecanismo que lo explica y lo que sigue siendo hipotético. Combinar esas categorías produce titulares contundentes, pero una orientación operativa débil.

Para la transferencia KV basada en push de vLLM, la lección duradera es examinar el trabajo que rodea una transferencia. Los nombres de los conectores resumen comportamientos, pero no explican cada demora. Sigue siendo necesario perfilar la ruta de ejecución real.

La línea base en evolución también desalienta una decisión de estandarización prematura. Los equipos pueden adoptar una configuración que satisfaga las necesidades actuales y conservar evidencia para revisarla posteriormente. El objetivo es un servicio fiable, en lugar de una lealtad permanente a una dirección de transferencia.

Vigile la replicación, el avance del hilo de pull y el comportamiento de enrutamiento

La próxima evidencia útil mostrará si las ganancias aisladas de coordinación resisten decisiones de despliegue realistas.

Durante los próximos uno a tres meses, la primera señal que se debe vigilar es la replicación independiente en cargas de trabajo similares a las de una aplicación. Los resultados más informativos mantendrían la misma comparación mientras varían las distribuciones de prompts, el comportamiento de caché y el tamaño del despliegue. Mejoras consistentes reforzarían el argumento para una adopción más amplia.

La replicación también debería distinguir entre el inicio de la respuesta y la generación continua. Un servicio necesita saber si se vuelve más receptivo durante toda la interacción. Los resultados favorables limitados a un punto de benchmark excepcionalmente exigente respaldarían una decisión de despliegue más acotada.

La segunda señal es el avance del envío en segundo plano para pull. Una implementación revisada y publicada, seguida de un benchmark comparable, aclararía cuánto contribuye la ubicación de la ejecución. Una brecha menor reforzaría la explicación del mecanismo, al tiempo que reduciría los argumentos para considerar push categóricamente superior.

Esa señal necesita un resultado realmente medido. Un cambio fusionado por sí solo establecería disponibilidad, no paridad de rendimiento. Los operadores deberían resistirse a convertir la actividad de desarrollo en una afirmación numérica antes de probar la carga de trabajo pertinente.

La tercera señal es el comportamiento de enrutamiento más allá de una pareja fija de prefill-decode. Los resultados deberían mostrar qué ocurre cuando la selección temprana de destino se enfrenta a una demanda cambiante de decodificadores. Una latencia estable de cara al usuario reforzaría el argumento de que el solapamiento sigue siendo valioso bajo una presión de colocación realista.

Si los compromisos tempranos producen en cambio colas más largas en otros puntos, el límite de despliegue preferido se estrecharía. Push podría seguir siendo adecuado para cargas de trabajo predecibles, mientras que la selección posterior conservaría valor para otras. Eso precisaría el resultado en vez de negarlo.

Estas señales mantienen el debate vinculado al evento original. La cuestión es si adelantar la preparación mejora un servicio completo, bajo sus propias condiciones operativas. Las afirmaciones más amplias sobre la economía de la inferencia requieren evidencia más amplia que la que proporciona esta comparación de conectores.

Para los equipos que deciden qué hacer ahora, comiencen con un registro representativo de solicitudes y un objetivo de respuesta claramente definido. Mantengan el modelo, la política de caché, el comportamiento de enrutamiento y la versión de implementación al comparar resultados de conectores. Registren dónde se produce la espera y examinen después si una preparación más temprana reduce esa demora sin crear una cola mayor en otro punto. Mantengan separado el benchmark controlado de la evaluación similar a producción para que cada uno responda a una pregunta clara. Lean las condiciones de diseño y del benchmark antes de traducir una proporción reportada en una decisión de capacidad. Para la transferencia KV basada en push de vLLM, la acción útil es una evaluación acotada de la transferencia que realiza realmente su aplicación. ¿Mejora una preparación más temprana del destino la experiencia que reciben sus usuarios bajo la carga que su servicio debe gestionar?

 
 

Empieza gratis

Un asistente de IA local-first con gestión del conocimiento personal

Para ofrecer una mejor experiencia con la IA,

actualmente remio solo es compatible con Windows 10+ (x64) y M-Chip Macs.

Tu aliado de IA para el trabajo
Haz más con remio

Planifica. Crea. Entrega.
Todo en un solo lugar.

bottom of page