Инференс: от обучения к предсказанию
ML-модель проходит два принципиально разных этапа. Обучение (training) — модель изучает паттерны на исторических данных и подбирает параметры. Инференс (inference) — готовая модель применяется к новым данным для получения предсказаний.
В продакшне работает только инференс. Пользователь открыл страницу категории — система запускает инференс рекомендательной модели и за десятки миллисекунд возвращает персонализированный список товаров.
Требования к инференсу в e-commerce
Онлайн-инференс работает под жёсткими ограничениями по времени:
| Сценарий | Допустимая латентность | Причина |
|---|---|---|
| Рекомендации на PDP | < 50–100 мс | Блокирует рендеринг страницы |
| Персонализация категорий | < 100 мс | Загружается вместе со списком товаров |
| AI Shopping Assistant | < 2–3 сек | Пользователь ожидает ответ |
| Batch-скоринг сегментов | Нет ограничений | Офлайн-обработка |
Превышение лимита латентности для первых двух сценариев означает fallback — показ дефолтных рекомендаций без персонализации или задержку рендеринга, что влияет на конверсию.
Online vs Batch инференс
Online inference — синхронный: запрос пришёл → модель отработала → ответ вернулся. Используется для персонализации, рекомендаций, поиска в реальном времени. Требует высокодоступной inference-инфраструктуры.
Batch inference — асинхронный: модель периодически обрабатывает большие массивы данных и сохраняет результаты в базу. При запросе страницы система читает предвычисленный результат — это быстро, но данные могут быть устаревшими.
На практике рекомендательные системы часто комбинируют оба подхода: batch для долгосрочных предпочтений (affinity-профиль, пересчитывается раз в несколько часов) + online для краткосрочных (сессионные сигналы в реальном времени).
Совет: кэшируйте результаты инференса для типичных сценариев (bestsellers, trending) — это снижает нагрузку на инференс-сервер на 60–80%, не жертвуя качеством для большинства пользователей.
Инференс LLM: особые требования
Для больших языковых моделей инференс на порядок ресурсоёмче, чем для классических ML-моделей. Один токен в ответе GPT-класса модели требует операций на уровне гигафлопс. Отсюда:
- Специализированные GPU/TPU-сервера для инференса
- Квантизация — снижение точности чисел для ускорения без заметной потери качества
- Streaming output — токены отправляются пользователю по мере генерации, не ждя полного ответа
- Кэширование KV-cache для ускорения повторяющихся запросов