Як Axfood забезпечує прискорене машинне навчання в усій організації за допомогою Amazon SageMaker | Веб-сервіси Amazon

Як Axfood забезпечує прискорене машинне навчання в усій організації за допомогою Amazon SageMaker | Веб-сервіси Amazon

Це гостьовий пост, написаний Axfood AB. 

У цій публікації ми розповідаємо про те, як Axfood, великий шведський роздрібний продавець продуктів харчування, покращив роботу та масштабованість своїх існуючих операцій штучного інтелекту (AI) і машинного навчання (ML), створивши прототип у тісній співпраці з експертами AWS і використовуючи Amazon SageMaker.

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

Наш виклик

Щоб залишатися конкурентоспроможними з точки зору хмарних сервісів і AI/ML, Axfood обрав партнерство з AWS і співпрацює з ними протягом багатьох років.

Під час одного з наших регулярних сеансів мозкового штурму з AWS ми обговорювали, як найкраще співпрацювати між командами, щоб прискорити інновації та ефективність наукових спеціалістів з даних і ML. Ми вирішили докласти спільних зусиль, щоб створити прототип на основі найкращої практики MLOps. Мета прототипу полягала в тому, щоб створити шаблон моделі для всіх команд з обробки даних для створення масштабованих і ефективних моделей машинного навчання — основи для нового покоління платформ ШІ та машинного навчання для Axfood. Шаблон має поєднувати та поєднувати найкращі практики від експертів AWS ML і моделі найкращих практик для конкретної компанії — найкраще з обох світів.

Ми вирішили створити прототип на основі однієї з найбільш розроблених на даний момент моделей машинного навчання в Axfood: прогнозування продажів в магазинах. Зокрема, прогноз щодо фруктів і овочів майбутніх кампаній для роздрібних магазинів продовольчих товарів. Точне щоденне прогнозування підтримує процес замовлення в магазинах, підвищуючи стабільність за рахунок мінімізації харчових відходів у результаті оптимізації продажів шляхом точного прогнозування необхідного рівня запасів у магазинах. Це було ідеальне місце для початку для нашого прототипу — Axfood не тільки отримає нову платформу AI/ML, але ми також отримаємо можливість порівняти наші можливості ML і повчитися у провідних експертів AWS.

Наше рішення: новий шаблон ML на Amazon SageMaker Studio

Створення повного конвеєра машинного навчання, розробленого для реального бізнес-кейсу, може бути складним завданням. У цьому випадку ми розробляємо модель прогнозування, тому потрібно виконати два основні кроки:

  1. Навчіть модель робити прогнози з використанням історичних даних.
  2. Застосуйте навчену модель, щоб спрогнозувати майбутні події.

У випадку з Axfood добре функціонуючий конвеєр для цієї мети вже був створений за допомогою ноутбуків SageMaker і організований сторонньою платформою керування робочим процесом Airflow. Проте є багато очевидних переваг модернізації нашої платформи машинного навчання та переходу до неї Студія Amazon SageMaker та Трубопроводи Amazon SageMaker. Перехід до SageMaker Studio надає багато попередньо визначених функцій:

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

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

Огляд рішення

Запропонована Axfood нова структура машинного навчання побудована навколо двох основних конвеєрів: конвеєр побудови моделі та конвеєр пакетного висновку:

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

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

How Axfood enables accelerated machine learning throughout the organization using Amazon SageMaker | Amazon Web Services PlatoBlockchain Data Intelligence. Vertical Search. Ai.

Конвеєр побудови моделі

Конвеєр побудови моделі керує життєвим циклом моделі, починаючи з попередньої обробки, просуваючись через навчання та закінчуючи реєстрацією в реєстрі моделі:

  • Попередня обробка – Ось, SageMaker ScriptProcessor клас використовується для розробки функцій, у результаті чого буде створено набір даних, на якому навчатиметься модель.
  • Навчання та пакетне перетворення – Спеціальні контейнери навчання та висновків від SageMaker використовуються для навчання моделі на історичних даних і створення прогнозів на основі даних оцінки за допомогою оцінювача SageMaker і трансформатора для відповідних завдань.
  • Оцінка – Навчена модель проходить оцінку шляхом порівняння згенерованих прогнозів на даних оцінки з основною правдою за допомогою ScriptProcessor.
  • Базові роботи – Конвеєр створює базові лінії на основі статистики у вхідних даних. Вони важливі для моніторингу даних і якості моделі, а також для приписування функцій.
  • Модельний реєстр – Навчена модель зареєстрована для майбутнього використання. Модель буде схвалено призначеними спеціалістами з обробки даних для розгортання моделі для використання у виробництві.

