Dette indlæg er skrevet sammen med Santosh Waddi og Nanda Kishore Thatikonda fra BigBasket.
BigBasket er Indiens største online mad- og købmandsbutik. De opererer i flere e-handelskanaler såsom hurtig handel, spaltet levering og daglige abonnementer. Du kan også købe fra deres fysiske butikker og automater. De tilbyder et stort udvalg af over 50,000 produkter på tværs af 1,000 mærker og opererer i mere end 500 byer og byer. BigBasket betjener over 10 millioner kunder.
I dette indlæg diskuterer vi, hvordan BigBasket brugte Amazon SageMaker at træne deres computervisionsmodel til Fast-Moving Consumer Goods (FMCG) produktidentifikation, hvilket hjalp dem med at reducere træningstiden med cirka 50 % og spare omkostninger med 20 %.
Kundens udfordringer
I dag tilbyder de fleste supermarkeder og fysiske butikker i Indien manuel kasse ved kassen. Dette har to problemer:
- Det kræver ekstra mandskab, vægtklistermærker og gentagen træning for det operative team i butikken, når de skalerer.
- I de fleste butikker er kassedisken anderledes end vejetællere, hvilket øger friktionen i kundens købsrejse. Kunder mister ofte vægtmærkatet og må gå tilbage til vejeskrankerne for at hente et igen, før de går videre med kassen.
Selvudtjekningsproces
BigBasket introducerede et AI-drevet kassesystem i deres fysiske butikker, der bruger kameraer til at skelne varer unikt. Følgende figur giver et overblik over kasseprocessen.
BigBasket-teamet kørte open source, in-house ML-algoritmer til computervision-objektgenkendelse for at drive AI-aktiveret checkout ved deres fresho (fysiske) butikker. Vi stod over for følgende udfordringer for at betjene deres eksisterende setup:
- Med den løbende introduktion af nye produkter var computervisionsmodellen nødvendig for løbende at inkorporere ny produktinformation. Systemet skulle håndtere et stort katalog med over 12,000 lagerholdenheder (SKU'er), hvor nye SKU'er løbende blev tilføjet med en hastighed på over 600 om måneden.
- For at holde trit med nye produkter blev der produceret en ny model hver måned ved hjælp af de seneste træningsdata. Det var dyrt og tidskrævende at træne modellerne ofte til at tilpasse sig nye produkter.
- BigBasket ønskede også at reducere træningscyklustiden for at forbedre tiden til markedet. På grund af stigninger i SKU'er steg modellens tid lineært, hvilket påvirkede deres time to market, fordi træningsfrekvensen var meget høj og tog lang tid.
- Dataforøgelse til modeltræning og manuel styring af den komplette end-to-end træningscyklus tilføjede betydelige omkostninger. BigBasket kørte dette på en tredjepartsplatform, hvilket medførte betydelige omkostninger.
Løsningsoversigt
Vi anbefalede, at BigBasket rearkitekterer deres eksisterende FMCG-produktdetektions- og klassificeringsløsning ved hjælp af SageMaker til at løse disse udfordringer. Inden BigBasket gik over til fuldskalaproduktion, prøvede han et pilotprojekt på SageMaker for at evaluere ydelse, omkostninger og bekvemmelighedsmålinger.
Deres mål var at finjustere en eksisterende computer vision machine learning (ML) model til SKU-detektion. Vi brugte en convolutional neural network (CNN) arkitektur med ResNet152 til billedklassificering. Et betydeligt datasæt på omkring 300 billeder pr. SKU blev estimeret til modeltræning, hvilket resulterede i over 4 millioner samlede træningsbilleder. For visse SKU'er udvidede vi data til at omfatte en bredere vifte af miljøforhold.
Følgende diagram illustrerer løsningsarkitekturen.
Den komplette proces kan opsummeres i følgende trin på højt niveau:
- Udfør datarensning, annotering og forøgelse.
- Gem data i en Amazon Simple Storage Service (Amazon S3) spand.
- Brug SageMaker og Amazon FSx til Luster for effektiv dataforøgelse.
- Opdel data i tog-, validerings- og testsæt. Vi brugte FSx til Luster og Amazon Relationel Database Service (Amazon RDS) for hurtig parallel dataadgang.
- Brug en brugerdefineret PyTorch Docker-container inklusive andre open source-biblioteker.
- Brug SageMaker distribueret dataparallelisme (SMDDP) til accelereret distribueret træning.
- Log modeltræningsmålinger.
- Kopier den endelige model til en S3-spand.
BigBasket brugt SageMaker notesbøger at træne deres ML-modeller og var i stand til nemt at overføre deres eksisterende open source PyTorch og andre open source afhængigheder til en SageMaker PyTorch container og køre pipelinen problemfrit. Dette var den første fordel set af BigBasket-teamet, fordi der næsten ikke var behov for ændringer i koden for at gøre den kompatibel til at køre på et SageMaker-miljø.
Modelnetværket består af en ResNet 152-arkitektur efterfulgt af fuldt forbundne lag. Vi fastfrosset funktionslagene på lavt niveau og beholdt vægten opnået gennem overførselslæring fra ImageNet-modellen. De samlede modelparametre var 66 millioner, bestående af 23 millioner trænebare parametre. Denne overførselslæringsbaserede tilgang hjalp dem med at bruge færre billeder på træningstidspunktet og muliggjorde også hurtigere konvergens og reducerede den samlede træningstid.
Opbygning og træning af modellen indenfor Amazon SageMaker Studio leverede et integreret udviklingsmiljø (IDE) med alt det nødvendige for at forberede, bygge, træne og tune modeller. Forøgelse af træningsdataene ved hjælp af teknikker som beskæring, rotation og vending af billeder hjalp med at forbedre modellens træningsdata og modelnøjagtighed.
Modeltræning blev accelereret med 50 % gennem brugen af SMDDP-biblioteket, som inkluderer optimerede kommunikationsalgoritmer designet specifikt til AWS-infrastruktur. For at forbedre datalæse-/skriveydelsen under modeltræning og dataforøgelse brugte vi FSx for Luster til højtydende gennemløb.
Deres starttræningsdatastørrelse var over 1.5 TB. Vi brugte to Amazon Elastic Compute Cloud (Amazon EC2) p4d.24 store forekomster med 8 GPU og 40 GB GPU-hukommelse. For SageMaker distribueret træning skal instanserne være i samme AWS-region og tilgængelighedszone. Træningsdata, der er gemt i en S3-spand, skal også være i den samme tilgængelighedszone. Denne arkitektur giver også BigBasket mulighed for at skifte til andre instanstyper eller tilføje flere instanser til den nuværende arkitektur for at imødekomme enhver væsentlig datavækst eller opnå yderligere reduktion i træningstid.
Hvordan SMDDP-biblioteket hjalp med at reducere træningstid, omkostninger og kompleksitet
I traditionel distribueret datatræning tildeler træningsrammen rækker til GPU'er (arbejdere) og skaber en replika af din model på hver GPU. Under hver træningsiteration opdeles den globale databatch i stykker (batch-shards), og et stykke distribueres til hver arbejder. Hver medarbejder fortsætter derefter med det frem- og tilbageløb, der er defineret i dit træningsscript på hver GPU. Til sidst synkroniseres modelvægte og gradienter fra de forskellige modelreplikaer ved slutningen af iterationen gennem en kollektiv kommunikationsoperation kaldet AllReduce. Når hver arbejder og GPU har en synkroniseret replika af modellen, begynder den næste iteration.
SMDDP-biblioteket er et kollektivt kommunikationsbibliotek, der forbedrer ydeevnen af denne distribuerede dataparallelle træningsproces. SMDDP-biblioteket reducerer kommunikationsomkostningerne for de vigtigste kollektive kommunikationsoperationer såsom AllReduce. Dens implementering af AllReduce er designet til AWS-infrastruktur og kan fremskynde træningen ved at overlappe AllReduce-operationen med den baglæns aflevering. Denne tilgang opnår næsten-lineær skaleringseffektivitet og hurtigere træningshastighed ved at optimere kerneoperationer mellem CPU'er og GPU'er.
Bemærk følgende beregninger:
- Størrelsen af den globale batch er (antal noder i en klynge) * (antal GPU'er pr. node) * (pr. batch shard)
- En batch shard (lille batch) er en delmængde af datasættet, der er tildelt hver GPU (arbejder) pr. iteration
BigBasket brugte SMDDP-biblioteket til at reducere deres samlede træningstid. Med FSx for Lustre reducerede vi datalæse/skrivegennemstrømningen under modeltræning og dataforøgelse. Med dataparallelisme var BigBasket i stand til at opnå næsten 50 % hurtigere og 20 % billigere træning sammenlignet med andre alternativer, hvilket leverede den bedste ydeevne på AWS. SageMaker lukker automatisk ned for træningspipeline efter afslutning. Projektet blev gennemført med succes med 50 % hurtigere træningstid i AWS (4.5 dage i AWS vs. 9 dage på deres gamle platform).
I skrivende stund har BigBasket kørt den komplette løsning i produktion i mere end 6 måneder og skaleret systemet ved at henvende sig til nye byer, og vi tilføjer nye butikker hver måned.
"Vores partnerskab med AWS om migrering til distribueret træning ved hjælp af deres SMDDP-tilbud har været en stor gevinst. Det reducerede ikke kun vores træningstider med 50 %, det var også 20 % billigere. I hele vores partnerskab har AWS sat barren for kundebesættelse og at levere resultater – og arbejde sammen med os hele vejen for at realisere lovede fordele."
– Keshav Kumar, Head of Engineering hos BigBasket.
Konklusion
I dette indlæg diskuterede vi, hvordan BigBasket brugte SageMaker til at træne deres computervisionsmodel til FMCG-produktidentifikation. Implementeringen af et AI-drevet automatiseret selvudtjekningssystem leverer en forbedret detailkundeoplevelse gennem innovation, samtidig med at menneskelige fejl i checkout-processen elimineres. Fremskyndelse af onboarding af nye produkter ved at bruge SageMaker distribueret træning reducerer SKU-onboarding tid og omkostninger. Integrering af FSx for Luster muliggør hurtig parallel dataadgang til effektiv modeloplæring med hundredvis af nye SKU'er hver måned. Samlet set giver denne AI-baserede selv-checkout-løsning en forbedret indkøbsoplevelse uden frontend-checkout-fejl. Automatiseringen og innovationen har forvandlet deres detailudbetaling og onboarding.
SageMaker leverer end-to-end ML-udvikling, implementering og overvågningsfunktioner såsom et SageMaker Studio notebook-miljø til skrivning af kode, dataindsamling, datatagging, modeltræning, modeljustering, implementering, overvågning og meget mere. Hvis din virksomhed står over for nogen af de udfordringer, der er beskrevet i dette indlæg og ønsker at spare tid til at markedsføre og forbedre omkostningerne, skal du kontakte AWS-kontoteamet i din region og komme i gang med SageMaker.
Om forfatterne
Santosh Waddi er Principal Engineer hos BigBasket, medbringer over ti års ekspertise i at løse AI-udfordringer. Med en stærk baggrund inden for computervision, datavidenskab og deep learning, har han en postgraduate grad fra IIT Bombay. Santosh har forfattet bemærkelsesværdige IEEE-publikationer, og som en erfaren tech-blogforfatter har han også ydet betydelige bidrag til udviklingen af computervisionsløsninger under hans embedsperiode hos Samsung.
Nanda Kishore Thatikonda er en Engineering Manager, der leder Data Engineering og Analytics hos BigBasket. Nanda har bygget flere applikationer til afsløring af anomalier og har et patent indgivet på et lignende sted. Han har arbejdet på at bygge applikationer i virksomhedskvalitet, opbygge dataplatforme i flere organisationer og rapporteringsplatforme for at strømline beslutninger understøttet af data. Nanda har over 18 års erfaring med at arbejde i Java/J2EE, Spring-teknologier og big data frameworks ved hjælp af Hadoop og Apache Spark.
Sudhanshu hader er Principal AI & ML Specialist hos AWS og arbejder med kunder for at rådgive dem om deres MLOps og generative AI-rejse. I sin tidligere rolle konceptualiserede, skabte og ledede han teams til at bygge en grundlæggende, open source-baseret AI og gamification-platform og med succes kommercialiserede den med over 100 kunder. Sudhanshu har et par patenter til gode; har skrevet 2 bøger, adskillige papirer og blogs; og har fremlagt sit synspunkt i forskellige fora. Han har været tankeleder og foredragsholder og har været i branchen i næsten 25 år. Han har arbejdet med Fortune 1000-kunder over hele kloden og har senest arbejdet med digitale indfødte kunder i Indien.
Ayush Kumar er Solutions Architect hos AWS. Han arbejder med en bred vifte af AWS-kunder og hjælper dem med at adoptere de nyeste moderne applikationer og innovere hurtigere med cloud-native teknologier. Du vil finde ham eksperimentere i køkkenet i sin fritid.
- SEO Powered Content & PR Distribution. Bliv forstærket i dag.
- PlatoData.Network Vertical Generative Ai. Styrk dig selv. Adgang her.
- PlatoAiStream. Web3 intelligens. Viden forstærket. Adgang her.
- PlatoESG. Kulstof, CleanTech, Energi, Miljø, Solenergi, Affaldshåndtering. Adgang her.
- PlatoHealth. Bioteknologiske og kliniske forsøgs intelligens. Adgang her.
- Kilde: https://aws.amazon.com/blogs/machine-learning/how-bigbasket-improved-ai-enabled-checkout-at-their-physical-stores-using-amazon-sagemaker/
- :har
- :er
- :ikke
- $ 10 millioner
- $OP
- 000
- 1
- 10
- 100
- 12
- 120
- 13
- 152
- 23
- 24
- 25
- 300
- 40
- 50
- 500
- 600
- 66
- 7
- 8
- 80
- 9
- 98
- a
- I stand
- accelereret
- accelererende
- adgang
- Konto
- nøjagtighed
- opnå
- opnår
- erhvervede
- erhvervelse
- tværs
- tilpasse
- tilføje
- tilføjet
- tilføje
- Yderligere
- adresse
- Tilføjer
- vedtage
- rådgive
- Efter
- igen
- AI
- AI-drevne
- algoritmer
- tillader
- næsten
- også
- alternativer
- Amazon
- Amazon EC2
- Amazon RDS
- Amazon SageMaker
- Amazon Web Services
- an
- analytics
- ,
- afsløring af anomalier
- enhver
- Apache
- applikationer
- tilgang
- cirka
- arkitektur
- ER
- omkring
- AS
- tildelt
- sortiment
- At
- augmented
- forfatter
- forfattet
- Automatiseret
- automatisk
- Automation
- tilgængelighed
- AWS
- tilbage
- Backed
- baggrund
- Bar
- BE
- fordi
- været
- før
- begynder
- være
- gavner det dig
- fordele
- BEDSTE
- mellem
- Big
- Big data
- Blog
- blogs
- Bøger
- brands
- Bringer
- bredere
- bygge
- Bygning
- bygget
- virksomhed
- købe
- by
- beregninger
- kaldet
- kameraer
- CAN
- kapaciteter
- katalog
- imødekomme
- catering
- vis
- udfordringer
- lave om
- Ændringer
- kanaler
- billigere
- Betaling
- byer
- klassificering
- kunder
- Cluster
- CNN
- kode
- indsamler
- kollektive
- Handel
- Kommunikation
- sammenlignet
- kompatibel
- fuldføre
- Afsluttet
- Compute
- computer
- Computer Vision
- betingelser
- tilsluttet
- Bestående
- består
- forbruger
- forbrugende
- Container
- løbende
- kontinuerlig
- kontinuerligt
- bidrag
- bekvemmelighed
- Konvergens
- Koste
- kostbar
- Omkostninger
- Counter
- tællere
- Par
- oprettet
- skaber
- kredit
- Nuværende
- skik
- kunde
- Kundeoplevelse
- Kunder
- Klip
- cyklus
- dagligt
- data
- dataadgang
- datalogi
- Database
- Dage
- årti
- afgørelser
- dyb
- dyb læring
- definerede
- Degree
- leverer
- leverer
- levering
- afhængigheder
- implementering
- beskrevet
- konstrueret
- Detektion
- Udvikling
- diagram
- DID
- forskellige
- digital
- diskutere
- drøftet
- skelne
- distribueret
- distribueret træning
- Divided
- Docker
- ned
- grund
- i løbet af
- hver
- nemt
- ecommerce
- effektivitet
- effektiv
- eliminere
- aktiveret
- muliggør
- Encompass
- ende
- ende til ende
- ingeniør
- Engineering
- forbedret
- enterprise-grade
- Hele
- Miljø
- miljømæssige
- fejl
- anslået
- evaluere
- Hver
- at alt
- eksisterende
- erfaring
- eksperimentere
- ekspertise
- vender
- FAST
- hurtigt bevægende
- hurtigere
- Feature
- færre
- Figur
- indgivet
- endelige
- Endelig
- Finde
- Fornavn
- FMCG
- efterfulgt
- efter
- mad
- Til
- rigdom
- fora
- Videresend
- Framework
- rammer
- Frekvens
- hyppigt
- friktion
- fra
- frontend
- fuld skala
- fuldt ud
- yderligere
- gamification
- generative
- Generativ AI
- få
- Global
- kloden
- Go
- varer
- GPU
- GPU'er
- gradienter
- stor
- Vækst
- håndtere
- Have
- he
- hoved
- hjulpet
- hjælpe
- Høj
- højt niveau
- Høj ydeevne
- ham
- hans
- besidder
- Hvordan
- HTML
- http
- HTTPS
- menneskelig
- Hundreder
- Identifikation
- IEEE
- if
- illustrerer
- billede
- Billedklassificering
- billeder
- påvirket
- implementering
- Forbedre
- forbedret
- forbedrer
- in
- på lager
- omfatter
- Herunder
- indarbejde
- Stigninger
- stigende
- afholdt
- Indien
- industrien
- oplysninger
- Infrastruktur
- innovere
- Innovation
- instans
- integreret
- Integration
- ind
- introduceret
- Introduktion
- spørgsmål
- IT
- Varer
- iteration
- ITS
- rejse
- jpg
- Holde
- holde
- Nøgle
- Kumar
- stor
- største
- seneste
- lag
- leder
- førende
- læring
- Led
- Legacy
- biblioteker
- Bibliotek
- ligesom
- Lang
- lang tid
- taber
- maskine
- machine learning
- Maskiner
- lavet
- lave
- leder
- styring
- manuel
- manuelt
- Marked
- Hukommelse
- Metrics
- migration
- million
- ML
- MLOps
- model
- modeller
- Moderne
- overvågning
- Måned
- månedligt
- måned
- mere
- mest
- flytning
- meget
- flere
- indfødte
- næsten
- Behov
- behov
- behov
- netværk
- neurale
- neurale netværk
- Ny
- nyt produkt
- nye produkter
- næste
- node
- noder
- bemærkelsesværdig
- notesbog
- nummer
- objekt
- objektiv
- of
- tilbyde
- tilbyde
- tit
- on
- onboarding
- ONE
- online
- kun
- åbent
- open source
- betjene
- drift
- drift
- operationelle
- Produktion
- optimeret
- optimering
- or
- organisationer
- Andet
- vores
- ud
- i løbet af
- samlet
- overliggende
- oversigt
- Tempo
- papirer
- Parallel
- parametre
- Partnerskab
- passerer
- patent
- Patenter
- per
- ydeevne
- fysisk
- stykke
- stykker
- pilot
- pipeline
- perron
- Platforme
- plato
- Platon Data Intelligence
- PlatoData
- Punkt
- Synspunkt
- Indlæg
- postgraduate
- magt
- Forbered
- forelagt
- tidligere
- Main
- udbytte
- behandle
- produceret
- Produkt
- Produktinformation
- produktion
- Produkter
- projekt
- lovede
- give
- forudsat
- giver
- publikationer
- køb
- pytorch
- Hurtig
- rækkevidde
- rækker
- Sats
- nå
- indse
- for nylig
- anerkendelse
- anbefales
- reducere
- Reduceret
- reducerer
- reduktion
- region
- gentaget
- svar
- Rapportering
- Kræver
- resulterer
- detail
- roller
- Kør
- kører
- sagemaker
- samme
- Samsung
- Gem
- Scale
- skalering
- Videnskab
- script
- problemfrit
- krydret
- set
- tjener
- Tjenester
- sæt
- sæt
- setup
- flere
- Shopping
- lukker
- signifikant
- lignende
- Simpelt
- betydelige
- Størrelse
- lille
- løsninger
- Løsninger
- Løsning
- Kilde
- Space
- Spark
- Højttaler
- specialist
- specifikt
- hastighed
- forår
- påbegyndt
- Starter
- Steps
- klistermærker
- bestand
- opbevaring
- butik
- opbevaret
- forhandler
- strømline
- stærk
- Studio
- abonnementer
- Succesfuld
- sådan
- systemet
- taget
- hold
- hold
- tech
- teknikker
- Teknologier
- prøve
- end
- at
- deres
- Them
- derefter
- Der.
- Disse
- de
- tredjepart
- denne
- tænkte
- Gennem
- kapacitet
- tid
- gange
- til
- tog
- I alt
- byer
- traditionelle
- Tog
- Kurser
- overførsel
- omdannet
- forsøgte
- tune
- tuning
- to
- typer
- entydigt
- enheder
- us
- brug
- anvendte
- bruger
- ved brug af
- validering
- række
- forskellige
- meget
- Specifikation
- vision
- vs
- ønskede
- ønsker
- var
- Vej..
- we
- web
- webservices
- vejning
- vægt
- var
- som
- mens
- Hele
- bred
- vinde
- med
- inden for
- arbejdede
- arbejdstager
- arbejdere
- arbejder
- virker
- skrivning
- skriftlig
- år
- Du
- Din
- zephyrnet
- zone