هوش داده های تولیدی

چگونه BigBasket با استفاده از Amazon SageMaker پرداخت با هوش مصنوعی را در فروشگاه های فیزیکی خود بهبود بخشید | خدمات وب آمازون

تاریخ:

این پست با سانتوش وادی و ناندا کیشور تاتیکوندا از BigBasket نوشته شده است.

BigBasket بزرگترین فروشگاه آنلاین غذا و خواربار فروشی هند است. آنها در چندین کانال تجارت الکترونیک مانند تجارت سریع، تحویل با شکاف و اشتراک روزانه فعالیت می کنند. همچنین می‌توانید از فروشگاه‌های فیزیکی و ماشین‌های فروش آن‌ها خرید کنید. آنها مجموعه وسیعی از بیش از 50,000 محصول را در 1,000 برند ارائه می دهند و در بیش از 500 شهر و شهرستان در حال فعالیت هستند. BigBasket به بیش از 10 میلیون مشتری خدمات ارائه می دهد.

در این پست به نحوه استفاده از BigBasket می پردازیم آمازون SageMaker برای آموزش مدل بینایی کامپیوتری خود برای شناسایی محصول کالاهای مصرفی متحرک سریع (FMCG)، که به آنها کمک کرد زمان آموزش را تقریباً 50٪ کاهش دهند و هزینه ها را تا 20٪ کاهش دهند.

چالش های مشتری

امروزه، اکثر سوپرمارکت ها و فروشگاه های فیزیکی در هند تسویه حساب دستی را در پیشخوان صندوق ارائه می کنند. این دو مسئله دارد:

  • این کار به نیروی انسانی اضافی، برچسب وزن و آموزش مکرر برای تیم عملیاتی در فروشگاه در حین افزایش نیاز دارد.
  • در اکثر فروشگاه ها، پیشخوان باجه با توزین متفاوت است که بر اصطکاک در سفر خرید مشتری می افزاید. مشتریان اغلب برچسب وزن را گم می کنند و مجبورند قبل از ادامه روند پرداخت، دوباره به باجه های وزن برگردند تا دوباره آن را جمع کنند.

فرآیند خود پرداخت

BigBasket یک سیستم پرداخت مبتنی بر هوش مصنوعی را در فروشگاه های فیزیکی خود معرفی کرد که از دوربین ها برای تشخیص منحصر به فرد اقلام استفاده می کند. شکل زیر یک نمای کلی از فرآیند پرداخت را نشان می دهد.

خود پرداز

تیم BigBasket در حال اجرای الگوریتم‌های متن‌باز و داخلی ML برای تشخیص اشیاء بینایی کامپیوتری بود تا تسویه‌حساب‌های مجهز به هوش مصنوعی را در محل خود تأمین کند. تازه فروشگاه های (فیزیکی). ما برای اجرای تنظیمات موجود آنها با چالش های زیر روبرو بودیم:

  • با معرفی مداوم محصولات جدید، مدل بینایی کامپیوتری نیاز به ترکیب مداوم اطلاعات محصول جدید داشت. این سیستم نیاز به مدیریت کاتالوگ بزرگی از بیش از 12,000 واحد انبارداری (SKU) داشت، با SKUهای جدید که به طور مداوم با نرخ بیش از 600 واحد در ماه اضافه می شد.
  • برای همگام شدن با محصولات جدید، هر ماه یک مدل جدید با استفاده از آخرین داده های آموزشی تولید می شد. آموزش مکرر مدل ها برای انطباق با محصولات جدید پرهزینه و زمان بر بود.
  • BigBasket همچنین می خواست زمان چرخه آموزش را کاهش دهد تا زمان ورود به بازار را بهبود بخشد. با توجه به افزایش SKUها، زمان صرف شده توسط این مدل به صورت خطی افزایش می‌یابد، که بر زمان ورود آن‌ها به بازار تأثیر می‌گذارد زیرا فرکانس آموزش بسیار بالا بوده و زمان زیادی می‌برد.
  • افزایش داده‌ها برای آموزش مدل و مدیریت دستی چرخه کامل آموزش سرتاسر، سربار قابل‌توجهی را اضافه می‌کرد. BigBasket این را روی یک پلتفرم شخص ثالث اجرا می کرد که هزینه های قابل توجهی را متحمل شد.

