GUIA Técnico

Envio de pré-preenchimento e decodificação desagregado

Uma arquitetura de serviço que divide a inferência de grandes modelos de linguagem em duas fases separadas – pré-preenchimento e decodificação – e as executa em diferentes pools de GPUs.

Visão geral

Uma arquitetura de serviço que divide a inferência de grandes modelos de linguagem em duas fases separadas – pré-preenchimento e decodificação – e as executa em diferentes pools de GPUs. É importante porque essas duas fases têm apetites de hardware opostos e forçá-las nas mesmas máquinas desperdiça capacidade e prejudica a latência.

O serviço de pré-preenchimento e decodificação desagregado é um componente técnico que afeta a qualidade do modelo, o custo da infraestrutura, a latência e a confiabilidade em escala.

Mergulho profundo

Quando um LLM responde, ele funciona em duas etapas. O Prefill lê todo o prompt de uma vez e cria o cache de valor-chave (KV); esta é uma grande explosão paralela e limitada à computação que satura as unidades matemáticas da GPU. A decodificação então gera tokens um de cada vez, cada etapa lendo todo o cache KV – um gotejamento levemente computado limitado pela largura de banda da memória. Executados juntos, um longo pré-preenchimento paralisa a decodificação de todos (bloqueio de linha) e agrupar os dois em lote cria interferência. A desagregação coloca o pré-preenchimento em um pool de GPU e a decodificação em outro, transferindo o cache KV entre eles por meio de interconexões rápidas como NVLink ou InfiniBand. Cada pool é ajustado e dimensionado de forma independente, melhorando o bom rendimento, suavizando a latência final e permitindo que os operadores atinjam metas rígidas de tempo para o primeiro token e de tempo por token de saída simultaneamente.

Visão técnica

As duas fases diferem em seu gargalo. O Prefill processa todos os tokens de prompt em paralelo, de modo que seus FLOPs são dimensionados com o comprimento do prompt e maximizam os núcleos do tensor. A decodificação é autoregressiva: cada novo token precisa de uma passagem de encaminhamento que relê todo o cache KV do HBM, portanto, a taxa de transferência é controlada pela largura de banda da memória, não pela computação. A desagregação explora isso dimensionando, agrupando em lote e até mesmo escolhendo um paralelismo diferente para cada pool e, em seguida, enviando o cache KV dos trabalhadores pré-preenchidos para os trabalhadores de decodificação.

Dominando o pré-preenchimento desagregado e a veiculação decodificada

Uma arquitetura de serviço que divide a inferência de grandes modelos de linguagem em duas fases separadas – pré-preenchimento e decodificação – e as executa em diferentes pools de GPUs. É importante porque essas duas fases têm apetites de hardware opostos e forçá-las nas mesmas máquinas desperdiça capacidade e prejudica a latência. O serviço de pré-preenchimento e decodificação desagregado é um componente técnico que afeta a qualidade do modelo, o custo da infraestrutura, a latência e a confiabilidade em escala. Para construir um entendimento profundo, trate o pré-preenchimento e o serviço de decodificação desagregados como um modelo operacional, não como um único recurso: defina os resultados desejados, esclareça suposições e separe o que o sistema pode fazer de maneira confiável do que ainda requer julgamento especializado.

Na prática, equipes fortes que usam Pré-preenchimento desagregado e Serviço de decodificação otimizam as escolhas de arquitetura, dados e infraestrutura em relação à confiabilidade e ao custo. Eles documentam critérios de sucesso explícitos, testam dados e fluxos de trabalho realistas e iteram com base em padrões de falha observados, em vez de ganhos únicos de benchmark. É aqui que a compreensão teórica se transforma em capacidade durável em produtos, políticas e operações.

As decisões de arquitetura impulsionam o desempenho e os custos operacionais durante anos. Ao mesmo tempo, a otimização de um benchmark pode ocultar fraquezas mais amplas do sistema. A abordagem mais resiliente é combinar a velocidade da experimentação com a disciplina de governação: executar pilotos, capturar provas, publicar registos de decisões e atualizar continuamente as salvaguardas à medida que o comportamento do modelo, as expectativas dos utilizadores e os requisitos regulamentares evoluem.

Impacto Estratégico

As decisões de arquitetura impulsionam o desempenho e os custos operacionais durante anos.

As decisões de arquitetura impulsionam o desempenho e os custos operacionais durante anos. Em implantações de alta qualidade, isso se traduz em regras operacionais mensuráveis, limites de propriedade e rituais de revisão recorrentes para que as equipes possam aumentar a confiança em vez de aumentar a ambiguidade.

A educação técnica ajuda as equipes a escolher a pilha certa, não apenas a mais nova.

A educação técnica ajuda as equipes a escolher a pilha certa, não apenas a mais nova. Em implantações de alta qualidade, isso se traduz em regras operacionais mensuráveis, limites de propriedade e rituais de revisão recorrentes para que as equipes possam aumentar a confiança em vez de aumentar a ambiguidade.

Melhores escolhas de engenharia reduzem incidentes de confiabilidade na produção.

Melhores escolhas de engenharia reduzem incidentes de confiabilidade na produção. Em implantações de alta qualidade, isso se traduz em regras operacionais mensuráveis, limites de propriedade e rituais de revisão recorrentes para que as equipes possam aumentar a confiança em vez de aumentar a ambiguidade.

O futuro do pré-preenchimento desagregado e da veiculação decodificada

