Как рассчитать GPU для Llama 3 70B на 50 пользователей
• DevOps/AI Engineer
#GPU
#Llama3
#Hardware
#TCO
Вводные данные
- Модель: Llama 3 70B (int4/int8/FP16)
- Количество пользователей: 50 (конкурентных)
- Длина контекста: 8K токенов
- Требования к latency: < 2 секунд на токен
Формула расчёта памяти
Для FP16 (точная, но дорогая):
- Веса: 70B параметров × 2 байта = 140 GB
- KV Cache на 8K контекст: 70B × 8K × 2 байта × 2 (K и V) ≈ 20 GB
- Итого: 160 GB VRAM → нужны 2 × H100 80GB (с NVLink) или 4 × A100 40GB
Для int4 (GPTQ/AWQ) (оптимально):
- Веса: 70B × 0.5 байта = 35 GB
- KV Cache: те же 20 GB (не квантится)
- Итого: 55 GB VRAM → 1 × H100 80GB или 2 × L40S 48GB
Throughput и latency
- H100 (int4): 5000-7000 tokens/sec (total), 100-140 tokens/sec per user.
- На 50 пользователей с генерацией 500 токенов: 50 × 500 = 25 000 токенов.
- Грубо: 25 000 / 5000 = 5 секунд генерации на всех.
- Время ответа одному пользователю при очереди: 50 × 0.5 сек = 25 сек (терпимо для RAG, но не для чата).
Рекомендация
- 2 × H100 80GB с TensorRT-LLM или vLLM.
- Использовать continuous batching.
- Поставить NVSwitch для объединения памяти в пул 160GB (тогда влезет FP16).
Вывод: Для 50 пользователей и Llama 3 70B минимально — 1 × H100 (int4), комфортно — 2 × H100 (FP16 + запас).