Этот пост написан в соавторстве с Джаядипом Паббисетти, старшим специалистом по разработке данных в Merck, и Прабакараном Матайяном, старшим инженером по машинному обучению в Tiger Analytics.
Жизненный цикл разработки большой модели машинного обучения (ML) требует масштабируемого процесса выпуска модели, аналогичного процессу разработки программного обеспечения. Разработчики моделей часто работают вместе при разработке моделей ML, и для работы им требуется надежная платформа MLOps. Масштабируемая платформа MLOps должна включать в себя процесс обработки рабочего процесса регистрации моделей ML, утверждения и продвижения на следующий уровень среды (разработка, тестирование). , UAT или производство).
Разработчик модели обычно начинает работать в отдельной среде разработки машинного обучения в Amazon SageMaker. Когда модель обучена и готова к использованию, ее необходимо утвердить после регистрации в реестре моделей Amazon SageMaker. В этом посте мы обсуждаем, как команда AWS AI/ML сотрудничала с командой Merck Human Health IT MLOps для создания решения, которое использует автоматизированный рабочий процесс для утверждения и продвижения модели ML с вмешательством человека посередине.
Обзор решения
В этом посте основное внимание уделяется решению рабочего процесса, которое может использоваться в жизненном цикле разработки модели ML между конвейером обучения и конвейером вывода. Решение обеспечивает масштабируемый рабочий процесс для MLOps, поддерживающий процесс утверждения и продвижения модели ML с участием человека. Модель ML, зарегистрированная специалистом по обработке данных, должна быть рассмотрена и одобрена утверждающим лицом, прежде чем она будет использоваться для конвейера вывода и на следующем уровне среды (тестирование, UAT или производственная среда). В решении используются AWS Lambda, Amazon API Gateway, Amazon EventBridge и SageMaker для автоматизации рабочего процесса с вмешательством человека в середине процесса. На следующей диаграмме архитектуры показан общий дизайн системы, используемые сервисы AWS и рабочий процесс утверждения и продвижения моделей машинного обучения с участием человека от разработки до производства.
Рабочий процесс включает в себя следующие этапы:
- Конвейер обучения разрабатывает и регистрирует модель в реестре моделей SageMaker. На данный момент статус модели
PendingManualApproval
. - EventBridge отслеживает события изменения статуса, чтобы автоматически предпринимать действия с помощью простых правил.
- Правило события регистрации модели EventBridge вызывает функцию Lambda, которая создает электронное письмо со ссылкой для утверждения или отклонения зарегистрированной модели.
- Утверждающий получает электронное письмо со ссылкой для просмотра и утверждения или отклонения модели.
- Утверждающее лицо утверждает модель, перейдя по ссылке в электронном письме на конечную точку шлюза API.
- API Gateway вызывает функцию Lambda для инициации обновления модели.
- Реестр моделей обновляется в соответствии со статусом модели (
Approved
для среды разработки, ноPendingManualApproval
для тестирования, UAT и производства). - Сведения о модели хранятся в хранилище параметров AWS — возможности AWS Systems Manager, включая версию модели, утвержденную целевую среду и пакет модели.
- Конвейер вывода извлекает модель, одобренную для целевой среды, из хранилища параметров.
- Уведомление после вывода. Функция Lambda собирает метрики пакетного вывода и отправляет электронное письмо утверждающему лицу для продвижения модели в следующую среду.
Предварительные условия
Рабочий процесс в этой статье предполагает, что среда для конвейера обучения настроена в SageMaker вместе с другими ресурсами. Входными данными для конвейера обучения является набор данных функций. Подробности создания функций не включены в этот пост, но он посвящен регистрации, утверждению и продвижению моделей ML после их обучения. Модель регистрируется в реестре моделей и управляется системой мониторинга в Amazon SageMaker Model Monitor, позволяющей обнаруживать любые отклонения и переходить к переобучению в случае отклонения модели.
Детали рабочего процесса
Рабочий процесс утверждения начинается с модели, разработанной на основе конвейера обучения. Когда ученые, работающие с данными, разрабатывают модель, они регистрируют ее в реестре моделей SageMaker со статусом модели PendingManualApproval
. EventBridge отслеживает SageMaker на предмет события регистрации модели и запускает правило события, которое вызывает функцию Lambda. Функция Lambda динамически создает электронное письмо для утверждения модели со ссылкой на конечную точку API-шлюза на другую функцию Lambda. Когда утверждающий переходит по ссылке для утверждения модели, API Gateway передает действие утверждения функции Lambda, которая обновляет реестр моделей SageMaker и атрибуты модели в хранилище параметров. Утверждающий должен пройти проверку подлинности и входить в группу утверждающих, управляемую Active Directory. Первоначальное одобрение помечает модель как Approved
для разработчиков, но PendingManualApproval
для тестирования, UAT и производства. Атрибуты модели, сохраненные в хранилище параметров, включают версию модели, пакет модели и утвержденную целевую среду.
Когда конвейеру вывода необходимо получить модель, он проверяет хранилище параметров на наличие последней версии модели, утвержденной для целевой среды, и получает сведения о выводе. Когда конвейер вывода завершен, заинтересованной стороне отправляется электронное письмо с уведомлением после вывода с запросом на одобрение продвижения модели на следующий уровень среды. В электронном письме содержится подробная информация о модели и показателях, а также ссылка на утверждение конечной точки шлюза API для функции Lambda, которая обновляет атрибуты модели.
Ниже приведена последовательность событий и шагов реализации рабочего процесса утверждения/продвижения модели ML от создания модели до ее производства. Модель продвигается из среды разработки в среду тестирования, UAT и производственную среду с явным одобрением человека на каждом этапе.
Начнем с конвейера обучения, который готов к разработке модели. Версия модели начинается с 0 в реестре моделей SageMaker.
- Конвейер обучения SageMaker разрабатывает и регистрирует модель в реестре моделей SageMaker. Версия модели 1 зарегистрирована и начинается с Ожидает одобрения вручную положение дел.Метаданные реестра моделей имеют четыре настраиваемых поля для сред:
dev, test, uat
иprod
. - EventBridge отслеживает изменение статуса в реестре моделей SageMaker, чтобы автоматически предпринимать действия с помощью простых правил.
- Правило события регистрации модели вызывает функцию Lambda, которая создает электронное письмо со ссылкой для утверждения или отклонения зарегистрированной модели.
- Утверждающий получает электронное письмо со ссылкой для просмотра и утверждения (или отклонения) модели.
- Утверждающее лицо утверждает модель, перейдя по ссылке на конечную точку API-шлюза в электронном письме.
- API Gateway вызывает функцию Lambda для инициации обновления модели.
- Реестр моделей SageMaker обновляется в соответствии со статусом модели.
- Подробная информация о модели хранится в хранилище параметров, включая версию модели, утвержденную целевую среду и пакет модели.
- Конвейер вывода извлекает модель, одобренную для целевой среды, из хранилища параметров.
- Уведомление после вывода. Функция Lambda собирает метрики пакетного вывода и отправляет электронное письмо утверждающему лицу для продвижения модели в следующую среду.
- Утверждающее лицо утверждает повышение модели на следующий уровень, перейдя по ссылке на конечную точку шлюза API, которая запускает функцию Lambda для обновления реестра моделей и хранилища параметров SageMaker.
Полная история версий и утверждений модели сохраняется для просмотра в хранилище параметров.
Заключение
Большой жизненный цикл разработки модели ML требует масштабируемого процесса утверждения модели ML. В этом посте мы рассказали о реализации рабочего процесса реестра, утверждения и продвижения моделей машинного обучения с участием человека с использованием реестра моделей SageMaker, EventBridge, API Gateway и Lambda. Если вы рассматриваете процесс разработки масштабируемой модели машинного обучения для своей платформы MLOps, вы можете выполнить шаги, описанные в этом посте, чтобы реализовать аналогичный рабочий процесс.
Об авторах
Том Ким является старшим архитектором решений в AWS, где он помогает своим клиентам достигать бизнес-целей путем разработки решений на AWS. Он имеет обширный опыт в архитектуре и эксплуатации корпоративных систем в нескольких отраслях, особенно в здравоохранении и науках о жизни. Том постоянно изучает новые технологии, которые приводят к желаемым бизнес-результатам для клиентов – например, AI/ML, GenAI и анализ данных. Ему также нравится путешествовать по новым местам и играть на новых полях для гольфа, когда у него есть время.
Шамика Ариявансаработает старшим архитектором решений AI/ML в подразделении здравоохранения и медико-биологических наук в Amazon Web Services (AWS), специализируется на генеративном искусственном интеллекте, уделяя особое внимание обучению модели большого языка (LLM), оптимизации вывода и MLOps (машинное обучение). Операции). Он помогает клиентам внедрять передовой генеративный искусственный интеллект в свои проекты, обеспечивая надежные процессы обучения, эффективные механизмы вывода и оптимизированные методы MLOps для эффективных и масштабируемых решений искусственного интеллекта. Помимо своих профессиональных обязательств, Шамика страстно занимается лыжным спортом и приключениями на бездорожье.
Джаядип Паббисетти является старшим инженером по машинному обучению и обработке данных в компании Merck, где он проектирует и разрабатывает решения ETL и MLOps, позволяющие использовать науку о данных и аналитику для бизнеса. Он всегда с энтузиазмом изучает новые технологии, исследует новые возможности и приобретает навыки, необходимые для развития в постоянно меняющейся ИТ-индустрии. В свободное время он занимается спортом, любит путешествовать и исследовать новые места.
Прабакаран Матаян является старшим инженером по машинному обучению в компании Tiger Analytics LLC, где он помогает своим клиентам достигать их бизнес-целей, предоставляя решения для построения моделей, обучения, проверки, мониторинга, CICD и улучшения решений машинного обучения на AWS. Прабакаран постоянно изучает новые технологии, которые приводят к желаемым бизнес-результатам для клиентов, например, AI/ML, GenAI, GPT и LLM. Ему также нравится играть в крикет, когда у него есть время.