Взгляд менеджера по продукту

Как менеджер по продукту, вы несете ответственность за постоянный успех вашего продукта. Это может включать проверку перед запуском, измерение прироста в A / B-тесте при запуске и отслеживание основных KPI. Если вы управляете продуктом машинного обучения, долгосрочный успех вашего продукта будет зависеть от поддержания ваших моделей в актуальном состоянии. В этом посте я объясню, почему это важная проблема и как обеспечить постоянный успех за счет переобучения модели.

Почему вам следует переобучить свою модель машинного обучения

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

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

Вы не знаете, чего не знаете

И вы должны знать, как работает ваша модель, поэтому, прежде чем даже инвестировать в переобучение модели, убедитесь, что ваша система машинного обучения (а не только модель) имеет мониторинг, который позволяет вам видеть, ухудшается ли производительность с течением времени. Без этой ключевой информации вы просто не узнаете, насколько серьезна ваша проблема - и это должно быть ОЧЕНЬ страшно! 👻

  • Поскольку большинство моделей полагаются на предпосылку, что распределение данных, которые они видели во время обучения, такое же, как данные, которые они увидят в будущем, мониторинг дрейфа функций является отличным индикатором того, когда следует повторно тренироваться.
  • Мониторинг дрейфа предсказания или точности предсказания, вероятно, являются одними из лучших индикаторов потребности в повторном обучении, поскольку он измеряет, как выходные данные вашей модели изменяются и работают с течением времени.
  • Модель машинного обучения не живет изолированно, поэтому измерение результатов модели с точки зрения пользовательского опыта очень важно - если вы хотите узнать больше об этой теме, я настоятельно рекомендую этот очень интересный доклад Лины Вайхброт «Измерение оперативного качества рекомендаций »с конференции ACM RecSys'18.

Как часто переобучать вашу модель машинного обучения

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

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

Для систем, где есть взаимодействие с людьми, очень интересной проблемой является изменение поведения и понимание того, как ваша модель справляется с этим. Мы называем это «дрейфом». Как упоминалось ранее, изменения поведения могут быть медленными, устойчивыми и предсказуемыми или резкими и неожиданными. Например, музыкальные вкусы меняются по мере того, как люди растут, новые жанры появляются и популяризируются каждый год, но время от времени песня становится вирусной, и все ее слышат, или снова наступает время Рождества, и в некоторых частях мира люди слушают рождественские гимны. ; рекомендуя музыку, следует учитывать оба сценария.

Если модель очень легко обновить даже при полном обновлении ее параметров, а затраты, связанные с повторным обучением модели, невысоки; вы можете просто запланировать регулярные повторные тренировки и забыть об остальной части этого поста. Однако, когда проблема стоит очень дорого или затраты на переобучение модели очень высоки (GPT-3 может стоить 4,6 миллиона долларов на переобучение), оптимизация частоты переобучения может либо сделать Вы сэкономите много денег или сэкономите много денег!

Точно так же, как вы, возможно, захотите выполнить поиск по сетке параметров, чтобы найти оптимальный набор параметров для вашей модели машинного обучения, вы должны выполнить оценку модели с учетом времени, чтобы определить параметр частоты повторного обучения в настройке автономной оценки (я говорю о офлайн-оценка в предыдущем посте на Medium)

  • Сколько выборок данных необходимо модели для достижения максимальной производительности? Известно, что рентабельность инвестиций в наличие большего количества обучающих выборок в какой-то момент достигает пика для большинства алгоритмов. Другим может потребоваться информация.
  • Что вы делаете со старыми данными? Вы можете проигнорировать это или попросить алгоритм придать ему «меньшее значение».
  • Конечно, что происходит, если модель не переобучалась N дней.

Как поддерживать вашу модель в актуальном состоянии?

В зависимости от ваших потребностей существует три основных способа поддерживать вашу модель в актуальном состоянии.

  • Легкие обновления, при которых модель переобучается, видя новые данные и, возможно, забывая некоторые старые данные.
  • Тяжелые обновления необходимы, когда проблема довольно сильно сместилась, поэтому параметры модели необходимо заново рассчитать.
  • Иногда данные меняются довольно резко, поэтому пора полностью переосмыслить вашу модель или даже создать новую; подумайте об изменении типа COVID-19.

Избегайте человеческих ошибок за счет автоматизации

Конечно, если кто-то смотрит на монитор и вручную решает, когда повторно обучать модель, это может быть очень дорогостоящим, а также подвержено человеческой ошибке. Вы должны инвестировать в конвейер автоматизации для своей модели, который повторно обучает ее либо на основе события (ухудшение показателя), либо периодически. Я рассмотрю эту тему более подробно в одном из следующих постов.

Когда переобучения недостаточно

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

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

Вам решать, как модель машинного обучения адаптироваться к изменениям, принимая во внимание (1) техническую сложность этого, (2) затраты, связанные с поддержанием актуальности, и, конечно же, (3) окупаемость инвестиции. Я настоятельно рекомендую инвестировать в мониторинг в качестве отправной точки, чтобы понять не то, если, а насколько велика ваша проблема, а затем следовать за ней. О, и лучше будь осторожен, чем сожалею