Skip to content
Como reduzir gargalos do KV Cache com NVIDIA Dynamo
Source: developer.nvidia.com

Como reduzir gargalos do KV Cache com NVIDIA Dynamo

Sources: https://developer.nvidia.com/blog/how-to-reduce-kv-cache-bottlenecks-with-nvidia-dynamo, https://developer.nvidia.com/blog/how-to-reduce-kv-cache-bottlenecks-with-nvidia-dynamo/, NVIDIA Dev Blog

TL;DR

  • Offload do KV Cache reduz a pressão na memória da GPU e permite janelas de contexto maiores para LLMs.
  • NVIDIA Dynamo transfere o KV Cache da memória da GPU para RAM de CPU, SSDs locais ou armazenamento remoto usando a biblioteca de transferência de baixa latência NIXL.
  • Integração com LMCache e vLLM permite reutilização de cache, reduz recomputação e melhora o desempenho em workloads com muitos usuários e alto contexto.
  • Testes com parceiros mostram alto throughput do KV Cache e redução do TTFT, viabilizando inferência escalável e de alta concorrência.

Contexto e antecedentes

A inferência é cada vez mais um gargalo à medida que os modelos de IA crescem. Modelos de linguagem grandes (LLMs) dependem fortemente de dados de atenção armazenados no KV Cache criados durante a fase de prefill da inferência. O KV Cache armazena dados de atenção intermediários que ajudam o modelo a manter relevância contextual durante a geração. No entanto, o KV Cache cresce linearmente com o tamanho do prompt e precisa estar na memória da GPU durante a geração para acesso rápido. À medida que os modelos ampliam as janelas de contexto — às vezes chegando a milhões de tokens — o KV Cache se torna uma restrição importante porque a memória da GPU é cara e limitada. Em cenários como conversas de várias voltas, pesquisa profunda e geração de código, o KV Cache precisa ficar na memória por longos períodos. Quando a memória da GPU atinge limites, serviços de inferência enfrentam trade-offs entre custo, latência e capacidade. A última versão do Dynamo resolve esse gargalo ao permitir o offload do KV Cache para armazenamento escalável, possibilitando a transferência instantânea de blocos de KV Cache da memória da GPU para armazenamento de custo mais baixo, como RAM de CPU, SSDs locais ou armazenamento em rede. Isso é suportado pela biblioteca de transferência de baixa latência NIXL, movendo blocos de KV Cache entre memória de GPU e armazenamento externo sem interromper a inferência. O Dynamo permite janelas de contexto maiores, maior concorrência e redução de custos de infraestrutura ao diminuir a necessidade de GPUs adicionais e reduzir a recomputação de tokens cacheados. O offload de KV Cache é mais eficaz quando o KV Cache excede a memória da GPU e a reutilização do cache supera o custo de transferência. Dynamo é especialmente valioso em ambientes de inferência com contexto longo, alta concorrência ou recursos limitados. Ele foi projetado para se integrar a mecanismos de inferência populares como o vLLM e ferramentas de código aberto como o LMCache, promovendo uma arquitetura aberta e opções de implantação flexíveis.

O que há de novo

