Как Yara использует функции MLOps Amazon SageMaker для масштабирования оптимизации энергопотребления на своих аммиачных заводах PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай.

Как Yara использует функции MLOps Amazon SageMaker для масштабирования оптимизации энергопотребления на своих заводах по производству аммиака

Yara является ведущей в мире компанией по производству удобрений для сельскохозяйственных культур и поставщиком экологических и сельскохозяйственных решений. Амбиции Yara сосредоточены на выращивании экологически чистых пищевых продуктов будущего, которые создают ценность для клиентов, акционеров и общества в целом и обеспечивают более устойчивую цепочку создания стоимости продуктов питания. Поддерживая наше видение мира без голода и уважения к планете, Yara придерживается стратегии устойчивого роста стоимости, продвигая экологически безопасные продукты питания для сельскохозяйственных культур и энергетические решения с нулевым уровнем выбросов. Yara также является крупнейшим в мире производителем аммиака, нитратов и НПК удобрения. Таким образом, их производственный сегмент является неотъемлемым строительным блоком для выполнения их миссии с четко сформулированным стремлением стать мировым лидером по таким показателям, как безопасность, воздействие на окружающую среду, качество и производственные затраты. Долгосрочная цель Yara — «Завод будущего» с нулевым уровнем выбросов и низкими затратами.

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

Энергия является основным компонентом затрат для многих производственных предприятий; следовательно, энергоэффективность оказывает существенное влияние на рентабельность. Тем не менее, часто не хватает надежных ссылок на то, как выглядит хорошая производительность и как ее достичь. Кривая энергетической нагрузки Yara (ELC) — это решение, в котором используются лучшие исторические показатели энергопотребления по сравнению с текущими показателями. Если текущее потребление слишком сильно отклоняется от исторического максимума, инструмент дает операторам рекомендации по управлению потреблением энергии.

Чтобы развернуть ELC на производственных предприятиях и масштабировать его на несколько площадок по всему миру, Yara необходимо было создать платформу MLOps. Это гарантирует, что Yara будет обучать, развертывать и поддерживать модели надежно и эффективно. Кроме того, чтобы масштабировать это на несколько сайтов, Yara необходимо было автоматизировать процессы развертывания и обслуживания. В этом посте мы обсудим, как Yara использует Создатель мудреца Амазонки функции, включая реестр моделей, Монитор моделей Amazon SageMakerкачества Конвейеры Amazon SageMaker оптимизировать жизненный цикл машинного обучения (ML) за счет автоматизации и стандартизации практик MLOps. Мы предоставляем обзор установки, демонстрируя процесс создания, обучения, развертывания и мониторинга моделей машинного обучения для заводов по всему миру.

Обзор решения

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

ELC размещен в облаке. Для потоковой передачи данных датчиков с завода в режиме реального времени Yara использует AWS IoT Greengrass безопасно общаться с Ядро Интернета вещей AWS и экспортировать данные IoT в облако AWS. AWS Интернет вещей SiteWise — это управляемая служба, которая может собирать, упорядочивать, искать и использовать данные об оборудовании промышленного оборудования в масштабе. Yara создала API, используя Шлюз API Amazon для предоставления данных датчика таким приложениям, как ELC.

Серверная часть приложения ELC развертывается через Amazon ECS и обеспечивает работу панелей мониторинга ELC на внешнем интерфейсе, которые используются операторами предприятия. Приложение ELC отвечает за предоставление почасовых прогнозируемых показателей энергопотребления операторам предприятия. Каждая установка комплектуется своей моделью, так как характеристики энергопотребления у них разные. Кроме того, заводы сгруппированы в разные регионы AWS в зависимости от их местоположения.

Следующая диаграмма иллюстрирует эту архитектуру.

Для создания ELC и масштабирования на несколько заводов нам требовалось решение MLOps, поддерживающее следующее:

  • Масштабируемость – Он может масштабироваться в зависимости от объемов данных. Некоторые заводы производят больше данных, чем другие; каждый завод может производить несколько гигабайт данных в день.
  • Расширяемость - Он может быть развернут в новых регионах и учетных записях.
  • Повторяемость – У него есть общие шаблоны, которые мы можем использовать для запуска нового завода.
  • Трансформируемость – Конфигурация развертывания может быть изменена в зависимости от потребностей каждого предприятия.
  • Надежность и мониторинг – Он может запускать тесты и иметь четкое представление о состоянии всех активных установок. В случае сбоя он может вернуться к предыдущему стабильному состоянию.
  • Обслуживание – Решение должно иметь низкие накладные расходы на обслуживание. Там, где это возможно, следует использовать бессерверные службы, чтобы уменьшить нагрузку на инфраструктуру.

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

  • Контейнеры инфраструктуры SageMaker — Yara обучила прогностические модели ELC на TensorFlow, а с контейнерами инфраструктуры SageMaker Yara смогла поднять и перенести эти модели с минимальными изменениями кода в SageMaker.
  • Конвейеры SageMaker – SageMaker Pipelines предлагает интерфейс Python для специалистов по обработке и анализу данных для написания конвейеров машинного обучения. Большая часть кода ELC состоит из конвейера обучения и логического вывода, которые определены в Python.
  • Реестр моделей SageMaker – Реестр моделей SageMaker позволяет каталогизировать модели и управлять версиями. Кроме того, это упрощает управление метаданными модели, такими как показатели обучения.
  • Монитор модели SageMaker – Yara хотела отслеживать качество и распределение входящих данных, а также производительность модели ELC. API-интерфейсы SageMaker Model Monitor предлагают данные и мониторинг качества модели.

