Батч-инференс: когда обрабатывать много запросов сразу выгоднее, чем по одному

Графический процессор работает эффективнее, когда вычисляет не один вектор, а сразу пачку. Если отправить на карту 10 запросов вместо одного, первый ответит медленнее, но все 10 вместе обработаются быстрее, чем поочередно. Это принцип batch-инференса — обработки батча, пачки, партии за один раз.

На облаке это малоинтересно: откуда возьмётся пачка, если запросы приходят по одному? Разве что в ночных крупных задачах — пересчёт эмбеддинга большого корпуса, переводы больших текстов, генерация реестра товаров. На домашней машине батч-инференс — это консциозный выбор пользователя: собрать запросы, запустить ночью, получить результаты утром.

Ночные прогоны окупают медлительность

Пользователи локальных моделей часто жертвуют скоростью ради стоимости. Тройка запросов за час на облаке — это денег. Но та же тройка за час на домашней машине — это электричество в копейки. Если ждать ночь, экономия очевидна.

Батч-инференс требует чёткого процесса: где лежат входные данные, куда писать результаты, как автоматизировать запуск модели. Простой скрипт укладывает текстовые файлы в одну папку, запускается крон, и к утру результаты готовы. Это работает даже на ноутбуке.

Домашний запуск и облачное обслуживание решают разные задачи: облако для живого диалога, дома для ночных прогонов больших наборов.