O Desafio da Inferência em Grande Escala
O deployment de grandes modelos de linguagem (LLMs) enfrenta um desafio crescente de custo e desempenho impulsionado pelo aumento do número de tokens processados. O contagem de tokens, que está diretamente relacionada à quantidade de palavras, tamanho de imagens e outros fatores de entrada, determina tanto os requisitos computacionais quanto os custos operacionais. Contextos mais longos traduzem-se em despesas maiores por requisição de inferência.
Esse desafio intensificou-se conforme os modelos de ponta passaram a suportar até 10 milhões de tokens para acomodar demandas crescentes de contexto provenientes de sistemas de Geração Aumentada por Recuperação (RAG – Retrieval Augmented Generation) e agentes de código que necessitam acessar extensas bases de código e documentação.
Contudo, pesquisas do setor revelam que uma parcela significativa dos tokens processados em cargas de trabalho de inferência é repetitiva. Os mesmos documentos e trechos de texto aparecem frequentemente em múltiplos prompts. Essas “zonas quentes” de dados representam uma oportunidade clara. Ao cachear conteúdo frequentemente reutilizado, as organizações podem alcançar reduções de custos e melhorias de desempenho em suas cargas de trabalho de inferência com contexto longo.
Atualizações do Contêiner LMI
A AWS lançou recentemente atualizações significativas no contêiner de Inferência de Grandes Modelos (LMI – Large Model Inference), entregando melhorias abrangentes de desempenho, suporte expandido para modelos e capacidades simplificadas de deployment para clientes que hospedam LLMs na AWS. Essas liberações focam em reduzir a complexidade operacional enquanto entregam ganhos mensuráveis de desempenho em arquiteturas de modelo populares.
Suporte a LMCache: Transformando Inferência de Contexto Longo
Uma das capacidades mais significativas introduzidas nas versões mais recentes do LMI é o suporte abrangente a LMCache. O LMCache é uma solução de código aberto para cachear chaves-valores (KV caching) que extrai e armazena caches KV gerados por motores LLM modernos, compartilhando esses caches entre motores e consultas para melhorar o desempenho da inferência.
Diferentemente de sistemas tradicionais que apenas cacheiam prefixos, o LMCache reutiliza caches KV de texto repetido — não necessariamente apenas prefixos — dentro de uma instância de motor de atendimento. O sistema funciona no nível de fragmentos, identificando trechos de texto repetidos comumente em documentos ou conversas e armazenando seu cache KV pré-computado.
Essa abordagem permite armazenamento em múltiplas camadas abrangendo memória GPU, memória CPU e backends em disco ou remotos, com cacheing inteligente que mantém um índice interno mapeando sequências de tokens para entradas KV cacheadas. As versões mais recentes do LMI introduzem configuração automática de LMCache, simplificando o deployment e otimização do cache KV. Essa interface de baixo código/sem código (LCNC – Low-Code No-Code) ajuda clientes a habilitarem esse recurso de desempenho avançado sem configurações manuais complexas.
Ao descarregar cache KV da memória GPU para RAM CPU ou armazenamento NVMe, o LMCache permite lidar eficientemente com cenários de contexto longo enquanto entrega melhorias de latência. Ao implementar roteamento aderente baseado em sessão no Amazon SageMaker AI, as organizações maximizam as taxas de acerto do cache, garantindo que requisições da mesma sessão sejam roteadas consistentemente para instâncias com conteúdo relevante cacheado.
Benchmarks de Desempenho do LMCache
Testes abrangentes em vários tamanhos de modelo e comprimentos de contexto revelam melhorias de desempenho que transformam a experiência para cargas de trabalho de inferência com contexto longo. A metodologia de teste adaptou o benchmark LMCache Long Doc QA para funcionar com o contêiner LMI, consistindo em três rodadas: pré-aquecimento para inicialização de início frio, uma rodada de aquecimento para popular armazenamento LMCache, e uma rodada de consulta para medir desempenho ao recuperar do cache.
Os benchmarks foram realizados em instâncias p4de.24xlarge (8× GPUs A100, 1,1 TB RAM, SSD NVMe) usando modelos Qwen com 46 documentos de 10.000 tokens cada (460.000 tokens totais) e 4 requisições concorrentes.
Para cargas de trabalho com contexto repetido, o LMCache alcança Tempo até Primeiro Token (TTFT – Time to First Token) mais rápido ao processar contextos de múltiplos milhões de tokens:
- Offloading de CPU: Entrega melhorias de desempenho com aceleração de 2,18x em latência total de requisição (52,978s → 24,274s) e TTFT 2,65x mais rápido (1,161s → 0,438s).
- Armazenamento NVMe com O_DIRECT habilitado: Aproxima-se do desempenho de CPU (0,741s TTFT) enquanto suporta capacidade de cacheing em escala TB, alcançando aceleração de 1,84x em latência total de requisição e TTFT 1,57x mais rápido.
Esses resultados demonstram redução de 62% em TTFT e redução de 54% em latência de requisição, alinhando-se estritamente com benchmarks publicados de LMCache. Essas reduções de latência traduzem-se diretamente em economia de custos, pois a redução de 54% no tempo de processamento de requisição permite que a mesma infraestrutura processe mais do dobro do volume de requisições, efetivamente reduzindo à metade os custos de computação por requisição.
As características de desempenho variam significativamente por tamanho de modelo devido a diferenças nos requisitos de memória de cache KV por token. Modelos maiores requerem substancialmente mais memória por token (Qwen2.5-1.5B: 28 KB/token, Qwen2.5-7B: 56 KB/token, Qwen2.5-72B: 320 KB/token), significando que esgotam a capacidade de cache KV da GPU em comprimentos de contexto muito mais curtos. O Qwen 2.5-1.5B consegue armazenar cache KV para até 2,6M tokens em memória GPU, enquanto Qwen 2.5-72B atinge seu limite em 480K tokens. Isso significa que o LMCache entrega valor em contextos mais curtos para modelos maiores. Um modelo de 72B pode se beneficiar de offloading de CPU começando em torno de 500K tokens com acelerações de 4-6x, enquanto modelos menores apenas requerem offloading em comprimentos de contexto extremos além de 2,5M tokens.
Configurando LMCache
Métodos de Configuração
Existem dois métodos principais para configurar LMCache conforme definido na documentação do GitHub. O primeiro é uma abordagem de configuração manual, e o segundo é uma configuração automatizada disponível em novas versões do LMI.
Configuração Manual
Para configuração manual, clientes criam sua própria configuração LMCache e a especificam em propriedades, arquivos ou variáveis de ambiente:
option.lmcache_config_file=/path/to/your/lmcache_config.yaml# OROPTION_LMCACHE_CONFIG_FILE=/path/to/your/lmcache_config.yaml
Essa abordagem oferece aos clientes controle sobre configurações de LMCache, permitindo customização de backends de armazenamento de cache, tamanhos de fragmentos e outros parâmetros avançados de acordo com seus requisitos específicos.
Configuração Automática
Para deployments simplificados, clientes podem habilitar configuração automática de LMCache similarmente:
option.lmcache_auto_config=True# OROPTION_LMCACHE_AUTO_CONFIG=True
A auto-configuração gera automaticamente uma configuração LMCache baseada no espaço disponível de CPU/disco na máquina host. Essa opção de deployment apenas suporta deployments com Tensor Parallelism, assume que /tmp está montado em armazenamento NVMe para cacheing baseado em disco, e requer maxWorkers=1. Essas configurações são assumidas com auto-configuração, que é projetada para servir um modelo único por instância de contêiner. Para servir múltiplos modelos ou cópias de modelo, clientes devem usar componentes de inferência do Amazon SageMaker AI, que facilitam isolamento de recursos entre modelos e cópias de modelo.
O recurso de configuração automática simplifica o deployment de cache KV ao eliminar a necessidade de arquivos de configuração YAML manual, permitindo que clientes comecem rapidamente com otimização LMCache.
Recomendações de Deployment
Baseado em resultados abrangentes de benchmarking e experiência de deployment, várias recomendações emergem para deployment optimal de LMI:
- Configure offloading de CPU quando RAM da instância permitir, entregando desempenho optimal para a maioria das cargas de trabalho
- Use NVMe com O_DIRECT habilitado para cargas de trabalho que requerem capacidade de cache além da RAM disponível
- Implemente roteamento aderente baseado em sessão no SageMaker AI para maximizar taxas de acerto do cache e facilitar desempenho consistente
- Considere a arquitetura do modelo ao configurar thresholds de offloading, pois modelos com diferentes configurações de cabeça KV terão configurações optimal diferentes
- Use configuração automática de LMCache para simplificar deployment e reduzir complexidade operacional
Decodificação Especulativa EAGLE
As versões mais recentes do LMI entregam melhorias de desempenho através de suporte para técnicas de decodificação especulativa EAGLE (Extrapolation Algorithm for Greater Language-model Efficiency – Algoritmo de Extrapolação para Maior Eficiência em Modelos de Linguagem). O EAGLE acelera a decodificação de grandes modelos de linguagem ao prever tokens futuros diretamente das camadas ocultas do modelo. Essa abordagem gera tokens rascunho que o modelo primário valida em paralelo, ajudando a reduzir a latência geral de geração enquanto mantém a qualidade da saída.
Configurar decodificação especulativa EAGLE é simples, requerendo apenas a especificação do caminho do modelo rascunho e número de tokens especulativos em sua configuração de deployment. Isso permite que organizações alcançem melhor desempenho para cargas de trabalho de hosting de LLM com benefícios para deployments de produção de alta concorrência e modelos focados em raciocínio.
Suporte Expandido a Modelos e Capacidades Multimodais
As versões mais recentes do LMI entregam suporte abrangente para modelos de código aberto de ponta, incluindo DeepSeek v3.2, Mistral Large 3, Ministral 3 e a série Qwen3-VL. Otimizações de desempenho melhoram tanto throughput quanto Tempo até Primeiro Token (TTFT) para servicing de modelos em larga escala através dessas arquiteturas.
Capacidades multimodais expandidas incluem suporte a FlashAttention ViT, agora servindo como o backend padrão para modelos visão-linguagem. Melhorias de decodificação especulativa EAGLE trazem suporte multi-etapa de gráfico CUDA e suporte multimodal com Qwen3-VL, permitindo inferência mais rápida para cargas de trabalho visão-linguagem. Com essas potencializações, organizações conseguem fazer deployment e escalar modelos foundation (FMs) mais rápido e eficientemente, ajudando a reduzir o tempo para produção enquanto diminuem a complexidade operacional.
Melhorias no Hosting de Adaptadores LoRA
As versões mais recentes do LMI trazem potencializações notáveis para hosting de múltiplos adaptadores LoRA no SageMaker AI. Adaptadores LoRA agora são carregados “preguiçosamente” (lazy loaded) — ao criar um componente de inferência, o componente do adaptador torna-se disponível quase imediatamente, mas o carregamento atual dos pesos do adaptador e registro com o motor de inferência ocorre na primeira invocação. Essa abordagem ajuda a reduzir tempo de deployment enquanto mantém flexibilidade para cenários multi-tenant.
Scripts de pré-processamento de entrada e pós-processamento de saída personalizados agora são suportados tanto para modelos base quanto adaptadores, com cada componente de inferência hosting adaptadores LoRA podendo ter scripts diferentes. Isso permite lógica de formatação específica do adaptador sem modificar código de inferência central, suportando deployments multi-tenant onde diferentes adaptadores aplicam regras de formatação distintas ao mesmo modelo subjacente.
Formatadores de saída personalizados proporcionam um mecanismo flexível para transformar respostas do modelo antes de serem retornadas para clientes, permitindo que organizações padronizem formatos de saída, adicionem metadados customizados ou implementem lógica de formatação específica do adaptador. Esses formatadores podem ser definidos no nível do modelo base para aplicar aos responses por padrão, ou no nível do adaptador para sobrescrever comportamento do modelo base para adaptadores LoRA.
Casos de uso comuns incluem adicionar timestamps de processamento e metadados personalizados, transformar texto gerado com prefixos ou formatação, calcular e injetar métricas customizadas, implementar esquemas de saída específicos do adaptador para diferentes aplicações cliente, e padronizar formatos de resposta entre deployments de modelo heterogêneos.
Próximos Passos
As versões mais recentes do LMI representam passos significativos adiante em capacidades de inferência de grandes modelos. Organizações podem fazer deployment de LLMs de ponta com maior desempenho e flexibilidade através de:
- Suporte abrangente a LMCache nas releases
- Decodificação especulativa EAGLE para inferência acelerada
- Suporte expandido a modelos incluindo capacidades multimodais de ponta
- Hosting melhorado de adaptadores LoRA
As opções configuráveis do contêiner proporcionam flexibilidade para fine-tune de deployments de acordo com necessidades específicas, seja otimizando para latência, throughput ou custo. Com as capacidades abrangentes de sistema do Amazon SageMaker AI, organizações podem focar em entregar soluções alimentadas por IA que ajudem a impulsionar valor para o negócio em vez de gerenciar infraestrutura.
Explore essas capacidades hoje ao fazer deployment de seus modelos de IA generativa na AWS e aproveite as melhorias de desempenho e experiência simplificada de deployment para ajudar a acelerar suas cargas de trabalho em produção.
Fonte
Large model inference container – latest capabilities and performance enhancements (https://aws.amazon.com/blogs/machine-learning/large-model-inference-container-latest-capabilities-and-performance-enhancements/)
Leave a Reply