Производственные системы машинного обучения: статическое и динамическое обучение

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

  • Статическое обучение (также называемое автономным обучением ) означает, что вы обучаете модель только один раз. Затем вы какое-то время служите той же самой обученной модели.
  • Динамическое обучение (также называемое онлайн-обучением ) означает, что вы обучаете модель непрерывно или, по крайней мере, часто. Обычно вы обслуживаете самую последнюю обученную модель.
Рисунок 2. Из сырого теста получаются три одинаковые буханки хлеба.
Рисунок 2. Статическая тренировка. Тренируйтесь один раз; обслуживать одну и ту же построенную модель несколько раз. (Изображения Pexels и Fancycrave1.)

Рисунок 3. Из сырого теста каждый раз получаются немного разные буханки хлеба.
Рисунок 3. Динамическая тренировка. Часто переподготовляйтесь; обслуживать самую последнюю построенную модель. (Изображения Pexels и Couleur.)

Таблица 1. Основные преимущества и недостатки.

Статическая тренировка Динамическое обучение
Преимущества Проще. Вам нужно всего лишь один раз разработать и протестировать модель. Более адаптируемый. Ваша модель будет учитывать любые изменения во взаимоотношениях между объектами и метками.
Недостатки Иногда более несвежее. Если взаимосвязь между объектами и метками со временем изменится, прогнозы вашей модели ухудшятся. Больше работы. Вы должны постоянно создавать, тестировать и выпускать новый продукт.

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

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

Более подробное изучение статического и динамического обучения см. в курсе «Управление проектами машинного обучения» .

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

Какие два из следующих утверждений верны в отношении статического (оффлайн) обучения?
Модель обновляется по мере поступления новых данных.
На самом деле, если вы тренируетесь в автономном режиме, модель не сможет включать новые данные по мере их поступления. Это может привести к устареванию модели, если распределение, которое вы пытаетесь изучить, со временем меняется.
Вы можете проверить модель перед ее применением в производстве.
Да, автономное обучение дает широкие возможности проверить производительность модели перед ее внедрением в производство.
Оффлайн-обучение требует меньшего контроля за учебными заданиями, чем онлайн-обучение.
В целом, требования к мониторингу во время обучения более скромные для автономного обучения, что изолирует вас от многих производственных вопросов. Однако чем чаще вы обучаете свою модель, тем больше инвестиций вам придется вкладывать в мониторинг. Вам также необходимо регулярно проводить проверку, чтобы гарантировать, что изменения в вашем коде (и его зависимостях) не влияют отрицательно на качество модели.
Во время вывода требуется очень небольшой мониторинг входных данных.
Как ни странно, вам необходимо отслеживать входные данные во время обслуживания. Если входные распределения изменятся, предсказания нашей модели могут стать ненадежными. Представьте себе, например, что модель, обученная только на данных об одежде в летнее время, внезапно используется для прогнозирования покупательского поведения в зимнее время.
Какое из следующих утверждений верно в отношении динамического (онлайн) обучения?
Модель обновляется по мере поступления новых данных.
Это основное преимущество онлайн-обучения; вы можете избежать многих проблем устаревания, позволяя модели обучаться на новых данных по мере их поступления.
Необходимо очень незначительное наблюдение за учебными работами.
На самом деле, вы должны постоянно следить за учебными заданиями, чтобы убедиться, что они здоровы и работают по назначению. Вам также понадобится вспомогательная инфраструктура, например возможность откатить модель к предыдущему снимку в случае, если что-то пойдет не так в обучении, например ошибка в задании или повреждение входных данных.
Во время вывода требуется очень небольшой мониторинг входных данных.
Как и в случае со статической автономной моделью, важно отслеживать входные данные для динамически обновляемых моделей. Вероятно, вы не подвержены риску серьезных сезонных эффектов, но внезапные и большие изменения во входных данных (например, выход из строя восходящего источника данных) все равно могут привести к ненадежным прогнозам.