Цей пост написано спільно з Сантошем Вадді та Нандою Кішоре Татікондою з BigBasket.
BigBasket є найбільшим в Індії онлайн-магазином продуктів харчування та бакалії. Вони працюють у кількох каналах електронної комерції, таких як швидка комерція, розкладена доставка та щоденна підписка. Ви також можете купувати в їхніх звичайних магазинах і торгових автоматах. Вони пропонують великий асортимент із понад 50,000 1,000 товарів від 500 брендів і працюють у більш ніж 10 містах. BigBasket обслуговує понад XNUMX мільйонів клієнтів.
У цій публікації ми обговорюємо, як використовувався BigBasket Amazon SageMaker навчити свою модель комп’ютерного зору для ідентифікації товарів широкого вжитку (FMCG), що допомогло їм скоротити час навчання приблизно на 50% і заощадити кошти на 20%.
Виклики клієнтів
Сьогодні більшість супермаркетів і звичайних магазинів в Індії пропонують ручну оплату на касі. Це має дві проблеми:
- Для цього потрібна додаткова робоча сила, наклейки з вагою та повторне навчання для операційної групи в магазині під час масштабування.
- У більшості магазинів касовий лічильник відрізняється від лічильників для зважування, що ускладнює процес покупки. Клієнти часто втрачають наклейку з вагою, і їм доводиться повертатися до лічильників ваги, щоб забрати її знову, перш ніж продовжити процес оформлення замовлення.
Процес самоконтролю
BigBasket представив систему оплати на основі штучного інтелекту у своїх фізичних магазинах, яка використовує камери для унікального розрізнення товарів. На наступному малюнку представлено огляд процесу оформлення замовлення.
Команда BigBasket використовувала власні алгоритми ML з відкритим вихідним кодом для розпізнавання об’єктів комп’ютерного зору, щоб підвищити рівень ефективності перевірки за допомогою штучного інтелекту. Фрешо (фізичних) магазинів. Ми зіткнулися з такими труднощами, щоб керувати наявною установкою:
- З постійним впровадженням нових продуктів модель комп’ютерного бачення потребувала постійного включення нової інформації про продукт. Системі потрібно було обробляти великий каталог із понад 12,000 600 одиниць зберігання (SKU), причому нові SKU постійно додавалися зі швидкістю понад XNUMX на місяць.
- Щоб йти в ногу з новими продуктами, щомісяця виготовлялася нова модель з використанням останніх даних навчання. Часте навчання моделей адаптації до нових продуктів було дорогим і трудомістким.
- BigBasket також хотів скоротити тривалість циклу навчання, щоб покращити час виходу на ринок. Через збільшення SKU час, який витрачала модель, зростав лінійно, що вплинуло на час виходу на ринок, оскільки частота навчання була дуже високою та займала багато часу.
- Збільшення даних для навчання моделі та ручне керування повним наскрізним циклом навчання додало значних витрат. BigBasket запускав це на сторонній платформі, що спричинило значні витрати.
Огляд рішення
Ми рекомендували BigBasket змінити існуюче рішення для виявлення та класифікації продуктів FMCG за допомогою SageMaker для вирішення цих проблем. Перш ніж перейти до повномасштабного виробництва, BigBasket спробував пілотний проект на SageMaker, щоб оцінити показники продуктивності, вартості та зручності.
Їхньою метою було точно налаштувати існуючу модель машинного навчання комп’ютерного зору (ML) для виявлення SKU. Ми використовували архітектуру згорткової нейронної мережі (CNN). ResNet152 для класифікації зображень. Значний набір даних приблизно з 300 зображень на SKU був оцінений для навчання моделі, що призвело до понад 4 мільйонів навчальних зображень. Для певних SKU ми доповнили дані, щоб охопити ширший діапазон умов навколишнього середовища.
Наступна діаграма ілюструє архітектуру рішення.
Повний процес можна підсумувати в наступні етапи високого рівня:
- Виконайте очищення даних, анотацію та розширення.
- Зберігайте дані в Служба простого зберігання Amazon (Amazon S3) відро.
- Використовуйте SageMaker і Amazon FSx для Luster для ефективного збільшення даних.
- Розділіть дані на набори навчання, перевірки та тестування. Ми використовували FSx для Lustre і Служба реляційних баз даних Amazon (Amazon RDS) для швидкого паралельного доступу до даних.
- Використовуйте звичай PyTorch Контейнер Docker, включаючи інші бібліотеки з відкритим кодом.
- Скористайтесь Паралелізм розподілених даних SageMaker (SMDDP) для прискореного розподіленого навчання.
- Логувати навчальні метрики моделі.
- Скопіюйте остаточну модель у відро S3.
BigBasket б/в Зошити SageMaker для навчання своїх моделей ML і змогли легко перенести свій існуючий PyTorch з відкритим кодом та інші залежності з відкритим кодом у контейнер SageMaker PyTorch і безперешкодно запустити конвеєр. Це була перша перевага, яку побачила команда BigBasket, оскільки майже не потрібно було змінювати код, щоб зробити його сумісним для роботи в середовищі SageMaker.
Модельна мережа складається з архітектури ResNet 152, за якою слідують повністю підключені рівні. Ми заморозили низькорівневі функціональні шари та зберегли ваги, отримані завдяки перенесенню навчання з моделі ImageNet. Загальна кількість параметрів моделі становила 66 мільйонів, які складалися з 23 мільйонів параметрів, які можна навчити. Цей підхід, заснований на навчанні, допоміг їм використовувати менше зображень під час навчання, а також забезпечив швидшу конвергенцію та скоротив загальний час навчання.
Побудова та навчання моделі всередині Студія Amazon SageMaker надав інтегроване середовище розробки (IDE) з усім необхідним для підготовки, створення, навчання та налаштування моделей. Розширення навчальних даних за допомогою таких методів, як кадрування, обертання та перевертання зображень, допомогло покращити навчальні дані моделі та точність моделі.
Навчання моделі було прискорено на 50% завдяки використанню бібліотеки SMDDP, яка включає оптимізовані комунікаційні алгоритми, розроблені спеціально для інфраструктури AWS. Щоб покращити продуктивність читання/запису даних під час навчання моделі та розширення даних, ми використовували FSx для Lustre для високопродуктивної пропускної здатності.
Розмір їх початкових навчальних даних перевищував 1.5 ТБ. Ми використали два Обчислювальна хмара Amazon Elastic (Amazon EC2) p4d.24 великі екземпляри з 8 GPU і 40 ГБ GPU пам'яті. Для розподіленого навчання SageMaker екземпляри мають бути в одному регіоні AWS і зоні доступності. Крім того, навчальні дані, що зберігаються у сегменті S3, мають бути в тій самій зоні доступності. Ця архітектура також дозволяє BigBasket змінювати типи екземплярів або додавати більше екземплярів до поточної архітектури, щоб задовольнити будь-яке значне зростання даних або досягти подальшого скорочення часу навчання.
Як бібліотека SMDDP допомогла скоротити час, вартість і складність навчання
У традиційному навчанні з розподіленими даними навчальна структура призначає ранги графічним процесорам (робочим процесорам) і створює копію вашої моделі на кожному графічному процесорі. Під час кожної ітерації навчання глобальний пакет даних ділиться на частини (пакети пакетів), і частина розподіляється кожному працівнику. Потім кожен робочий елемент продовжує проходження вперед і назад, визначені у вашому навчальному сценарії на кожному GPU. Нарешті, ваги моделі та градієнти з різних копій моделі синхронізуються наприкінці ітерації за допомогою операції колективного зв’язку під назвою AllReduce. Після того як кожен робочий процес і графічний процесор мають синхронізовану копію моделі, починається наступна ітерація.
Бібліотека SMDDP — це бібліотека колективного зв’язку, яка покращує продуктивність процесу паралельного навчання з розподіленими даними. Бібліотека SMDDP зменшує накладні витрати на зв’язок ключових спільних операцій зв’язку, таких як AllReduce. Його реалізація AllReduce розроблена для інфраструктури AWS і може пришвидшити навчання шляхом перекриття операції AllReduce із зворотним проходом. Цей підхід забезпечує майже лінійну ефективність масштабування та більш високу швидкість навчання за рахунок оптимізації операцій ядра між ЦП і ГП.
Зверніть увагу на такі розрахунки:
- Розмір глобального пакета (кількість вузлів у кластері) * (кількість графічних процесорів на вузол) * (на шард пакета)
- Пакетний шард (мала партія) — це підмножина набору даних, призначена кожному GPU (робочому) за кожну ітерацію
BigBasket використовував бібліотеку SMDDP, щоб скоротити загальний час навчання. Завдяки FSx для Lustre ми зменшили пропускну здатність читання/запису даних під час навчання моделі та розширення даних. Завдяки паралелізму даних BigBasket зміг досягти майже на 50% швидшого та на 20% дешевшого навчання порівняно з іншими альтернативами, забезпечуючи найкращу продуктивність на AWS. SageMaker автоматично вимикає навчальний конвеєр після завершення. Проект успішно завершився завдяки 50% швидшому часу навчання в AWS (4.5 дня в AWS проти 9 днів на їхній старій платформі).
На момент написання цього допису BigBasket запускав повне рішення у виробництві більше 6 місяців і масштабував систему, обслуговуючи нові міста, і ми щомісяця додаємо нові магазини.
«Наше партнерство з AWS щодо переходу на розподілене навчання за допомогою їхньої пропозиції SMDDP стало чудовою перемогою. Це не тільки скоротило час навчання на 50%, але й на 20% дешевше. У всьому нашому партнерстві AWS встановив планку одержимості клієнтами та досягнення результатів — працюючи з нами протягом усього шляху, щоб реалізувати обіцяні переваги».
– Кешав Кумар, керівник інженерного відділу BigBasket.
Висновок
У цій публікації ми обговорювали, як BigBasket використовував SageMaker для навчання своєї моделі комп’ютерного зору для ідентифікації продуктів FMCG. Впровадження автоматизованої системи самообслуговування на основі штучного інтелекту забезпечує покращений досвід роздрібних клієнтів завдяки інноваціям, усуваючи людські помилки в процесі оформлення замовлення. Прискорення впровадження нового продукту за допомогою розподіленого навчання SageMaker скорочує час і витрати на впровадження SKU. Інтеграція FSx для Lustre забезпечує швидкий паралельний доступ до даних для ефективного перенавчання моделей із сотнями нових SKU щомісяця. Загалом, це рішення для самостійної каси на основі штучного інтелекту забезпечує покращений досвід покупок без помилок зовнішньої каси. Автоматизація та інновації змінили їхні роздрібні каси та операції реєстрації.
SageMaker надає наскрізні можливості розробки, розгортання та моніторингу машинного навчання, такі як середовище ноутбука SageMaker Studio для написання коду, збору даних, додавання тегів до даних, навчання моделі, налаштування моделі, розгортання, моніторингу та багато іншого. Якщо ваш бізнес зіткнувся з будь-якою з проблем, описаних у цій публікації, і хоче заощадити час на виході на ринок і зменшити витрати, зверніться до команди облікових записів AWS у вашому регіоні та почніть роботу з SageMaker.
Про авторів
Сантош Вадді є головним інженером у BigBasket, має більше десяти років досвіду у вирішенні проблем ШІ. Маючи великий досвід у галузі комп’ютерного зору, науки про дані та глибокого навчання, він має ступінь аспіранта в IIT Bombay. Сантош є автором відомих публікацій IEEE, і, будучи досвідченим автором технічного блогу, він також зробив значний внесок у розробку рішень комп’ютерного зору під час своєї роботи в Samsung.
Нанда Кішор Татіконда є менеджером з розробки даних та аналітики в BigBasket. Nanda створив кілька додатків для виявлення аномалій і має заявку на патент у подібній сфері. Він працював над розробкою додатків корпоративного рівня, створенням платформ даних у багатьох організаціях і платформами звітності для оптимізації рішень, які базуються на даних. Нанда має понад 18 років досвіду роботи в Java/J2EE, технологіях Spring і фреймворках великих даних за допомогою Hadoop і Apache Spark.
Sudhanshu Hate є головним спеціалістом зі штучного інтелекту та машинного навчання в AWS і працює з клієнтами, щоб консультувати їх щодо їх MLOps і генеративного штучного інтелекту. На своїй попередній посаді він концептуалізував, створив і керував командами для створення базової платформи штучного інтелекту та гейміфікації на основі відкритого коду та успішно комерціалізував її з більш ніж 100 клієнтами. На рахунку Судханшу є пара патентів; написав 2 книги, кілька статей і блоги; і викладав свою точку зору на різних форумах. Він був лідером думок і спікером і працює в галузі майже 25 років. Він працював з клієнтами зі списку Fortune 1000 по всьому світу, а останнім часом працює з цифровими клієнтами в Індії.
Аюш Кумар є архітектором рішень в AWS. Він працює з великою кількістю клієнтів AWS, допомагаючи їм адаптувати новітні сучасні програми та швидше впроваджувати інновації за допомогою хмарних технологій. Ви побачите, як він експериментує на кухні у вільний час.
- Розповсюдження контенту та PR на основі SEO. Отримайте посилення сьогодні.
- PlatoData.Network Vertical Generative Ai. Додайте собі сили. Доступ тут.
- PlatoAiStream. Web3 Intelligence. Розширення знань. Доступ тут.
- ПлатонЕСГ. вуглець, CleanTech, Енергія, Навколишнє середовище, Сонячна, Поводження з відходами. Доступ тут.
- PlatoHealth. Розвідка про біотехнології та клінічні випробування. Доступ тут.
- джерело: https://aws.amazon.com/blogs/machine-learning/how-bigbasket-improved-ai-enabled-checkout-at-their-physical-stores-using-amazon-sagemaker/
- : має
- :є
- : ні
- $ 10 мільйонів
- $UP
- 000
- 1
- 10
- 100
- 12
- 120
- 13
- 152
- 23
- 24
- 25
- 300
- 40
- 50
- 500
- 600
- 66
- 7
- 8
- 80
- 9
- 98
- a
- Здатний
- прискорений
- прискорення
- доступ
- рахунки
- точність
- Achieve
- Досягає
- придбаний
- придбання
- через
- пристосовувати
- додавати
- доданий
- додати
- Додатковий
- адреса
- Додає
- прийняти
- радити
- після
- знову
- AI
- Можливість
- алгоритми
- дозволяє
- майже
- Також
- альтернативи
- Amazon
- Amazon EC2
- Amazon RDS
- Amazon SageMaker
- Amazon Web Services
- an
- аналітика
- та
- виявлення аномалії
- будь-який
- Apache
- застосування
- підхід
- приблизно
- архітектура
- ЕСТЬ
- навколо
- AS
- призначений
- асортимент
- At
- збільшено
- автор
- автор
- Автоматизований
- автоматично
- Автоматизація
- наявність
- AWS
- назад
- підтриманий
- фон
- бар
- BE
- оскільки
- було
- перед тим
- починається
- буття
- користь
- Переваги
- КРАЩЕ
- між
- Великий
- Великий даних
- Блог
- блоги
- книги
- бренди
- Приносить
- ширше
- будувати
- Створюємо
- побудований
- бізнес
- купити
- by
- розрахунки
- званий
- камери
- CAN
- можливості
- каталог
- догоджати
- громадське харчування
- певний
- проблеми
- зміна
- Зміни
- канали
- більш дешевий
- Введіть дані:
- Міста
- класифікація
- клієнтів
- кластер
- CNN
- код
- збирати
- Collective
- Торгівля
- Комунікація
- порівняний
- сумісний
- повний
- Зроблено
- обчислення
- комп'ютер
- Комп'ютерне бачення
- Умови
- підключений
- Складається
- складається
- споживач
- споживання
- Контейнер
- безперестанку
- безперервний
- постійно
- внески
- зручність
- Зближення
- Коштувати
- дорого
- витрати
- Counter
- лічильники
- Пара
- створений
- створює
- кредит
- Поточний
- виготовлений на замовлення
- клієнт
- Досвід клієнтів
- Клієнти
- Вирізати
- цикл
- щодня
- дані
- доступ до даних
- наука про дані
- Database
- Днів
- десятиліття
- рішення
- глибокий
- глибоке навчання
- певний
- Ступінь
- надання
- постачає
- доставка
- залежно
- розгортання
- описаний
- призначений
- Виявлення
- розробка
- схема
- DID
- різний
- цифровий
- обговорювати
- обговорювалися
- розрізняти
- розподілений
- розподілене навчання
- розділений
- Docker
- вниз
- два
- під час
- кожен
- легко
- електронної комерції
- ефективність
- ефективний
- усуваючи
- включений
- дозволяє
- охоплювати
- кінець
- кінець в кінець
- інженер
- Машинобудування
- підвищена
- підприємства
- Весь
- Навколишнє середовище
- навколишній
- помилки
- оцінка
- оцінювати
- Кожен
- все
- існуючий
- досвід
- експериментувати
- експертиза
- облицювання
- ШВИДКО
- швидко рухається
- швидше
- особливість
- менше
- Рисунок
- подано
- остаточний
- в кінці кінців
- знайти
- Перший
- FMCG
- потім
- після
- харчування
- для
- стан
- форуми
- Вперед
- Рамки
- каркаси
- частота
- часто
- тертя
- від
- Frontend
- повномасштабний
- повністю
- далі
- Гейміфікація
- генеративний
- Генеративний ШІ
- отримати
- Глобальний
- земну кулю
- Go
- товари
- GPU
- Графічні процесори
- градієнти
- великий
- Зростання
- обробляти
- Мати
- he
- голова
- допоміг
- допомогу
- Високий
- на вищому рівні
- висока продуктивність
- його
- його
- тримає
- Як
- HTML
- HTTP
- HTTPS
- людина
- Сотні
- Ідентифікація
- IEEE
- if
- ілюструє
- зображення
- Класифікація зображень
- зображень
- вплив
- реалізація
- удосконалювати
- поліпшений
- поліпшується
- in
- про запас
- includes
- У тому числі
- включати
- Збільшує
- зростаючий
- понесені
- Індію
- промисловість
- інформація
- Інфраструктура
- оновлювати
- інновація
- екземпляр
- інтегрований
- Інтеграція
- в
- введені
- Вступ
- питання
- IT
- пунктів
- ітерація
- ЙОГО
- подорож
- JPG
- тримати
- зберігання
- ключ
- Кумар
- великий
- найбільших
- останній
- шарів
- лідер
- провідний
- вивчення
- Led
- Legacy
- libraries
- бібліотека
- як
- Довго
- багато часу
- втрачати
- машина
- навчання за допомогою машини
- Машинки для перманенту
- made
- зробити
- менеджер
- управління
- керівництво
- вручну
- ринок
- пам'ять
- Метрика
- міграція
- мільйона
- ML
- MLOps
- модель
- Моделі
- сучасний
- моніторинг
- місяць
- щомісячно
- місяців
- більше
- найбільш
- переміщення
- багато
- множинний
- рідний
- майже
- Необхідність
- необхідний
- потреби
- мережу
- нервовий
- нейронної мережі
- Нові
- новий продукт
- нові продукти
- наступний
- вузол
- вузли
- Помітний
- ноутбук
- номер
- об'єкт
- мета
- of
- пропонувати
- пропонує
- часто
- on
- На борту
- ONE
- онлайн
- тільки
- відкрити
- з відкритим вихідним кодом
- працювати
- операційний
- операція
- оперативний
- операції
- оптимізований
- оптимізуючий
- or
- організації
- Інше
- наші
- з
- над
- загальний
- накладні витрати
- огляд
- алюр
- документи
- Паралельні
- параметри
- Партнерство
- проходити
- патент
- Патенти
- для
- продуктивність
- фізичний
- частина
- частин
- пілот
- трубопровід
- платформа
- Платформи
- plato
- Інформація про дані Платона
- PlatoData
- точка
- Точка зору
- пошта
- аспірант
- влада
- Готувати
- представлений
- попередній
- Головний
- надходження
- процес
- Вироблений
- Product
- Інформація про продукт
- Production
- Продукти
- проект
- пообіцяв
- забезпечувати
- за умови
- забезпечує
- публікаціям
- покупка
- піторх
- Швидко
- діапазон
- ряди
- ставка
- досягати
- реалізувати
- нещодавно
- визнання
- рекомендований
- зменшити
- Знижений
- знижує
- скорочення
- регіон
- повторний
- відповідь
- Звітність
- Вимагається
- в результаті
- роздрібна торгівля
- Роль
- прогін
- біг
- мудрець
- то ж
- Samsung
- зберегти
- шкала
- Масштабування
- наука
- сценарій
- плавно
- витриманий
- бачив
- служить
- Послуги
- комплект
- набори
- установка
- кілька
- покупка
- Заткнись
- значний
- аналогічний
- простий
- значний
- Розмір
- невеликий
- рішення
- Рішення
- Розв’язування
- Source
- Простір
- Іскритися
- Гучномовець
- спеціаліст
- конкретно
- швидкість
- весна
- почалася
- Починаючи
- заходи
- Наклейки
- акції
- зберігання
- зберігати
- зберігати
- магазинів
- раціоналізувати
- сильний
- студія
- підписки
- Успішно
- такі
- система
- прийняті
- команда
- команди
- технології
- методи
- Технології
- тест
- ніж
- Що
- Команда
- їх
- Їх
- потім
- Там.
- Ці
- вони
- третя сторона
- це
- думка
- через
- пропускна здатність
- час
- times
- до
- прийняли
- Усього:
- міста
- традиційний
- поїзд
- Навчання
- переклад
- перетворений
- намагався
- мелодія
- настройка
- два
- Типи
- однозначно
- одиниць
- us
- використання
- використовуваний
- використовує
- використання
- перевірка достовірності
- різноманітність
- різний
- дуже
- вид
- бачення
- vs
- хотів
- хоче
- було
- шлях..
- we
- Web
- веб-сервіси
- зважування
- вага
- були
- який
- в той час як
- всі
- широкий
- виграти
- з
- в
- працював
- робочий
- робочі
- робочий
- працює
- лист
- письмовий
- років
- Ти
- вашу
- зефірнет
- зона