Как Axfood обеспечивает ускоренное машинное обучение во всей организации с помощью Amazon SageMaker | Веб-сервисы Amazon

Как Axfood обеспечивает ускоренное машинное обучение во всей организации с помощью Amazon SageMaker | Веб-сервисы Amazon

Это гостевой пост, написанный Axfood AB. 

В этом посте мы рассказываем, как Axfood, крупный шведский продуктовый ритейлер, улучшил операции и масштабируемость существующих операций искусственного интеллекта (ИИ) и машинного обучения (ML) путем создания прототипов в тесном сотрудничестве с экспертами AWS и использования Создатель мудреца Амазонки.

Аксфуд является вторым по величине продуктовым ритейлером Швеции, в котором работает более 13,000 300 сотрудников и имеется более XNUMX магазинов. Axfood имеет структуру с несколькими децентрализованными группами по обработке данных с разными сферами ответственности. Вместе с командой центральной платформы данных группы по науке о данных привносят в организацию инновации и цифровую трансформацию с помощью решений искусственного интеллекта и машинного обучения. Axfood использует Amazon SageMaker для обработки своих данных с помощью машинного обучения и уже много лет разрабатывает модели. В последнее время уровень сложности и количество выпускаемых моделей растет в геометрической прогрессии. Однако, несмотря на высокие темпы инноваций, разные команды разработали свои собственные методы работы и искали новые лучшие практики MLOps.

Наш вызов

Чтобы оставаться конкурентоспособными с точки зрения облачных сервисов и искусственного интеллекта и машинного обучения, Axfood решила стать партнером AWS и сотрудничает с ними уже много лет.

Во время одного из наших периодических мозговых штурмов с AWS мы обсуждали, как лучше всего сотрудничать между командами, чтобы повысить темпы инноваций и эффективность специалистов по науке о данных и специалистам по машинному обучению. Мы решили приложить совместные усилия для создания прототипа на основе лучших практик MLOps. Целью прототипа было создание шаблона модели для всех групп по обработке данных для создания масштабируемых и эффективных моделей машинного обучения — основы нового поколения платформ искусственного интеллекта и машинного обучения для Axfood. Шаблон должен объединять и объединять лучшие практики экспертов AWS ML и лучшие практики для конкретной компании — лучшее из обоих миров.

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

Наше решение: новый шаблон машинного обучения в Amazon SageMaker Studio.

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

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

В случае с Axfood хорошо функционирующий конвейер для этой цели уже был настроен с использованием блокнотов SageMaker и организован сторонней платформой управления рабочими процессами Airflow. Однако существует множество очевидных преимуществ модернизации нашей платформы машинного обучения и перехода на нее. Студия Amazon SageMaker и Конвейеры Amazon SageMaker. Переход на SageMaker Studio предоставляет множество предопределенных готовых функций:

  • Мониторинг модели и качества данных, а также объяснимости модели.
  • Встроенные инструменты интегрированной среды разработки (IDE), такие как отладка.
  • Мониторинг затрат/производительности
  • Структура принятия модели
  • Реестр моделей

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

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

Предлагаемая Axfood новая структура машинного обучения построена вокруг двух основных конвейеров: конвейер построения модели и конвейер пакетного вывода:

  • Эти конвейеры имеют версии в двух отдельных репозиториях Git: один репозиторий сборки и один репозиторий развертывания (вывода). Вместе они образуют надежный механизм прогнозирования фруктов и овощей.
  • Конвейеры упаковываются в пользовательский шаблон проекта с помощью SageMaker Projects в интеграции со сторонним репозиторием Git (Bitbucket) и конвейерами Bitbucket для компонентов непрерывной интеграции и непрерывного развертывания (CI/CD).
  • Шаблон проекта SageMaker включает исходный код, соответствующий каждому шагу конвейеров сборки и развертывания (мы обсуждаем эти шаги более подробно далее в этом посте), а также определение конвейера — рецепт того, как следует выполнять эти шаги.
  • Автоматизация создания новых проектов на основе шаблона упрощается за счет Каталог сервисов AWS, где создается портфолио, служащее абстракцией для нескольких продуктов.
  • Каждый продукт превращается в AWS CloudFormation шаблон, который развертывается, когда специалист по данным создает новый проект SageMaker, используя в качестве основы наш план MLOps. Это активирует AWS Lambda функция, которая создает проект Bitbucket с двумя репозиториями — сборки модели и развертывания модели — содержащими начальный код.

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

