Это гостевой пост, написанный 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.
Создание полного конвейера машинного обучения, предназначенного для реального бизнес-кейса, может оказаться сложной задачей. В данном случае мы разрабатываем модель прогнозирования, поэтому необходимо выполнить два основных шага:
- Обучите модель делать прогнозы, используя исторические данные.
- Примените обученную модель для прогнозирования будущих событий.
В случае с 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 показывает процесс создания нового проекта машинного обучения.
Конвейер сборки модели
Конвейер сборки модели управляет жизненным циклом модели, начиная с предварительной обработки, обучения и заканчивая регистрацией в реестре модели:
- предварительная обработка – Вот, Мудрец
ScriptProcessor
Класс используется для разработки функций, в результате чего получается набор данных, на котором будет обучаться модель. - Обучение и пакетное преобразование – Пользовательские контейнеры обучения и вывода от SageMaker используются для обучения модели на исторических данных и создания прогнозов на основе данных оценки с использованием SageMaker Estimator и Transformer для соответствующих задач.
- Оценка – Обученная модель подвергается оценке путем сравнения сгенерированных прогнозов на основе данных оценки с реальными данными с использованием
ScriptProcessor
. - Базовые вакансии – Конвейер создает базовые показатели на основе статистики входных данных. Они необходимы для мониторинга данных и качества модели, а также атрибуции функций.
- Реестр моделей – Обученная модель регистрируется для будущего использования. Модель будет одобрена назначенными специалистами по обработке данных для ее использования в производстве.
В производственных средах механизмы приема данных и запуска управляются с помощью основной оркестрации Airflow. Между тем, во время разработки конвейер активируется каждый раз, когда в репозиторий сборки модели Bitbucket вводится новая фиксация. На следующем рисунке показан конвейер построения модели.
Конвейер пакетного вывода
Конвейер пакетного вывода обрабатывает этап вывода, который состоит из следующих шагов:
- предварительная обработка – Данные предварительно обрабатываются с использованием
ScriptProcessor
. - Пакетное преобразование – Модель использует пользовательский контейнер вывода с преобразователем SageMaker и генерирует прогнозы на основе входных предварительно обработанных данных. Используемая модель — это последняя утвержденная обученная модель в реестре моделей.
- Постобработка – Прогнозы проходят серию этапов постобработки с использованием
ScriptProcessor
. - мониторинг – Непрерывное наблюдение завершает проверку отклонений, связанных с качеством данных, качеством модели и атрибуцией функций.
Если возникают расхождения, бизнес-логика сценария постобработки оценивает необходимость повторного обучения модели. Планируется, что трубопровод будет работать через регулярные промежутки времени.
На следующей диаграмме показан конвейер пакетного вывода. Рабочий процесс A соответствует предварительной обработке, проверке качества данных и отклонению атрибуции объектов, умозаключению и постобработке. Рабочий процесс B соответствует проверке отклонения качества модели. Эти конвейеры разделены, поскольку проверка отклонения качества модели будет выполняться только в том случае, если доступны новые наземные данные.
Монитор модели 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 AB. До прихода в Axfood AB он возглавлял команду специалистов по обработке данных в Dagab, входящей в состав Axfood, которая создавала инновационные решения машинного обучения с миссией по обеспечению людей по всей Швеции качественной и устойчивой пищей. Бьёрн родился и вырос на севере Швеции. В свободное время он отправляется в заснеженные горы и в открытое море.
Оскар Кланг является старшим специалистом по данным в аналитическом отделе Dagab, где ему нравится работать со всеми аспектами аналитики и машинного обучения, например, оптимизацией операций цепочки поставок, построением моделей прогнозирования и, с недавних пор, приложениями GenAI. Он стремится создать более оптимизированные конвейеры машинного обучения, повысить эффективность и масштабируемость.
Павел Маслов — старший инженер DevOps и ML в команде аналитических платформ. Павел имеет большой опыт разработки фреймворков, инфраструктуры и инструментов в области DevOps и ML/AI на платформе AWS. Павел был одним из ключевых игроков в создании фундаментальных возможностей машинного обучения в Axfood.
Йоаким Берг — руководитель группы аналитических платформ и владелец продукта в Стокгольме, Швеция. Он возглавляет команду инженеров DevOps/MLOps по платформам данных, предоставляющих платформы данных и машинного обучения для команд Data Science. Йоаким имеет многолетний опыт руководства старшими командами разработчиков и архитекторов из разных отраслей.
- SEO-контент и PR-распределение. Получите усиление сегодня.
- PlatoData.Network Вертикальный генеративный ИИ. Расширьте возможности себя. Доступ здесь.
- ПлатонАйСтрим. Интеллект Web3. Расширение знаний. Доступ здесь.
- ПлатонЭСГ. Углерод, чистые технологии, Энергия, Окружающая среда, Солнечная, Управление отходами. Доступ здесь.
- ПлатонЗдоровье. Биотехнологии и клинические исследования. Доступ здесь.
- Источник: https://aws.amazon.com/blogs/machine-learning/how-axfood-enables-accelerated-machine-learning-throughout-the-organization-using-amazon-sagemaker/
- :имеет
- :является
- :куда
- $UP
- 000
- 100
- 118
- 13
- 130
- 300
- 7
- a
- способность
- рассеянный
- абстракция
- ускоренный
- принятие
- доступ
- точный
- точно
- через
- фактического соединения
- добавленный
- дополнительный
- корректировки
- После
- AI
- ИИ стратегия
- AI / ML
- пособие
- цель
- Оповещения
- Все
- Позволяющий
- уже
- причислены
- изменения
- Несмотря на то, что
- Amazon
- Создатель мудреца Амазонки
- Amazon Web Services
- an
- анализ
- аналитический
- аналитика
- и
- аномалии
- любой
- Приложения
- подхода
- утвержденный
- архитектура
- МЫ
- области
- возникать
- около
- искусственный
- искусственный интеллект
- Искусственный интеллект (AI)
- AS
- оценивает
- At
- Автоматизированный
- Автоматизация
- автоматизация
- доступен
- AWS
- основанный
- Базовая линия
- BE
- , так как:
- было
- до
- начало
- не являетесь
- эталонный тест
- польза
- Преимущества
- ЛУЧШЕЕ
- лучшие практики
- между
- план
- рожденный
- изоферменты печени
- МОСТ
- приносить
- строить
- Строительство
- построенный
- встроенный
- бизнес
- но
- by
- Кампании
- CAN
- Может получить
- возможности
- возможности
- перехватывает
- случаев
- случаев
- каталог
- центральный
- цепь
- сложные
- шанс
- изменения
- проверка
- Проверки
- выбрал
- класс
- Очистить
- Закрыть
- облако
- облачные сервисы
- код
- сотрудничать
- сотрудничество
- сотрудничество
- объединять
- Комментарии
- совершать
- привержен
- сравнив
- компетентный
- конкурентоспособный
- полный
- зАВЕРШАЕТ
- компоненты
- сама концепция
- состоит
- Container
- Контейнеры
- (CIJ)
- Основные
- Корреляция
- соответствующий
- соответствует
- Создайте
- создали
- создает
- Создающий
- кульминационным
- Культивировать
- Текущий
- В настоящее время
- изготовленный на заказ
- ежедневно
- данным
- Платформа данных
- наука о данных
- ученый данных
- децентрализованная
- решенный
- снизилась
- определение
- Степень
- Кафедра
- развертывание
- развернуть
- развертывание
- развертывание
- развертывания
- назначенный
- предназначенный
- подробность
- подробный
- обнаруженный
- определения
- развитый
- развивающийся
- Развитие
- диаграмма
- отличаться
- различный
- Интернет
- цифровое преобразование
- со скидкой
- обсуждать
- обсуждается
- обсуждающий
- распределение
- Разделенный
- do
- доменов
- вниз
- в течение
- e
- каждый
- затрат
- эффективный
- усилие
- акцент
- занятых
- сотрудников
- позволяет
- конец
- инженер
- Проект и
- Инженеры
- повышение
- обеспечивает
- полностью
- Окружающая среда
- средах
- существенный
- оценка
- Даже
- События
- многое
- точно,
- существующий
- опыт
- эксперты
- объяснениями
- экспоненциально
- обширный
- Богатый опыт
- Фэшн
- Особенность
- Особенности
- Обратная связь
- ошибка
- фигура
- поток
- колебания
- Фокус
- после
- питание
- Что касается
- Прогноз
- форма
- формат
- Год основания
- основополагающий
- Рамки
- каркасы
- от
- Фрукты
- полный
- функция
- функциональные возможности
- функциональность
- далее
- будущее
- Gain
- Доходы
- Genai
- Общие
- генерируется
- генерирует
- поколение
- генеративный
- Генеративный ИИ
- получить
- идти
- данный
- Глобальный
- хорошо
- значительно
- земля
- GUEST
- Guest Post
- было
- Ручки
- запряженный
- Есть
- he
- помощь
- помогает
- здесь
- High
- его
- исторический
- состоялся
- Как
- How To
- Однако
- HTML
- HTTP
- HTTPS
- if
- иллюстрирует
- значение
- важную
- улучшать
- улучшенный
- улучшение
- in
- в магазине
- стимул
- включают
- включены
- включает в себя
- несоответствия
- Увеличение
- расширились
- повышение
- независимые
- individual
- промышленности
- Инфраструктура
- по существу
- Инновации
- инновационный
- вход
- вместо
- интегрированный
- интеграции.
- Интеллекта
- в
- запутанный
- выпустили
- IT
- ЕГО
- присоединение
- совместная
- JPG
- Основные
- большой
- крупнейших
- новее
- последний
- вести
- ведущий
- УЧИТЬСЯ
- изучение
- Оставлять
- привело
- оставил
- уровень
- уровни
- Жизненный цикл
- Ограниченный
- локальным
- логика
- Длинное
- машина
- обучение с помощью машины
- сделанный
- Главная
- поддержанный
- сделать
- управлять
- управляемого
- управление
- многих
- зрелый
- Май..
- Между тем
- механизмы
- тщательно
- минимальный
- минимизировать
- минимизация
- Наша миссия
- ML
- млн операций в секунду
- модель
- моделирование
- Модели
- модеры
- Мониторинг
- Мониторы
- БОЛЕЕ
- более эффективным
- самых
- перемещение
- с разными
- необходимо
- Необходимость
- необходимый
- Новые
- север
- сейчас
- номер
- получение
- of
- Предложения
- on
- ONE
- только
- открытый
- Операционный отдел
- оптимизирующий
- or
- организовал
- оркестровка
- заказ
- организация
- оригинал
- наши
- внешний
- выходной
- за
- собственный
- владелец
- Темп
- в упаковке
- Параллельные
- параметры
- часть
- особый
- партнер
- Люди
- ИДЕАЛЬНОЕ
- идеальное место
- Выполнять
- выполнения
- фаза
- трубопровод
- основной
- Часть
- Платформа
- Платформы
- Платон
- Платон Интеллектуальные данные
- ПлатонДанные
- игроки
- «портфель»
- возможное
- После
- практика
- практиками
- предопределенный
- прогнозирования
- прогноз
- Predictions
- первичный
- процесс
- обработка
- Продукт
- Производство
- Продукция
- Проект
- проектов
- предложило
- прототип
- макетирования
- обеспечивать
- приводит
- обеспечение
- полномочие
- цель
- положил
- Вопросы
- быстро
- поднятый
- Ранжирование
- быстро
- Сырье
- реального времени
- недавно
- рецепт
- повторяющихся
- зарегистрированный
- реестра
- регулярный
- Связанный
- относительный
- повторяющийся
- хранилище
- воспроизводство
- требуется
- те
- ответственность
- результат
- в результате
- розничный
- розничный торговец
- надежный
- надежный трубопровод
- условиями,
- Run
- Бег
- sagemaker
- главная
- Масштабируемость
- масштабируемые
- масштабирование
- считаться
- Наука
- Ученый
- Ученые
- Гол
- скрипт
- скрипты
- легко
- Поиск
- Во-вторых
- Раздел
- семя
- старший
- чувствительный
- отдельный
- Серии
- служить
- служит
- обслуживание
- Услуги
- выступающей
- сессиях
- набор
- установка
- несколько
- Поделиться
- сдвиг
- должен
- Шоу
- аналогичный
- упростить
- So
- Решение
- Решения
- некоторые
- утонченность
- конкретно
- Спотовая торговля
- Начало
- и политические лидеры
- статистический
- статистике
- оставаться
- Шаг
- Шаги
- акции
- магазины
- простой
- Стратегия
- обтекаемый
- Структура
- структурированный
- студия
- такие
- поставляется
- поставка
- цепочками поставок
- Поддержка
- наблюдение
- Стабильность
- комфортного
- Швеция
- Шведский
- система
- Сложность задачи
- задачи
- команда
- команды
- техника
- утомительный
- шаблон
- шаблоны
- terms
- чем
- который
- Ассоциация
- Будущее
- их
- Их
- тогда
- Там.
- Эти
- они
- сторонние
- этой
- хоть?
- Через
- по всему
- время
- раз
- в
- вместе
- инструменты
- Прослеживать
- Train
- специалистов
- Обучение
- Transform
- трансформация
- трансформатор
- переход
- Прозрачность
- вызвать
- срабатывание
- Правда
- Оказалось
- два
- претерпевать
- подвергается
- понимание
- Предстоящие
- us
- использование
- используемый
- использования
- через
- ценностное
- разнообразие
- меняться
- Овощи
- VENTURES
- с помощью
- законопроект
- Снизить отходы
- часы
- Путь..
- способы
- we
- Web
- веб-сервисы
- ЧТО Ж
- были
- Что
- Что такое
- когда
- когда бы ни
- в то время как
- будь то
- , которые
- зачем
- будете
- в
- без
- Работа
- рабочий
- Рабочие процессы
- работает
- работает
- мире
- бы
- письменный
- лет
- зефирнет