Capa

Escassez de memória em IA: HBM, KV cache e impacto para devs

A escassez de memória já não é apenas um problema de quem compra placas de vídeo: ela pode limitar a expansão de serviços de IA, elevar custos de infraestrutura e atrasar projetos que dependem de capacidade computacional. Segundo o Terra.com.br, Lisa Su, CEO da AMD, afirmou que a empresa continua explorando oportunidades de parceria com a Samsung Electronics tanto em memória quanto em fundição. Isso indica conversas estratégicas — não confirma um contrato nem uma mudança imediata na cadeia de fabricação da AMD.

Para quem desenvolve software, o ponto importante é entender por que memória virou gargalo. Em cargas de IA, não basta ter um acelerador potente: é preciso alimentá-lo com dados e manter parâmetros, contexto e resultados acessíveis. Quando memória ou largura de banda faltam, o hardware fica subutilizado e o custo por requisição pode subir.

O que a AMD está discutindo com Samsung e SK Hynix

Durante uma visita a Seul, Su disse que se reuniu com executivos da SK Hynix e que também encontraria representantes da Samsung. Ela afirmou que incentiva fornecedores a ampliar a produção e descreveu a cadeia de suprimentos coreana como fundamental para as ambições da AMD em data centers.

A distinção entre as duas frentes mencionadas importa. Memória é o componente que guarda dados usados por CPUs e aceleradores. Fundição é o serviço de fabricação de chips projetados por outra empresa. Uma conversa sobre parceria pode envolver áreas diferentes, mas a declaração pública não especifica produtos, volumes, processos de fabricação nem cronograma.

Samsung e SK Hynix são grandes fornecedoras de memória, incluindo memórias de alta largura de banda usadas em aceleradores de IA. A Samsung também opera negócios de fundição. Essa combinação pode torná-la uma parceira potencial em mais de uma etapa, mas não significa que fabricar memória e fabricar um processador sejam tarefas intercambiáveis. São tecnologias, linhas de produção e desafios de integração diferentes.

Por que a memória é um gargalo em servidores de IA

Em treinamento e inferência, o acelerador precisa movimentar grandes quantidades de dados. A HBM, ou memória de alta largura de banda, fica próxima ao processador gráfico e foi projetada para fornecer throughput muito superior ao de memória convencional usada em computadores pessoais. A capacidade e a largura de banda disponíveis influenciam quais modelos cabem no equipamento e com que velocidade podem ser atendidos.

Na inferência de modelos de linguagem, por exemplo, os pesos do modelo ocupam memória, mas não são o único consumidor. O cache de chaves e valores, conhecido como KV cache, cresce conforme aumentam o tamanho do lote e o contexto das conversas. Um serviço pode ter aceleradores caros e ainda assim limitar o número de sessões simultâneas porque não há memória suficiente para manter os contextos ativos.

Esse problema não se resolve simplesmente “comprando mais GPU”. A disponibilidade do acelerador depende de componentes, embalagem avançada, placas, energia e capacidade de instalação no data center. A expansão de uma etapa não garante automaticamente a expansão das demais. É por isso que a declaração de Su sobre trabalhar com clientes para otimizar o uso de memória é relevante: eficiência pode liberar capacidade antes que novos chips cheguem.

Samsung, SK Hynix e alternativas de fornecimento

Uma parceria com a Samsung poderia, em tese, ampliar opções de fornecimento ou criar oportunidades de integração entre componentes. Mas não dá para concluir, com base na declaração, que a AMD substituirá um fornecedor atual ou transferirá a fabricação de um produto específico. Decisões desse tipo dependem de desempenho, rendimento de fabricação, custo, capacidade disponível e validação técnica.

A SK Hynix é outra peça importante do cenário de memória para IA. A AMD também pode trabalhar com diferentes parceiros conforme produto e geração. Diversificar fornecedores reduz dependência de uma única fonte, mas não é uma troca instantânea: chips precisam atender às especificações, passar por validação e funcionar com o projeto de encapsulamento e a plataforma.

Há ainda uma alternativa que costuma ser esquecida em discussões sobre oferta: reduzir a pressão por memória no software. Quantização, batching controlado, cache eficiente e modelos menores podem diminuir o consumo. Essas técnicas não substituem HBM em cargas que exigem alta capacidade e desempenho, mas podem melhorar o custo por requisição enquanto o setor amplia a produção.

O impacto prático para quem desenvolve sistemas de IA

Para equipes de engenharia, a notícia não exige mudar a arquitetura de uma aplicação hoje. O efeito prático é acompanhar custos e disponibilidade de infraestrutura com atenção, sem assumir que a oferta de aceleradores crescerá no mesmo ritmo da demanda. Lisa Su descreveu a demanda por data centers como forte em todo o portfólio da AMD; isso reforça a necessidade de planejar capacidade, e não apenas contar instâncias de GPU.

Ao estimar memória para inferência, vale separar pesos do modelo, KV cache e sobrecarga do runtime. A conta abaixo estima apenas a memória do KV cache em um modelo de arquitetura transformer. Ela não inclui pesos, buffers temporários, fragmentação nem memória reservada pelo framework, então não deve ser tratada como requisito total do servidor.

def estimar_kv_cache_gib(
    camadas: int,
    contexto_tokens: int,
    lote: int,
    cabecas_kv: int,
    dimensao_cabeca: int,
    bytes_por_elemento: int = 2,
) -> float:
    """Estima o KV cache de um transformer em GiB."""
    valores = (camadas, contexto_tokens, lote, cabecas_kv,
               dimensao_cabeca, bytes_por_elemento)
    if any(valor <= 0 for valor in valores):
        raise ValueError("Todos os parâmetros devem ser positivos.")

    # Chaves e valores: dois tensores por token e camada.
    total_bytes = (
        2 * camadas * contexto_tokens * lote
        * cabecas_kv * dimensao_cabeca * bytes_por_elemento
    )
    return total_bytes / (1024 ** 3)