Espere que a desagregação se torne um padrão nas pilhas de produção. Sistemas como DistServe, Splitwise e Mooncake o popularizaram, e vLLM e NVIDIA Dynamo agora oferecem modos desagregados. A pesquisa está impulsionando otimizações de transferência de cache KV, pooling de cache e reutilização entre solicitações, reequilíbrio dinâmico de taxas de pré-preenchimento/decodificação sob mudança de tráfego e integração mais estreita com cache de prefixo e pré-preenchimento fragmentado. À medida que as janelas de contexto crescem para milhões de tokens, a separação dessas fases torna-se cada vez mais essencial para um serviço econômico e de baixa latência.

Implementação no mundo real

Um assistente de bate-papo encaminha longos prompts de documentos para um cluster de pré-preenchimento com muita computação e, em seguida, transmite respostas de um cluster de decodificação com otimização de memória para manter a latência de digitação suave.

O NVIDIA Dynamo e o vLLM permitem que as operadoras implantem grupos de trabalhadores de pré-preenchimento e decodificação separados para que uma série de prompts longos não congele as gerações contínuas.

Mooncake (usado por Kimi da Moonshot AI) desagrega o pré-preenchimento e a decodificação e adiciona um pool de cache KV distribuído para reduzir a recomputação de prompt redundante em escala.

Um serviço de conclusão de código dedica um pequeno pool de pré-preenchimento para prompts curtos e um grande pool de decodificação, já que a maior parte do custo vem do streaming de muitos tokens de saída.

Padrões de Implementação

Pré-preenchimento desagregado e serviço de decodificação na prática

Um assistente de bate-papo encaminha longos prompts de documentos para um cluster de pré-preenchimento com muita computação e, em seguida, transmite respostas de um cluster de decodificação com otimização de memória para manter a latência de digitação suave.

Um assistente de bate-papo encaminha longos prompts de documentos para um cluster de pré-preenchimento com muita computação e, em seguida, transmite respostas de um cluster de decodificação com otimização de memória para manter a latência de digitação suave. As equipes geralmente obtêm melhores resultados quando definem limites de qualidade antecipadamente, mantêm um caminho de escalonamento humano para casos extremos e monitoram os ganhos de produtividade e os custos de erros ao longo do tempo.

Pré-preenchimento desagregado e serviço de decodificação na prática

O NVIDIA Dynamo e o vLLM permitem que as operadoras implantem grupos de trabalhadores de pré-preenchimento e decodificação separados para que uma série de prompts longos não congele as gerações contínuas.

NVIDIA Dynamo e vLLM permitem que as operadoras implantem grupos de trabalhadores de pré-preenchimento e decodificação separados para que uma série de prompts longos não congele as gerações contínuas. As equipes geralmente obtêm melhores resultados quando definem limites de qualidade antecipadamente, mantêm um caminho de escalonamento humano para casos extremos e monitoram ganhos de produtividade e custos de erros ao longo do tempo.

Pré-preenchimento desagregado e serviço de decodificação na prática

Mooncake (usado por Kimi da Moonshot AI) desagrega o pré-preenchimento e a decodificação e adiciona um pool de cache KV distribuído para reduzir a recomputação de prompt redundante em escala.

Mooncake (usado por Kimi da Moonshot AI) desagrega o pré-preenchimento e a decodificação e adiciona um pool de cache KV distribuído para reduzir a recomputação imediata redundante em escala. As equipes geralmente obtêm melhores resultados quando definem limites de qualidade antecipadamente, mantêm um caminho de escalonamento humano para casos extremos e rastreiam ganhos de produtividade e custos de erros ao longo do tempo.

Pré-preenchimento desagregado e serviço de decodificação na prática

Um serviço de conclusão de código dedica um pequeno pool de pré-preenchimento para prompts curtos e um grande pool de decodificação, já que a maior parte do custo vem do streaming de muitos tokens de saída.

Um serviço de conclusão de código dedica um pequeno pool de pré-preenchimento para prompts curtos e um grande pool de decodificação, já que a maior parte do custo vem do streaming de muitos tokens de saída. As equipes geralmente obtêm melhores resultados quando definem limites de qualidade antecipadamente, mantêm um caminho de escalonamento humano para casos extremos e acompanham os ganhos de produtividade e os custos de erros ao longo do tempo.

Riscos e guarda-corpos

!

A otimização de um benchmark pode ocultar fraquezas mais amplas do sistema.

!

Os custos de infraestrutura e manutenção são frequentemente subestimados.

!

As lacunas de segurança e observabilidade podem aumentar à medida que os sistemas se tornam mais complexos.

Roteiro de implementação

1

Defina metas de latência, qualidade e custo antes da implementação.

Defina metas de latência, qualidade e custo antes da implementação. Trate cada etapa como uma porta de evidência: se os critérios não forem atendidos, pause a implementação, feche a lacuna e só então expanda o uso.

2

Benchmark sob condições realistas de carga e dados.

Benchmark sob condições realistas de carga e dados. Trate cada etapa como uma porta de evidência: se os critérios não forem atendidos, pause a implementação, feche a lacuna e só então expanda o uso.

3

Monitoramento de instrumentos para erros, desvios e impacto no usuário.

Monitoramento de instrumentos para erros, desvios e impacto no usuário. Trate cada etapa como uma porta de evidência: se os critérios não forem atendidos, pause a implementação, feche a lacuna e só então expanda o uso.

4

Prepare caminhos de reversão e resposta a incidentes antes de escalar.

Prepare caminhos de reversão e resposta a incidentes antes de escalar. Trate cada etapa como uma porta de evidência: se os critérios não forem atendidos, pause a implementação, feche a lacuna e só então expanda o uso.

Continue explorando