У виробничих середовищах надходження даних і механізми запуску керуються за допомогою первинної оркестровки Airflow. Тим часом під час розробки конвеєр активується кожного разу, коли в репозиторій Bitbucket збірки моделі вводиться новий комміт. На наступному малюнку зображено конвеєр побудови моделі.

How Axfood enables accelerated machine learning throughout the organization using Amazon SageMaker | Amazon Web Services PlatoBlockchain Data Intelligence. Vertical Search. Ai.

Конвеєр пакетного висновку

Конвеєр пакетного висновку обробляє фазу висновку, яка складається з таких кроків:

  • Попередня обробка – Дані попередньо обробляються за допомогою ScriptProcessor.
  • Пакетне перетворення – Модель використовує спеціальний контейнер висновків із SageMaker Transformer і генерує прогнози на основі вхідних попередньо оброблених даних. Використана модель є останньою схваленою навченою моделлю в реєстрі моделей.
  • Подальша обробка – Прогнози проходять серію етапів постобробки за допомогою ScriptProcessor.
  • Моніторинг – Безперервне спостереження завершує перевірки на дрейфи, пов’язані з якістю даних, якістю моделі та атрибуцією функцій.

Якщо виникають розбіжності, бізнес-логіка в сценарії постобробки оцінює, чи потрібне перенавчання моделі. Трубопровід планується запускати з регулярними інтервалами.

На наступній діаграмі показано конвеєр пакетного висновку. Робочий процес A відповідає попередній обробці, перевірці якості даних і атрибуції ознак, висновку та постобробці. Робочий процес B відповідає перевірці дрейфу якості моделі. Ці конвеєри розділені, оскільки перевірка дрейфу якості моделі запускатиметься лише за наявності нових наземних даних.

How Axfood enables accelerated machine learning throughout the organization using Amazon SageMaker | Amazon Web Services PlatoBlockchain Data Intelligence. Vertical Search. Ai.

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

з Монітор моделі Amazon SageMaker інтегровані, конвеєри отримують вигоду від моніторингу в режимі реального часу на наступне:

  • Якість даних – Відстежує будь-який дрейф або невідповідність даних
  • Якість моделі – Стежить за будь-якими коливаннями продуктивності моделі
  • Атрибуція ознак – Перевіряє дрейф у атрибутах функцій

Моніторинг якості моделі потребує доступу до наземних правдивих даних. Незважаючи на те, що інколи буває складно отримати фактичну інформацію, використання даних або моніторингу дрейфу атрибуції функцій служить компетентним показником якості моделі.

Зокрема, у разі зміни якості даних система звертає увагу на наступне:

  • Концепція дрейфу – Це стосується змін у співвідношенні між входом і виходом, що вимагає базової правди
  • Коваріативний зсув – Тут акцент робиться на змінах у розподілі незалежних вхідних змінних

Функція дрейфу даних SageMaker Model Monitor ретельно фіксує та перевіряє вхідні дані, розгортаючи правила та статистичні перевірки. Щоразу, коли виявляються аномалії, надсилаються сповіщення.

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

Пояснення моделі

Пояснюваність моделі є ключовою частиною розгортання ML, оскільки вона забезпечує прозорість прогнозів. Для детального розуміння використовуємо Роз'яснити Amazon SageMaker.

Він пропонує як глобальні, так і локальні модельні пояснення за допомогою моделі-агностичної техніки атрибуції ознак, заснованої на концепції цінності Шеплі. Це використовується для декодування того, чому під час логічного висновку було зроблено певний прогноз. Такі пояснення, які за своєю суттю є контрастними, можуть відрізнятися залежно від різних вихідних даних. SageMaker Clarify допомагає визначити цю базову лінію за допомогою K-середніх або K-прототипів у вхідному наборі даних, який потім додається до конвеєра побудови моделі. Ця функція дає нам змогу створювати генеративні додатки штучного інтелекту в майбутньому для кращого розуміння того, як працює модель.

