Повышение стабильности и гибкости конвейеров машинного обучения в Amazon Packaging Innovation с помощью Amazon SageMaker Pipelines PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай.

Повышение стабильности и гибкости конвейеров машинного обучения в Amazon Packaging Innovation с помощью Amazon SageMaker Pipelines

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

Чтобы решить эти проблемы, команда Amazon Packaging Innovation разработала модели машинного обучения (ML), которые классифицируют, подходят ли продукты для типов упаковки Amazon, таких как почтовые ящики, пакеты или коробки, или даже могут быть отправлены без дополнительной упаковки. Ранее команда разработала собственный конвейер на основе Шаговые функции AWS выполнять еженедельное обучение и ежедневные или ежемесячные задания по логическому выводу. Однако со временем конвейер перестал обеспечивать достаточную гибкость для запуска моделей с новой архитектурой. Разработка новых конвейеров сопряжена с накладными расходами и требует координации между учеными и разработчиками данных. Чтобы преодолеть эти трудности и повысить скорость развертывания новых моделей и архитектур, команда решила организовать обучение моделей и логические выводы с помощью Конвейеры Amazon SageMaker.

В этом посте мы обсудим предыдущую архитектуру оркестровки на основе Step Functions, обрисуем в общих чертах архитектуры обучения и логического вывода с использованием Pipelines, а также подчеркнем гибкость, достигнутую командой Amazon Packaging Innovation.

Проблемы бывшего конвейера машинного обучения в Amazon Packaging Innovation

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

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

  • Подготовка данных для заданий обучения и логического вывода и загрузка прогнозов в базу данных (Амазонка Redshift) С Клей AWS.
  • Обучение модели и вывод с помощью Создатель мудреца Амазонки.
  • Расчет показателей производительности модели на проверочном наборе с Пакет AWS.
  • . Amazon DynamoDB для хранения конфигураций модели (таких как коэффициент разделения данных для обучения и проверки, расположение артефакта модели, тип модели и количество экземпляров для обучения и вывода), показатели производительности модели и последняя успешно обученная версия модели.
  • Расчет различий в показателях производительности модели, изменения в распределении обучающих меток и сравнение размера входных данных между предыдущей и новой версиями модели с AWS Lambda функции.
  • Учитывая большое количество шагов, конвейер также требовал надежной системы оповещения на каждом этапе, чтобы предупредить заинтересованные стороны о любых проблемах. Это было достигнуто благодаря сочетанию Простой сервис очередей Amazon (Amazon SQS) и Amazon Простая служба уведомлений (Амазон СНС). Сигналы тревоги были созданы для уведомления заинтересованных сторон, специалистов по данным и разработчиков о любых неудачных шагах и больших отклонениях в модели и показателях данных.

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

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

Чтобы решить эти проблемы, команда Amazon Packaging Innovation оценила другие существующие решения для MLOps, в том числе SageMaker Pipelines (Объявление о выпуске в декабре 2020 г.). Pipelines — это возможность SageMaker для создания, управления, автоматизации и масштабирования сквозных рабочих процессов машинного обучения. Конвейеры позволяют сократить количество шагов во всем рабочем процессе машинного обучения и являются достаточно гибкими, чтобы позволить специалистам по данным определять собственный рабочий процесс машинного обучения. Он заботится о мониторинге и регистрации шагов. Он также поставляется с реестром моделей, который автоматически создает версии новых моделей. Реестр моделей имеет встроенные рабочие процессы утверждения для выбора моделей для логического вывода в рабочей среде. Pipelines также позволяет кэшировать шаги, вызываемые с теми же аргументами. Если найден предыдущий запуск, создается кеш, который позволяет легко перезапуститься вместо повторного вычисления успешно завершенных шагов.

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

Учебный конвейер

Команда Amazon Packaging Innovation обучает модели для каждого типа упаковки, используя все большее количество этикеток. На следующей диаграмме показан весь процесс.

Рабочий процесс начинается с извлечения меток и функций из базы данных Amazon Redshift и выгрузки данных в Простой сервис хранения Amazon (Amazon S3) с помощью запланированного задания извлечения, преобразования и загрузки (ETL). Вместе с входными данными в корзину S3 помещается файловый объект с типом модели и параметрами. Этот файл служит триггером конвейера через функцию Lambda.

Следующие шаги полностью настраиваются и определяются специалистом по данным с помощью SageMaker Python SDK for Pipelines. В сценарии, который мы представляем в этом посте, входные данные разбиваются на наборы для обучения и проверки и сохраняются обратно в корзину S3 путем запуска задания обработки SageMaker.

Когда данные будут готовы в Amazon S3, запустится обучающее задание SageMaker. После того, как модель успешно обучена и создана, этап оценки модели выполняется для данных проверки с помощью задания пакетного преобразования SageMaker. Затем показатели модели сравниваются с показателями модели за предыдущую неделю с помощью задания SageMaker Processing. Команда определила несколько пользовательских критериев для оценки отклонений в производительности модели. Модель либо отвергается, либо утверждается на основе этих критериев. Если модель отклонена, для следующих заданий логического вывода используется предыдущая утвержденная модель. Если модель утверждена, ее версия регистрируется, и эта модель используется для заданий логического вывода. Заинтересованные стороны получают уведомление о результате через Amazon CloudWatch будильники.

Следующий скриншот из Студия Amazon SageMaker показывает этапы конвейера обучения.

УпаковкаИнновации-SMP-обучение