بررسی اجمالی راه حل

ما توصیه کردیم که BigBasket راه حل تشخیص و طبقه بندی محصول FMCG موجود خود را با استفاده از SageMaker برای رسیدگی به این چالش ها بازسازی کند. قبل از انتقال به تولید در مقیاس کامل، BigBasket آزمایشی را در SageMaker برای ارزیابی عملکرد، هزینه و معیارهای راحتی امتحان کرد.

هدف آنها تنظیم دقیق مدل یادگیری ماشین بینایی رایانه ای (ML) برای تشخیص SKU بود. ما از یک معماری شبکه عصبی کانولوشن (CNN) استفاده کردیم ResNet152 برای طبقه بندی تصاویر مجموعه داده قابل توجهی از حدود 300 تصویر در هر SKU برای آموزش مدل تخمین زده شد که منجر به بیش از 4 میلیون تصویر آموزشی در کل شد. برای SKU های خاص، ما داده ها را برای در بر گرفتن طیف وسیع تری از شرایط محیطی افزایش دادیم.

نمودار زیر معماری راه حل را نشان می دهد.

معماری

فرآیند کامل را می توان در مراحل سطح بالا زیر خلاصه کرد:

  1. پاکسازی، حاشیه نویسی و تقویت داده ها را انجام دهید.
  2. ذخیره داده ها در یک سرویس ذخیره سازی ساده آمازون سطل (Amazon S3).
  3. از SageMaker و آمازون FSx برای Luster برای افزایش کارآمد داده ها
  4. داده ها را به مجموعه های قطار، اعتبار سنجی و آزمایش تقسیم کنید. ما از FSx برای Luster و استفاده کردیم سرویس پایگاه داده رابطه آمازون (آمازون RDS) برای دسترسی سریع به داده های موازی.
  5. از یک سفارشی استفاده کنید PyTorch ظرف داکر شامل سایر کتابخانه های منبع باز.
  6. استفاده کنید SageMaker موازی سازی داده های توزیع شده (SMDDP) برای آموزش پرسرعت توزیع شده.
  7. معیارهای آموزش مدل لاگ.
  8. مدل نهایی را در یک سطل S3 کپی کنید.

BigBasket استفاده شده است نوت بوک SageMaker برای آموزش مدل‌های ML خود و قادر بودند به راحتی PyTorch منبع باز موجود خود و سایر وابستگی‌های منبع باز خود را به یک کانتینر SageMaker PyTorch منتقل کنند و خط لوله را یکپارچه اجرا کنند. این اولین مزیتی بود که تیم BigBasket مشاهده کرد، زیرا به سختی نیاز به تغییری در کد وجود داشت تا آن را برای اجرا در محیط SageMaker سازگار کند.

شبکه مدل متشکل از یک معماری ResNet 152 به دنبال لایه های کاملاً متصل است. ما لایه‌های ویژگی سطح پایین را منجمد کردیم و وزن‌های به دست آمده از طریق یادگیری انتقال از مدل ImageNet را حفظ کردیم. کل پارامترهای مدل 66 میلیون، شامل 23 میلیون پارامتر قابل آموزش بود. این رویکرد مبتنی بر یادگیری انتقالی به آنها کمک کرد تا از تصاویر کمتری در زمان آموزش استفاده کنند و همچنین همگرایی سریع‌تر را فعال کرده و زمان کل آموزش را کاهش داد.

