Открыть сервисСервис

Инференс в машинном обучении

Инференс (от англ. inference — «вывод, умозаключение») — этап работы обученной модели искусственного интеллекта, на котором она применяет накопленные знания к новым входным данным для получения результата: прогноза, классификации, сгенерированного текста или изображения. В отличие от этапа обучения (тренинга), на инференсе веса модели не изменяются — происходит только прямой проход данных через нейросеть и выдача выходного значения.

Место инференса в жизненном цикле модели

Разработка системы на основе машинного обучения обычно включает три последовательных этапа:

ЭтапЧто происходитИзменяются ли веса
Обучение (training)Модель настраивается на обучающем наборе данныхДа
Валидация / тестированиеОценка качества на отложенных данныхНет
Инференс (inference)Применение модели к новым даннымНет

На этапе инференса модель получает входной тензор (например, текст, изображение, вектор признаков), прогоняет его через вычисленные математические операции и возвращает выход: вероятности классов, вектор эмбеддингов, сгенерированный токен и т. д. Параметры (веса) остаются фиксированными, поэтому инференс называют также «прогоном» или «эксплуатацией» модели.

Виды инференса

По характеру обрабатываемых данных инференс подразделяют на несколько типов:

  • Батчевый (batch) — обработка большого набора данных за один проход. Используется при массовой разметке, офлайн-анализе, пересчёте эмбеддингов. Позволяет эффективно задействовать вычислительные ресурсы.
  • Онлайн (online, real-time) — обработка данных по мере поступления, с минимальной задержкой. Применяется в рекомендательных системах, чат-ботах, системах распознавания речи, автопилотах.
  • Стриминговый (streaming) — непрерывная обработка потока данных в реальном времени, например видео с камер или аудиопотока.

По масштабу выделяют также edge-инференс — выполнение вычислений на локальных устройствах (смартфоны, микроконтроллеры, встроенные системы) без обращения к облаку, и облачный инференс — выполнение на удалённых серверах.

Особенности инференса больших языковых моделей

Для трансформерных языковых моделей (GPT, LLaMA, RuGPT и аналогичных) инференс имеет ряд специфических черт:

  • Авторегрессивная генерация. Модель предсказывает следующий токен, добавляет его к контексту и повторяет процедуру. Каждый шаг — отдельный проход через сеть.
  • Кэширование ключей и значений (KV cache). При генерации повторно пересчитываются только новые токены; ранее вычисленные ключи и значения сохраняются в памяти, что существенно ускоряет вывод.
  • Длина контекста. Чем больше окно внимания, тем больше памяти требуется для хранения KV-кэша и тем выше стоимость инференса.
  • Декодирование. Стратегии выбора следующего токена (жадный алгоритм, beam search, сэмплирование с температурой, top-k, top-p) определяют баланс между детерминированностью и разнообразием ответов.

Оптимизация инференса

Стоимость инференса для крупных моделей часто превышает затраты на их обучение, поэтому разработано множество методов ускорения:

  • Квантизация — снижение разрядности весов (например, с FP32 до INT8 или INT4), уменьшающее объём памяти и ускоряющее вычисления при минимальной потере качества.
  • Дистилляция — обучение более лёгкой «студенческой» модели на выходах крупной «учительской» модели.
  • Прореживание (pruning) — удаление малозначимых весов и целых нейронов.
  • Экспорт в оптимизированные форматы — ONNX, TensorRT, OpenVINO, GGUF — с аппаратно-специфичными оптимизациями.
  • Пакетирование запросов (batching) — объединение нескольких запросов в один проход для лучшей загрузки GPU.
  • Параллелизм — распределение вычислений между несколькими ускорителями (тензорный, pipeline-, data-параллелизм).

Метрики и стоимость

Производительность инференса оценивают по нескольким показателям:

  • Латентность (latency) — время от поступления запроса до получения ответа. Для онлайн-сценариев критична задержка в миллисекунды.
  • Пропускная способность (throughput) — количество обрабатываемых запросов или токенов в единицу времени.
  • Стоимость токена — цена обработки одного токена при обращении к API; определяется объёмом модели и объёмом контекста.
  • Энергопотребление — важный показатель для edge-устройств и крупных дата-центров.

Применение

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

Источники:

  • «Deep Learning» (Ian Goodfellow, Yoshua Bengio, Aaron Courville)
  • «Attention Is All You Need» (Vaswani et al., 2017)
  • Документация ONNX Runtime, NVIDIA TensorRT, Hugging Face Transformers
  • Материалы конференций NeurIPS, ICML, ICLR по оптимизации инференса
Заметили ошибку или не согласны с информацией в статье? Напишите нам support@bfometr.ru