Конвейеры отслеживают каждый запуск конвейера, который вы можете отслеживать в Studio. Кроме того, вы можете запросить ход выполнения, используя Бото3 или Интерфейс командной строки AWS (интерфейс командной строки AWS). Вы можете визуализировать метрики модели в Studio и сравнить разные версии модели.

Конвейер логического вывода

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

УпаковкаИнновационная архитектура вывода

Как и в случае с конвейером обучения, логический вывод начинается с выгрузки данных из Amazon Redshift в корзину S3. Файловый объект, помещенный в Amazon S3, запускает функцию Lambda, которая инициирует конвейер логического вывода. Объекты подготавливаются для логического вывода, а данные разбиваются на файлы соответствующего размера с помощью задания обработки SageMaker. Затем конвейер определяет последнюю утвержденную модель для запуска прогнозов и загрузки их в корзину S3. Наконец, прогнозы загружаются обратно в Amazon Redshift с помощью API boto3-data в рамках задания обработки SageMaker.

На следующем снимке экрана из Studio показаны сведения о конвейере логического вывода.

Повышение стабильности и гибкости конвейеров машинного обучения в Amazon Packaging Innovation с помощью Amazon SageMaker Pipelines PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай.

Преимущества выбора архитектуры рабочих процессов машинного обучения с помощью SageMaker Pipelines

В этом разделе мы обсудим преимущества, которые команда Amazon по инновациям в области упаковки получила, перейдя на Pipelines для обучения моделей и получения логических выводов.

Готовые функции MLOps производственного уровня

При сравнении различных внутренних и внешних решений для следующего конвейера машинного обучения один специалист по данным смог создать прототип и разработать полную версию рабочего процесса машинного обучения с конвейерами в среде Studio Jupyter менее чем за 3 недели. Еще на этапе прототипирования стало ясно, что Pipelines предоставляет все необходимые компоненты инфраструктуры, необходимые для рабочего процесса на производственном уровне: управление версиями модели, кэширование и оповещения. Мгновенная доступность этих функций означала, что не нужно было тратить дополнительное время на их разработку и настройку. Это была наглядная демонстрация ценности, которая убедила команду Amazon Packaging Innovation в том, что Pipelines — правильное решение.

Гибкость в разработке моделей машинного обучения

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

Снижение затрат

Возможности Pipelines SageMaker: бесплатно: вы платите только за вычислительные ресурсы и хранилище, связанные с обучением и выводом. Однако, думая о стоимости, вы должны учитывать не только стоимость используемых сервисов, но и часы разработки, необходимые для поддержки рабочего процесса, его отладки и исправления. Оркестрировать с Pipelines проще, потому что он состоит из меньшего количества элементов и имеет знакомую инфраструктуру. Раньше для добавления новой функции требовалось как минимум два человека (специалист по данным и инженер-программист) из команды Amazon Packaging Innovation. Благодаря переработанному конвейеру инженерные усилия теперь направлены на создание дополнительной настраиваемой инфраструктуры вокруг конвейера, такой как создание единого репозитория для отслеживания кода машинного обучения, упрощение развертывания модели в учетных записях AWS, разработка интегрированных заданий ETL и общие многократно используемые функции.

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

Заключение

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

Переход на конвейеры позволил команде развернуть четыре новые мультимодальные модели архитектуры менее чем за 2 месяца. Развертывание новой модели с использованием предыдущей архитектуры потребовало бы от 5 дней (с той же архитектурой модели) до 1 месяца (с новой архитектурой модели). Развертывание той же модели с помощью Pipelines позволило команде сократить время разработки до 4 часов с той же архитектурой модели и до 5 дней с новой архитектурой модели. Это означает экономию почти 80% рабочего времени.

Дополнительные ресурсы

Для получения дополнительной информации см. Следующие ресурсы:


Об авторах

Анкур-Шукла-авторАнкур Шукла является главным специалистом по данным в AWS-ProServe в Пало-Альто. Анкур имеет более чем 15-летний опыт консалтинга, работая непосредственно с клиентами и помогая им решать бизнес-задачи с помощью технологий. Он возглавляет несколько глобальных инициатив в области прикладной науки и ML-Ops в рамках AWS. В свободное время любит читать и проводить время с семьей.

Акаш-Сингла-авторАкаш Сингла является старшим системным инженером в команде инноваций упаковки Amazon. Он имеет более чем 17-летний опыт решения критических бизнес-задач с помощью технологий для нескольких бизнес-вертикалей. В настоящее время он занимается модернизацией инфраструктуры NAWS для различных приложений, ориентированных на упаковку, с целью их лучшего масштабирования.

Виталина-Комашко-авторВиталина Комашко является специалистом по данным в AWS Professional Services. Она имеет докторскую степень в области фармакологии и токсикологии, но перешла к науке о данных из экспериментальной работы, потому что хотела «собственно генерировать данные и интерпретировать результаты». Ранее в своей карьере она работала с биотехнологическими и фармацевтическими компаниями. В AWS ей нравится решать проблемы клиентов из разных отраслей и узнавать об их уникальных проблемах.

Прасант-Мейяппан-авторПрасант Мейяппан является старшим научным сотрудником Amazon в области упаковки инноваций более 4 лет. Он имеет более чем 6-летний опыт работы в отрасли в области машинного обучения и поставлял продукты для улучшения качества поиска клиентов и улучшения качества упаковки для клиентов. Прасант увлечен вопросами устойчивого развития и имеет докторскую степень в области статистического моделирования изменения климата.

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

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

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