Обеспечение высококачественного машинного обучения на протяжении всего жизненного цикла машинного обучения

Введение

В последние годы машинное обучение переживает бум. Он все больше и больше интегрируется в нашу повседневную жизнь и приносит огромную пользу предприятиям из разных отраслей. PWC прогнозирует, что к 2030 году искусственный интеллект внесет в мировую экономику 15,7 трлн долларов. Звучит слишком хорошо, чтобы быть правдой…

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

Я уверен, вы видели заголовки, включая инструмент рекрутинга и предложения кредитных карт как Amazon, так и Apple с гендерной предвзятостью, которые не только повлияли на репутацию их соответствующей компании, но и могли оказать огромное негативное влияние на общество как на весь. Кроме того, знаменитый алгоритм iBuying от Zillow, который из-за непредсказуемых рыночных событий привел к тому, что компания снизила стоимость своего портфеля недвижимости на 500 миллионов долларов.

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

После того, как фаза построения модели была решена, в последние годы большое внимание уделялось тому, чтобы начать создавать реальную ценность, запуская модели в производство. Многие крупные сквозные платформы, такие как Sagemaker, Databricks и Kubeflow, проделали большую работу, предоставив гибкую и масштабируемую инфраструктуру для развертывания моделей машинного обучения, которые будут использоваться в более широком бизнесе и/или в целом. общественный.

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

Вот тут и приходит на помощь машинное обучение…

Содержание

  • Введение
  • Что такое проверка машинного обучения?
  • 5 этапов проверки машинного обучения
    - Проверка данных машинного обучения
    - Проверка обучения
    - Проверка перед развертыванием
    - Проверка после развертывания
    - Проверка управления и соответствия
  • Преимущества наличия политики проверки машинного обучения

TL;DR

  • Системы машинного обучения нельзя протестировать с помощью традиционных методов тестирования программного обеспечения.
  • Проверка машинного обучения — это процесс оценки качества системы машинного обучения.
  • Было определено 5 различных типов проверки машинного обучения:
    - проверка данных ML:для оценки качества данных ML
    - Проверка обучения:для оценки моделей, обученных с использованием различных данных или параметров
    - Проверка перед развертыванием:окончательные показатели качества перед развертыванием
    - Проверки после развертывания:постоянная оценка производительности в рабочей среде
    - Проверки управления и соответствия: для соответствия правительственные и организационные требования
  • Внедрение процесса проверки машинного обучения гарантирует, что системы машинного обучения создаются высококачественно, соответствуют требованиям и принимаются бизнесом для расширения внедрения.

Что такое проверка машинного обучения?

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

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

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

5 этапов проверки машинного обучения

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

  1. Проверка данных машинного обучения
  2. Проверка обучения
  3. Проверка перед развертыванием
  4. Проверка после развертывания
  5. Проверка управления и соответствия

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

1. Проверка данных машинного обучения

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

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

  • Проверки Data Engineering. Выявление любых общих проблем в наборе данных на основе базового понимания и правил. Это может включать проверку нулевых столбцов и значений NAN во всех данных, а также известных диапазонов. Например, подтверждение данных для функции «Возраст» должно находиться в диапазоне от 0 до 100.
  • Проверка данных на основе машинного обучения. Оцените качество данных для обучения модели машинного обучения. Например, обеспечение равномерного распределения набора данных, чтобы модель не была предвзятой или имела гораздо более высокую производительность для определенной функции или значения.

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

2. Проверка обучения

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

Вот несколько примеров того, как проверки обучения используются на практике:

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

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

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

3. Проверка перед развертыванием

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

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

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

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

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

4. Проверка после развертывания (мониторинг модели)

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

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

Подобно проверкам перед развертыванием, проверка после развертывания — это практика использования этих метрик мониторинга модели и превращения их в действенные тесты. Как правило, это включает оповещение. Например, если метрика точности в реальном времени падает ниже определенного порога, отправляется оповещение, запускающее какое-либо действие, например уведомление команде Data Science или вызов API для запуска конвейера переобучения.

Проверка после развертывания включает в себя:

  • Непрерывные расчеты производительности. Если система машинного обучения способна собирать отзывы о том, был ли прогноз верным или нет, показатели производительности можно рассчитать на лету. Затем живое выступление можно сравнить с выступлением на тренировке, чтобы убедиться, что они находятся в пределах определенного порога и не снижаются.
  • Обнаружение выбросов. Распределение обучающих данных модели позволяет обнаруживать аномалии в запросах в реальном времени. Понимая, находится ли точка данных в определенном диапазоне распределения обучающих данных. Возвращаясь к нашему примеру с возрастом, если бы новый запрос содержал «Возраст = 105», это было бы помечено как выброс, поскольку оно находится за пределами распределения обучающих данных (которое мы ранее определили как диапазон от 0 до 100).
  • Обнаружение дрейфа — чтобы определить, когда среда вокруг модели изменилась. Обычный используемый метод заключается в сравнении распределения оперативных данных с распределением обучающих данных и проверке того, находится ли оно в пределах определенного порога. Снова используя пример «Возраст», если бы входные данные в режиме реального времени внезапно начали получать большое количество запросов с Возрастом > 100, распределение данных в реальном времени изменилось бы и имело бы более высокую медиану, чем данные для обучения. Если эта разница больше, чем определенный пороговый дрейф, будет выявлено.

A/B-тестирование. Прежде чем запускать новую версию модели в производство или найти наиболее эффективную модель на реальных данных, можно использовать A/B-тестирование. A/B-тестирование отправляет подмножество трафика в модель A, а другое подмножество трафика — в модель B. Оценивая производительность каждой модели с помощью выбранной метрики производительности, можно выбрать более производительную модель и перевести ее в рабочую среду.

5. Проверка управления и соответствия

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

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

Такие правила, как GDPR, Закон ЕС об искусственном интеллекте и GxP, начинают внедрять политики, гарантирующие, что организации используют машинное обучение безопасным и справедливым образом.

Эти политики включают в себя такие вещи, как:

  • Понимание и выявление риска системы ИИ (с разбивкой на неприемлемый риск, высокий риск и ограниченный и минимальный риск)
  • Обеспечение того, чтобы данные PII не хранились и не использовались ненадлежащим образом
  • Обеспечение того, чтобы защищенные функции, такие как пол, раса или религия, не использовались
  • Подтверждение свежести данных, на которых обучается модель
  • Подтверждение того, что модель часто переобучается и обновляется, и имеется достаточное количество процессов переобучения.

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

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

Преимущества наличия политики проверки машинного обучения

Наличие подходящего процесса проверки, реализованного на всех пяти этапах конвейера машинного обучения, обеспечит:

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

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

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

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