top of page

A transferência KV baseada em push do vLLM mira a espera entre prefill e decode

há 2 horas
13 min de leitura

A transferência KV baseada em push do vLLM antecipa o trabalho de passagem do cache, com a AWS reportando uma latência do primeiro token até 3x melhor do que em seu benchmark baseado em pull. O tempo até o primeiro token, ou TTFT, mede quanto tempo uma solicitação espera antes de a geração começar a produzir saída. A mudança mira a coordenação entre processar um prompt e gerar sua resposta.

Em sua publicação de 19 de outubro, a AWS também relata um tempo por token de saída, ou TPOT, até 30% melhor, métrica que mede o tempo de geração para cada token subsequente. Esses resultados dizem respeito ao Qwen3-32B em instâncias Amazon EC2 P5en usando o AWS Elastic Fabric Adapter, a interconexão de servidores de baixa latência da empresa. Eles descrevem uma comparação específica, e não uma promessa de aceleração geral para toda implantação do vLLM.

A disputa central é a coordenação por push versus pull. O push prepara o mecanismo receptor mais cedo; o pull preserva uma decisão posterior sobre onde a geração deve ser executada. Para operadores que separam o processamento de prompts da geração, a notícia levanta uma questão concreta: quanta flexibilidade de roteamento devem trocar por uma passagem mais curta?

A transferência KV baseada em push do vLLM muda quando a passagem começa

A mudança antecipa a preparação da passagem, reduzindo o trabalho que precisa ocorrer após o término do processamento do prompt.

O prefill, estágio de inferência que processa tokens de entrada, produz um cache de chave-valor contendo o estado intermediário de atenção necessário para a geração subsequente. O decode, estágio que gera tokens de saída, consome esse estado. A inferência desagregada coloca esses estágios em instâncias de mecanismo separadas, criando uma fronteira de transferência entre eles.

Os benchmarks de transferência KV da AWS comparam push e pull usando uma instância de prefill e uma instância de decode. O teste desativa o cache de prefixo, que de outra forma permite que solicitações reutilizem estados calculados anteriormente. Ele usa 128 tokens de saída, comprimentos de entrada de 1.000 a 16.000 tokens e taxas de solicitação de uma a oito consultas por segundo.

No extremo mais exigente, a AWS relata aproximadamente 1.744 milissegundos de TTFT para pull, em comparação com aproximadamente 540 milissegundos para push. Sua comparação de TPOT reportada chega a aproximadamente 10,4 milissegundos para pull e aproximadamente 7 milissegundos para push. Sob carga leve e com entradas mais curtas, os modos apresentam desempenho semelhante.

Esses limites importam mais do que o multiplicador da manchete. O resultado identifica uma carga de trabalho em que a coordenação da passagem se torna relevante. Ele não estabelece que serviços pouco utilizados, modelos diferentes ou implantações maiores recebam o mesmo benefício.

A implicação prática é uma mudança no que os operadores devem investigar quando a capacidade de resposta se deteriora. Uma primeira resposta lenta não significa automaticamente que o cálculo do prompt precisa de mais capacidade de acelerador. O tempo gasto organizando o próximo estágio merece análise separada.

Essa distinção também muda como as equipes de produto interpretam um incidente de desempenho. Se os usuários relatam respostas atrasadas, as equipes precisam distinguir a espera por computação da espera por coordenação. Adicionar recursos trata essas causas de maneiras diferentes, e um gráfico de latência agregada pode ocultar sua separação.

O benchmark, portanto, sustenta uma conclusão focada: a sequência em torno da transferência de cache pode afetar materialmente a experiência medida. O próximo passo apropriado é identificar se essa sequência ocupa uma parcela relevante do atraso de um serviço específico.

Seria exagerar as evidências chamar isso de substituição universal para pull. Uma leitura mais útil é que o vLLM agora expõe outra escolha de agendamento. Os operadores podem avaliar essa escolha em relação à carga de trabalho e ao comportamento de roteamento de que realmente precisam.

O momento é relevante porque se trata de uma melhoria de serving no nível de implementação, e não de um anúncio de modelo. As equipes podem investigá-la sem pressupor uma mudança na qualidade do modelo. O benefício potencial está em como uma solicitação existente percorre a infraestrutura.

As equipes de serving enfrentam um problema de coordenação além de um problema de computação

