Escolha de GPU para LLMs: de quanta memória GPU preciso?

Tradução automática

Este artigo foi traduzido automaticamente a partir da versão original em inglês.

Estime a memória dos pesos, do KV cache e do runtime antes de comparar a velocidade das GPU. Depois meça a largura de banda, a capacidade de cálculo e as interligações com a distribuição de pedidos prevista. Um modelo cujos pesos cabem na memória pode ainda assim exceder a capacidade disponível quando vários pedidos longos são processados em simultâneo.

Use a concorrência e os comprimentos de sequência necessários no cálculo da memória.

Faça a estimativa de memória

Um modelo com 7 mil milhões de parâmetros armazenado em FP16 ocupa cerca de 14 GB apenas em valores dos pesos. INT4 reduz esses valores para cerca de 3.5 GB, mas os fatores de escala, os tensores não quantizados e as alocações do runtime acrescentam memória. O valor relevante é a alocação real do artefacto.

Em seguida, estime a memória do KV cache para a arquitetura, a precisão da cache, os comprimentos das sequências ativas e o tamanho do lote. Por fim, inclua as ativações temporárias, os buffers, a sobrecarga do alocador e uma reserva baseada em medições.

Num exemplo simples de planeamento, 14 GB de pesos mais uma alocação KV medida de 4 GB já exigem 18 GB antes das restantes alocações. Isso deixa pouca margem numa placa de 24 GB se a sobrecarga do runtime ou os pedidos mais longos consumirem o resto. Não demonstra que todos os modelos com 7 mil milhões de parâmetros têm uma cache de 4 GB.

A largura de banda e as ligações entre GPU alteram a comparação

Variante de GPUMemória publicadaLargura de banda de memória publicada
H100 SXM80 GB HBM33.35 TB/s
H200 SXM141 GB HBM3e4.8 TB/s
B200 SXM180 GB HBM3eAté 8 TB/s

Estes valores provêm da arquitetura de referência HGX da NVIDIA. Descrevem variantes específicas, não especificações intercambiáveis para todas as placas com o mesmo nome de família.

Durante a descodificação com lotes pequenos, a leitura dos pesos e do estado de atenção pode tornar a largura de banda da memória mais relevante do que o débito máximo das operações matriciais. Lotes maiores, fases de prefill longas e kernels otimizados podem alterar o recurso que limita o desempenho. Quando um modelo precisa de várias GPUs, inclua o tempo de comunicação coletiva e as ligações disponíveis entre dispositivos.

Compare o custo real por pedido concluído com sucesso com os mesmos objetivos de qualidade e latência. Inclua os grupos de GPU necessários e a capacidade não utilizada; o preço de aluguer atual, por si só, não mostra a eficiência do serving.

A secção de escolha de GPU do LLM Engineering Guide compara outros dispositivos. Use o planeamento de memória do KV cache para estimar a alocação variável.