Введение
Batch Inference (пакетный инференс) – режим работы ML-модели, при котором предсказания формируются не по одному запросу, а пакетно для большого набора объектов: за один запуск обрабатываются тысячи или миллионы записей. Batch Inference выполняется по расписанию (ночной пересчёт скоров) или по триггеру (поступление нового датасета). Это значительно дешевле Online Inference: инфраструктура запускается только на время вычислений.
История и контекст
Пакетная обработка данных существует с 1950-х годов в виде mainframe batch jobs. В контексте ML Batch Inference стал стандартной практикой с появлением первых промышленных ML-систем в 2000-х. Apache Spark и Hadoop позволили масштабировать пакетный инференс на петабайтных датасетах. Современные инструменты: Spark MLlib, Ray Batch Inference, AWS Batch, Databricks Jobs, Kubeflow Pipelines.
Как это работает
Типичный процесс Batch Inference:
- Загрузка данных – чтение датасета из хранилища (S3, HDFS, BigQuery).
- Preprocessing – вычисление признаков для всех объектов пакета.
- Предсказание – параллельный запуск модели на GPU/CPU, векторизованная обработка батчей.
- Запись результатов – сохранение предсказаний в БД или data warehouse для downstream-потребления.
- Уведомление – триггер для downstream-систем о готовности предсказаний.
Ключевое преимущество – векторизация: GPU обрабатывает большой батч параллельно, достигая высокого throughput при низкой стоимости на предсказание. Для трансформерных моделей батчинг в 32–256 примеров снижает cost per inference в 10–100 раз по сравнению с поштучной обработкой.
Где применяется
- Email-рекомендации – ночной расчёт персонализированных товарных рекомендаций для ежедневной рассылки.
- Кредитный скоринг – плановый пересчёт скоров кредитоспособности клиентской базы.
- Сегментация клиентов – еженедельный расчёт кластеров и скоров для CRM.
- Обработка документов – массовая классификация или извлечение данных из загруженных файлов.
- Мониторинг и аудит – периодический анализ лог-файлов, транзакций, событий.
Преимущества и ограничения
Преимущества: значительно дешевле Online Inference – нет постоянной инфраструктуры; высокий throughput через векторизацию; простота масштабирования через добавление worker'ов; надёжность – можно перезапустить при сбое.
Ограничения: предсказания устаревают к моменту использования; не подходит для интерактивных сценариев; задержка от события до предсказания может составлять часы.
Связь с другими понятиями
Batch Inference противопоставляется Online Inference. Часто реализуется в рамках Prediction Service с отдельным batch-эндпоинтом. KubeFlow Pipelines оркестрирует batch inference как шаг пайплайна. Feature Store предоставляет признаки через offline store для пакетного инференса. Мониторинг модели сравнивает предсказания batch inference с фактическими результатами для обнаружения дрейфа данных.