Для управления непрерывной интеграцией и непрерывной доставкой (CI/CD) для конвейеров машинного обучения Yara использует Платформа развертывания Amazon (АДФ). ADF — это платформа с открытым исходным кодом, разработанная AWS для управления и развертывания ресурсов в нескольких учетных записях AWS и регионах в рамках организации AWS. ADF позволяет поэтапно, параллельно, с несколькими учетными записями и в разных регионах развертывать приложения или ресурсы с помощью структуры, определенной в AWS Организации, воспользовавшись такими услугами, как Кодовый конвейер AWS, Сборка кода AWS, AWS CodeCommitкачества AWS CloudFormation для облегчения тяжелого подъема и управления по сравнению с традиционной настройкой CI/CD.

Обзор решения

Все решение для платформы MLOps было создано за два месяца в результате совместной работы с Профессиональные услуги AWS. Команда, работающая над проектом, состояла из специалистов по данным, инженеров по данным и специалистов DevOps. Чтобы ускорить разработку в многокомандной среде, Yara решила использовать Зона посадки AWSne и Организации для централизованного создания и управления различными учетными записями AWS. Например, Yara имеет учетную запись центрального развертывания и использует учетные записи рабочей нагрузки для размещения бизнес-приложений. ELC — это вариант использования оптимизации процессов, который развертывается для оптимизации учетных записей рабочей нагрузки. Команда Yara Digital Production также работает над вариантами использования машинного обучения в других областях, помимо оптимизации. Платформа MLOps поддерживает развертывание для любых учетных записей рабочей нагрузки, если учетные записи создаются через организации.

Следующая диаграмма иллюстрирует эту архитектуру.

Организации по настройке учетной записи

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

Что касается стратегии учетной записи, у Yara есть песочница, настройки DEV, TEST и PROD. Учетная запись песочницы используется для экспериментов и опробования новых идей. Учетная запись DEV — это отправная точка конвейеров CI/CD, и вся разработка начинается здесь. Учетная запись развертывания содержит определение конвейера CI/CD и может выполнять развертывание в учетных записях DEV, TEST и PROD. Эта настройка учетной записи изображена на следующем рисунке.

Настройка учетной записи Млопс

Внедрение нового варианта использования

В этом посте мы предполагаем, что у нас есть рабочий прототип варианта использования, и теперь мы хотим ввести его в действие. В случае, если этот вариант использования относится к новой области продукта, нам сначала нужно предоставить учетные записи с помощью организаций, что автоматически запускает ADF для начальной загрузки этих учетных записей для развертывания. Yara следует стратегии аккаунта DEV>TEST>PROD; однако эта конфигурация не является обязательной. Учетные записи данных предоставляют API для доступа к данным, и для нового варианта использования ролям необходимо предоставить необходимые Управление идентификацией и доступом AWS (IAM), чтобы они могли получить доступ к Data API.

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

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

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

Конвейер обучения модели

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

Конвейер обучения SageMaker

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

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

Вывод модели и конвейер мониторинга

Чтобы развернуть модель и настроить мониторинг модели, мы настроили второй конвейер SageMaker. Приложение ELC предоставляет прогнозы операторам завода по запросу, поэтому доступ к моделям осуществляется через вызовы API, сделанные из серверной части ELC. Конечные точки вывода SageMaker предоставляют полностью управляемое решение для размещения моделей с уровнем API; конечные точки принимают входные данные модели в качестве полезной нагрузки и возвращают прогнозы. Поскольку задержка также является решающим фактором для конечных пользователей, которые не хотят долго ждать, прежде чем получать обновленные прогнозы, Yara выбрала конечные точки логического вывода SageMaker в реальном времени, которые особенно подходят для рабочих нагрузок с очень низкими требованиями к задержке. Наконец, поскольку у приложения ELC не может быть простоев во время развертывания обновленных моделей, оно полагается на сине-зеленую возможность развертывания конечных точек SageMaker в реальном времени, чтобы гарантировать, что старая версия модели продолжает обслуживать прогнозы до тех пор, пока не будет развернута новая версия. .

