چگونه Axfood با استفاده از Amazon SageMaker | یادگیری ماشینی سریع در سراسر سازمان را قادر می‌سازد خدمات وب آمازون

چگونه Axfood با استفاده از Amazon SageMaker | یادگیری ماشینی سریع در سراسر سازمان را قادر می‌سازد خدمات وب آمازون

این یک پست مهمان است که توسط Axfood AB نوشته شده است. 

در این پست، ما به اشتراک می‌گذاریم که چگونه Axfood، یک خرده‌فروش بزرگ سوئدی، عملکرد و مقیاس‌پذیری عملیات هوش مصنوعی (AI) و یادگیری ماشین (ML) موجود خود را با نمونه‌سازی با همکاری نزدیک با کارشناسان AWS بهبود بخشید. آمازون SageMaker.

آکسفود با بیش از 13,000 کارمند و بیش از 300 فروشگاه، دومین خرده فروش بزرگ مواد غذایی سوئد است. Axfood دارای ساختاری با چندین تیم غیرمتمرکز علم داده با زمینه های مختلف مسئولیت است. تیم های علم داده همراه با یک تیم پلتفرم داده مرکزی، نوآوری و تحول دیجیتال را از طریق راه حل های هوش مصنوعی و ML به سازمان می آورند. Axfood از Amazon SageMaker برای پرورش داده‌های خود با استفاده از ML استفاده می‌کند و سال‌هاست که مدل‌هایی در دست تولید دارد. اخیراً سطح پیچیدگی و تعداد بسیار زیاد مدل‌ها در تولید به طور تصاعدی در حال افزایش است. با این حال، با وجود اینکه سرعت نوآوری بالا است، تیم های مختلف روش های کار خود را توسعه داده بودند و در جستجوی بهترین روش جدید MLO بودند.

چالش ما

برای رقابتی ماندن از نظر خدمات ابری و هوش مصنوعی، Axfood شراکت با AWS را انتخاب کرد و سال‌هاست با آنها همکاری می‌کند.

در طی یکی از جلسات طوفان فکری مکرر خود با AWS، در حال بحث در مورد چگونگی بهترین همکاری بین تیم‌ها برای افزایش سرعت نوآوری و کارایی متخصصان علوم داده و ML بودیم. ما تصمیم گرفتیم تلاش مشترکی برای ساختن نمونه اولیه بر اساس بهترین روش برای MLO ها انجام دهیم. هدف از نمونه اولیه ساخت یک الگوی مدل برای همه تیم‌های علم داده برای ساخت مدل‌های مقیاس‌پذیر و کارآمد ML بود - پایه و اساس نسل جدیدی از پلتفرم‌های هوش مصنوعی و ML برای Axfood. این الگو باید بهترین روش‌های کارشناسان AWS ML و بهترین مدل‌های عملکرد خاص شرکت را پیوند دهد و ترکیب کند.

ما تصمیم گرفتیم یک نمونه اولیه از یکی از پیشرفته ترین مدل های ML در حال حاضر در Axfood بسازیم: پیش بینی فروش در فروشگاه ها. به طور خاص، پیش بینی میوه و سبزیجات کمپین های آتی برای فروشگاه های خرده فروشی مواد غذایی. پیش‌بینی دقیق روزانه از فرآیند سفارش برای فروشگاه‌ها پشتیبانی می‌کند، و پایداری را با به حداقل رساندن ضایعات مواد غذایی در نتیجه بهینه‌سازی فروش با پیش‌بینی دقیق سطح موجودی موجود در فروشگاه افزایش می‌دهد. این مکان عالی برای شروع نمونه اولیه ما بود - نه تنها Axfood یک پلتفرم جدید AI/ML به دست می‌آورد، بلکه ما فرصتی خواهیم داشت تا قابلیت‌های ML خود را محک بزنیم و از کارشناسان برجسته AWS یاد بگیریم.

راه حل ما: یک قالب جدید ML در Amazon SageMaker Studio

ایجاد یک خط لوله کامل ML که برای یک مورد تجاری واقعی طراحی شده است می تواند چالش برانگیز باشد. در این مورد، ما در حال توسعه یک مدل پیش‌بینی هستیم، بنابراین دو مرحله اصلی برای تکمیل وجود دارد:

  1. آموزش مدل برای پیش بینی با استفاده از داده های تاریخی.
  2. از مدل آموزش دیده برای پیش بینی رویدادهای آینده استفاده کنید.

