Есть ли жизнь после развертывания?

Есть ли жизнь после развертывания?

Поздравляю! Теперь ваша модель машинного обучения работает. Многие модели никогда не заходят так далеко. Некоторые заявляют, что 87% так и не развернуты. Учитывая, как сложно перейти от концепции к работающему приложению, празднование вполне заслужено.

Может показаться, что это последний шаг.

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

Простая причина такого пренебрежения - незрелость.

За исключением нескольких технических гигантов, которые живут и дышат машинным обучением, большинство отраслей только зарождаются. Опыт работы с реальными приложениями машинного обучения ограничен. Компании перегружены тем, что разбираются во многих вещах впервые и спешат внедрять. Специалисты по обработке данных делают все, от очистки данных до настройки A / B-тестирования. Работа с моделью, обслуживание и поддержка часто остаются второстепенными.

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

Почему мониторинг важен

Унция профилактики стоит фунта лечения - Бенджамин Франклин

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

Недавняя пандемия слишком ярко это проиллюстрировала.

Некоторые случаи даже попали в заголовки газет:

  • Точность модели Instacart, прогнозирующей наличие товаров в магазинах, упала с 93% до 61% из-за резкого изменения покупательских привычек.
  • Банкиры сомневаются в том, могут ли модели кредитования, обученные в хорошие времена, адаптироваться к стрессовым сценариям.
  • Торговые алгоритмы дают осечку из-за волатильности рынка. У некоторых фондов падение составило 21%.
  • Модели классификации изображений должны были усвоить новую норму: семья, сидящая дома за ноутбуком, теперь может означать работу, а не отдых.
  • Даже прогнозы погоды менее точны, поскольку ценные данные исчезли с сокращением числа коммерческих рейсов.

Вдобавок ко всему, с данными в реальном времени возникают всевозможные проблемы.

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

Неудачи модели и необработанный распад вызывают повреждение.

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

А вот и мониторинг.

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

Такая видимость - не из приятных моментов, но важная часть цикла. Мониторинг встроен в жизненный цикл разработки модели, связывая производство с моделированием. Если мы обнаруживаем снижение качества, мы можем инициировать переподготовку или вернуться к фазе исследования, чтобы выпустить переделку модели.

Предложим формальное определение:

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

Чем отличается мониторинг машинного обучения

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

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

Прежде всего, данные добавляют дополнительный уровень сложности.

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

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

Что еще хуже, модели часто терпят неудачу.

Не бывает «плохих шлюзов» или «404». Несмотря на то, что входные данные нечеткие, система, скорее всего, вернет ответ. Отдельное предсказание может показаться разумным, хотя и вредным, необъективным или ошибочным.

Представьте себе, мы полагаемся на машинное обучение для прогнозирования оттока клиентов, но модель не оправдала себя. Могут потребоваться недели, чтобы узнать факты (например, ушел ли в конечном итоге клиент из группы риска) или заметить влияние на бизнес-ключевые показатели эффективности (например, снижение количества ежеквартальных обновлений). Только тогда мы могли бы заподозрить, что системе требуется проверка работоспособности! Вы вряд ли так долго пропустите сбой в работе программного обеспечения. В стране неконтролируемых моделей такое невидимое время простоя является тревожной нормой.

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

Разница между «хорошим» и «плохим» нечеткая.

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

Метрики бесполезны без контекста.

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

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

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

В двух словах

Слишком мало рассматривать только показатели программного обеспечения. Слишком поздно рассматривать производственные продукты или ключевые показатели эффективности бизнеса. Мониторинг машинного обучения - это отдельная область, и для нее требуются соответствующие методы, стратегии и инструменты.

Кому должен быть интересен мониторинг машинного обучения?

Краткий ответ: всем, кому небезразлично влияние модели на бизнес.

Конечно, специалисты по обработке данных находятся на передовой. Но как только модель покидает лабораторию, она становится частью продуктов или процессов компании. Теперь это не просто какой-то технический артефакт, а реальная услуга для пользователей и заинтересованных сторон.

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

И данные, и бизнес-команды должны отслеживать и интерпретировать поведение модели.

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

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

Если вы работаете в сфере здравоохранения, страхования или финансов, этот надзор становится формальным. Комплаенс будет тщательно изучать модели на предмет предвзятости и уязвимости. А поскольку модели динамичны, это не одноразовый тест. Вы должны постоянно запускать проверки текущих данных, чтобы видеть, как работает каждая модель.

Нам нужно получить полное представление о производственной модели.

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

Давайте посмотрим правде в глаза. Внедрение на предприятии может быть проблемой. И часто это начинается только после развертывания модели. На то есть причины.

В идеальном мире вы можете превратить все свои бизнес-цели в задачу оптимизации и достичь точности модели, которая сделает вмешательство человека ненужным.

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

Полезная модель - это используемая модель.

Фантастическая точность песочницы не имеет значения, если производственная система никогда этого не делает.

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

Видимость окупается.

Этот общий контекст улучшает принятие. Это также помогает, когда что-то идет не так.

Предположим, модель возвращает «странный» ответ. Это эксперты в предметной области, которые помогут вам определить, можете ли вы отклонить это. Или ваша модель не подходит для конкретной группы населения. Вместе вы можете придумать новые функции для решения этой проблемы.

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

Все это требует сотрудничества.

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

Если все сделано правильно, мониторинг модели - это больше, чем просто отслеживание технических ошибок. Он обслуживает потребности многих команд и помогает им совместно работать над поддержкой моделей и снижением рисков.

Пробел в мониторинге

На самом деле есть болезненное несоответствие. Исследования показывают, что компании отслеживают только треть своих моделей. А в остальном? Кажется, мы в темноте.

Так часто разворачивается история.

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

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

Решения индивидуальные и частичные.

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

Если кто-то из бизнес-команды попросит более глубокого понимания модели, это будет означать настраиваемые сценарии и трудоемкую аналитическую работу. Или часто заявку просто списывают.

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

Почему это так?

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

Конечно, ИТ могут следить за работоспособностью службы. Но когда изменяются входные данные - чья это территория? Некоторые аспекты относятся к инженерии данных, другие - к операциям или группам разработчиков.

Все дела - это ничьи дела.

Группа по анализу данных обычно берет на себя бремя мониторинга. Но они уже слишком много жонглируют и редко имеют стимулы ставить техническое обслуживание на первое место.

В конце концов, мы часто теряем мяч.

Следите за ИИ

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

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

Также очень важно держать команду подотчетной. Мы применяем машинное обучение, чтобы приносить пользу для бизнеса - нам нужен способ четко продемонстрировать это в производственной среде! А также привлечь внимание к стоимости простоев и важности поддержки и работы по улучшению.

Конечно, в процессе анализа данных царит хаос.

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

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

Безупречное производство, видимые выгоды и довольные пользователи - вот ключ к созданию репутации масштабируемого машинного обучения. Это то, к чему мы стремимся, если только не чистое исследование.

Подводя итоги

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

Этот блог изначально был опубликован на https://evidentlyai.com.

Мониторинг машинного обучения - это именно то, что мы ищем в Очевидно, AI. Ознакомьтесь с нашими инструментами с открытым исходным кодом на Github!

Хотите оставаться в курсе? Подпишитесь на наши обновления и новости о продуктах, подпишитесь на нас в Twitter и Linkedin для получения дополнительной информации о производственном машинном обучении или присоединитесь к нашему сообществу Discord, чтобы общаться и общаться.