Această postare este scrisă împreună cu Santosh Waddi și Nanda Kishore Thatikonda de la BigBasket.
BigBasket este cel mai mare magazin online de produse alimentare și alimentare din India. Aceștia operează în mai multe canale de comerț electronic, cum ar fi comerțul rapid, livrarea prin slot și abonamentele zilnice. De asemenea, puteți cumpăra din magazinele lor fizice și automate. Oferă o gamă largă de peste 50,000 de produse din 1,000 de mărci și operează în peste 500 de orașe și orașe. BigBasket deservește peste 10 milioane de clienți.
În această postare, discutăm cum a folosit BigBasket Amazon SageMaker să-și antreneze modelul de viziune computerizată pentru identificarea produselor Fast-Moving Consumer Goods (FMCG), ceea ce i-a ajutat să reducă timpul de instruire cu aproximativ 50% și să economisească costurile cu 20%.
Provocări ale clienților
Astăzi, majoritatea supermarketurilor și magazinelor fizice din India oferă checkout manual la ghișeu. Aceasta are două probleme:
- Este nevoie de forță de muncă suplimentară, autocolante de greutate și instruire repetată pentru echipa operațională din magazin, pe măsură ce crește.
- În majoritatea magazinelor, contorul de casă este diferit de contoarele de cântărire, ceea ce se adaugă la frecarea în călătoria de cumpărare a clientului. Clienții pierd adesea autocolantul cu greutate și trebuie să se întoarcă la contoarele de cântărire pentru a-l ridica din nou înainte de a continua cu procesul de comandă.
Proces de auto-checkout
BigBasket a introdus un sistem de casă alimentat de inteligență artificială în magazinele lor fizice care utilizează camere pentru a distinge articolele în mod unic. Următoarea figură oferă o imagine de ansamblu asupra procesului de plată.
Echipa BigBasket rula algoritmi interni de ML cu sursă deschisă pentru recunoașterea obiectelor de viziune computerizată pentru a alimenta plățile cu inteligență artificială. fresho magazine (fizice). Ne-am confruntat cu următoarele provocări pentru a opera configurația lor existentă:
- Odată cu introducerea continuă de noi produse, modelul de computer vision trebuia să încorporeze continuu noi informații despre produse. Sistemul trebuia să gestioneze un catalog mare de peste 12,000 de unități de stocare (SKU), noi SKU fiind adăugate în mod continuu la o rată de peste 600 pe lună.
- Pentru a ține pasul cu noile produse, un nou model a fost produs în fiecare lună folosind cele mai recente date de antrenament. A fost costisitor și consumator de timp să antrenați frecvent modelele pentru a se adapta la produse noi.
- De asemenea, BigBasket a dorit să reducă timpul ciclului de antrenament pentru a îmbunătăți timpul de lansare pe piață. Datorită creșterii SKU-urilor, timpul necesar modelului a crescut liniar, ceea ce a afectat timpul lor de lansare pe piață, deoarece frecvența antrenamentului a fost foarte mare și a durat mult timp.
- Mărirea datelor pentru formarea modelului și gestionarea manuală a întregului ciclu de instruire end-to-end a adăugat o suprasolicitare semnificativă. BigBasket rula acest lucru pe o platformă terță parte, care a suportat costuri semnificative.
Prezentare generală a soluțiilor
Am recomandat ca BigBasket să rearhitecteze soluția existentă de detectare și clasificare a produselor FMCG folosind SageMaker pentru a aborda aceste provocări. Înainte de a trece la producția la scară completă, BigBasket a încercat un pilot pe SageMaker pentru a evalua performanța, costurile și valorile de confort.
Obiectivul lor a fost de a ajusta un model existent de învățare automată (ML) cu viziune computerizată pentru detectarea SKU. Am folosit o arhitectură de rețea neuronală convoluțională (CNN). ResNet152 pentru clasificarea imaginilor. Un set de date considerabil de aproximativ 300 de imagini per SKU a fost estimat pentru antrenamentul modelului, rezultând peste 4 milioane de imagini de antrenament în total. Pentru anumite SKU-uri, am mărit datele pentru a cuprinde o gamă mai largă de condiții de mediu.
Următoarea diagramă ilustrează arhitectura soluției.
Procesul complet poate fi rezumat în următorii pași de nivel înalt:
- Efectuați curățarea, adnotarea și mărirea datelor.
- Stocați datele într-un Serviciul Amazon de stocare simplă Găleată (Amazon S3)
- Folosiți SageMaker și Amazon FSx pentru Luster pentru creșterea eficientă a datelor.
- Împărțiți datele în seturi de tren, validare și testare. Am folosit FSx pentru Luster și Serviciul de baze de date relaționale Amazon (Amazon RDS) pentru acces rapid la date paralele.
- Folosește un obicei PyTorch Container Docker, inclusiv alte biblioteci open source.
- Utilizare Paralelism de date distribuite SageMaker (SMDDP) pentru instruire distribuită accelerată.
- Valori de formare a modelului de jurnal.
- Copiați modelul final într-o găleată S3.
BigBasket folosit Caiete SageMaker pentru a-și antrena modelele ML și au putut să-și porteze cu ușurință PyTorch-ul open source existent și alte dependențe open source într-un container SageMaker PyTorch și să ruleze conducta fără probleme. Acesta a fost primul beneficiu văzut de echipa BigBasket, deoarece nu au fost necesare modificări la cod pentru a-l face compatibil cu rularea într-un mediu SageMaker.
Rețeaua model constă dintr-o arhitectură ResNet 152 urmată de straturi complet conectate. Am înghețat straturile de caracteristici de nivel scăzut și am păstrat ponderile dobândite prin învățarea prin transfer din modelul ImageNet. Parametrii totali ai modelului au fost de 66 de milioane, constând din 23 de milioane de parametri antrenabili. Această abordare bazată pe transfer de învățare i-a ajutat să folosească mai puține imagini în momentul antrenamentului și, de asemenea, a permis o convergență mai rapidă și a redus timpul total de antrenament.
Construirea și formarea modelului în interior Amazon SageMaker Studio a oferit un mediu de dezvoltare integrat (IDE) cu tot ceea ce este necesar pentru a pregăti, construi, antrena și regla modelele. Mărirea datelor de antrenament folosind tehnici precum decuparea, rotirea și răsturnarea imaginilor a ajutat la îmbunătățirea datelor de antrenament a modelului și a preciziei modelului.
Instruirea modelelor a fost accelerată cu 50% prin utilizarea bibliotecii SMDDP, care include algoritmi de comunicare optimizați proiectați special pentru infrastructura AWS. Pentru a îmbunătăți performanța de citire/scriere a datelor în timpul antrenamentului de model și a creșterii datelor, am folosit FSx pentru Luster pentru un randament de înaltă performanță.
Dimensiunea datelor de antrenament de început a fost de peste 1.5 TB. Am folosit două Cloud Elastic de calcul Amazon (Amazon EC2) p4d.24 cazuri mari cu 8 GPU și 40 GB memorie GPU. Pentru instruirea distribuită SageMaker, instanțele trebuie să fie în aceeași regiune AWS și zonă de disponibilitate. De asemenea, datele de antrenament stocate într-o găleată S3 trebuie să fie în aceeași zonă de disponibilitate. Această arhitectură permite, de asemenea, lui BigBasket să treacă la alte tipuri de instanțe sau să adauge mai multe instanțe la arhitectura actuală pentru a răspunde oricărei creșteri semnificative a datelor sau pentru a obține o reducere suplimentară a timpului de instruire.
Cum a contribuit biblioteca SMDDP la reducerea timpului, costurilor și complexității instruirii
În instruirea tradițională a datelor distribuite, cadrul de instruire atribuie ranguri GPU-urilor (lucrătorilor) și creează o replică a modelului dvs. pe fiecare GPU. În timpul fiecărei iterații de instruire, lotul de date global este împărțit în bucăți (fragmente de lot) și o bucată este distribuită fiecărui lucrător. Fiecare lucrător continuă apoi cu trecerea înainte și înapoi definită în scriptul de antrenament pe fiecare GPU. În cele din urmă, greutățile și gradienții modelului din diferitele replici ale modelului sunt sincronizate la sfârșitul iterației printr-o operațiune de comunicare colectivă numită AllReduce. După ce fiecare lucrător și GPU are o replică sincronizată a modelului, începe următoarea iterație.
Biblioteca SMDDP este o bibliotecă de comunicare colectivă care îmbunătățește performanța acestui proces de instruire paralelă a datelor distribuite. Biblioteca SMDDP reduce suprasarcina de comunicare a operațiunilor cheie de comunicare colectivă, cum ar fi AllReduce. Implementarea AllReduce este concepută pentru infrastructura AWS și poate accelera instruirea prin suprapunerea operațiunii AllReduce cu trecerea înapoi. Această abordare realizează o eficiență de scalare aproape liniară și o viteză mai rapidă de antrenament prin optimizarea operațiunilor nucleului dintre procesoare și GPU.
Observați următoarele calcule:
- Mărimea lotului global este (numărul de noduri dintr-un cluster) * (numărul de GPU-uri per nod) * (pe fragment de lot)
- Un fragment de lot (lot mic) este un subset al setului de date atribuit fiecărui GPU (lucrător) per iterație
BigBasket a folosit biblioteca SMDDP pentru a-și reduce timpul total de antrenament. Cu FSx pentru Lustre, am redus debitul de citire/scriere a datelor în timpul antrenamentului modelului și creșterii datelor. Cu paralelismul de date, BigBasket a reușit să realizeze un antrenament cu aproape 50% mai rapid și cu 20% mai ieftin în comparație cu alte alternative, oferind cea mai bună performanță pe AWS. SageMaker oprește automat canalul de antrenament după finalizare. Proiectul s-a finalizat cu succes cu un timp de instruire cu 50% mai rapid în AWS (4.5 zile în AWS față de 9 zile pe platforma lor moștenită).
La momentul scrierii acestei postări, BigBasket rulează soluția completă în producție de mai bine de 6 luni și scala sistemul prin aprovizionarea cu noi orașe și adăugăm noi magazine în fiecare lună.
„Parteneriatul nostru cu AWS privind migrarea către instruirea distribuită folosind oferta SMDDP a fost un câștig extraordinar. Nu numai că ne-a redus timpul de antrenament cu 50%, ci a fost și cu 20% mai ieftin. În întregul nostru parteneriat, AWS a stabilit standardul pentru obsesia clienților și obținerea de rezultate – lucrând cu noi în întregime pentru a realiza beneficiile promise.”
– Keshav Kumar, șeful departamentului de inginerie la BigBasket.
Concluzie
În această postare, am discutat despre modul în care BigBasket a folosit SageMaker pentru a-și antrena modelul de viziune computerizată pentru identificarea produselor FMCG. Implementarea unui sistem automat de plată automată bazat pe inteligență artificială oferă o experiență îmbunătățită a clienților cu amănuntul prin inovație, eliminând în același timp erorile umane în procesul de plată. Accelerarea integrării noilor produse prin utilizarea instruirii distribuite SageMaker reduce timpul și costurile de integrare a SKU. Integrarea FSx pentru Luster permite accesul rapid la date paralele pentru o reinstruire eficientă a modelului cu sute de noi SKU-uri lunare. În general, această soluție de self-check-out bazată pe inteligență artificială oferă o experiență de cumpărături îmbunătățită, lipsită de erori de finalizare a plății frontale. Automatizarea și inovația le-au transformat operațiunile de vânzare cu amănuntul și operațiunile de îmbarcare.
SageMaker oferă capabilități de dezvoltare, implementare și monitorizare ML end-to-end, cum ar fi un mediu notebook SageMaker Studio pentru scrierea codului, achiziția de date, etichetarea datelor, instruirea modelului, reglarea modelului, implementarea, monitorizarea și multe altele. Dacă afacerea dvs. se confruntă cu oricare dintre provocările descrise în această postare și dorește să economisească timp de comercializare și să îmbunătățească costurile, contactați echipa de cont AWS din regiunea dvs. și începeți cu SageMaker.
Despre Autori
Santosh Waddi este inginer principal la BigBasket, aduce peste un deceniu de experiență în rezolvarea provocărilor AI. Cu un background puternic în viziunea computerizată, știința datelor și învățarea profundă, el deține o diplomă postuniversitară de la IIT Bombay. Santosh a fost autor de publicații remarcabile IEEE și, în calitate de autor experimentat de bloguri tehnologice, a adus, de asemenea, contribuții semnificative la dezvoltarea soluțiilor de viziune computerizată în timpul mandatului său la Samsung.
Nanda Kishore Thatikonda este un manager de inginerie care conduce Ingineria datelor și Analytics la BigBasket. Nanda a construit mai multe aplicații pentru detectarea anomaliilor și are un brevet depus într-un spațiu similar. El a lucrat la construirea de aplicații de nivel enterprise, la construirea de platforme de date în mai multe organizații și la platforme de raportare pentru a eficientiza deciziile susținute de date. Nanda are peste 18 ani de experiență de lucru în Java/J2EE, tehnologii Spring și cadre de date mari folosind Hadoop și Apache Spark.
Sudhanshu Ură este un specialist principal în AI și ML cu AWS și lucrează cu clienții pentru a-i sfătui cu privire la MLOps-ul lor și călătoria AI generativă. În rolul său anterior, a conceptualizat, creat și condus echipe pentru a construi o platformă de IA și gamification bazată pe sursă deschisă și a comercializat-o cu succes cu peste 100 de clienți. Sudhanshu are la creditul său câteva brevete; a scris 2 cărți, mai multe lucrări și bloguri; și și-a prezentat punctul de vedere pe diverse forumuri. El a fost un lider de gândire și un vorbitor și este în industrie de aproape 25 de ani. El a lucrat cu clienți Fortune 1000 din întreaga lume și cel mai recent lucrează cu clienți nativi digitali din India.
Ayush Kumar este arhitect de soluții la AWS. El lucrează cu o mare varietate de clienți AWS, ajutându-i să adopte cele mai recente aplicații moderne și să inoveze mai rapid cu tehnologiile cloud-native. Îl vei găsi experimentând în bucătărie în timpul lui liber.
- Distribuție de conținut bazat pe SEO și PR. Amplifică-te astăzi.
- PlatoData.Network Vertical Generative Ai. Împuterniciți-vă. Accesați Aici.
- PlatoAiStream. Web3 Intelligence. Cunoștințe amplificate. Accesați Aici.
- PlatoESG. carbon, CleanTech, Energie, Mediu inconjurator, Solar, Managementul deșeurilor. Accesați Aici.
- PlatoHealth. Biotehnologie și Inteligență pentru studii clinice. Accesați Aici.
- Sursa: https://aws.amazon.com/blogs/machine-learning/how-bigbasket-improved-ai-enabled-checkout-at-their-physical-stores-using-amazon-sagemaker/
- :are
- :este
- :nu
- $ 10 de milioane de
- $UP
- 000
- 1
- 10
- 100
- 12
- 120
- 13
- 152
- 23
- 24
- 25
- 300
- 40
- 50
- 500
- 600
- 66
- 7
- 8
- 80
- 9
- 98
- a
- Capabil
- accelerat
- accelerarea
- acces
- Cont
- precizie
- Obține
- Realizeaza
- dobândite
- achiziție
- peste
- adapta
- adăuga
- adăugat
- adăugare
- Suplimentar
- adresa
- Adaugă
- adopta
- sfătui
- După
- din nou
- AI
- AI-alimentat
- algoritmi
- permite
- aproape
- de asemenea
- alternative
- Amazon
- Amazon EC2
- Amazon RDS
- Amazon SageMaker
- Amazon Web Services
- an
- Google Analytics
- și
- detectarea anomaliilor
- Orice
- Apache
- aplicatii
- abordare
- aproximativ
- arhitectură
- SUNT
- în jurul
- AS
- alocate
- sortiment
- At
- augmented
- autor
- Authored
- Automata
- în mod automat
- Automatizare
- disponibilitate
- AWS
- înapoi
- sprijinit
- fundal
- bar
- BE
- deoarece
- fost
- înainte
- începe
- fiind
- beneficia
- Beneficiile
- CEL MAI BUN
- între
- Mare
- Datele mari
- Blog
- bloguri
- Manuale
- marci
- Aduce
- mai larg
- construi
- Clădire
- construit
- afaceri
- cumpăra
- by
- calcule
- denumit
- camere video
- CAN
- capacități
- catalog
- satisface
- catering
- sigur
- provocări
- Schimbare
- Modificări
- canale
- mai ieftin
- Finalizeaza comanda
- Oraşe
- clasificare
- clientii
- Grup
- CNN
- cod
- colecta
- Colectiv
- Comerț
- Comunicare
- comparație
- compatibil
- Completă
- Terminat
- Calcula
- calculator
- Computer Vision
- Condiții
- legat
- Constând
- constă
- consumator
- mistuitor
- Recipient
- continuu
- continuu
- continuu
- contribuţii
- comoditate
- Convergenţă
- A costat
- costisitor
- Cheltuieli
- Contracara
- contoare
- Cuplu
- a creat
- creează
- credit
- Curent
- personalizat
- client
- experienta clientului
- clienţii care
- Tăiat
- ciclu
- zilnic
- de date
- accesul la date
- știința datelor
- Baza de date
- Zi
- deceniu
- Deciziile
- adânc
- învățare profundă
- definit
- Grad
- livrarea
- Oferă
- livrare
- dependențe
- desfășurarea
- descris
- proiectat
- Detectare
- Dezvoltare
- diagramă
- FĂCUT
- diferit
- digital
- discuta
- discutat
- distinge
- distribuite
- instruire distribuită
- împărțit
- Docher
- jos
- două
- în timpul
- fiecare
- cu ușurință
- E-commerce
- eficiență
- eficient
- eliminarea
- activat
- permite
- înconjura
- capăt
- un capăt la altul
- inginer
- Inginerie
- sporită
- íntreprindere
- Întreg
- Mediu inconjurator
- de mediu
- Erori
- estimativ
- evalua
- Fiecare
- tot
- existent
- experienţă
- experimentarea
- expertiză
- cu care se confruntă
- FAST
- în mișcare rapidă
- mai repede
- Caracteristică
- mai puține
- Figura
- depusă
- final
- În cele din urmă
- Găsi
- First
- Bunuri de larg consum
- a urmat
- următor
- alimente
- Pentru
- Avere
- forumuri
- Înainte
- Cadru
- cadre
- Frecvență
- frecvent
- frecare
- din
- Frontend
- pe scară largă
- complet
- mai mult
- gamification
- generativ
- AI generativă
- obține
- Caritate
- glob
- Go
- bunuri
- GPU
- unități de procesare grafică
- gradienți
- mare
- Creștere
- manipula
- Avea
- he
- cap
- a ajutat
- ajutor
- Înalt
- la nivel înalt
- performanta ridicata
- -l
- lui
- deține
- Cum
- HTML
- http
- HTTPS
- uman
- sute
- Identificare
- IEEE
- if
- ilustrează
- imagine
- Clasificarea imaginilor
- imagini
- afectate
- implementarea
- îmbunătăţi
- îmbunătățit
- îmbunătăţeşte
- in
- in magazin
- include
- Inclusiv
- incorpora
- Creșteri
- crescând
- suportate
- India
- industrie
- informații
- Infrastructură
- inova
- Inovaţie
- instanță
- integrate
- integrarea
- în
- introdus
- Introducere
- probleme de
- IT
- articole
- repetare
- ESTE
- călătorie
- jpg
- A pastra
- păstrare
- Cheie
- Kumar
- mare
- cea mai mare
- Ultimele
- straturi
- lider
- conducere
- învăţare
- Led
- Moştenire
- biblioteci
- Bibliotecă
- ca
- Lung
- perioadă lungă de timp
- pierde
- maşină
- masina de învățare
- Masini
- făcut
- face
- manager
- de conducere
- manual
- manual
- Piață
- Memorie
- Metrici
- migrațiune
- milion
- ML
- MLOps
- model
- Modele
- Modern
- Monitorizarea
- Lună
- lunar
- luni
- mai mult
- cele mai multe
- în mişcare
- mult
- multiplu
- nativ
- aproape
- Nevoie
- necesar
- nevoilor
- reţea
- neural
- rețele neuronale
- Nou
- produs nou
- produse noi
- următor
- nod
- noduri
- notabil
- caiet
- număr
- obiect
- obiectiv
- of
- oferi
- oferind
- de multe ori
- on
- La imbarcare
- ONE
- on-line
- afară
- deschide
- open-source
- funcionar
- de operare
- operaţie
- operațional
- Operațiuni
- optimizate
- optimizarea
- or
- organizații
- Altele
- al nostru
- afară
- peste
- global
- deasupra
- Prezentare generală
- Pace
- lucrări
- Paralel
- parametrii
- Asociere
- trece
- brevet
- Brevete de inventie
- pentru
- performanță
- fizic
- bucată
- piese
- pilot
- conducte
- platformă
- Platforme
- Plato
- Informații despre date Platon
- PlatoData
- Punct
- Punct de vedere
- Post
- postuniversitare
- putere
- Pregăti
- prezentat
- precedent
- Principal
- venituri
- proces
- Produs
- Produs
- Informații despre produs
- producere
- Produse
- proiect
- a promis
- furniza
- prevăzut
- furnizează
- Publicații
- cumpărare
- pirtorh
- Rapid
- gamă
- rândurile
- rată
- ajunge
- realiza
- recent
- recunoaştere
- recomandat
- reduce
- Redus
- reduce
- reducere
- regiune
- repetat
- răspunde
- Raportarea
- Necesită
- rezultând
- cu amănuntul
- Rol
- Alerga
- funcţionare
- sagemaker
- acelaşi
- Samsung
- Economisiți
- Scară
- scalare
- Ştiinţă
- scenariu
- perfect
- condimentată
- văzut
- servește
- Servicii
- set
- Seturi
- configurarea
- câteva
- Cumpărături
- închiderile
- semnificativ
- asemănător
- simplu
- considerabil
- Mărimea
- mic
- soluţie
- soluţii
- Rezolvarea
- Sursă
- Spaţiu
- Scânteie
- Vorbitor
- specialist
- specific
- viteză
- primăvară
- început
- Pornire
- paşi
- autocolante
- stoc
- depozitare
- stoca
- stocate
- magazine
- simplifica
- puternic
- studio
- Abonamente
- Reușit
- astfel de
- sistem
- luate
- echipă
- echipe
- tech
- tehnici de
- Tehnologii
- test
- decât
- acea
- lor
- Lor
- apoi
- Acolo.
- Acestea
- ei
- terț
- acest
- gândit
- Prin
- debit
- timp
- ori
- la
- a luat
- Total
- orașe
- tradiţional
- Tren
- Pregătire
- transfer
- transformat
- încercat
- ton
- de reglaj
- Două
- Tipuri
- unic
- de unităţi
- us
- utilizare
- utilizat
- utilizări
- folosind
- validare
- varietate
- diverse
- foarte
- Vizualizare
- viziune
- vs
- dorit
- vrea
- a fost
- Cale..
- we
- web
- servicii web
- cântar
- greutate
- au fost
- care
- în timp ce
- întreg
- larg
- câştiga
- cu
- în
- a lucrat
- lucrător
- muncitorii
- de lucru
- fabrică
- scris
- scris
- ani
- Tu
- Ta
- zephyrnet
- zonă