Как рассчитать 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 VRAM1 × 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 + запас).