ساخت و آموزش مدل در داخل Amazon SageMaker Studio یک محیط توسعه یکپارچه (IDE) با همه چیز مورد نیاز برای آماده سازی، ساخت، آموزش و تنظیم مدل ها فراهم کرد. افزایش داده‌های آموزشی با استفاده از تکنیک‌هایی مانند برش، چرخش و چرخش تصاویر به بهبود داده‌های آموزشی مدل و دقت مدل کمک کرد.

آموزش مدل با استفاده از کتابخانه SMDDP، که شامل الگوریتم‌های ارتباطی بهینه‌شده است که به‌طور خاص برای زیرساخت AWS طراحی شده‌اند، 50 درصد تسریع شد. برای بهبود عملکرد خواندن/نوشتن داده ها در طول آموزش مدل و تقویت داده، از FSx برای Luster برای توان عملیاتی بالا استفاده کردیم.

اندازه داده های آموزشی اولیه آنها بیش از 1.5 ترابایت بود. ما از دو تا استفاده کردیم ابر محاسبه الاستیک آمازون (Amazon EC2) p4d.24 نمونه بزرگ با 8 پردازنده گرافیکی و 40 گیگابایت حافظه گرافیکی. برای آموزش توزیع شده SageMaker، نمونه ها باید در همان منطقه AWS و منطقه دسترسی باشند. همچنین، داده های آموزشی ذخیره شده در یک سطل S3 باید در همان منطقه دسترسی باشد. این معماری همچنین به BigBasket اجازه می‌دهد تا به انواع نمونه‌های دیگر تغییر کند یا نمونه‌های بیشتری را به معماری فعلی اضافه کند تا رشد قابل توجه داده‌ها را برآورده کند یا به کاهش بیشتر در زمان آموزش دست یابد.

چگونه کتابخانه SMDDP به کاهش زمان، هزینه و پیچیدگی آموزش کمک کرد

در آموزش سنتی داده های توزیع شده، چارچوب آموزشی رتبه هایی را به GPU ها (کارگران) اختصاص می دهد و یک کپی از مدل شما در هر GPU ایجاد می کند. در طول هر تکرار آموزشی، دسته داده های جهانی به قطعات (تکه های دسته ای) تقسیم می شود و یک قطعه برای هر کارگر توزیع می شود. سپس هر کارگر با پاس رو به جلو و عقب تعریف شده در اسکریپت آموزشی شما در هر GPU ادامه می دهد. در نهایت، وزن‌ها و گرادیان‌های مدل از کپی‌های مدل مختلف در پایان تکرار از طریق یک عملیات ارتباط جمعی به نام AllReduce همگام‌سازی می‌شوند. پس از اینکه هر کارگر و GPU یک نسخه همگام‌سازی شده از مدل داشتند، تکرار بعدی شروع می‌شود.

کتابخانه SMDDP یک کتابخانه ارتباطی جمعی است که عملکرد این فرآیند آموزش موازی داده های توزیع شده را بهبود می بخشد. کتابخانه SMDDP هزینه های ارتباطی عملیات کلیدی ارتباط جمعی مانند AllReduce را کاهش می دهد. اجرای AllReduce آن برای زیرساخت AWS طراحی شده است و می تواند آموزش را با همپوشانی عملیات AllReduce با پاس به عقب افزایش دهد. این رویکرد با بهینه‌سازی عملیات هسته بین CPU و GPU، کارایی مقیاس‌بندی تقریباً خطی و سرعت آموزش سریع‌تر را به دست می‌آورد.

به محاسبات زیر توجه کنید:

  • اندازه دسته جهانی (تعداد گره ها در یک خوشه) * (تعداد GPU در هر گره) * (در هر قطعه دسته) است.
  • یک دسته کوچک (گروه کوچک) زیرمجموعه ای از مجموعه داده اختصاص داده شده به هر 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 for Luster دسترسی سریع به داده های موازی را برای آموزش مجدد مدل کارآمد با صدها SKU جدید ماهانه امکان پذیر می کند. به طور کلی، این راه‌حل پرداخت خودکار مبتنی بر هوش مصنوعی، تجربه خریدی پیشرفته‌تری را بدون خطاهای پرداخت جلویی ارائه می‌دهد. اتوماسیون و نوآوری، عملیات پرداخت خرده‌فروشی و ورود به هواپیما را متحول کرده است.