Індустріалізація: від прототипу до виробництва

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

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

Після завершення роботи над прототипом ми звернулися до того, як використовувати його у виробництві. Для цього ми відчули потребу внести деякі додаткові зміни в шаблон MLOps:

  • Оригінальний початковий код, використаний у прототипі для шаблону, включав етапи попередньої та постобробки, які виконуються до та після основних кроків ML (навчання та висновок). Однак під час масштабування для використання шаблону для кількох варіантів використання у виробництві вбудовані етапи попередньої та постобробки можуть призвести до зниження загальності та відтворення коду.
  • Щоб підвищити загальність і звести до мінімуму повторюваний код, ми вирішили ще більше скоротити конвеєри. Замість виконання етапів попередньої та постобробки як частини конвеєра ML, ми запускаємо їх як частину первинної оркестровки повітряного потоку до та після запуску конвеєра ML.
  • Таким чином, завдання обробки, пов’язані з конкретними випадками використання, абстрагуються від шаблону, і залишається основний конвеєр ML, який виконує загальні завдання для багатьох випадків використання з мінімальним повторенням коду. Параметри, які відрізняються в різних варіантах використання, надаються як вхідні дані в конвеєр ML від основної оркестровки Airflow.

Результат: швидкий і ефективний підхід до створення та розгортання моделі

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

Крім того, кілька нових функціональних можливостей було автоматично додано до наших налаштувань ML. Ці переваги включають:

  • Моніторинг моделі – Ми можемо виконувати дрейфові перевірки моделі та якості даних, а також пояснюваності моделі
  • Модель і походження даних – Тепер можна точно відстежити, які дані використовувалися для якої моделі
  • Модельний реєстр – Це допомагає нам каталогізувати моделі для виробництва та керувати версіями моделей

Висновок

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

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

Залиште будь-які відгуки чи запитання в розділі коментарів.


Про авторів

How Axfood enables accelerated machine learning throughout the organization using Amazon SageMaker | Amazon Web Services PlatoBlockchain Data Intelligence. Vertical Search. Ai.Доктор Бйорн Блумквіст є керівником стратегії ШІ в Axfood AB. До того, як приєднатися до Axfood AB, він очолював команду спеціалістів з обробки даних у Dagab, що входить до складу Axfood, створюючи інноваційні рішення для машинного навчання з місією забезпечувати якісне та екологічно чисте харчування людям по всій Швеції. Народився та виріс на півночі Швеції, у вільний час Бйорн відвідує засніжені гори та відкрите море.

How Axfood enables accelerated machine learning throughout the organization using Amazon SageMaker | Amazon Web Services PlatoBlockchain Data Intelligence. Vertical Search. Ai.Оскар Кланг є старшим спеціалістом із обробки даних у відділі аналітики компанії Dagab, де йому подобається працювати з аналітикою та машинним навчанням, наприклад оптимізувати операції ланцюга поставок, створювати моделі прогнозування та, віднедавна, програми GenAI. Він прагне створювати більш оптимізовані конвеєри машинного навчання, підвищуючи ефективність і масштабованість.

How Axfood enables accelerated machine learning throughout the organization using Amazon SageMaker | Amazon Web Services PlatoBlockchain Data Intelligence. Vertical Search. Ai.Павло Маслов є старшим інженером DevOps та ML у команді Analytic Platforms. Павло має великий досвід у розробці фреймворків, інфраструктури та інструментів у сферах DevOps та ML/AI на платформі AWS. Павло був одним із ключових гравців у розбудові базових можливостей ML в Axfood.

How Axfood enables accelerated machine learning throughout the organization using Amazon SageMaker | Amazon Web Services PlatoBlockchain Data Intelligence. Vertical Search. Ai.Йоакім Берг є керівником команди та власником аналітичних платформ із Стокгольма, Швеція. Він очолює команду інженерів Data Platform і DevOps/MLOps, що надають платформи Data та ML для команд Data Science. Йоакім має багаторічний досвід керівництва командами старших розробників та архітектури з різних галузей.

Часова мітка:

Більше від AWS Машинне навчання