NVIDIA Dynamo traz várias capacidades-chave para enfrentar gargalos de KV Cache:

  • Offload de KV Cache para armazenamento escalável: transfere blocos de KV Cache da memória da GPU para RAM de CPU, SSDs locais ou armazenamento em rede, permitindo janelas de contexto maiores e maior concorrência sem exigir mais GPUs.
  • Transferência de baixa latência: a biblioteca NIXL oferece movimento rápido de KV Cache entre memória da GPU e armazenamento externo, ajudando a manter a latência de inferência.
  • Gerenciamento de KV Cache com KVBM: o KV Block Manager coordena o uso de memória e o acesso ao armazenamento, separando o gerenciamento de memória da lógica de engine e padronizando o acesso a armazenamento para simplificar a integração e a escalabilidade.
  • Arquitetura aberta e integrações: Dynamo funciona com LMCache para caching e reutilização de memória entre CPUs, armazenamento local e remoto, e é projetado para integrar com engines como o vLLM e componentes de terceiros.
  • Validação do mundo real: testes com Vast mostraram throughput de KV Cache de 35 GB/s em uma única GPU H100 com o plugin GDS; testes separadamente com Qwen3-32B e prompts de 130K tokens mostraram a redução do TTFT ao reutilizar KV cache pré-computado de armazenamento. WEKA mostrou alto desempenho com seu RDMA path zero-copy, atingindo até 270 GB/s de leitura em oito GPUs. Para usar KVBM com LMCache e vLLM, os usuários seguem as etapas de configuração descritas na documentação do Dynamo. Os dashboards do Grafana (http://localhost:3001) fornecem visibilidade sobre o offload de KV e a onboarding. Para benchmarking do KVBM com LMBenchmark (LMCache), a documentação oferece diretrizes para comparar com uma implantação base de vLLM. Essa arquitetura aberta dá às equipes flexibilidade para escolher entre recursos embutidos ou integrações de terceiros, priorizando interoperabilidade e escalabilidade.

Por que isso importa (impacto para desenvolvedores/empresas)

Offload de KV Cache com Dynamo permite que modelos com janelas de contexto mais largas e maior concorrência sejam executados sem precisar de clusters de GPUs proporcionais. Movendo dados do KV Cache para armazenamento de custo menor, serviços de inferência reduzem o uso de memória da GPU, aumentando a capacidade de atendimento de usuários e reduzindo o custo total por token. Além disso, evita a recomputação cara do KV Cache, contribuindo para latência menor e melhor experiência do usuário. Para desenvolvedores e empresas, Dynamo oferece um caminho prático para escalar implantações de IA gerativa com grande contexto. A arquitetura aberta facilita a integração com engines e backends de armazenamento, ajudando equipes a otimizar latência, throughput e custo total de propriedade. A parceria com provedores de armazenamento e frameworks de inferência é incentivada pela abordagem modular e compatível com várias soluções.

Detalhes técnicos ou Implementação

A arquitetura do Dynamo foca em deslocar o KV Cache da memória da GPU para armazenamento escalável mantendo acesso rápido durante a geração. O KVBM gerencia esse offload de KV Cache e a coordenação entre memória e armazenamento, separando a lógica de gerenciamento de memória da engine de inferência específica para facilitar integração e escalabilidade. Um princípio central é a abertura. Dynamo integra LMCache, um sistema de código aberto para caching e reutilização de memória entre CPUs, armazenamento local e remoto. O LMCache oferece uma camada de KV Cache para engines de inferência como o vLLM e suporta offload de dados usados com frequência, como histórico de conversas ou prompts, para armazenamento de custo efetivo, com estratégias de evicção e recuperação para workloads de alto volume. Integrações com parceiros ilustram a versatilidade do Dynamo:

  • Vast: testou movimento de KV Cache entre GPU e armazenamento com alta performance, habilitando KV Cache persistente com a integração do Vast OS em um sistema DGX H100, incluindo o modelo Qwen3-32B.
  • WEKA: demonstrou um caminho RDMA de leitura com zero-copy que transmite KV Cache do token warehouse para GPUs em velocidades próximas à memória, validando a viabilidade de inferência disaggregada sem gargalos. Em um DGX com oito GPUs H100, a WEKA atingiu até 270 GB/s de leitura. As opções de armazenamento offload incluem RAM da CPU, SSDs locais e armazenamento remoto em rede. A biblioteca NIXL fornece transporte de baixa latência necessário para mover blocos de KV Cache rapidamente sem interromper a inferência. Quando a reutilização do KV Cache é significativa e o custo da transferência é superado pelos benefícios de evitar recomputação, o Dynamo entrega maior throughput e latência reduzida em implantações de grande escala. Para habilitar KVBM com LMCache e vLLM, a documentação do Dynamo descreve etapas práticas e configurações de ambiente. Dashboards do Grafana acessíveis em http://localhost:3001 oferecem visibilidade sobre onboarding de KV e offload, enquanto orientações de benchmark com LMBenchmark ajudam equipes a avaliar o desempenho do KVBM contra uma linha de base.

Visão rápida da arquitetura de offload de KV Cache

| Backends de armazenamento | Características |

Casos de uso típicos
---
---
RAM da CPU
Inferência de contexto longo, multiusuário
SSDs locais
Cargas de pico, sessões longas
Armazenamento remoto em rede
Inferência em larga escala, distribuída

Principais conclusões

  • Offload de KV Cache com Dynamo reduz a pressão na memória da GPU e viabiliza janelas de contexto mais largas e maior concorrência.
  • O KVBM coordena memória e acesso a storage, promovendo reutilização de cache e integração escalável.
  • Integrações com LMCache e vLLM suportam caching, estratégias de evicção e redução de recomputação, melhorando o throughput.
  • Resultados de testes reais demonstram velocidades de transferência substanciais e latência reduzida, validando a eficácia do Dynamo em ambientes disagregados.
  • A arquitetura aberta oferece flexibilidade para escolher entre recursos nativos ou integrações de terceiros, buscando custo e escalabilidade.

FAQ

  • Qual problema o offload de KV Cache resolve?

    Move o KV Cache da memória da GPU para armazenamento escalável para suportar janelas de contexto maiores e maior concorrência sem exigir mais GPUs.

  • ual é o papel do KVBM no Dynamo?

    KVBM é o sistema que impulsiona o offload de KV Cache e a coordenação de memória, separando o gerenciamento de memória da engine de inferência e padronizando o acesso a armazenamento.

  • Como o LMCache se encaixa no Dynamo?

    LMCache fornece uma camada KV Cache para engines como o vLLM e suporta offload de dados usados com frequência para armazenamento de custo efetivo, com evicção inteligente.

  • ue resultados de desempenho foram observados?

    Testes mostraram throughput de 35 GB/s com GDS em uma GPU H100 e até 270 GB/s de leitura em oito GPUs com o caminho RDMA da WEKA, além de TTFT reduzido ao reutilizar KV cache pré-computado.

Referências

More news