SageMaker قابلیت‌های توسعه، استقرار و نظارت سرتاسر ML مانند محیط نوت بوک SageMaker Studio را برای نوشتن کد، جمع‌آوری داده، برچسب‌گذاری داده‌ها، آموزش مدل، تنظیم مدل، استقرار، نظارت و بسیاری موارد دیگر ارائه می‌کند. اگر کسب‌وکار شما با هر یک از چالش‌هایی که در این پست توضیح داده شد مواجه است و می‌خواهد در زمان خود برای بازاریابی و بهبود هزینه صرفه‌جویی کند، با تیم حساب AWS در منطقه خود تماس بگیرید و با SageMaker شروع به کار کنید.


درباره نویسنده

سانتوش وادیسانتوش وادی مهندس اصلی در BigBasket است و بیش از یک دهه تخصص در حل چالش های هوش مصنوعی به ارمغان می آورد. او با پیشینه قوی در بینایی کامپیوتر، علم داده و یادگیری عمیق، دارای مدرک فوق لیسانس از IIT بمبئی است. سانتوش تالیف نشریات قابل توجه IEEE است و به عنوان یک نویسنده وبلاگ فناوری باتجربه، او همچنین در طول مدت تصدی خود در سامسونگ، کمک قابل توجهی به توسعه راه حل های بینایی کامپیوتری کرده است.

نانداناندا کیشور تاتیکوندا یک مدیر مهندسی است که مهندسی داده و تجزیه و تحلیل را در BigBasket رهبری می کند. ناندا چندین برنامه کاربردی برای تشخیص ناهنجاری ساخته است و یک پتنت در فضایی مشابه ثبت کرده است. او بر روی ساخت برنامه‌های کاربردی در سطح سازمانی، ساخت پلتفرم‌های داده در چندین سازمان و پلتفرم‌های گزارش‌دهی برای ساده‌سازی تصمیمات مبتنی بر داده‌ها کار کرده است. ناندا بیش از 18 سال تجربه کار در Java/J2EE، فن‌آوری‌های Spring و فریمورک‌های کلان داده با استفاده از Hadoop و Apache Spark دارد.

نفرت سودانشو یک متخصص اصلی هوش مصنوعی و ML با AWS است و با مشتریان کار می کند تا به آنها در مورد MLOps و سفر هوش مصنوعی مولد آنها مشاوره دهد. در نقش قبلی خود، او تیم هایی را برای ساختن یک پلتفرم هوش مصنوعی و گیمیفیکیشن مبتنی بر منبع باز، مفهوم سازی، ایجاد و رهبری کرد و با موفقیت آن را با بیش از 100 مشتری تجاری کرد. سودانشو چند حق ثبت اختراع دارد. 2 کتاب، چندین مقاله و وبلاگ نوشته است. و دیدگاه خود را در مجامع مختلف مطرح کرده است. او یک رهبر فکری و سخنران بوده است و نزدیک به 25 سال در این صنعت بوده است. او با مشتریان Fortune 1000 در سراسر جهان کار کرده است و اخیراً با مشتریان بومی دیجیتال در هند کار می کند.

آیوش کومار معمار Solutions در AWS است. او با طیف گسترده‌ای از مشتریان AWS کار می‌کند و به آنها کمک می‌کند جدیدترین برنامه‌های کاربردی مدرن را اتخاذ کنند و با فناوری‌های بومی ابری سریع‌تر نوآوری کنند. او را در حال آزمایش در آشپزخانه در اوقات فراغت خود خواهید یافت.

نقطه_img

جدیدترین اطلاعات

نقطه_img