A pressão recai sobre operadores cujas metas de latência dependem de separar o processamento de prompts da geração de tokens.

A documentação de prefilling desagregado do vLLM enquadra a separação em torno do ajuste independente da latência do primeiro token e da latência entre tokens. Ela também identifica interferência quando o processamento de prompts entra em um mecanismo que já está gerando respostas. A documentação classifica o recurso como experimental e alerta explicitamente contra tratar a própria desagregação como uma melhoria de throughput.

Esse é um contrapeso importante a alegações arquiteturais amplas. Separar o trabalho cria oportunidades para ajuste independente, mas também introduz responsabilidades. O sistema precisa coordenar o estado, selecionar destinos e manter as solicitações em progresso através de uma fronteira adicional.

Para um assistente hipotético de documentos, essas responsabilidades correspondem a comportamentos reconhecíveis dos usuários. Um usuário envia um documento extenso e espera o início de uma resposta. Enquanto isso, outros usuários esperam que suas respostas em andamento continuem chegando de forma estável.

Essas expectativas são relacionadas, mas não intercambiáveis. Um serviço pode iniciar respostas prontamente e depois entregá-las de forma irregular. Também pode gerar sem problemas depois de iniciado, mas fazer os usuários esperarem tempo demais antes que qualquer coisa apareça.

A proposta de push importa porque os operadores precisam avaliar ambas as experiências. Uma decisão de conector deve ser julgada em relação ao início da resposta e à geração contínua, e não a uma única média favorável. Caso contrário, uma equipe corre o risco de melhorar a métrica que monitora enquanto deixa de lado a experiência percebida pelos usuários.

Isso pressiona os responsáveis pela infraestrutura a aprimorarem seu modelo de medição. Eles precisam de visibilidade sobre os estágios da solicitação, além de sua duração total. Sem essa separação, a sobrecarga de coordenação pode ser confundida com o tempo de execução do modelo.

Também pressiona compradores que avaliam inferência hospedada. Uma razão de aceleração reportada precisa de uma linha de base, uma carga de trabalho e uma fronteira operacional. Os compradores devem perguntar o que mudou por trás do resultado antes de usá-lo para comparar serviços.

A distinção é especialmente relevante quando uma aplicação mistura solicitações longas e curtas. Um comprimento médio de prompt oculta as solicitações que criam as maiores demandas de agendamento. Uma avaliação convincente deve preservar essa variação, em vez de substituí-la por uma entrada uniforme.

Nada disso estabelece que a desagregação seja necessária para toda aplicação. A decisão ainda começa pelas restrições observadas de um serviço. Se a arquitetura atual atende às metas de resposta, adicionar uma fronteira de transferência precisa de sua própria justificativa.

Para equipes que já operam estágios separados, no entanto, o conector se torna parte do planejamento de desempenho. Seu comportamento afeta o que o roteador precisa saber e quando os recursos se tornam comprometidos. Isso torna a mudança relevante para além do engenheiro que mantém o código de transferência.

Consequentemente, equipes de produto e plataforma precisam de uma descrição compartilhada de sucesso. Uma descrição útil conecta a espera visível para o usuário às medições de infraestrutura e às condições de implantação. Ela evita tratar o benchmark de um conector como uma previsão completa para a aplicação.

As equipes que mantêm essas avaliações podem organizar suas conclusões em uma base de conhecimento pesquisável. Manter as configurações ao lado das conclusões ajuda revisores posteriores a entender por que um resultado anterior se aplicava ou não.

A configuração antecipada do destino dá ao push sua vantagem sobre o pull

O push altera a ordem das dependências em torno da transferência, em vez de eliminar a necessidade de mover o estado armazenado em cache.

O design do conector push documenta NixlPushConnector, uma alternativa que usa a NVIDIA Inference Xfer Library, ou NIXL, para coordenar transferências. O mecanismo receptor de decode aloca a memória de destino e comunica sua localização. O mecanismo de prefill então grava o estado concluído nesse destino preparado.

O registro e o estado concluído do prompt podem chegar em qualquer ordem. O conector os associa antes de emitir a gravação. Uma thread de gravação em segundo plano trata operações específicas de push, enquanto a contabilização de conclusão informa ao mecanismo quando o estado recebido está pronto.

Esta é a explicação essencial da transferência push do vLLM: organize o destino enquanto a computação útil continua e, então, conclua a passagem quando seus pré-requisitos existirem. Esse sequenciamento reduz a necessidade de iniciar toda a coordenação após o término do prefill.