Как Axfood обеспечивает ускоренное машинное обучение во всей организации с помощью Amazon SageMaker | Веб-сервисы Amazon PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай.

Конвейер сборки модели

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

  • предварительная обработка – Вот, Мудрец ScriptProcessor Класс используется для разработки функций, в результате чего получается набор данных, на котором будет обучаться модель.
  • Обучение и пакетное преобразование – Пользовательские контейнеры обучения и вывода от SageMaker используются для обучения модели на исторических данных и создания прогнозов на основе данных оценки с использованием SageMaker Estimator и Transformer для соответствующих задач.
  • Оценка – Обученная модель подвергается оценке путем сравнения сгенерированных прогнозов на основе данных оценки с реальными данными с использованием ScriptProcessor.
  • Базовые вакансии – Конвейер создает базовые показатели на основе статистики входных данных. Они необходимы для мониторинга данных и качества модели, а также атрибуции функций.
  • Реестр моделей – Обученная модель регистрируется для будущего использования. Модель будет одобрена назначенными специалистами по обработке данных для ее использования в производстве.

В производственных средах механизмы приема данных и запуска управляются с помощью основной оркестрации Airflow. Между тем, во время разработки конвейер активируется каждый раз, когда в репозиторий сборки модели Bitbucket вводится новая фиксация. На следующем рисунке показан конвейер построения модели.

Как Axfood обеспечивает ускоренное машинное обучение во всей организации с помощью Amazon SageMaker | Веб-сервисы Amazon PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай.

Конвейер пакетного вывода

Конвейер пакетного вывода обрабатывает этап вывода, который состоит из следующих шагов:

  • предварительная обработка – Данные предварительно обрабатываются с использованием ScriptProcessor.
  • Пакетное преобразование – Модель использует пользовательский контейнер вывода с преобразователем SageMaker и генерирует прогнозы на основе входных предварительно обработанных данных. Используемая модель — это последняя утвержденная обученная модель в реестре моделей.
  • Постобработка – Прогнозы проходят серию этапов постобработки с использованием ScriptProcessor.
  • мониторинг – Непрерывное наблюдение завершает проверку отклонений, связанных с качеством данных, качеством модели и атрибуцией функций.

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

На следующей диаграмме показан конвейер пакетного вывода. Рабочий процесс A соответствует предварительной обработке, проверке качества данных и отклонению атрибуции объектов, умозаключению и постобработке. Рабочий процесс B соответствует проверке отклонения качества модели. Эти конвейеры разделены, поскольку проверка отклонения качества модели будет выполняться только в том случае, если доступны новые наземные данные.

Как Axfood обеспечивает ускоренное машинное обучение во всей организации с помощью Amazon SageMaker | Веб-сервисы Amazon PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай.

Монитор модели SageMaker

Доступно Монитор моделей Amazon SageMaker Интегрированные, конвейеры получают преимущества от мониторинга в реальном времени по следующим параметрам:

  • Качество данных – Отслеживает любые отклонения или несоответствия в данных
  • Качество модели – Отслеживает любые колебания производительности модели.
  • Атрибуция функций – Проверяет отклонения в атрибуции функций.

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

В частности, в случае отклонения качества данных система отслеживает следующее:

  • Дрейф концепции – Это относится к изменениям в корреляции между входными и выходными данными, требующим достоверной информации.
  • Ковариативный сдвиг – Здесь акцент делается на изменениях в распределении независимых входных переменных.

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

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

Объяснимость модели

Объясняемость модели — ключевая часть развертывания машинного обучения, поскольку она обеспечивает прозрачность прогнозов. Для детального понимания воспользуемся Amazon SageMaker Уточнить.

