Inference

batching

Одновременная обработка нескольких запросов одним прогоном модели.

Что такое batching в инференсе

Батчинг — фундаментальная техника ускорения нейросетевых вычислений: вместо обработки каждого запроса по отдельности несколько запросов объединяются в один прогон через модель. Матричные умножения на GPU выполняются эффективнее при большем размере входа за счёт параллелизма CUDA-ядер.

На практике: модель 7B при batch_size=1 даёт 80 токенов/с, при batch_size=8 — суммарно 400–500 токенов/с, при batch_size=32 — 1000+ токенов/с при почти той же латентности на запрос.

Статический vs continuous батчинг

Статический батчинг (классический): сервер ждёт накопления N запросов или таймаута, затем обрабатывает их как единый батч. Проблема — запросы с разными длинами ответов: короткие ждут, пока длинные завершатся.

Continuous batching — современный стандарт: новые запросы добавляются в батч на каждом шаге декодирования. Все production-фреймворки (vLLM, TGI, SGLang) используют именно его.

Влияние размера батча

  • Слишком маленький батч — GPU недозагружен, VRAM используется неэффективно
  • Слишком большой батч — растёт латентность первого токена (TTFT)
  • Оптимум зависит от модели, GPU и требований к SLA

Связанные термины

  • continuous batching — динамический батчинг без ожидания завершения
  • TTFT — латентность, на которую влияет размер батча
  • tokens per second — метрика, оптимизируемая батчингом
  • serving — общий контекст эксплуатации модели

Готовы запустить GPU-задачу?

Запустить GPU-сервер