A distinção é mais fácil de avaliar como um problema de dependências. Se a preparação não pode começar até que a computação termine, a solicitação espera por ambas em sequência. Se a preparação se sobrepõe à computação, parte da espera desaparece do caminho que determina quando a geração pode começar.

A sobreposição ainda tem condições. O receptor precisa existir, seu destino precisa ser adequado e a transferência precisa ser concluída corretamente. Preparar cedo muda quando essas responsabilidades ocorrem; não as torna opcionais.

É por isso que simplesmente descrever o push como uma operação de rede mais rápida deixa de lado o mecanismo. A questão arquitetural diz respeito a qual trabalho bloqueia o progresso. Uma transferência pode usar hardware capaz enquanto o software ao redor ainda faz uma solicitação esperar desnecessariamente.

A execução em segundo plano introduz outra distinção útil. O trabalho que já não bloqueia um loop do mecanismo ainda consome recursos em algum lugar. Portanto, os operadores devem perguntar para onde o trabalho foi movido e se esse local permanece saudável sob demanda sustentada.

O mesmo raciocínio se aplica à interpretação do TPOT. Uma mudança relacionada à transferência pode afetar a geração contínua se a coordenação competir com o caminho de execução que atende solicitações existentes. Avaliar apenas a solicitação recebida deixaria de lado essa interação.

Para push versus pull no vLLM, a comparação decisiva é, portanto, mais ampla do que gravação versus leitura. Ela inclui seleção de destino, momento da preparação, responsabilidade pela execução e sinalização de prontidão. Esses detalhes explicam por que mudar um conector pode alterar o comportamento da aplicação sem mudar o modelo.

A implementação também ilustra por que a correção deve acompanhar o desempenho em qualquer decisão de implantação. Receber parte do estado é insuficiente se a geração exige o estado completo esperado. Uma passagem bem-sucedida precisa de uma condição inequívoca de prontidão, especialmente quando o trabalho abrange vários participantes.

A NVIDIA oferece uma referência útil do setor por meio da arquitetura de serving desagregado do Dynamo. Sua documentação descreve pools separados de prefill e decode, orquestração por roteador e considerações de transferência sensíveis à topologia. Isso estabelece um problema de coordenação comparável, e não evidência de um ranking de desempenho em relação ao conector do vLLM.

O Dynamo também é um contexto de integração para mecanismos de serving, portanto enquadrar isso como uma simples corrida entre empresas seria enganoso. A competição relevante é entre formas de organizar solicitações. Cada abordagem precisa conciliar posicionamento, movimentação de estado e prontidão para geração.

Essa comparação coloca o resultado da AWS em perspectiva. A contribuição diz respeito a um ponto específico em um fluxo de serving mais amplo. Seu valor depende de melhorar esse ponto levar adiante as metas reais de resposta do serviço.

A seleção antecipada do decoder troca flexibilidade por sobreposição

A razão mais forte para manter o pull é o valor de escolher um destino mais tarde.

A sequência de push exige um receptor preparado antes da transferência. Esse compromisso permite sobreposição, mas também cria o trade-off central do artigo. Um operador não pode avaliar a redução no atraso de coordenação independentemente do momento da seleção do destino.

Considere um serviço hipotético em que as solicitações chegam de forma desigual a um pool de decoders. Selecionar um destino cedo reserva um caminho antes que o processamento do prompt seja concluído. Selecionar mais tarde oferece à decisão de roteamento informações mais recentes sobre o sistema.

Nenhuma das escolhas é automaticamente superior. Se as condições permanecerem previsíveis durante o prefill, a seleção antecipada pode ser uma troca razoável. Se as condições mudarem de forma substancial, a seleção posterior pode ter valor operacional que um benchmark focado em transferência não captura.

A questão relevante é com que frequência essa flexibilidade muda um resultado. Um operador deve examinar se a seleção atrasada reduz filas de forma significativa, evita workers sobrecarregados ou melhora a consistência do serviço. Sem essas observações, a flexibilidade continua sendo um benefício abstrato, e não um requisito medido.

Esse também é o motivo pelo qual uma implantação em pares não pode resolver todas as questões de roteamento. Ela fornece um ambiente controlado para examinar uma transferência. Oferece menos evidências sobre escolhas entre muitos destinos, especialmente quando esses destinos têm cargas de trabalho diferentes.