در مورد Axfood، یک خط لوله با عملکرد خوب برای این منظور قبلاً با استفاده از نوت‌بوک‌های SageMaker و توسط پلتفرم مدیریت گردش کار شخص ثالث Airflow تنظیم شده بود. با این حال، مزایای واضح بسیاری از مدرن کردن پلت فرم ML ما و حرکت به آن وجود دارد Amazon SageMaker Studio و خطوط لوله آمازون SageMaker. انتقال به SageMaker Studio بسیاری از ویژگی های از پیش تعریف شده خارج از جعبه را فراهم می کند:

  • مدل پایش و کیفیت داده ها و همچنین قابلیت توضیح مدل
  • ابزارهای داخلی توسعه یکپارچه (IDE) مانند اشکال زدایی
  • نظارت بر هزینه/عملکرد
  • چارچوب پذیرش مدل
  • رجیستری مدل

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

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

چارچوب جدید ML پیشنهادی Axfood حول دو خط لوله اصلی ساختار یافته است: خط لوله ساخت مدل و خط لوله استنتاج دسته ای:

  • این خطوط لوله در دو مخزن گیت مجزا نسخه می‌شوند: یک مخزن ساخت و یک مخزن استقرار (استنتاج). آنها با هم خط لوله ای قوی برای پیش بینی میوه ها و سبزیجات تشکیل می دهند.
  • خطوط لوله با استفاده از SageMaker Projects در یکپارچگی با مخزن Git شخص ثالث (Bitbucket) و خطوط لوله Bitbucket برای ادغام پیوسته و استقرار مداوم اجزا (CI/CD) در قالب یک پروژه سفارشی بسته بندی می شوند.
  • الگوی پروژه SageMaker شامل کد اولیه مربوط به هر مرحله از ساخت و استقرار خطوط لوله است (این مراحل را در ادامه این پست با جزئیات بیشتر مورد بحث قرار خواهیم داد) و همچنین تعریف خط لوله - دستور العمل نحوه اجرای مراحل.
  • اتوماسیون ساخت پروژه های جدید بر اساس الگو از طریق ساده شده است کاتالوگ خدمات AWS، جایی که یک نمونه کار ایجاد می شود و به عنوان یک انتزاع برای چندین محصول عمل می کند.
  • هر محصول به یک ترجمه می شود AWS CloudFormation الگو، که زمانی که یک دانشمند داده یک پروژه جدید SageMaker با طرح MLOps ما به عنوان پایه ایجاد می کند، مستقر می شود. این یک را فعال می کند AWS لامبدا تابعی که یک پروژه Bitbucket را با دو مخزن - ساخت مدل و استقرار مدل - حاوی کد seed ایجاد می کند.

نمودار زیر معماری راه حل را نشان می دهد. گردش کار A جریان پیچیده بین دو خط لوله مدل - ساخت و استنتاج را نشان می دهد. گردش کار B جریان ایجاد یک پروژه ML جدید را نشان می دهد.

چگونه Axfood با استفاده از Amazon SageMaker | یادگیری ماشینی سریع در سراسر سازمان را قادر می‌سازد خدمات وب آمازون هوش داده پلاتو بلاک چین. جستجوی عمودی Ai.

مدل ساخت خط لوله

خط لوله ساخت مدل، چرخه عمر مدل را تنظیم می کند، از پیش پردازش شروع می شود، در آموزش حرکت می کند، و به ثبت در رجیستری مدل ختم می شود:

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

برای محیط‌های تولید، مکانیسم‌های جذب داده و ماشه از طریق یک هماهنگ‌سازی اولیه جریان هوا مدیریت می‌شوند. در همین حال، در طول توسعه، هر بار که یک تعهد جدید به مخزن ساخت مدل Bitbucket معرفی می شود، خط لوله فعال می شود. شکل زیر خط لوله ساخت مدل را به تصویر می کشد.

چگونه Axfood با استفاده از Amazon SageMaker | یادگیری ماشینی سریع در سراسر سازمان را قادر می‌سازد خدمات وب آمازون هوش داده پلاتو بلاک چین. جستجوی عمودی Ai.

خط لوله استنتاج دسته ای

خط لوله استنتاج دسته ای مرحله استنتاج را انجام می دهد که شامل مراحل زیر است:

  • پیش پردازش - داده ها با استفاده از پیش پردازش می شوند ScriptProcessor.
  • تبدیل دسته ای - این مدل از محفظه استنتاج سفارشی با یک ترانسفورماتور SageMaker استفاده می کند و پیش بینی هایی را با توجه به داده های از پیش پردازش شده ورودی ایجاد می کند. مدل مورد استفاده آخرین مدل آموزش دیده تایید شده در رجیستری مدل می باشد.
  • پس پردازش - پیش‌بینی‌ها با استفاده از یک سری مراحل پس پردازش انجام می‌شوند ScriptProcessor.
  • نظارت - نظارت مستمر بررسی‌های مربوط به انحرافات مربوط به کیفیت داده، کیفیت مدل و انتساب ویژگی را تکمیل می‌کند.