Он предлагает как глобальные, так и локальные объяснения моделей с помощью независимого от модели метода атрибуции признаков, основанного на концепции ценности Шепли. Это используется для расшифровки того, почему во время вывода был сделан конкретный прогноз. Такие объяснения, которые по своей сути противоречивы, могут различаться в зависимости от разных исходных данных. SageMaker Clarify помогает определить этот базовый уровень с помощью K-средних или K-прототипов во входном наборе данных, который затем добавляется в конвейер построения модели. Эта функциональность позволит нам в будущем создавать генеративные приложения искусственного интеллекта для лучшего понимания того, как работает модель.

Индустриализация: от прототипа к производству

Проект MLOps включает высокую степень автоматизации и может служить образцом для аналогичных случаев использования:

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

Закончив работу над прототипом, мы обратились к тому, как его использовать в производстве. Для этого мы почувствовали необходимость внести некоторые дополнительные изменения в шаблон MLOps:

  • Исходный исходный код, использованный в прототипе шаблона, включал этапы предварительной и постобработки, выполняемые до и после основных этапов ML (обучение и вывод). Однако при масштабировании для использования шаблона в нескольких вариантах использования в рабочей среде встроенные этапы предварительной и постобработки могут привести к снижению общности и воспроизводимости кода.
  • Чтобы повысить общность и минимизировать повторяющийся код, мы решили еще больше сократить конвейеры. Вместо выполнения этапов предварительной и постобработки в рамках конвейера ML мы запускаем их как часть основной оркестрации Airflow до и после запуска конвейера ML.
  • Таким образом, задачи обработки для конкретных вариантов использования абстрагируются от шаблона, и остается основной конвейер машинного обучения, выполняющий общие задачи для нескольких вариантов использования с минимальным повторением кода. Параметры, которые различаются в зависимости от варианта использования, передаются в качестве входных данных в конвейер ML из основной оркестровки Airflow.

Результат: быстрый и эффективный подход к построению и развертыванию моделей.

В результате прототипа, созданного в сотрудничестве с AWS, был создан шаблон MLOps, соответствующий современным передовым практикам, который теперь доступен для использования всем командам по обработке данных Axfood. Создав новый проект SageMaker в SageMaker Studio, ученые, работающие с данными, могут приступить к работе над новыми проектами ML, быстро и плавно перейти к производству, что позволяет более эффективно управлять временем. Это стало возможным благодаря автоматизации утомительных, повторяющихся задач MLOps как части шаблона.

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

  • Мониторинг модели – Мы можем выполнять проверки на отклонения для качества модели и данных, а также объяснимости модели.
  • Модель и происхождение данных – Теперь можно точно отследить, какие данные для какой модели использовались.
  • Реестр моделей – Это помогает нам каталогизировать модели для производства и управлять версиями моделей.

Заключение

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

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

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


Об авторах

Как Axfood обеспечивает ускоренное машинное обучение во всей организации с помощью Amazon SageMaker | Веб-сервисы Amazon PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай.Доктор Бьёрн Бломквист — руководитель отдела стратегии искусственного интеллекта в Axfood AB. До прихода в Axfood AB он возглавлял команду специалистов по обработке данных в Dagab, входящей в состав Axfood, которая создавала инновационные решения машинного обучения с миссией по обеспечению людей по всей Швеции качественной и устойчивой пищей. Бьёрн родился и вырос на севере Швеции. В свободное время он отправляется в заснеженные горы и в открытое море.

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

Как Axfood обеспечивает ускоренное машинное обучение во всей организации с помощью Amazon SageMaker | Веб-сервисы Amazon PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай.Павел Маслов — старший инженер DevOps и ML в команде аналитических платформ. Павел имеет большой опыт разработки фреймворков, инфраструктуры и инструментов в области DevOps и ML/AI на платформе AWS. Павел был одним из ключевых игроков в создании фундаментальных возможностей машинного обучения в Axfood.

Как Axfood обеспечивает ускоренное машинное обучение во всей организации с помощью Amazon SageMaker | Веб-сервисы Amazon PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай.Йоаким Берг — руководитель группы аналитических платформ и владелец продукта в Стокгольме, Швеция. Он возглавляет команду инженеров DevOps/MLOps по платформам данных, предоставляющих платформы данных и машинного обучения для команд Data Science. Йоаким имеет многолетний опыт руководства старшими командами разработчиков и архитекторов из разных отраслей.

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

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