Postingan ini ditulis bersama Santosh Waddi dan Nanda Kishore Thatikonda dari BigBasket.
Keranjang Besar adalah toko makanan dan bahan makanan online terbesar di India. Mereka beroperasi di berbagai saluran e-niaga seperti perdagangan cepat, pengiriman slot, dan langganan harian. Anda juga dapat membeli dari toko fisik dan mesin penjual otomatis mereka. Mereka menawarkan lebih dari 50,000 produk di 1,000 merek, dan beroperasi di lebih dari 500 kota besar dan kecil. BigBasket melayani lebih dari 10 juta pelanggan.
Pada postingan kali ini, kita membahas bagaimana BigBasket digunakan Amazon SageMaker untuk melatih model visi komputer mereka untuk identifikasi produk Fast-Moving Consumer Goods (FMCG), yang membantu mereka mengurangi waktu pelatihan sekitar 50% dan menghemat biaya sebesar 20%.
Tantangan pelanggan
Saat ini, sebagian besar supermarket dan toko fisik di India menyediakan pembayaran manual di konter pembayaran. Ini memiliki dua masalah:
- Hal ini memerlukan tenaga kerja tambahan, stiker pemberat, dan pelatihan berulang untuk tim operasional di dalam toko seiring dengan peningkatan skala.
- Di sebagian besar toko, konter pembayaran berbeda dengan konter penimbangan, sehingga menambah kerumitan dalam perjalanan pembelian pelanggan. Pelanggan sering kali kehilangan stiker beratnya dan harus kembali ke konter penimbangan untuk mengambilnya lagi sebelum melanjutkan proses pembayaran.
Proses pembayaran mandiri
BigBasket memperkenalkan sistem pembayaran bertenaga AI di toko fisik mereka yang menggunakan kamera untuk membedakan item secara unik. Gambar berikut memberikan ikhtisar proses checkout.
Tim BigBasket menjalankan algoritme ML internal dan open source untuk pengenalan objek visi komputer guna mendukung pembayaran berkemampuan AI di kantor mereka. segar toko (fisik). Kami menghadapi tantangan berikut untuk mengoperasikan pengaturan yang ada:
- Dengan diperkenalkannya produk baru secara terus-menerus, model visi komputer perlu terus memasukkan informasi produk baru. Sistem ini perlu menangani katalog besar yang berisi lebih dari 12,000 Stock Keeping Unit (SKU), dan SKU baru terus ditambahkan dengan kecepatan lebih dari 600 per bulan.
- Untuk mengimbangi produk baru, model baru diproduksi setiap bulan menggunakan data pelatihan terbaru. Melatih model secara berkala agar dapat beradaptasi dengan produk baru memerlukan biaya dan waktu yang lama.
- BigBasket juga ingin mengurangi waktu siklus pelatihan untuk meningkatkan waktu pemasaran. Karena peningkatan SKU, waktu yang dibutuhkan model meningkat secara linier, yang berdampak pada waktu pemasarannya karena frekuensi pelatihannya sangat tinggi dan memakan waktu lama.
- Augmentasi data untuk pelatihan model dan pengelolaan siklus pelatihan end-to-end yang lengkap secara manual menambah overhead yang signifikan. BigBasket menjalankan ini pada platform pihak ketiga, yang menimbulkan biaya besar.
Ikhtisar solusi
Kami merekomendasikan agar BigBasket merancang ulang solusi deteksi dan klasifikasi produk FMCG yang ada menggunakan SageMaker untuk mengatasi tantangan ini. Sebelum beralih ke produksi skala penuh, BigBasket mencoba uji coba SageMaker untuk mengevaluasi metrik kinerja, biaya, dan kenyamanan.
Tujuan mereka adalah menyempurnakan model pembelajaran mesin computer vision (ML) yang ada untuk deteksi SKU. Kami menggunakan arsitektur jaringan saraf konvolusional (CNN) dengan ResNet152 untuk klasifikasi gambar. Kumpulan data yang cukup besar diperkirakan berjumlah sekitar 300 gambar per SKU untuk pelatihan model, sehingga menghasilkan total lebih dari 4 juta gambar pelatihan. Untuk SKU tertentu, kami menambah data untuk mencakup kondisi lingkungan yang lebih luas.
Diagram berikut menggambarkan arsitektur solusi.
Proses lengkapnya dapat diringkas menjadi langkah-langkah tingkat tinggi berikut:
- Lakukan pembersihan data, anotasi, dan augmentasi.
- Menyimpan data dalam sebuah Layanan Penyimpanan Sederhana Amazon (Amazon S3).
- Gunakan SageMaker dan Amazon FSx untuk Lustre untuk augmentasi data yang efisien.
- Pisahkan data menjadi set pelatihan, validasi, dan pengujian. Kami menggunakan FSx untuk Lustre dan Layanan Database Relasional Amazon (Amazon RDS) untuk akses data paralel yang cepat.
- Gunakan adat PyTorch Wadah Docker termasuk perpustakaan sumber terbuka lainnya.
- penggunaan Paralelisme Data Terdistribusi SageMaker (SMDDP) untuk pelatihan terdistribusi yang dipercepat.
- Metrik pelatihan model log.
- Salin model akhir ke bucket S3.
Keranjang Besar digunakan Buku catatan SageMaker untuk melatih model ML mereka dan dapat dengan mudah mem-porting PyTorch open source yang ada dan dependensi open source lainnya ke container SageMaker PyTorch dan menjalankan pipeline dengan lancar. Ini adalah manfaat pertama yang dilihat oleh tim BigBasket, karena hampir tidak ada perubahan apa pun yang diperlukan pada kode agar kompatibel untuk dijalankan di lingkungan SageMaker.
Jaringan model terdiri dari arsitektur ResNet 152 diikuti oleh lapisan yang terhubung sepenuhnya. Kami membekukan lapisan fitur tingkat rendah dan mempertahankan bobot yang diperoleh melalui pembelajaran transfer dari model ImageNet. Total parameter model adalah 66 juta, terdiri dari 23 juta parameter yang dapat dilatih. Pendekatan berbasis pembelajaran transfer ini membantu mereka menggunakan lebih sedikit gambar pada saat pelatihan, dan juga memungkinkan konvergensi lebih cepat dan mengurangi total waktu pelatihan.
Membangun dan melatih model di dalamnya Studio Amazon SageMaker menyediakan lingkungan pengembangan terintegrasi (IDE) dengan semua yang diperlukan untuk mempersiapkan, membangun, melatih, dan menyempurnakan model. Menambah data pelatihan menggunakan teknik seperti memotong, memutar, dan membalik gambar membantu meningkatkan data pelatihan model dan akurasi model.
Pelatihan model dipercepat sebesar 50% melalui penggunaan perpustakaan SMDDP, yang mencakup algoritme komunikasi optimal yang dirancang khusus untuk infrastruktur AWS. Untuk meningkatkan performa baca/tulis data selama pelatihan model dan augmentasi data, kami menggunakan FSx for Lustre untuk throughput performa tinggi.
Ukuran data pelatihan awal mereka lebih dari 1.5 TB. Kami menggunakan dua Cloud komputasi elastis Amazon (Amazon EC2) p4d.24 contoh besar dengan 8 GPU dan memori GPU 40 GB. Untuk pelatihan terdistribusi SageMaker, instansnya harus berada di Wilayah AWS dan Availability Zone yang sama. Selain itu, data pelatihan yang disimpan dalam bucket S3 harus berada di Availability Zone yang sama. Arsitektur ini juga memungkinkan BigBasket untuk mengubah jenis instans lain atau menambahkan lebih banyak instans ke arsitektur saat ini untuk memenuhi pertumbuhan data yang signifikan atau mencapai pengurangan waktu pelatihan lebih lanjut.
Bagaimana perpustakaan SMDDP membantu mengurangi waktu, biaya, dan kompleksitas pelatihan
Dalam pelatihan data terdistribusi tradisional, kerangka pelatihan menetapkan peringkat ke GPU (pekerja) dan membuat replika model Anda di setiap GPU. Selama setiap iterasi pelatihan, kumpulan data global dibagi menjadi beberapa bagian (pecahan batch) dan satu bagian didistribusikan ke setiap pekerja. Setiap pekerja kemudian melanjutkan dengan jalur maju dan mundur yang ditentukan dalam skrip pelatihan Anda di setiap GPU. Terakhir, bobot model dan gradien dari replika model yang berbeda disinkronkan pada akhir iterasi melalui operasi komunikasi kolektif yang disebut AllReduce. Setelah setiap pekerja dan GPU memiliki replika model yang disinkronkan, iterasi berikutnya dimulai.
Pustaka SMDDP adalah pustaka komunikasi kolektif yang meningkatkan kinerja proses pelatihan paralel data terdistribusi ini. Pustaka SMDDP mengurangi overhead komunikasi dari operasi komunikasi kolektif utama seperti AllReduce. Penerapan AllReduce dirancang untuk infrastruktur AWS dan dapat mempercepat pelatihan dengan tumpang tindih operasi AllReduce dengan backward pass. Pendekatan ini mencapai efisiensi penskalaan mendekati linier dan kecepatan pelatihan lebih cepat dengan mengoptimalkan operasi kernel antara CPU dan GPU.
Perhatikan perhitungan berikut:
- Ukuran batch global adalah (jumlah node dalam sebuah cluster) * (jumlah GPU per node) * (per batch shard)
- Pecahan batch (batch kecil) adalah subset dari kumpulan data yang ditetapkan ke setiap GPU (pekerja) per iterasi
BigBasket menggunakan perpustakaan SMDDP untuk mengurangi waktu pelatihan mereka secara keseluruhan. Dengan FSx for Lustre, kami mengurangi throughput baca/tulis data selama pelatihan model dan augmentasi data. Dengan paralelisme data, BigBasket mampu mencapai pelatihan hampir 50% lebih cepat dan 20% lebih murah dibandingkan alternatif lain, sehingga memberikan kinerja terbaik di AWS. SageMaker secara otomatis mematikan alur pelatihan setelah penyelesaian. Proyek ini berhasil diselesaikan dengan waktu pelatihan 50% lebih cepat di AWS (4.5 hari di AWS vs. 9 hari di platform lama mereka).
Pada saat tulisan ini ditulis, BigBasket telah menjalankan solusi lengkap dalam produksi selama lebih dari 6 bulan dan meningkatkan sistem dengan melayani kota-kota baru, dan kami menambah toko baru setiap bulan.
โKemitraan kami dengan AWS dalam migrasi ke pelatihan terdistribusi menggunakan penawaran SMDDP mereka merupakan kemenangan besar. Tidak hanya mengurangi waktu pelatihan kami sebesar 50%, tetapi juga lebih murah 20%. Dalam keseluruhan kemitraan kami, AWS telah menetapkan standar dalam obsesi pelanggan dan memberikan hasilโbekerja bersama kami sepenuhnya untuk mewujudkan manfaat yang dijanjikan.โ
โ Keshav Kumar, Kepala Teknik di BigBasket.
Kesimpulan
Dalam postingan ini, kami membahas bagaimana BigBasket menggunakan SageMaker untuk melatih model visi komputer mereka untuk identifikasi produk FMCG. Penerapan sistem pembayaran mandiri otomatis yang didukung AI menghadirkan pengalaman pelanggan ritel yang lebih baik melalui inovasi, sekaligus menghilangkan kesalahan manusia dalam proses pembayaran. Mempercepat orientasi produk baru dengan menggunakan pelatihan terdistribusi SageMaker mengurangi waktu dan biaya orientasi SKU. Mengintegrasikan FSx for Lustre memungkinkan akses data paralel yang cepat untuk pelatihan ulang model yang efisien dengan ratusan SKU baru setiap bulannya. Secara keseluruhan, solusi pembayaran mandiri berbasis AI ini memberikan pengalaman berbelanja yang lebih baik tanpa kesalahan pembayaran frontend. Otomatisasi dan inovasi telah mengubah operasi pembayaran dan orientasi ritel mereka.
SageMaker menyediakan kemampuan pengembangan, penerapan, dan pemantauan ML menyeluruh seperti lingkungan notebook SageMaker Studio untuk menulis kode, akuisisi data, penandaan data, pelatihan model, penyetelan model, penerapan, pemantauan, dan banyak lagi. Jika bisnis Anda menghadapi salah satu tantangan yang dijelaskan dalam postingan ini dan ingin menghemat waktu untuk memasarkan dan meningkatkan biaya, hubungi tim akun AWS di Wilayah Anda dan mulai menggunakan SageMaker.
Tentang Penulis
Santosh Waddi adalah Insinyur Utama di BigBasket, yang memiliki keahlian selama lebih dari satu dekade dalam memecahkan tantangan AI. Dengan latar belakang yang kuat dalam visi komputer, ilmu data, dan pembelajaran mendalam, ia meraih gelar pascasarjana dari IIT Bombay. Santosh telah menulis publikasi IEEE yang terkenal dan, sebagai penulis blog teknologi berpengalaman, dia juga telah memberikan kontribusi yang signifikan terhadap pengembangan solusi visi komputer selama masa jabatannya di Samsung.
Nanda Kishore Thatikonda adalah Manajer Teknik yang memimpin Rekayasa Data dan Analisis di BigBasket. Nanda telah membangun banyak aplikasi untuk deteksi anomali dan memiliki paten yang diajukan di bidang serupa. Dia telah bekerja dalam membangun aplikasi tingkat perusahaan, membangun platform data di berbagai organisasi, dan platform pelaporan untuk menyederhanakan keputusan yang didukung oleh data. Nanda memiliki pengalaman lebih dari 18 tahun bekerja di Java/J2EE, teknologi Spring, dan kerangka data besar menggunakan Hadoop dan Apache Spark.
Sudhanshu Benci adalah Spesialis AI & ML Utama di AWS dan bekerja dengan klien untuk memberi saran tentang perjalanan MLOps dan AI generatif mereka. Dalam peran sebelumnya, ia membuat konsep, membuat, dan memimpin tim untuk membangun platform AI dan gamifikasi berbasis sumber terbuka, dan berhasil mengkomersialkannya dengan lebih dari 100 klien. Sudhanshu memiliki beberapa hak paten; telah menulis 2 buku, beberapa makalah, dan blog; dan telah menyampaikan pandangannya di berbagai forum. Dia telah menjadi pemimpin pemikiran dan pembicara, dan telah berkecimpung dalam industri ini selama hampir 25 tahun. Dia telah bekerja dengan klien Fortune 1000 di seluruh dunia dan yang terbaru bekerja dengan klien asli digital di India.
Ayush Kumar adalah Arsitek Solusi di AWS. Dia bekerja dengan berbagai macam pelanggan AWS, membantu mereka mengadopsi aplikasi modern terkini dan berinovasi lebih cepat dengan teknologi cloud-native. Anda akan menemukannya bereksperimen di dapur di waktu luangnya.
- Konten Bertenaga SEO & Distribusi PR. Dapatkan Amplifikasi Hari Ini.
- PlatoData.Jaringan Vertikal Generatif Ai. Berdayakan Diri Anda. Akses Di Sini.
- PlatoAiStream. Intelijen Web3. Pengetahuan Diperkuat. Akses Di Sini.
- PlatoESG. Karbon, teknologi bersih, energi, Lingkungan Hidup, Tenaga surya, Penanganan limbah. Akses Di Sini.
- PlatoHealth. Kecerdasan Uji Coba Biotek dan Klinis. Akses Di Sini.
- Sumber: https://aws.amazon.com/blogs/machine-learning/how-bigbasket-improved-ai-enabled-checkout-at-their-physical-stores-using-amazon-sagemaker/
- :memiliki
- :adalah
- :bukan
- $ 10 juta
- $NAIK
- 000
- 1
- 10
- 100
- 12
- 120
- 13
- 152
- 23
- 24
- 25
- 300
- 40
- 50
- 500
- 600
- 66
- 7
- 8
- 80
- 9
- 98
- a
- Sanggup
- dipercepat
- mempercepat
- mengakses
- Akun
- ketepatan
- Mencapai
- Mencapai
- diperoleh
- perolehan
- di seluruh
- menyesuaikan
- menambahkan
- menambahkan
- menambahkan
- Tambahan
- alamat
- Menambahkan
- mengambil
- menasihati
- Setelah
- lagi
- AI
- Bertenaga AI
- algoritma
- memungkinkan
- hampir
- juga
- alternatif
- Amazon
- Amazon EC2
- Amazon RDS
- Amazon SageMaker
- Amazon Web Services
- an
- analisis
- dan
- deteksi anomali
- Apa pun
- Apache
- aplikasi
- pendekatan
- sekitar
- arsitektur
- ADALAH
- sekitar
- AS
- ditugaskan
- bermacam-macam
- At
- ditambah
- penulis
- Authored
- Otomatis
- secara otomatis
- Otomatisasi
- tersedianya
- AWS
- kembali
- bersandaran
- latar belakang
- bar
- BE
- karena
- menjadi
- sebelum
- dimulai
- makhluk
- manfaat
- Manfaat
- TERBAIK
- antara
- Besar
- Big data
- Blog
- blog
- Buku-buku
- merek
- Membawa
- lebih luas
- membangun
- Bangunan
- dibangun di
- bisnis
- membeli
- by
- perhitungan
- bernama
- kamera
- CAN
- kemampuan
- katalog
- melayani
- katering
- tertentu
- tantangan
- perubahan
- Perubahan
- saluran
- murah
- Pembayaran
- kota
- klasifikasi
- klien
- Kelompok
- CNN
- kode
- mengumpulkan
- Kolektif
- Perdagangan
- Komunikasi
- dibandingkan
- cocok
- lengkap
- Lengkap
- menghitung
- komputer
- Visi Komputer
- Kondisi
- terhubung
- Terdiri dari
- terdiri
- konsumen
- memakan
- Wadah
- terus-menerus
- kontinu
- terus menerus
- kontribusi
- kenyamanan
- Konvergensi
- Biaya
- mahal
- Biaya
- Melawan
- counter
- sepasang
- dibuat
- menciptakan
- kredit
- terbaru
- adat
- pelanggan
- pengalaman pelanggan
- pelanggan
- Memotong
- siklus
- harian
- data
- akses data
- ilmu data
- Basis Data
- Hari
- dasawarsa
- keputusan
- mendalam
- belajar mendalam
- didefinisikan
- Derajat
- mengantarkan
- memberikan
- pengiriman
- ketergantungan
- penyebaran
- dijelaskan
- dirancang
- Deteksi
- Pengembangan
- diagram
- MELAKUKAN
- berbeda
- digital
- membahas
- dibahas
- membedakan
- didistribusikan
- pelatihan terdistribusi
- Terbagi
- Buruh pelabuhan
- turun
- dua
- selama
- setiap
- mudah
- e-commerce
- efisiensi
- efisien
- menghilangkan
- diaktifkan
- memungkinkan
- mencakup
- akhir
- ujung ke ujung
- insinyur
- Teknik
- ditingkatkan
- kelas perusahaan
- Seluruh
- Lingkungan Hidup
- lingkungan
- kesalahan
- diperkirakan
- mengevaluasi
- Setiap
- segala sesuatu
- ada
- pengalaman
- bereksperimen
- keahlian
- menghadapi
- FAST
- bergerak cepat
- lebih cepat
- Fitur
- sedikit
- Angka
- mengajukan
- terakhir
- Akhirnya
- Menemukan
- Pertama
- fmcg
- diikuti
- berikut
- makanan
- Untuk
- Nasib
- forum
- Depan
- Kerangka
- kerangka
- Frekuensi
- sering
- gesekan
- dari
- Frontend
- skala penuh
- sepenuhnya
- lebih lanjut
- gamifikasi
- generatif
- AI generatif
- mendapatkan
- Aksi
- bumi
- Go
- barang
- GPU
- GPU
- gradien
- besar
- Pertumbuhan
- menangani
- Memiliki
- he
- kepala
- membantu
- membantu
- High
- tingkat tinggi
- kinerja tinggi
- dia
- -nya
- memegang
- Seterpercayaapakah Olymp Trade? Kesimpulan
- HTML
- http
- HTTPS
- manusia
- Ratusan
- Identifikasi
- IEEE
- if
- menggambarkan
- gambar
- Klasifikasi gambar
- gambar
- dampak
- implementasi
- memperbaiki
- ditingkatkan
- meningkatkan
- in
- di toko
- termasuk
- Termasuk
- menggabungkan
- Meningkatkan
- meningkatkan
- terjadi
- India
- industri
- informasi
- Infrastruktur
- berinovasi
- Innovation
- contoh
- terpadu
- Mengintegrasikan
- ke
- diperkenalkan
- Pengantar
- masalah
- IT
- item
- perulangan
- NYA
- perjalanan
- jpg
- Menjaga
- pemeliharaan
- kunci
- kumar
- besar
- terbesar
- Terbaru
- lapisan
- pemimpin
- terkemuka
- pengetahuan
- Dipimpin
- Warisan
- perpustakaan
- Perpustakaan
- 'like'
- Panjang
- lama
- kehilangan
- mesin
- Mesin belajar
- Mesin
- terbuat
- membuat
- manajer
- pelaksana
- panduan
- manual
- Pasar
- Memori
- Metrik
- migrasi
- juta
- ML
- MLOps
- model
- model
- modern
- pemantauan
- Bulan
- bulanan
- bulan
- lebih
- paling
- bergerak
- banyak
- beberapa
- asli
- hampir
- Perlu
- dibutuhkan
- kebutuhan
- jaringan
- saraf
- saraf jaringan
- New
- produk baru
- produk baru
- berikutnya
- simpul
- node
- penting
- buku catatan
- jumlah
- obyek
- tujuan
- of
- menawarkan
- menawarkan
- sering
- on
- Onboarding
- ONE
- secara online
- hanya
- Buka
- open source
- beroperasi
- operasi
- operasi
- operasional
- Operasi
- dioptimalkan
- mengoptimalkan
- or
- organisasi
- Lainnya
- kami
- di luar
- lebih
- secara keseluruhan
- atas
- ikhtisar
- Perdamaian
- dokumen
- Paralel
- parameter
- Kemitraan
- lulus
- paten
- Paten
- untuk
- prestasi
- fisik
- bagian
- potongan-potongan
- pilot
- pipa saluran
- Platform
- Platform
- plato
- Kecerdasan Data Plato
- Data Plato
- Titik
- Sudut pandang
- Pos
- pascasarjana
- kekuasaan
- Mempersiapkan
- disajikan
- sebelumnya
- Utama
- hasil
- proses
- Diproduksi
- Produk
- Informasi produk
- Produksi
- Produk
- proyek
- dijanjikan
- memberikan
- disediakan
- menyediakan
- publikasi
- membeli
- pytorch
- Cepat
- jarak
- jajaran
- Penilaian
- mencapai
- menyadari
- baru-baru ini
- pengakuan
- direkomendasikan
- menurunkan
- mengurangi
- mengurangi
- pengurangan
- wilayah
- ulang
- menjawab
- Pelaporan
- membutuhkan
- dihasilkan
- eceran
- Peran
- Run
- berjalan
- pembuat bijak
- sama
- Samsung
- Save
- Skala
- skala
- Ilmu
- naskah
- mulus
- berpengalaman
- terlihat
- melayani
- Layanan
- set
- set
- penyiapan
- beberapa
- tas
- Tutup
- penting
- mirip
- Sederhana
- cukup besar
- Ukuran
- kecil
- larutan
- Solusi
- Memecahkan
- sumber
- Space
- percikan
- Pembicara
- spesialis
- Secara khusus
- kecepatan
- musim semi
- mulai
- Mulai
- Tangga
- stiker
- saham
- penyimpanan
- menyimpan
- tersimpan
- toko
- mempersingkat
- kuat
- studio
- langganan
- berhasil
- seperti itu
- sistem
- diambil
- tim
- tim
- tech
- teknik
- Teknologi
- uji
- dari
- bahwa
- Grafik
- mereka
- Mereka
- kemudian
- Sana.
- Ini
- mereka
- pihak ketiga
- ini
- pikir
- Melalui
- keluaran
- waktu
- kali
- untuk
- mengambil
- Total
- kota-kota
- tradisional
- Pelatihan VE
- Pelatihan
- transfer
- berubah
- mencoba
- lagu
- menyetel
- dua
- jenis
- unik
- unit
- us
- menggunakan
- bekas
- kegunaan
- menggunakan
- pengesahan
- variasi
- berbagai
- sangat
- View
- penglihatan
- vs
- ingin
- ingin
- adalah
- Cara..
- we
- jaringan
- layanan web
- berat
- berat
- adalah
- yang
- sementara
- seluruh
- lebar
- menang
- dengan
- dalam
- bekerja
- pekerja
- pekerja
- kerja
- bekerja
- penulisan
- tertulis
- tahun
- Kamu
- Anda
- zephyrnet.dll
- daerah