در صورت بروز اختلاف، منطق تجاری در اسکریپت پس پردازش ارزیابی می کند که آیا بازآموزی مدل ضروری است یا خیر. این خط لوله قرار است در فواصل زمانی منظم اجرا شود.

نمودار زیر خط لوله استنتاج دسته ای را نشان می دهد. گردش کار A مربوط به پیش پردازش، کیفیت داده ها و بررسی انتساب ویژگی، استنتاج و پس پردازش است. گردش کار B مربوط به بررسی های رانش کیفیت مدل است. این خطوط لوله تقسیم شده اند زیرا بررسی رانش کیفیت مدل تنها در صورتی انجام می شود که داده های جدید حقیقت زمینی در دسترس باشد.

چگونه Axfood با استفاده از Amazon SageMaker | یادگیری ماشینی سریع در سراسر سازمان را قادر می‌سازد خدمات وب آمازون هوش داده پلاتو بلاک چین. جستجوی عمودی Ai.

مانیتور مدل SageMaker

با مانیتور مدل آمازون SageMaker به صورت یکپارچه، خطوط لوله از نظارت بلادرنگ در موارد زیر بهره می برند:

  • کیفیت داده - هرگونه تغییر یا ناسازگاری در داده ها را رصد می کند
  • کیفیت مدل - ساعت برای هرگونه نوسان در عملکرد مدل
  • انتساب ویژگی - انحراف در اسناد ویژگی را بررسی می کند

پایش کیفیت مدل نیاز به دسترسی به داده های حقیقت زمینی دارد. اگرچه دستیابی به حقیقت زمینی گاهی اوقات می‌تواند چالش‌برانگیز باشد، استفاده از داده‌ها یا نظارت بر رانش اسناد ویژگی به عنوان یک پروکسی مناسب برای کیفیت مدل عمل می‌کند.

به طور خاص، در مورد تغییر کیفیت داده، سیستم مراقب موارد زیر است:

  • رانش مفهومی - این مربوط به تغییرات در همبستگی بین ورودی و خروجی است که نیاز به حقیقت پایه دارد
  • تغییر متغیر - در اینجا، تأکید بر تغییرات در توزیع متغیرهای ورودی مستقل است

قابلیت جابجایی داده SageMaker Model Monitor به دقت داده های ورودی را ضبط و بررسی می کند، قوانین و بررسی های آماری را به کار می گیرد. هر زمان که ناهنجاری تشخیص داده شود، هشدارها افزایش می یابد.

به موازات استفاده از بررسی‌های رانش کیفیت داده‌ها به‌عنوان یک پروکسی برای نظارت بر تخریب مدل، سیستم همچنین با استفاده از امتیاز سود تجمعی تنزیل‌شده نرمال‌شده (NDCG) انحراف اسناد ویژگی را نظارت می‌کند. این امتیاز هم به تغییرات در ترتیب رتبه‌بندی اسناد ویژگی و هم به امتیازهای انتساب خام ویژگی‌ها حساس است. با نظارت بر انحراف در اسناد برای ویژگی‌های فردی و اهمیت نسبی آنها، تشخیص تنزل در کیفیت مدل ساده است.

قابلیت توضیح مدل

توضیح‌پذیری مدل بخش مهمی از استقرار ML است، زیرا شفافیت در پیش‌بینی‌ها را تضمین می‌کند. برای درک دقیق، ما استفاده می کنیم Amazon SageMaker Clarify.

این توضیحات مدل جهانی و محلی را از طریق تکنیک انتساب ویژگی مدل-آگنوستیک بر اساس مفهوم ارزش Shapley ارائه می دهد. این برای رمزگشایی استفاده می شود که چرا یک پیش بینی خاص در طول استنتاج انجام شده است. چنین توضیحاتی، که ذاتاً متضاد هستند، می توانند بر اساس مبانی مختلف متفاوت باشند. SageMaker Clarify به تعیین این خط پایه با استفاده از K-means یا K-prototypes در مجموعه داده ورودی کمک می کند، که سپس به خط لوله ساخت مدل اضافه می شود. این عملکرد ما را قادر می‌سازد تا در آینده برنامه‌های هوش مصنوعی تولیدی بسازیم تا درک بیشتری از نحوه عملکرد مدل داشته باشیم.

صنعتی سازی: از نمونه اولیه تا تولید

پروژه MLOps شامل درجه بالایی از اتوماسیون است و می تواند به عنوان طرحی برای موارد استفاده مشابه عمل کند:

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

پس از اتمام کار بر روی نمونه اولیه، به نحوه استفاده از آن در تولید پرداختیم. برای انجام این کار، نیاز به انجام برخی تنظیمات اضافی در قالب MLOps را احساس کردیم:

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

نتیجه: یک رویکرد سریع و کارآمد برای ساخت و استقرار مدل