Следующая диаграмма иллюстрирует настройку развертывания и мониторинга.

Конвейер вывода SageMaker

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

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

поток CI/CD

Поток CI/CD для конвейеров обучения начинается в учетной записи DEV. Yara следует модели разработки, основанной на функциях, и при разработке новой функции ветвь функции объединяется с основной веткой, которая запускает развертывание. Модели ELC обучаются в учетной записи DEV, и после обучения и оценки модели она регистрируется в реестре моделей. Утверждающий модель выполняет проверку работоспособности перед обновлением статуса модели до утвержденный. Это действие создает событие, запускающее развертывание конвейера вывода модели. Конвейер вывода модели развертывает новую версию модели на конечной точке SageMaker в DEV.

После развертывания конечной точки запускаются тесты для проверки поведения установки. Для тестирования Yara использует Отчеты о тестировании CodeBuild. Эта функция позволяет разработчикам запускать модульные тесты, тесты конфигурации и функциональные тесты до и после развертывания. В этом случае Yara запускает функциональные тесты, передавая тестовую полезную нагрузку на конечные точки SageMaker и оценивая ответ. После прохождения этих тестов конвейер переходит к развертыванию конечных точек SageMaker в TEST. Серверная часть ELC также развернута в TEST, что делает возможным сквозное тестирование приложения в этой среде. Кроме того, Yara проводит приемочное тестирование пользователей в TEST. Триггером развертывания TEST в PROD является ручное утверждение. После того как новая версия модели прошла как функциональное, так и пользовательское приемочное тестирование в TEST, группа инженеров утверждает развертывание модели в PROD.

На следующем рисунке показан этот рабочий процесс.

План CodePipeline

Общие компоненты

Для ELC мы используем несколько компонентов, общих для всех этапов развертывания (DEV, TEST, PROD) и моделей. Эти компоненты находятся в нашей учетной записи развертывания и включают в себя контроль версий модели, репозиторий образов контейнеров, ключ шифрования и корзину для хранения общих артефактов.

Как Yara использует функции MLOps Amazon SageMaker для масштабирования оптимизации энергопотребления на своих аммиачных заводах PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай.

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

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

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

Заключение

В этом посте мы продемонстрировали, как Yara использовала SageMaker и ADF для создания масштабируемой платформы MLOps. ML — это кросс-функциональная возможность, и команды развертывают модели для разных учетных записей бизнес-подразделений. Таким образом, ADF, который предлагает встроенную интеграцию с организациями, делает его идеальным кандидатом для начальной загрузки учетных записей для настройки конвейеров CI/CD. С точки зрения эксплуатации конвейеры ADF запускаются в учетной записи центрального развертывания, что упрощает получение общего представления о работоспособности развертываний. Наконец, ADF использует управляемые сервисы AWS, такие как CodeBuild, CodeDeploy, CodePipeline и CloudFormation, что упрощает настройку и обслуживание.

SageMaker предоставляет широкий спектр возможностей машинного обучения, что позволяет командам больше сосредоточиться на решении бизнес-задач, а не на создании и обслуживании инфраструктуры. Кроме того, SageMaker Pipelines предоставляет широкий набор API-интерфейсов для создания, обновления и развертывания рабочих процессов машинного обучения, что делает его идеально подходящим для MLOps.

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

Дополнительные сведения о том, как развертывать приложения с помощью ADF, см. Примеры.


Об авторах

Как Yara использует функции MLOps Amazon SageMaker для масштабирования оптимизации энергопотребления на своих аммиачных заводах PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай. Шахир Мансур является специалистом по данным в AWS. Его внимание сосредоточено на создании платформ машинного обучения, на которых можно размещать решения ИИ в масштабе. Областями его интересов являются MLOps, хранилища функций, хостинг моделей и мониторинг моделей.

Как Yara использует функции MLOps Amazon SageMaker для масштабирования оптимизации энергопотребления на своих аммиачных заводах PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай.Тим Беккер является старшим специалистом по данным в Yara International. В Digital Production его внимание сосредоточено на оптимизации процессов производства аммиака и азотной кислоты. Он имеет докторскую степень в области термодинамики и увлечен объединением технологических процессов и машинного обучения.

Как Yara использует функции MLOps Amazon SageMaker для масштабирования оптимизации энергопотребления на своих аммиачных заводах PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай.Йонгиос Кевпитаккун является старшим специалистом по данным в команде цифрового производства в Yara International. Он имеет докторскую степень в области искусственного интеллекта/машинного обучения и многолетний практический опыт использования машинного обучения, компьютерного зрения и моделей обработки естественного языка для решения сложных бизнес-задач.

Отметка времени:

Больше от Машинное обучение AWS