A história da reutilização de cache acrescenta outro limite. Em uma publicação de 12 de outubro, o vLLM descreve a transferência bidirecional de KV, que devolve estado reutilizável do decode para o prefill em turnos posteriores da conversa. Esse trabalho aborda computação repetida à medida que o histórico da conversa cresce, usando leituras NIXL em ambas as direções.

Isso representa um objetivo de otimização diferente. Uma transferência adiante mais curta e menos computação repetida de prompts podem ambas ajudar na capacidade de resposta. Não se deve presumir que seus benefícios se combinam automaticamente, nem compará-los como se medissem trabalho idêntico.

Um assistente conversacional ilustra a distinção. Sua primeira solicitação e uma solicitação posterior contendo histórico acumulado podem impor demandas diferentes à infraestrutura. Melhorar uma transição não estabelece a melhor política para toda a conversa.

Para o push versus pull no vLLM, isso significa que as avaliações devem incluir o comportamento de sessão quando o produto depende dele. Um fluxo uniforme de prompts não relacionados responde a uma questão mais restrita. Ele não pode substituir o teste das interações repetidas da aplicação.

O benchmark com cache desativado merece o mesmo tratamento cuidadoso. Remover a reutilização ajuda a isolar o comportamento da transferência, mas a reutilização em produção altera a frequência com que esse comportamento importa. Uma aplicação que frequentemente evita uma transferência completa tem um perfil de oportunidade diferente.

Isso não invalida uma comparação controlada. Define seu propósito. Os operadores devem preservar o resultado isolado enquanto adicionam uma avaliação da carga de trabalho que restaure as decisões reais de cache e roteamento da aplicação.

Há também um limite de evidência em torno dos ganhos relatados. Os números vêm da fonte técnica participante, e não de uma replicação independente analisada aqui. Eles justificam investigação, mas não sustentam alegações de superioridade universal ou economia garantida em toda a frota.

A conclusão cética é, portanto, específica: a preparação antecipada tem um mecanismo compreensível, enquanto seu valor geral continua dependente da implantação. Uma decisão sólida de adoção deve medir o benefício de coordenação juntamente com a flexibilidade que ela troca.

A linha de base do pull também está mudando

Parte da vantagem relatada diz respeito a onde a preparação da transferência é executada, uma escolha de design que o pull também pode revisitar.

Uma proposta de reader-thread pública visa o envio de pull do NIXL. Seu objetivo declarado é mover o envio de leitura para uma thread dedicada em segundo plano, reduzindo o trabalho na thread de execução forward do engine. A proposta mantém a sondagem de conclusão na thread forward.

A página analisada para este artigo lista a proposta como aberta. Isso estabelece desenvolvimento em andamento, não um resultado de desempenho entregue. Não oferece base para afirmar que uma futura implementação de pull iguala o push ou fecha uma porcentagem específica da diferença.

Sua importância é conceitual. A direção da transferência e o posicionamento da execução são escolhas separadas. O push pode se beneficiar da preparação antecipada do destino, enquanto a execução em segundo plano aborda outra fonte de interferência.

Essa distinção muda a interpretação de uma liderança em benchmark. Uma comparação captura as implementações testadas naquele momento. Ela não atribui permanentemente todo benefício observado ao rótulo arquitetural associado ao vencedor.

Para compradores e operadores, a consequência prática é a atenção à versão. “Push” e “pull” são descrições insuficientes de um ambiente de avaliação. A implementação e a configuração relevantes determinam onde cada etapa de preparação é executada.

Isso torna o histórico de manutenção parte da evidência de desempenho. Uma atualização posterior do connector pode alterar a linha de base sem mudar o modelo ou o hardware. As equipes devem revisar conclusões anteriores quando o comportamento de execução mudar materialmente.

O trabalho de reader-thread também oferece um teste útil para a explicação subjacente. Se o envio em segundo plano melhorar o pull em condições comparáveis, isso sustentaria a importância do posicionamento da execução. Isso não eliminaria, por si só, o benefício separado de sobrepor a configuração do destino.

Por outro lado, uma melhoria limitada ainda exigiria interpretação. O atraso restante poderia envolver outras dependências, ou a carga de trabalho poderia expor restrições diferentes. Um resultado decepcionante não provaria automaticamente que o design da proposta não tem valor em outros contextos.