نمونه اولیه با همکاری AWS منجر به یک الگوی MLOps با پیروی از بهترین شیوه های فعلی شده است که اکنون برای استفاده در تمام تیم های علم داده Axfood در دسترس است. با ایجاد یک پروژه جدید SageMaker در SageMaker Studio، دانشمندان داده می توانند پروژه های جدید ML را به سرعت و به طور یکپارچه به تولید شروع کنند و امکان مدیریت کارآمدتر زمان را فراهم کنند. این امر با خودکارسازی وظایف خسته کننده و تکراری MLOps به عنوان بخشی از الگو امکان پذیر می شود.

علاوه بر این، چندین قابلیت جدید به صورت خودکار به تنظیمات ML ما اضافه شده است. این دستاوردها عبارتند از:

  • نظارت بر مدل - ما می‌توانیم برای مدل و کیفیت داده‌ها و همچنین قابلیت توضیح مدل، بررسی‌های رانش را انجام دهیم
  • مدل و اصل و نسب داده - اکنون می توان ردیابی دقیق داده هایی که برای کدام مدل استفاده شده است
  • رجیستری مدل – این به ما کمک می‌کند تا مدل‌های تولید را فهرست‌بندی کنیم و نسخه‌های مدل را مدیریت کنیم

نتیجه

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

این پیشرفت‌ها به تیم‌های علم داده Axfood کمک می‌کند تا گردش‌های کاری ML را به شیوه‌ای استانداردتر بسازند و تجزیه و تحلیل و نظارت بر مدل‌های تولید را تا حد زیادی ساده‌تر می‌کند – و از کیفیت مدل‌های ML ساخته و نگهداری شده توسط تیم‌های ما اطمینان حاصل می‌کند.

لطفاً هر گونه بازخورد یا سؤالی را در بخش نظرات مطرح کنید.


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

چگونه Axfood با استفاده از Amazon SageMaker | یادگیری ماشینی سریع در سراسر سازمان را قادر می‌سازد خدمات وب آمازون هوش داده پلاتو بلاک چین. جستجوی عمودی Ai.دکتر بیورن بلومکویست رئیس استراتژی هوش مصنوعی در Axfood AB است. او قبل از پیوستن به Axfood AB تیمی از دانشمندان داده را در Dagab، بخشی از Axfood، رهبری کرد و راه‌حل‌های یادگیری ماشینی نوآورانه را با مأموریت ارائه غذای خوب و پایدار به مردم سراسر سوئد ساخت. بیورن که در شمال سوئد به دنیا آمد و بزرگ شد، در اوقات فراغت خود به کوه‌های برفی و دریاهای آزاد سفر می‌کند.

چگونه Axfood با استفاده از Amazon SageMaker | یادگیری ماشینی سریع در سراسر سازمان را قادر می‌سازد خدمات وب آمازون هوش داده پلاتو بلاک چین. جستجوی عمودی Ai.اسکار کلانگ یک دانشمند ارشد داده در بخش تجزیه و تحلیل در Dagab است، جایی که او از کار با هر چیزی که در زمینه تجزیه و تحلیل و یادگیری ماشین است، به عنوان مثال بهینه سازی عملیات زنجیره تامین، ساخت مدل های پیش بینی و اخیراً برنامه های GenAI لذت می برد. او متعهد به ایجاد خطوط لوله یادگیری ماشینی کارآمدتر، افزایش کارایی و مقیاس پذیری است.

چگونه Axfood با استفاده از Amazon SageMaker | یادگیری ماشینی سریع در سراسر سازمان را قادر می‌سازد خدمات وب آمازون هوش داده پلاتو بلاک چین. جستجوی عمودی Ai.پاول ماسلوف یک مهندس ارشد DevOps و ML در تیم پلتفرم های تحلیلی است. پاول تجربه گسترده ای در توسعه چارچوب ها، زیرساخت ها و ابزارها در حوزه های DevOps و ML/AI در پلتفرم AWS دارد. پاول یکی از بازیگران کلیدی در ایجاد قابلیت های اساسی در ML در Axfood بوده است.

چگونه Axfood با استفاده از Amazon SageMaker | یادگیری ماشینی سریع در سراسر سازمان را قادر می‌سازد خدمات وب آمازون هوش داده پلاتو بلاک چین. جستجوی عمودی Ai.یواکیم برگ پلتفرم‌های تحلیلی رهبر تیم و مالک محصول، مستقر در استکهلم سوئد است. او تیمی از مهندسان DevOps/MLOps پایان پلتفرم داده را رهبری می‌کند که پلتفرم‌های Data و ML را برای تیم‌های علم داده ارائه می‌کنند. Joakim سالها تجربه رهبری تیم های ارشد توسعه و معماری از صنایع مختلف را دارد.

تمبر زمان:

بیشتر از آموزش ماشین AWS