Dette innlegget er skrevet sammen med Santosh Waddi og Nanda Kishore Thatikonda fra BigBasket.
BigBasket er Indias største mat- og dagligvarebutikk på nett. De opererer i flere e-handelskanaler som rask handel, spaltet levering og daglige abonnementer. Du kan også kjøpe fra deres fysiske butikker og salgsautomater. De tilbyr et stort utvalg av over 50,000 1,000 produkter på tvers av 500 merker, og opererer i mer enn 10 byer og tettsteder. BigBasket betjener over XNUMX millioner kunder.
I dette innlegget diskuterer vi hvordan BigBasket brukte Amazon SageMaker å trene sin datasynsmodell for Fast-Moving Consumer Goods (FMCG) produktidentifikasjon, noe som hjalp dem med å redusere treningstiden med omtrent 50 % og spare kostnader med 20 %.
Kundeutfordringer
I dag tilbyr de fleste supermarkeder og fysiske butikker i India manuell utsjekking ved kassen. Dette har to problemer:
- Det krever ekstra arbeidskraft, vektklistremerker og gjentatt opplæring for det operative teamet i butikken mens de skalerer.
- I de fleste butikker er kassadisken forskjellig fra veiediskene, noe som øker friksjonen i kundenes kjøpsreise. Kunder mister ofte vektklistremerket og må gå tilbake til veieskrankene for å hente en igjen før de fortsetter med utsjekkingsprosessen.
Selvutsjekkingsprosess
BigBasket introduserte et AI-drevet kassasystem i sine fysiske butikker som bruker kameraer for å skille varer unikt. Følgende figur gir en oversikt over betalingsprosessen.
BigBasket-teamet kjørte åpen kildekode, interne ML-algoritmer for gjenkjenning av datasynsobjekter for å drive AI-aktivert utsjekking ved deres fresho (fysiske) butikker. Vi sto overfor følgende utfordringer for å betjene deres eksisterende oppsett:
- Med den kontinuerlige introduksjonen av nye produkter, trengte datasynsmodellen for kontinuerlig å inkorporere ny produktinformasjon. Systemet trengte å håndtere en stor katalog med over 12,000 600 lagerholdeenheter (SKU), med nye SKUer som ble lagt til kontinuerlig med en hastighet på over XNUMX per måned.
- For å holde tritt med nye produkter ble det produsert en ny modell hver måned ved å bruke de siste treningsdataene. Det var kostbart og tidkrevende å trene modellene ofte for å tilpasse seg nye produkter.
- BigBasket ønsket også å redusere treningssyklustiden for å forbedre tiden til markedet. På grunn av økninger i SKU-er, økte tiden som tok modellen lineært, noe som påvirket tiden til markedet fordi treningsfrekvensen var veldig høy og tok lang tid.
- Dataforsterkning for modelltrening og manuell styring av hele treningssyklusen fra ende til ende ga betydelige kostnader. BigBasket kjørte dette på en tredjepartsplattform, som pådro seg betydelige kostnader.
Løsningsoversikt
Vi anbefalte at BigBasket rearkitekterer deres eksisterende FMCG-produktdeteksjons- og klassifiseringsløsning ved å bruke SageMaker for å møte disse utfordringene. Før han gikk over til fullskalaproduksjon, prøvde BigBasket en pilot på SageMaker for å evaluere ytelses-, kostnads- og bekvemmelighetsmålinger.
Målet deres var å finjustere en eksisterende maskinlæringsmodell (ML) for SKU-deteksjon. Vi brukte en konvolusjonelt nevralt nettverk (CNN) arkitektur med ResNet152 for bildeklassifisering. Et betydelig datasett på rundt 300 bilder per SKU ble estimert for modelltrening, noe som resulterte i over 4 millioner totalt treningsbilder. For enkelte SKU-er utvidet vi data for å omfatte et bredere spekter av miljøforhold.
Følgende diagram illustrerer løsningsarkitekturen.
Hele prosessen kan oppsummeres i følgende trinn på høyt nivå:
- Utfør datarensing, merknader og utvidelse.
- Lagre data i en Amazon enkel lagringstjeneste (Amazon S3) bøtte.
- Bruk SageMaker og Amazon FSx for Luster for effektiv dataforsterkning.
- Del data inn i tog-, validerings- og testsett. Vi brukte FSx for Luster og Amazon Relational Database Service (Amazon RDS) for rask parallell datatilgang.
- Bruk en egendefinert PyTorch Docker-beholder inkludert andre åpen kildekode-biblioteker.
- Bruk SageMaker distribuert dataparallellisme (SMDDP) for akselerert distribuert trening.
- Logg modelltreningsberegninger.
- Kopier den endelige modellen til en S3-bøtte.
BigBasket brukt SageMaker notatbøker å trene sine ML-modeller og var i stand til enkelt å portere deres eksisterende åpen kildekode PyTorch og andre åpen kildekode avhengigheter til en SageMaker PyTorch container og kjøre rørledningen sømløst. Dette var den første fordelen som ble sett av BigBasket-teamet, fordi det knapt var behov for endringer i koden for å gjøre den kompatibel å kjøre på et SageMaker-miljø.
Modellnettverket består av en ResNet 152-arkitektur etterfulgt av fullt tilkoblede lag. Vi frøs funksjonslagene på lavt nivå og beholdt vektene vi fikk gjennom overføringslæring fra ImageNet-modellen. De totale modellparametrene var 66 millioner, bestående av 23 millioner trenbare parametere. Denne overføringslæringsbaserte tilnærmingen hjalp dem med å bruke færre bilder på treningstidspunktet, og muliggjorde også raskere konvergens og reduserte den totale treningstiden.
Bygge og trene modellen innenfor Amazon SageMaker Studio levert et integrert utviklingsmiljø (IDE) med alt som trengs for å forberede, bygge, trene og justere modeller. Å utvide treningsdataene ved hjelp av teknikker som beskjæring, rotering og vending av bilder bidro til å forbedre modellens treningsdata og modellnøyaktighet.
Modelltrening ble akselerert med 50 % gjennom bruk av SMDDP-biblioteket, som inkluderer optimaliserte kommunikasjonsalgoritmer designet spesielt for AWS-infrastruktur. For å forbedre datalese-/skriveytelsen under modelltrening og dataforsterkning, brukte vi FSx for Luster for høy ytelse gjennomstrømning.
Størrelsen på starttreningsdataene deres var over 1.5 TB. Vi brukte to Amazon Elastic Compute Cloud (Amazon EC2) p4d.24 store forekomster med 8 GPU og 40 GB GPU-minne. For SageMaker distribuert opplæring, må forekomstene være i samme AWS-region og tilgjengelighetssone. Treningsdata som er lagret i en S3-bøtte må også være i samme tilgjengelighetssone. Denne arkitekturen lar også BigBasket endre til andre instanstyper eller legge til flere instanser til den nåværende arkitekturen for å imøtekomme enhver betydelig datavekst eller oppnå ytterligere reduksjon i treningstid.
Hvordan SMDDP-biblioteket bidro til å redusere treningstid, kostnader og kompleksitet
I tradisjonell distribuert dataopplæring tildeler opplæringsrammeverket rangeringer til GPUer (arbeidere) og lager en kopi av modellen din på hver GPU. Under hver treningsiterasjon deles den globale databatchen inn i stykker (batch shards) og en del deles ut til hver arbeider. Hver arbeider fortsetter deretter med forover- og bakoverpasseringen som er definert i treningsskriptet på hver GPU. Til slutt synkroniseres modellvekter og gradienter fra de forskjellige modellreplikaene på slutten av iterasjonen gjennom en kollektiv kommunikasjonsoperasjon kalt AllReduce. Etter at hver arbeider og GPU har en synkronisert kopi av modellen, begynner neste iterasjon.
SMDDP-biblioteket er et kollektivt kommunikasjonsbibliotek som forbedrer ytelsen til denne distribuerte dataparallelle treningsprosessen. SMDDP-biblioteket reduserer kommunikasjonsoverheaden til de viktigste kollektive kommunikasjonsoperasjonene som AllReduce. Implementeringen av AllReduce er designet for AWS-infrastruktur og kan øke hastigheten på treningen ved å overlappe AllReduce-operasjonen med bakoverpasseringen. Denne tilnærmingen oppnår nesten-lineær skaleringseffektivitet og raskere treningshastighet ved å optimalisere kjerneoperasjoner mellom CPUer og GPUer.
Legg merke til følgende beregninger:
- Størrelsen på den globale batchen er (antall noder i en klynge) * (antall GPUer per node) * (per batch shard)
- En batch shard (liten batch) er en delmengde av datasettet som er tildelt hver GPU (arbeider) per iterasjon
BigBasket brukte SMDDP-biblioteket for å redusere den totale treningstiden. Med FSx for Lustre reduserte vi data lese-/skrivegjennomstrømningen under modelltrening og dataforsterkning. Med dataparallellisme var BigBasket i stand til å oppnå nesten 50 % raskere og 20 % billigere trening sammenlignet med andre alternativer, og levere den beste ytelsen på AWS. SageMaker slår automatisk av treningsrørledningen etter fullføring. Prosjektet fullførte vellykket med 50 % raskere treningstid i AWS (4.5 dager i AWS vs. 9 dager på deres eldre plattform).
I skrivende stund har BigBasket kjørt den komplette løsningen i produksjon i mer enn 6 måneder og skalert systemet ved å servere nye byer, og vi legger til nye butikker hver måned.
"Vårt partnerskap med AWS om migrering til distribuert opplæring ved å bruke deres SMDDP-tilbud har vært en stor seier. Ikke bare reduserte det treningstidene våre med 50 %, det var også 20 % billigere. I hele vårt partnerskap har AWS satt standarden for kundebesatthet og å levere resultater – og samarbeide med oss hele veien for å realisere lovede fordeler.»
– Keshav Kumar, ingeniørsjef i BigBasket.
konklusjonen
I dette innlegget diskuterte vi hvordan BigBasket brukte SageMaker for å trene deres datasynsmodell for FMCG-produktidentifikasjon. Implementeringen av et AI-drevet automatisert selvutsjekkingssystem gir en forbedret detaljkundeopplevelse gjennom innovasjon, samtidig som menneskelige feil i betalingsprosessen elimineres. Å akselerere onboarding av nye produkter ved å bruke SageMaker distribuert opplæring reduserer SKU-onboarding tid og kostnader. Integrering av FSx for Luster muliggjør rask parallell datatilgang for effektiv modellopplæring med hundrevis av nye SKU-er hver måned. Totalt sett gir denne AI-baserte selvutsjekkingsløsningen en forbedret handleopplevelse uten frontend-utsjekkingsfeil. Automatiseringen og innovasjonen har forvandlet deres detaljhandelsutsjekking og onboarding-operasjoner.
SageMaker tilbyr ende-til-ende ML-utvikling, distribusjon og overvåkingsfunksjoner som et SageMaker Studio-notebook-miljø for skriving av kode, datainnsamling, datamerking, modellopplæring, modellinnstilling, distribusjon, overvåking og mye mer. Hvis bedriften din står overfor noen av utfordringene som er beskrevet i dette innlegget og ønsker å spare tid på markedet og forbedre kostnadene, ta kontakt med AWS-kontoteamet i din region og kom i gang med SageMaker.
Om forfatterne
Santosh Waddi er hovedingeniør hos BigBasket, og bringer over et tiår med ekspertise i å løse AI-utfordringer. Med en sterk bakgrunn innen datasyn, datavitenskap og dyp læring, har han en doktorgrad fra IIT Bombay. Santosh har skrevet bemerkelsesverdige IEEE-publikasjoner, og som en erfaren teknologibloggforfatter har han også gitt betydelige bidrag til utviklingen av datasynsløsninger i løpet av sin periode hos Samsung.
Nanda Kishore Thatikonda er en ingeniørsjef som leder datateknikk og analyse hos BigBasket. Nanda har bygget flere applikasjoner for deteksjon av anomalier og har innlevert et patent på et lignende sted. Han har jobbet med å bygge applikasjoner i bedriftsklasse, bygge dataplattformer i flere organisasjoner og rapporteringsplattformer for å strømlinjeforme beslutninger støttet av data. Nanda har over 18 års erfaring med Java/J2EE, Spring-teknologier og big data-rammeverk ved bruk av Hadoop og Apache Spark.
Sudhanshu hater er en rektor AI & ML-spesialist med AWS og jobber med klienter for å gi dem råd om deres MLOps og generative AI-reise. I sin forrige rolle konseptualiserte, skapte og ledet han team for å bygge en grunnleggende åpen kildekode-basert AI og gamification-plattform, og vellykket kommersialiserte den med over 100 kunder. Sudhanshu har til gode et par patenter; har skrevet 2 bøker, flere artikler og blogger; og har presentert sitt synspunkt i ulike fora. Han har vært en tankeleder og foredragsholder, og har vært i bransjen i nesten 25 år. Han har jobbet med Fortune 1000-kunder over hele verden og jobber sist med digitale innfødte kunder i India.
Ayush Kumar er løsningsarkitekt i AWS. Han jobber med et bredt utvalg av AWS-kunder, og hjelper dem å ta i bruk de nyeste moderne applikasjonene og innovere raskere med skybaserte teknologier. Du vil finne ham eksperimentere på kjøkkenet på fritiden.
- SEO-drevet innhold og PR-distribusjon. Bli forsterket i dag.
- PlatoData.Network Vertical Generative Ai. Styrk deg selv. Tilgang her.
- PlatoAiStream. Web3 Intelligence. Kunnskap forsterket. Tilgang her.
- PlatoESG. Karbon, CleanTech, Energi, Miljø, Solenergi, Avfallshåndtering. Tilgang her.
- PlatoHelse. Bioteknologisk og klinisk etterretning. Tilgang 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
- $OPP
- 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
- akselerert
- akselerer
- adgang
- Logg inn
- nøyaktighet
- Oppnå
- oppnår
- ervervet
- oppkjøp
- tvers
- tilpasse
- legge til
- la til
- legge
- Ytterligere
- adresse
- Legger
- adoptere
- råde
- Etter
- en gang til
- AI
- AI-drevet
- algoritmer
- tillater
- nesten
- også
- alternativer
- Amazon
- Amazon EC2
- Amazon RDS
- Amazon SageMaker
- Amazon Web Services
- an
- analytics
- og
- anomali påvisning
- noen
- Apache
- søknader
- tilnærming
- ca
- arkitektur
- ER
- rundt
- AS
- tildelt
- sortiment
- At
- augmented
- forfatter
- forfattet
- Automatisert
- automatisk
- Automatisering
- tilgjengelighet
- AWS
- tilbake
- Backed
- bakgrunn
- Bar
- BE
- fordi
- vært
- før du
- begynner
- være
- nytte
- Fordeler
- BEST
- mellom
- Stor
- Store data
- Blogg
- blogger
- bøker
- merker
- Bringer
- bredere
- bygge
- Bygning
- bygget
- virksomhet
- kjøpe
- by
- beregninger
- som heter
- kameraer
- CAN
- evner
- katalog
- imøtekomme
- catering
- viss
- utfordringer
- endring
- Endringer
- kanaler
- billigere
- Sjekk ut
- Byer
- klassifisering
- klienter
- Cluster
- CNN
- kode
- samle
- Collective
- Handel
- Kommunikasjon
- sammenlignet
- kompatibel
- fullføre
- Terminado
- Beregn
- datamaskin
- Datamaskin syn
- forhold
- tilkoblet
- Består
- består
- forbruker
- tidkrevende
- Container
- kontinuerlig
- kontinuerlig
- kontinuerlig
- bidragene
- bekvemmelighet
- Konvergens
- Kostnad
- kostbar
- Kostnader
- Motvirke
- tellere
- Par
- opprettet
- skaper
- kreditt
- Gjeldende
- skikk
- kunde
- kundeopplevelse
- Kunder
- Kutt
- syklus
- daglig
- dato
- data tilgang
- datavitenskap
- Database
- Dager
- tiår
- avgjørelser
- dyp
- dyp læring
- definert
- Grad
- levere
- leverer
- levering
- avhengig
- distribusjon
- beskrevet
- designet
- Gjenkjenning
- Utvikling
- diagram
- gJORDE
- forskjellig
- digitalt
- diskutere
- diskutert
- skille
- distribueres
- distribuert opplæring
- Divided
- Docker
- ned
- to
- under
- hver enkelt
- lett
- e-handel
- effektivitet
- effektiv
- eliminere
- aktivert
- muliggjør
- omfatte
- slutt
- ende til ende
- ingeniør
- Ingeniørarbeid
- forbedret
- enterprise-klasse
- Hele
- Miljø
- miljømessige
- feil
- anslått
- evaluere
- Hver
- alt
- eksisterende
- erfaring
- eksperimentere
- ekspertise
- vendt
- FAST
- raskt bevegelige
- raskere
- Trekk
- færre
- Figur
- arkivert
- slutt~~POS=TRUNC
- Endelig
- Finn
- Først
- fmcg
- fulgt
- etter
- mat
- Til
- Fortune
- fora
- Forward
- Rammeverk
- rammer
- Frekvens
- ofte
- friksjon
- fra
- Frontend
- i full skala
- fullt
- videre
- gamification
- generative
- Generativ AI
- få
- Global
- globus
- Go
- varer
- GPU
- GPU
- gradienter
- flott
- Vekst
- håndtere
- Ha
- he
- hode
- hjulpet
- hjelpe
- Høy
- høyt nivå
- høy ytelse
- ham
- hans
- holder
- Hvordan
- HTML
- http
- HTTPS
- menneskelig
- Hundrevis
- Identifikasjon
- IEEE
- if
- illustrerer
- bilde
- Bildeklassifisering
- bilder
- påvirket
- gjennomføring
- forbedre
- forbedret
- forbedrer
- in
- i butikken
- inkluderer
- Inkludert
- innlemme
- øker
- økende
- påløper
- india
- industri
- informasjon
- Infrastruktur
- innovere
- Innovasjon
- f.eks
- integrert
- Integrering
- inn
- introdusert
- Introduksjon
- saker
- IT
- varer
- køyring
- DET ER
- reise
- jpg
- Hold
- holde
- nøkkel
- Kumar
- stor
- største
- siste
- lag
- leder
- ledende
- læring
- Led
- Legacy
- bibliotekene
- Bibliotek
- i likhet med
- Lang
- lang tid
- taper
- maskin
- maskinlæring
- maskiner
- laget
- gjøre
- leder
- administrerende
- håndbok
- manuelt
- marked
- Minne
- Metrics
- migrasjon
- millioner
- ML
- MLOps
- modell
- modeller
- Moderne
- overvåking
- Måned
- månedlig
- måneder
- mer
- mest
- flytting
- mye
- flere
- innfødt
- nesten
- Trenger
- nødvendig
- behov
- nettverk
- nevrale
- nevrale nettverket
- Ny
- nytt produkt
- nye produkter
- neste
- node
- noder
- bemerkelsesverdig
- bærbare
- Antall
- objekt
- Målet
- of
- tilby
- tilby
- ofte
- on
- onboarding
- ONE
- på nett
- bare
- åpen
- åpen kildekode
- betjene
- drift
- drift
- operasjonell
- Drift
- optimalisert
- optimalisere
- or
- organisasjoner
- Annen
- vår
- ut
- enn
- samlet
- overhead
- oversikt
- Fred
- papirer
- Parallel
- parametere
- Partnerskap
- passere
- patent
- Patenter
- for
- ytelse
- fysisk
- brikke
- stykker
- pilot
- rørledning
- plattform
- Plattformer
- plato
- Platon Data Intelligence
- PlatonData
- Point
- Synspunkt
- Post
- videreutdanning
- makt
- Forbered
- presentert
- forrige
- Principal
- fortsetter
- prosess
- produsert
- Produkt
- Produktinformasjon
- Produksjon
- Produkter
- prosjekt
- lovet
- gi
- forutsatt
- gir
- publikasjoner
- Kjøp
- pytorch
- Rask
- område
- rekkene
- Sats
- å nå
- realisere
- nylig
- anerkjennelse
- anbefales
- redusere
- Redusert
- reduserer
- reduksjon
- region
- gjentatt
- svare
- Rapportering
- Krever
- resulterende
- detaljhandel
- Rolle
- Kjør
- rennende
- sagemaker
- samme
- Samsung
- Spar
- Skala
- skalering
- Vitenskap
- script
- sømløst
- erfaren
- sett
- serverer
- Tjenester
- sett
- sett
- oppsett
- flere
- Shopping
- stenger
- signifikant
- lignende
- Enkelt
- betydelig
- Størrelse
- liten
- løsning
- Solutions
- løse
- kilde
- Rom
- Spark
- Høyttaler
- spesialist
- spesielt
- fart
- vår
- startet
- Start
- Steps
- klistremerker
- lager
- lagring
- oppbevare
- lagret
- butikker
- effektivisere
- sterk
- studio
- abonnementer
- vellykket
- slik
- system
- tatt
- lag
- lag
- tech
- teknikker
- Technologies
- test
- enn
- Det
- De
- deres
- Dem
- deretter
- Der.
- Disse
- de
- tredjeparts
- denne
- trodde
- Gjennom
- gjennomstrømning
- tid
- ganger
- til
- tok
- Totalt
- byene
- tradisjonelle
- Tog
- Kurs
- overføre
- forvandlet
- prøvd
- melodi
- tuning
- to
- typer
- unikt
- lomper
- us
- bruke
- brukt
- bruker
- ved hjelp av
- validering
- variasjon
- ulike
- veldig
- Se
- syn
- vs
- ønsket
- ønsker
- var
- Vei..
- we
- web
- webtjenester
- veiing
- vekt
- var
- hvilken
- mens
- hele
- bred
- vinne
- med
- innenfor
- arbeidet
- arbeidstaker
- arbeidere
- arbeid
- virker
- skriving
- skrevet
- år
- Du
- Din
- zephyrnet
- sonen