É aqui que o relato de desempenho precisa de contenção. Um relatório útil separa o que foi medido, qual mecanismo o explica e o que permanece hipotético. Combinar essas categorias produz manchetes confiantes, mas orientações operacionais fracas.

Para a transferência de KV baseada em push do vLLM, a lição duradoura é examinar o trabalho que envolve uma transferência. Nomes de connectors resumem comportamentos, mas não explicam todos os atrasos. Continua sendo necessário traçar o perfil do caminho de execução real.

A linha de base em evolução também desencoraja uma decisão prematura de padronização. As equipes podem adotar uma configuração que atenda às necessidades atuais, mantendo evidências para revisá-la depois. O objetivo é um serviço confiável, e não lealdade permanente a uma direção de transferência.

Acompanhe a replicação, o progresso da pull-thread e o comportamento de roteamento

A próxima evidência útil mostrará se os ganhos isolados de coordenação sobrevivem a escolhas realistas de implantação.

Nos próximos um a três meses, o primeiro sinal a acompanhar é a replicação independente em cargas de trabalho semelhantes às da aplicação. Os resultados mais informativos manteriam a mesma comparação enquanto variam distribuições de prompts, comportamento de cache e tamanho da implantação. Melhorias consistentes reforçariam o argumento para uma adoção mais ampla.

A replicação também deve distinguir o início da resposta da geração contínua. Um serviço precisa saber se se torna mais responsivo durante toda uma interação. Resultados favoráveis restritos a um ponto de benchmark excepcionalmente exigente sustentariam uma decisão de implantação mais limitada.

O segundo sinal é o progresso no envio em segundo plano para pull. Uma implementação revisada e lançada, seguida por um benchmark comparável, esclareceria o quanto o posicionamento da execução contribui. Uma diferença menor reforçaria a explicação do mecanismo, ao mesmo tempo que reduziria o argumento de tratar o push como categoricamente superior.

Esse sinal precisa de um resultado efetivamente medido. Uma mudança incorporada, por si só, estabeleceria disponibilidade, e não paridade de desempenho. Os operadores devem resistir a converter atividade de desenvolvimento em uma alegação numérica antes que a carga de trabalho relevante tenha sido testada.

O terceiro sinal é o comportamento de roteamento além de um par fixo de prefill-decode. Os resultados devem mostrar o que acontece quando a seleção antecipada do destino encontra uma demanda variável por decoders. Uma latência estável voltada ao usuário reforçaria o argumento de que a sobreposição continua valiosa sob pressão realista de alocação.

Se os compromissos antecipados produzirem filas mais longas em outros pontos, o limite de implantação preferível se estreitaria. O push ainda poderia ser adequado a cargas de trabalho previsíveis, enquanto a seleção posterior continuaria valiosa para outras. Isso refinaria o resultado, em vez de negá-lo.

Esses sinais mantêm a discussão ligada ao evento original. A questão é se antecipar a preparação melhora um serviço completo, sob suas próprias condições operacionais. Alegações mais amplas sobre a economia de inferência exigem evidências mais amplas do que essa comparação de connectors fornece.

Para equipes que estão decidindo o que fazer agora, comecem com um traço representativo de solicitações e uma meta de resposta claramente definida. Preservem o modelo, a política de cache, o comportamento de roteamento e a versão da implementação ao comparar resultados de connectors. Registrem onde a espera ocorre e, em seguida, examinem se a preparação antecipada reduz esse atraso sem criar uma fila maior em outro lugar. Mantenham o benchmark controlado separado da avaliação semelhante à produção para que cada um responda a uma questão clara. Leiam as condições de design e do benchmark antes de transformar uma proporção relatada em uma decisão de capacidade. Para a transferência de KV baseada em push do vLLM, a ação útil é uma avaliação delimitada da transferência que sua aplicação realmente executa. A preparação antecipada do destino melhora a experiência que seus usuários recebem sob a carga que seu serviço precisa suportar?

 
 

Comece grátis

Um assistente de IA local-first com gestão de conhecimento pessoal

Para oferecer uma experiência de IA melhor,

atualmente, o remio é compatível apenas com Windows 10+ (x64) e M-Chip Macs.

Seu parceiro de IA no trabalho
Faça mais com o remio

Planeje. Crie. Entregue.
Tudo em um só lugar.

bottom of page