Производственные системы ML: статический и динамический вывод

Вывод — это процесс прогнозирования путем применения обученной модели к неразмеченным примерам . Вообще говоря, модель может делать прогнозы одним из двух способов:

  • Статический вывод (также называемый автономным выводом или пакетным выводом ) означает, что модель делает прогнозы на множестве распространенных немаркированных примеров , а затем где-то кэширует эти прогнозы.
  • Динамический вывод (также называемый онлайн-выводом или выводом в реальном времени) означает, что модель делает прогнозы только по требованию, например, когда клиент запрашивает прогноз.

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

Рисунок 4. При статическом выводе модель генерирует прогнозы, которые затем кэшируются на сервере.
Рисунок 4. При статическом выводе модель генерирует прогнозы, которые затем кэшируются на сервере.

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

Теперь рассмотрим модель, которая делает выводы быстро, возможно, за 2 миллисекунды, используя относительный минимум вычислительных ресурсов. В этой ситуации клиенты могут быстро и эффективно получать прогнозы с помощью динамического вывода, как показано на рисунке 5.

Рисунок 5. При динамическом выводе модель делает прогнозы по запросу.
Рисунок 5. При динамическом выводе модель делает прогнозы по запросу.

Статический вывод

Статический вывод имеет определенные преимущества и недостатки.

Преимущества

  • Не нужно сильно беспокоиться о стоимости вывода.
  • Могу сделать пост-проверку прогнозов перед отправкой.

Недостатки

  • Может предоставлять только кэшированные прогнозы, поэтому система может быть не в состоянии предоставлять прогнозы для необычных входных примеров.
  • Задержка обновления, вероятно, измеряется часами или днями.

Динамический вывод

Динамический вывод имеет определенные преимущества и недостатки.

Преимущества

  • Можно сделать прогноз для любого нового элемента по мере его поступления, что отлично подходит для прогнозов с длинным хвостом (менее распространенных).

Недостатки

  • Интенсивные вычисления и чувствительность к задержкам. Эта комбинация может ограничить сложность модели; то есть вам, возможно, придется построить более простую модель, которая сможет делать прогнозы быстрее, чем сложная модель.
  • Потребности в мониторинге более интенсивны.

Упражнения: проверьте свое понимание

Какие три из следующих четырех утверждений верны для статического вывода?
Вы можете быстро реагировать на изменения в мире.
Модель должна создавать прогнозы для всех возможных входных данных.
Система может проверять полученные прогнозы перед их обслуживанием.
Для заданных входных данных модель может дать прогноз быстрее, чем динамический вывод.
Какое из следующих утверждений верно для динамического вывода?
Вы можете предоставить прогнозы для всех возможных предметов.
При выполнении динамического вывода вам не нужно беспокоиться о задержке прогнозирования (время задержки для возврата прогнозов) так сильно, как при выполнении статического вывода.
Вы можете выполнить пост-проверку прогнозов перед их использованием.