if __name__ == "__main__":
    gib = estimar_kv_cache_gib(
        camadas=32,
        contexto_tokens=8192,
        lote=4,
        cabecas_kv=8,
        dimensao_cabeca=128,
        bytes_por_elemento=2,
    )
    print(f"KV cache estimado: {gib:.2f} GiB")

O motivo de esse cálculo ser útil é simples: contexto e concorrência multiplicam o consumo. Se o lote dobrar, o KV cache estimado também dobra. Se a equipe reduzir o número de cabeças de KV por meio de uma arquitetura compatível, o consumo pode cair. Mas não se deve alterar o contexto ou a precisão sem medir qualidade, latência e comportamento do modelo na aplicação real.

Na Prática: como planejar capacidade sem desperdiçar memória

  1. Meça a carga real. Registre tamanho de entrada e saída, concorrência, latência e memória ocupada. Uma média isolada esconde picos de contexto e tráfego.
  2. Separe os componentes. Estime pesos, KV cache e buffers. Use a fórmula acima como aproximação inicial, não como promessa de capacidade.
  3. Teste diferentes configurações. Compare quantização, batching e limites de contexto. Faça testes com qualidade de resposta e latência, não apenas com memória livre.
  4. Defina margem operacional. Deixe espaço para picos, processos auxiliares e variações do runtime. Reservar até o último byte costuma produzir falhas intermitentes.
  5. Monitore custo por unidade útil. Acompanhe custo por mil tokens ou por tarefa concluída. Uma instância mais barata pode sair cara se entregar menos throughput.

Esse processo vale independentemente de o acelerador ser da AMD, NVIDIA ou de outro fornecedor. Na prática, a escolha depende do desempenho no workload, da disponibilidade, do suporte de software, das bibliotecas usadas e do custo total de operação. Comparar apenas especificações máximas de memória não revela quanto da capacidade ficará utilizável pela aplicação.

Erros comuns ao analisar a escassez de memória

  • Confundir anúncio com fornecimento confirmado. A AMD disse que continua explorando oportunidades com a Samsung. Isso não equivale a anunciar um acordo fechado, um volume de chips ou uma data de entrega.
  • Tratar memória como um componente genérico. HBM, DRAM convencional e memória de armazenamento têm funções diferentes. Mais SSD não substitui largura de banda de HBM em um acelerador.
  • Dimensionar só pelos pesos do modelo. Em inferência concorrente, KV cache e buffers podem consumir uma parcela relevante da memória. O perfil muda com contexto, lote e arquitetura.
  • Assumir que quantização sempre é gratuita. Ela pode reduzir memória e custo, mas pode afetar qualidade, compatibilidade e velocidade conforme o modelo e o hardware.
  • Comprar capacidade sem medir utilização. Um acelerador com muita memória não resolve gargalos de CPU, rede, armazenamento ou pipeline de dados. É preciso medir a aplicação de ponta a ponta.

O que acompanhar nos próximos meses

O mais útil será observar anúncios concretos: produtos envolvidos, capacidade de produção, geração de memória, processo de fabricação e cronograma. Até que esses detalhes apareçam, a fala de Su deve ser lida como sinal de que a AMD busca ampliar e otimizar relações com fornecedores em um mercado pressionado pela demanda de data centers.

Para times de software, a lição não depende do resultado das negociações. Modelos e serviços devem ser projetados para operar dentro de limites explícitos de memória, com métricas que permitam ajustar contexto, concorrência e batching. A oferta de chips pode melhorar, mas aplicações eficientes continuam sendo mais simples de escalar e menos vulneráveis a oscilações de preço.

Perguntas frequentes

A AMD confirmou uma parceria de fundição com a Samsung?

Não. Lisa Su disse que a AMD continua explorando oportunidades de parceria em memória e fundição. A declaração não confirma um contrato, um produto específico ou uma transferência de fabricação.

Por que a memória HBM é importante para inteligência artificial?

Ela oferece alta largura de banda para alimentar aceleradores com dados. Em modelos de IA, capacidade e velocidade de memória afetam o tamanho do modelo que cabe no sistema e a quantidade de requisições que podem ser processadas simultaneamente.

A escassez de memória afeta quem desenvolve aplicações web?

Indiretamente, sim. Serviços que usam IA podem enfrentar custos maiores, limites de contexto ou menor capacidade de atendimento. Para aplicações sem inferência própria, o impacto depende de fornecedores e preços dos serviços usados.

Quantização resolve a falta de memória em modelos de IA?

Pode reduzir o consumo, mas não é uma solução universal. É necessário validar qualidade, latência e compatibilidade no modelo e no hardware escolhidos. Também não elimina outros gargalos, como largura de banda ou capacidade de processamento.

Como estimar memória para servir um modelo de linguagem?

Some a memória dos pesos, do KV cache e dos buffers do runtime, depois reserve margem operacional. A estimativa de KV cache apresentada aqui ajuda no planejamento inicial, mas medições com o modelo e a configuração reais são indispensáveis.

Gostou? Me segue no GitHub e deixa um comentário se tiver dúvida ou quiser aprofundar algum ponto.

Y

Yuri Sousa

Front-End Developer / Designer

Desenvolvedor apaixonado por criar experiências digitais acessíveis e visualmente perfeitas. Escrevo sobre desenvolvimento web, design e tecnologia.