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 GPU | Memória publicada | Largura de banda de memória publicada |
|---|---|---|
| H100 SXM | 80 GB HBM3 | 3.35 TB/s |
| H200 SXM | 141 GB HBM3e | 4.8 TB/s |
| B200 SXM | 180 GB HBM3e | Até 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.