Этот пост в блоге написан в соавторстве с Гильермо Рибейро, старшим специалистом по данным в Cepsa.
Машинное обучение (МО) быстро превратилось из модной тенденции, появившейся в академической среде и отделах инноваций, в ключевое средство повышения эффективности бизнеса в любой отрасли. Этот переход от экспериментов в лабораториях к решению реальных проблем в производственной среде идет рука об руку с млн операций в секундуили адаптация DevOps к миру машинного обучения.
MLOps помогает оптимизировать и автоматизировать полный жизненный цикл модели машинного обучения, уделяя особое внимание исходным наборам данных, воспроизводимости экспериментов, коду алгоритма машинного обучения и качеству модели.
At Cepsa, глобальная энергетическая компания, мы используем машинное обучение для решения сложных проблем во всех сферах нашей деятельности, от профилактического обслуживания промышленного оборудования до мониторинга и улучшения нефтехимических процессов на наших нефтеперерабатывающих заводах.
В этом посте мы обсудим, как мы построили нашу эталонную архитектуру для MLOps, используя следующие ключевые сервисы AWS:
- Создатель мудреца Амазонки, сервис для создания, обучения и развертывания моделей машинного обучения.
- Шаговые функции AWS, бессерверная служба визуальных рабочих процессов с низким кодом, используемая для оркестровки и автоматизации процессов.
- Amazon EventBridge, бессерверная шина событий
- AWS Lambda, служба бессерверных вычислений, которая позволяет запускать код без выделения серверов или управления ими.
Мы также объясняем, как мы применили эту эталонную архитектуру для запуска новых проектов машинного обучения в нашей компании.
Задача
За последние 4 года несколько направлений бизнеса в Cepsa запустили проекты машинного обучения, но вскоре начали возникать определенные проблемы и ограничения.
У нас не было эталонной архитектуры для машинного обучения, поэтому каждый проект следовал своему пути реализации, выполняя специальное обучение и развертывание модели. Без общего метода обработки кода и параметров проекта, а также без реестра моделей машинного обучения или системы управления версиями мы потеряли прослеживаемость между наборами данных, кодом и моделями.
Мы также обнаружили возможности для улучшения того, как мы работали с моделями в производственной среде, потому что мы не отслеживали развернутые модели и, следовательно, не имели средств для отслеживания производительности моделей. Как следствие, мы обычно переобучали модели на основе расписания, потому что нам не хватало правильных показателей для принятия обоснованных решений о переобучении.
решение
Исходя из проблем, которые нам пришлось преодолеть, мы разработали общее решение, направленное на разделение подготовки данных, обучения модели, логического вывода и мониторинга модели, а также централизованный реестр моделей. Таким образом, мы упростили управление средами для нескольких учетных записей AWS, а также внедрили централизованную отслеживаемость моделей.
Наши ученые и разработчики данных используют Облако AWS9 (облачная IDE для написания, запуска и отладки кода) для обработки данных и экспериментов с машинным обучением, а также GitHub в качестве репозитория кода Git.
Рабочий процесс автоматического обучения использует код, созданный командой специалистов по обработке и анализу данных. обучать модели в SageMaker и регистрировать выходные модели в реестре моделей.
Другой рабочий процесс управляет развертыванием модели: он получает ссылку из реестра модели и создает конечную точку вывода, используя Возможности хостинга моделей SageMaker.
Мы внедрили как обучение модели, так и рабочие процессы развертывания с помощью Step Functions, потому что это обеспечивает гибкую структуру, которая позволяет создавать определенные рабочие процессы для каждого проекта и простым способом координировать различные сервисы и компоненты AWS.
Модель потребления данных
В Cepsa мы используем ряд озер данных для удовлетворения различных потребностей бизнеса, и все эти озера данных используют общую модель потребления данных, которая упрощает поиск и использование необходимых данных инженерами данных и специалистами по данным.
Чтобы упростить управление затратами и ответственностью, среды озер данных полностью отделены от приложений производителей и потребителей данных и развернуты в разных учетных записях AWS, принадлежащих к общей организации AWS.
Данные, используемые для обучения моделей машинного обучения, и данные, используемые в качестве исходных данных для обученных моделей, доступны из различных озер данных через набор четко определенных API-интерфейсов с использованием Шлюз API Amazon, служба для создания, публикации, обслуживания, мониторинга и защиты API в любом масштабе. Серверная часть API использует Амазонка Афина (интерактивный сервис запросов для анализа данных с использованием стандартного SQL) для доступа к данным, которые уже хранятся в Простой сервис хранения Amazon (Amazon S3) и каталогизированы в Клей AWS Каталог данных.
На следующей диаграмме представлен общий обзор архитектуры Cepsa MLOps.
Модельное обучение
Процесс обучения независим для каждой модели и управляется Стандартный рабочий процесс Step Functions, что позволяет нам гибко моделировать процессы на основе различных требований проекта. У нас есть определенный базовый шаблон, который мы повторно используем в большинстве проектов, при необходимости внося небольшие коррективы. Например, некоторые владельцы проектов решили добавить ручные шлюзы для утверждения развертывания новых производственных моделей, в то время как другие владельцы проектов реализовали свои собственные механизмы обнаружения ошибок и повторных попыток.
Мы также выполняем преобразования входных наборов данных, используемых для обучения модели. Для этого мы используем лямбда-функции, интегрированные в рабочие процессы обучения. В некоторых сценариях, где требуются более сложные преобразования данных, мы запускаем наш код в Amazon Elastic Контейнерный Сервис (Amazon ECS) на АМС Фаргейт, бессерверный вычислительный движок для запуска контейнеров.
Наша команда по обработке и анализу данных часто использует специальные алгоритмы, поэтому мы пользуемся возможностью использовать пользовательские контейнеры в обучении модели SageMaker, полагаясь на Реестр Amazon Elastic Container (Amazon ECR), полностью управляемый реестр контейнеров, который упрощает хранение, управление, совместное использование и развертывание образов контейнеров.
Большинство наших проектов машинного обучения основаны на библиотеке Scikit-learn, поэтому мы расширили стандартную SageMaker Scikit-learn контейнер чтобы включить переменные среды, необходимые для проекта, такие как информация о репозитории Git и параметры развертывания.
При таком подходе нашим специалистам по обработке и анализу данных достаточно сосредоточиться на разработке алгоритма обучения и указать библиотеки, необходимые для проекта. Когда они передают изменения кода в репозиторий Git, наша система CI/CD (Дженкинс размещенный на AWS) создает контейнер с обучающим кодом и библиотеками. Этот контейнер передается в Amazon ECR и, наконец, передается в качестве параметра в обучающий вызов SageMaker.
По завершении процесса обучения полученная модель сохраняется в Amazon S3, в реестр модели добавляется ссылка, а вся собранная информация и метрики сохраняются в каталоге экспериментов. Это обеспечивает полную воспроизводимость, поскольку код алгоритма и библиотеки связаны с обученной моделью вместе с данными, связанными с экспериментом.
Следующая диаграмма иллюстрирует процесс обучения и переобучения модели.
Развертывание модели
Гибкая архитектура позволяет развертывать обученные модели как в автоматическом, так и в ручном режиме. Рабочий процесс развертывания модели запускается автоматически с помощью события, которое обучение SageMaker публикует в EventBridge после завершения обучения, но при необходимости его также можно вызвать вручную, передав нужную версию модели из реестра моделей. Дополнительные сведения об автоматическом вызове см. Автоматизация Amazon SageMaker с помощью Amazon EventBridge.
Рабочий процесс развертывания модели извлекает информацию о модели из реестра моделей и использует AWS CloudFormation, управляемая инфраструктура как служба кода, чтобы либо развернуть модель в конечной точке вывода в реальном времени, либо выполнить пакетный вывод с сохраненным набором входных данных, в зависимости от требований проекта.
Всякий раз, когда модель успешно развертывается в любой среде, реестр моделей обновляется новым тегом, указывающим, в каких средах модель работает в данный момент. При каждом удалении конечной точки ее тег также удаляется из реестра моделей.
На следующей диаграмме показан рабочий процесс для развертывания и вывода модели.
Эксперименты и модельный реестр
Хранение каждого эксперимента и версии модели в одном месте и наличие централизованного репозитория кода позволяет нам разделить обучение модели и ее развертывание, а также использовать разные учетные записи AWS для каждого проекта и среды.
Во всех записях экспериментов хранится идентификатор фиксации кода обучения и логического вывода, поэтому у нас есть полная прослеживаемость всего процесса экспериментов и возможность легко сравнивать разные эксперименты. Это предотвращает дублирование работы на этапе научного исследования алгоритмов и моделей и позволяет нам развертывать наши модели в любом месте, независимо от учетной записи и среды, в которых была обучена модель. Это также справедливо для моделей, обученных в нашей экспериментальной среде AWS Cloud9.
В целом, у нас есть полностью автоматизированные конвейеры обучения и развертывания моделей, а также гибкость для быстрого развертывания моделей вручную, когда что-то не работает должным образом или когда команде требуется развертывание модели в другой среде для экспериментов.
Подробный пример использования: проект YET Dragon
Проект YET Dragon направлен на повышение производственных показателей нефтехимического завода Cepsa в Шанхае. Для достижения этой цели мы тщательно изучили производственный процесс, выискивая менее эффективные этапы. Наша цель состояла в том, чтобы повысить эффективность процессов, поддерживая концентрацию компонентов точно ниже порогового значения.
Чтобы смоделировать этот процесс, мы построили четыре обобщенные аддитивные модели или GAM, линейные модели, отклик которых зависит от гладких функций переменных-предикторов, чтобы предсказать результаты двух процессов окисления, одного процесса концентрации и вышеупомянутого выхода. Мы также создали оптимизатор для обработки результатов четырех моделей GAM и поиска лучших оптимизаций, которые можно было бы применить на предприятии.
Хотя наши модели обучаются на исторических данных, установка иногда может работать в условиях, которые не были зарегистрированы в наборе обучающих данных; мы ожидаем, что наши имитационные модели не будут хорошо работать в этих сценариях, поэтому мы также построили две модели обнаружения аномалий с использованием алгоритмов изолированных лесов, которые определяют, насколько далеко точки данных от остальных данных для обнаружения аномалий. Эти модели помогают нам обнаруживать такие ситуации, чтобы отключать автоматические процессы оптимизации всякий раз, когда это происходит.
Промышленные химические процессы очень разнообразны, и модели машинного обучения должны быть хорошо согласованы с работой завода, поэтому требуется частое переобучение, а также отслеживаемость моделей, развернутых в каждой ситуации. YET Dragon был нашим первым проектом по оптимизации машинного обучения, в котором использовался реестр моделей, полная воспроизводимость экспериментов и полностью управляемый автоматизированный процесс обучения.
Теперь полный конвейер, который запускает модель в производство (преобразование данных, обучение модели, отслеживание экспериментов, реестр моделей и развертывание модели), независим для каждой модели машинного обучения. Это позволяет нам итеративно улучшать модели (например, добавлять новые переменные или тестировать новые алгоритмы) и связывать этапы обучения и развертывания с различными триггерами.
Результаты и будущие улучшения
В настоящее время мы можем автоматически обучать, развертывать и отслеживать шесть моделей машинного обучения, используемых в проекте YET Dragon, и мы уже развернули более 30 версий для каждой из производственных моделей. Эта архитектура MLOps была распространена на сотни моделей машинного обучения в других проектах компании.
Мы планируем продолжать запускать новые проекты YET на основе этой архитектуры, которая сократила среднюю продолжительность проекта на 25% благодаря сокращению времени начальной загрузки и автоматизации конвейеров машинного обучения. Мы также оценили экономию примерно в 300,000 XNUMX евро в год благодаря повышению урожайности и концентрации, что является прямым результатом проекта YET Dragon.
Краткосрочная эволюция этой архитектуры MLOps направлена на мониторинг моделей и автоматизированное тестирование. Мы планируем автоматически тестировать эффективность модели по сравнению с ранее развернутыми моделями перед развертыванием новой модели. Мы также работаем над реализацией мониторинга модели и мониторинга дрейфа данных логического вывода с помощью Монитор моделей Amazon SageMaker, чтобы автоматизировать переобучение модели.
Заключение
Компании сталкиваются с проблемой автоматизированного и эффективного запуска своих проектов машинного обучения в производство. Автоматизация полного жизненного цикла модели машинного обучения помогает сократить время проекта и обеспечивает лучшее качество модели, а также более быстрое и частое развертывание в рабочей среде.
Разработав стандартизированную архитектуру MLOps, которая была принята различными подразделениями компании, мы в Cepsa смогли ускорить загрузку проектов машинного обучения и улучшить качество модели машинного обучения, предоставив надежную и автоматизированную основу, на основе которой наши специалисты по обработке и анализу данных могут быстрее внедрять инновации. .
Для получения дополнительной информации о MLOps в SageMaker посетите веб-сайт Amazon SageMaker для MLOps и ознакомьтесь с другими примерами использования клиентов в Блог машинного обучения AWS.
Об авторах
Гильермо Рибейро Хименес является старшим специалистом по данным в Cepsa со степенью доктора философии. в ядерной физике. Он имеет 6-летний опыт работы с проектами по науке о данных, в основном в телекоммуникационной и энергетической отраслях. В настоящее время он возглавляет группы специалистов по данным в отделе цифровой трансформации Cepsa, уделяя особое внимание масштабированию и созданию продуктов для проектов машинного обучения.
Гильермо Менендес Коррал работает архитектором решений в AWS Energy and Utilities. Он имеет более чем 15-летний опыт проектирования и создания программных приложений и в настоящее время предоставляет рекомендации по архитектуре клиентам AWS в энергетической отрасли, уделяя особое внимание аналитике и машинному обучению.
- Коинсмарт. Лучшая в Европе биржа биткойнов и криптовалют.
- Платоблокчейн. Интеллект метавселенной Web3. Расширение знаний. БЕСПЛАТНЫЙ ДОСТУП.
- КриптоХок. Альткоин Радар. Бесплатная пробная версия.
- Источник: https://aws.amazon.com/blogs/machine-learning/how-cepsa-used-amazon-sagemaker-and-aws-step-functions-to-industrialize-their-ml-projects-and-operate- их модели в масштабе/
- "
- 000
- 100
- 15 лет
- a
- способность
- О нас
- доступ
- Учетная запись
- Достигать
- через
- Ad
- добавленный
- плюс
- против
- алгоритм
- алгоритмы
- Все
- позволяет
- уже
- Amazon
- среди
- аналитика
- анализировать
- откуда угодно
- API
- API
- Приложения
- прикладной
- подхода
- утвердить
- архитектурный
- архитектура
- около
- связанный
- автоматизировать
- Автоматизированный
- Автоматический
- автоматически
- Автоматизация
- автоматизация
- доступен
- AWS
- , так как:
- становление
- до
- не являетесь
- ниже
- ЛУЧШЕЕ
- Блог
- строить
- Строительство
- строит
- бизнес
- бизнес
- случаев
- случаев
- централизованная
- определенный
- вызов
- проблемы
- химический
- облако
- код
- совершать
- Общий
- Компания
- полный
- полностью
- комплекс
- компонент
- компоненты
- Вычисление
- концентрации
- Свяжитесь
- потреблять
- потребитель
- потребление
- Container
- Контейнеры
- Расходы
- может
- чехол для варгана
- Создайте
- создает
- создание
- В настоящее время
- изготовленный на заказ
- клиент
- Клиенты
- данным
- наука о данных
- ученый данных
- решенный
- решения
- в зависимости
- зависит
- развертывание
- развернуть
- развертывание
- развертывания
- предназначенный
- проектирование
- подробный
- обнаруженный
- обнаружение
- Определять
- застройщиков
- развивающийся
- различный
- Интернет
- цифровое преобразование
- направлять
- обсуждать
- Dragon
- каждый
- легко
- затрат
- эффективный
- появление
- позволяет
- Конечная точка
- энергетика
- Двигатель
- Инженеры
- Окружающая среда
- Оборудование
- к XNUMX году
- События
- эволюция
- точно,
- пример
- ожидать
- опыт
- эксперимент
- исследование
- всего лишь пяти граммов героина
- БЫСТРО
- быстрее
- Особенность
- СПЕЦЦЕНА
- в заключение
- Во-первых,
- Трансформируемость
- гибкого
- Фокус
- после
- Рамки
- от
- полный
- Функции
- будущее
- ворота
- Общие
- идти
- GitHub
- Глобальный
- цель
- обрабатывать
- имеющий
- помощь
- помогает
- очень
- исторический
- имеет
- состоялся
- хостинг
- Как
- HTTPS
- Сотни
- изображений
- реализация
- в XNUMX году
- улучшать
- улучшение
- улучшение
- В других
- включают
- Увеличение
- независимые
- самостоятельно
- промышленность
- промышленность
- информация
- сообщил
- Инфраструктура
- Инновации
- вход
- интегрированный
- интерактивный
- введение
- изоляция
- вопросы
- IT
- Сохранить
- хранение
- Основные
- запуск
- ведущий
- изучение
- Библиотека
- линий
- расположение
- искать
- машина
- обучение с помощью машины
- сделанный
- поддерживать
- техническое обслуживание
- сделать
- ДЕЛАЕТ
- управлять
- управляемого
- управления
- способ
- руководство
- вручную
- означает
- Метрика
- ML
- модель
- Модели
- монитор
- Мониторинг
- БОЛЕЕ
- самых
- с разными
- потребности
- работать
- операция
- оптимизация
- Опции
- заказ
- организация
- Другое
- собственный
- Владельцы
- Прохождение
- производительность
- выполнения
- фаза
- Физика
- пунктов
- предсказывать
- проблемам
- процесс
- Процессы
- производитель
- Производство
- Проект
- проектов
- при условии
- приводит
- обеспечение
- публиковать
- цель
- целей
- толкнул
- реального времени
- уменьшить
- зарегистрироваться
- зарегистрированный
- складская
- хранилище
- обязательный
- Требования
- ответ
- ответственности
- ОТДЫХ
- в результате
- Итоги
- Run
- Бег
- Шкала
- масштабирование
- Наука
- Ученый
- Ученые
- безопасный
- Серии
- Serverless
- обслуживание
- Услуги
- набор
- Шанхай
- Поделиться
- краткосрочный
- просто
- моделирование
- одинарной
- ситуация
- ШЕСТЬ
- So
- Решение
- Решения
- некоторые
- удалось
- конкретный
- скорость
- этапы
- стандарт
- и политические лидеры
- диск
- магазин
- упорядочить
- Успешно
- система
- цель
- команда
- команды
- Telco
- тестXNUMX
- Тестирование
- Ассоциация
- Источник
- следовательно
- тщательно
- порог
- Через
- время
- раз
- к
- Прослеживаемость
- трек
- Отслеживание
- Обучение
- трансформация
- преобразований
- переход
- под
- us
- использование
- обычно
- коммунальные услуги
- ценностное
- версия
- вполне определенный
- в то время как
- без
- Работа
- Рабочие процессы
- работает
- Мир
- письмо
- год
- лет
- Уступать