Arrakis / Guias / Memória de GPU
De quanta memória de GPU o seu modelo precisa?
Conte os bytes por parâmetro. Para servir um modelo, são 2 bytes por parâmetro em 16 bits, 1 em 8 bits e meio byte em 4 bits, mais cerca de 20% para o cache KV e as ativações. O ajuste fino precisa de muito mais: cerca de 16 bytes por parâmetro com Adam, a menos que LoRA ou QLoRA congele o modelo base.
Servir um modelo
A memória para rodar um modelo em inferência, com a menor configuração de GPU em que ele cabe e o menor preço no Arrakis neste momento.
| Tamanho do modelo | 16 bits | 8 bits | 4 bits |
|---|---|---|---|
| 8BLlama 3.1 8B | 19 GB: uma RTX 4090 ou RTX 3090, a RTX 3090 a partir de US$ 0,19 por GPU-hora | 9,6 GB: uma RTX 4090 ou RTX 3090, a RTX 3090 a partir de US$ 0,19 por GPU-hora | 4,8 GB: uma RTX 4090 ou RTX 3090, a RTX 3090 a partir de US$ 0,19 por GPU-hora |
| 14BQwen2.5 14B | 34 GB: uma L40S, RTX 6000 Ada ou RTX A6000, a L40S a partir de US$ 0,44 por GPU-hora | 17 GB: uma RTX 4090 ou RTX 3090, a RTX 3090 a partir de US$ 0,19 por GPU-hora | 8,4 GB: uma RTX 4090 ou RTX 3090, a RTX 3090 a partir de US$ 0,19 por GPU-hora |
| 32BQwen2.5 32B | 77 GB: uma H100 ou A100, a H100 a partir de US$ 2,07 por GPU-hora | 38 GB: uma L40S, RTX 6000 Ada ou RTX A6000, a L40S a partir de US$ 0,44 por GPU-hora | 19 GB: uma RTX 4090 ou RTX 3090, a RTX 3090 a partir de US$ 0,19 por GPU-hora |
| 70BLlama 3.3 70B | 168 GB: uma B200, a partir de US$ 6,33 por GPU-hora | 84 GB: uma RTX PRO 6000, a partir de US$ 1,90 por GPU-hora | 42 GB: uma L40S, RTX 6000 Ada ou RTX A6000, a L40S a partir de US$ 0,44 por GPU-hora |
| 405BLlama 3.1 405B | 972 GB: 4 × B300, a partir de US$ 18,40 por hora pelas 4 | 486 GB: 2 × B300, a partir de US$ 9,20 por hora pelas 2 | 243 GB: uma B300, a partir de US$ 4,60 por GPU-hora |
Ajuste fino de um modelo
O QLoRA treina adaptadores sobre um modelo congelado em 4 bits, o LoRA sobre um em 16 bits, e o ajuste fino completo atualiza todos os pesos. Os valores não incluem as ativações, que crescem com o tamanho do lote e o comprimento da sequência.
| Tamanho do modelo | QLoRA | LoRA | Ajuste fino completo |
|---|---|---|---|
| 8BLlama 3.1 8B | 5,6 GB: uma RTX 4090 ou RTX 3090, a RTX 3090 a partir de US$ 0,19 por GPU-hora | 19 GB: uma RTX 4090 ou RTX 3090, a RTX 3090 a partir de US$ 0,19 por GPU-hora | 128 GB: uma H200, a partir de US$ 3,44 por GPU-hora |
| 14BQwen2.5 14B | 9,8 GB: uma RTX 4090 ou RTX 3090, a RTX 3090 a partir de US$ 0,19 por GPU-hora | 34 GB: uma L40S, RTX 6000 Ada ou RTX A6000, a L40S a partir de US$ 0,44 por GPU-hora | 224 GB: uma B300, a partir de US$ 4,60 por GPU-hora |
| 32BQwen2.5 32B | 22 GB: uma RTX 4090 ou RTX 3090, a RTX 3090 a partir de US$ 0,19 por GPU-hora | 77 GB: uma H100 ou A100, a H100 a partir de US$ 2,07 por GPU-hora | 512 GB: 2 × B300, a partir de US$ 9,20 por hora pelas 2 |
| 70BLlama 3.3 70B | 49 GB: uma H100 ou A100, a H100 a partir de US$ 2,07 por GPU-hora | 168 GB: uma B200, a partir de US$ 6,33 por GPU-hora | 1.120 GB: 8 × H200, a partir de US$ 27,52 por hora pelas 8 |
| 405BLlama 3.1 405B | 284 GB: 4 × H100, a partir de US$ 8,28 por hora pelas 4 | 972 GB: 4 × B300, a partir de US$ 18,40 por hora pelas 4 | 6.480 GB: mais de uma máquina de 8 GPUs |
As regras por trás dos números
Regras práticas, boas o bastante para escolher uma GPU. Meça antes de uma execução longa.
- Pesos
- Parâmetros vezes bytes por parâmetro: 2 em 16 bits (BF16 ou FP16), 1 em 8 bits (FP8 ou INT8), 0,5 em 4 bits.
- Folga para servir
- Cerca de 20% a mais para o cache KV e as ativações, com contexto e lote moderados. Contextos longos e lotes grandes precisam de mais.
- Ajuste fino completo
- Cerca de 16 bytes por parâmetro com Adam de precisão mista: pesos, gradientes, estados do otimizador e uma cópia mestra em 32 bits (ZeRO, arXiv:1910.02054). Divida entre GPUs com FSDP ou ZeRO.
- LoRA
- O modelo base em 16 bits fica congelado; só pequenos adaptadores são treinados. Planeje os pesos mais cerca de 20%.
- QLoRA
- O modelo base congelado fica armazenado em 4 bits. Os autores fizeram o ajuste fino de um modelo de 65B em uma única GPU de 48 GB (QLoRA, arXiv:2305.14314), com cerca de 0,7 byte por parâmetro.
- Memória de GPU
- Das páginas da NVIDIA de cada GPU, com link na página dela aqui.
Perguntas
Os preços em tempo real de todas as GPUs estão na página de preços de GPU.