بهبود ثبات و انعطاف پذیری خطوط لوله ML در آمازون Packaging Innovation با Amazon SageMaker Pipelines PlatoBlockchain Data Intelligence. جستجوی عمودی Ai.

بهبود ثبات و انعطاف پذیری خطوط لوله ML در نوآوری بسته بندی آمازون با خط لوله آمازون SageMaker

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

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

در این پست، معماری ارکستراسیون قبلی را بر اساس توابع گام مورد بحث قرار می‌دهیم، آموزش و معماری‌های استنتاج را با استفاده از Pipelines ترسیم می‌کنیم، و انعطاف‌پذیری را که تیم نوآوری بسته‌بندی آمازون به دست آورده است، برجسته می‌کنیم.

چالش های خط لوله ML سابق در آمازون Packaging Innovation

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

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

  • آماده سازی داده ها برای کارهای آموزشی و استنتاج و بارگذاری پیش بینی ها در پایگاه داده (آمازون Redshift) با چسب AWS.
  • آموزش مدل و استنباط با آمازون SageMaker.
  • محاسبه معیارهای عملکرد مدل در مجموعه اعتبارسنجی با دسته AWS.
  • با استفاده از آمازون DynamoDB برای ذخیره پیکربندی‌های مدل (مانند نسبت تقسیم داده‌ها برای آموزش و اعتبارسنجی، مکان مصنوع مدل، نوع مدل، و تعداد نمونه‌ها برای آموزش و استنتاج)، معیارهای عملکرد مدل، و آخرین نسخه مدل با موفقیت آموزش دیده.
  • محاسبه تفاوت در نمرات عملکرد مدل، تغییرات در توزیع برچسب‌های آموزشی و مقایسه اندازه داده‌های ورودی بین نسخه‌های مدل قبلی و جدید با AWS لامبدا توابع.
  • با توجه به تعداد زیاد مراحل، خط لوله همچنین به یک سیستم هشدار قابل اعتماد در هر مرحله نیاز داشت تا به ذینفعان در مورد هر گونه مشکل هشدار دهد. این امر از طریق ترکیبی از سرویس صف ساده آمازون (Amazon SQS) و سرویس اطلاع رسانی ساده آمازون (Amazon SNS). آلارم ها برای اطلاع دادن به ذینفعان کسب و کار، دانشمندان داده و توسعه دهندگان در مورد هر گونه گام ناموفق و انحرافات بزرگ در مدل و معیارهای داده ایجاد شده اند.

پس از استفاده از این راه حل برای نزدیک به 2 سال، تیم متوجه شد که این پیاده سازی فقط برای یک گردش کار معمولی ML که در آن یک مدل واحد آموزش داده شده و در مجموعه داده های اعتبارسنجی امتیاز داده شده است، به خوبی کار می کند. با این حال، راه حل به اندازه کافی برای مدل های پیچیده انعطاف پذیر نبود و در برابر شکست مقاوم نبود. به عنوان مثال، معماری به راحتی آموزش مدل متوالی را در خود جای نداد. اضافه کردن یا حذف یک مرحله بدون کپی کردن کل خط لوله و اصلاح زیرساخت دشوار بود. حتی تغییرات ساده در مراحل پردازش داده‌ها مانند تنظیم نسبت تقسیم داده یا انتخاب مجموعه‌ای از ویژگی‌های متفاوت نیاز به هماهنگی هم از سوی یک دانشمند داده و هم از سوی یک توسعه‌دهنده دارد. هنگامی که خط لوله در هر مرحله شکست می خورد، باید از ابتدا راه اندازی مجدد می شد، که منجر به اجرای مکرر و افزایش هزینه شد. برای جلوگیری از اجرای مکرر و نیاز به راه اندازی مجدد از مرحله ناموفق، تیم یک کپی جدید از یک ماشین حالت خلاصه شده ایجاد می کند. این عیب‌یابی منجر به تکثیر ماشین‌های دولتی شد که هر کدام از مراحل معمولاً شکست خورده شروع می‌شدند. در نهایت، اگر یک شغل آموزشی با انحراف در توزیع برچسب‌ها، امتیاز مدل یا تعداد برچسب‌ها مواجه شد، یک دانشمند داده باید مدل و معیارهای آن را به صورت دستی بررسی می‌کرد. سپس یک دانشمند داده به جدول DynamoDB با نسخه های مدل دسترسی پیدا می کند و جدول را به روز می کند تا مطمئن شود که مدل صحیح برای کار استنتاج بعدی استفاده شده است.

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

برای مقابله با این چالش ها، تیم نوآوری بسته بندی آمازون، راه حل های موجود دیگر را برای MLO ها، از جمله SageMaker Pipelines، ارزیابی کرد.اطلاعیه انتشار دسامبر 2020). Pipelines یک قابلیت SageMaker برای ساخت، مدیریت، خودکارسازی و مقیاس‌بندی جریان‌های کاری ML سرتاسر است. Pipelines به شما امکان می دهد تعداد مراحل را در کل گردش کار ML کاهش دهید و به اندازه کافی انعطاف پذیر است تا به دانشمندان داده اجازه دهد تا یک گردش کار سفارشی ML را تعریف کنند. نظارت و ثبت مراحل را انجام می دهد. همچنین دارای یک رجیستری مدل است که به طور خودکار مدل های جدید را نسخه می کند. رجیستری مدل دارای گردش کار تایید داخلی برای انتخاب مدل ها برای استنتاج در تولید است. Pipelines همچنین اجازه می دهد تا مراحلی را که با همان آرگومان ها فراخوانی شده اند ذخیره کنند. اگر اجرای قبلی پیدا شد، یک حافظه پنهان ایجاد می‌شود که به جای محاسبه مجدد مراحل با موفقیت انجام شده، امکان راه‌اندازی مجدد آسان را فراهم می‌کند.

در فرآیند ارزیابی، Pipelines به دلیل انعطاف‌پذیری و در دسترس بودن ویژگی‌ها برای پشتیبانی و گسترش جریان‌های کاری فعلی و آینده، از راه‌حل‌های دیگر متمایز بود. تغییر به Pipelines زمان توسعه دهندگان را از تعمیر و عیب یابی پلت فرم آزاد کرد و توجه را به سمت افزودن ویژگی های جدید هدایت کرد. در این پست، طرحی را برای آموزش و گردش کار استنتاج در تیم نوآوری بسته بندی آمازون با استفاده از Pipelines ارائه می دهیم. ما همچنین در مورد مزایا و کاهش هزینه هایی که تیم با تغییر به خطوط لوله متوجه شد بحث می کنیم.

خط لوله آموزشی

تیم نوآوری بسته بندی آمازون با استفاده از تعداد فزاینده ای از برچسب ها، مدل هایی را برای هر نوع بسته بندی آموزش می دهد. نمودار زیر کل فرآیند را نشان می دهد.

گردش کار با استخراج برچسب ها و ویژگی ها از پایگاه داده Redshift آمازون و تخلیه داده ها در آن آغاز می شود سرویس ذخیره سازی ساده آمازون (Amazon S3) از طریق یک کار استخراج، تبدیل و بارگذاری (ETL) برنامه ریزی شده. همراه با داده های ورودی، یک شی فایل با نوع مدل و پارامترها در سطل S3 قرار می گیرد. این فایل به عنوان ماشه خط لوله از طریق تابع Lambda عمل می کند.

مراحل بعدی کاملاً قابل تنظیم هستند و به طور کامل توسط یک دانشمند داده با استفاده از SageMaker Python SDK برای Pipelines تعریف شده است. در سناریویی که در این پست ارائه می‌کنیم، داده‌های ورودی به مجموعه‌های آموزشی و اعتبارسنجی تقسیم می‌شوند و با راه‌اندازی یک کار پردازش SageMaker در یک سطل S3 ذخیره می‌شوند.

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

اسکرین شات زیر از Amazon SageMaker Studio مراحل خط لوله آموزش را نشان می دهد.

PackagingInnovation-SMP-آموزش

Pipelines هر اجرای خط لوله را ردیابی می کند که می توانید آن را در Studio نظارت کنید. همچنین، می‌توانید با استفاده از پیشرفت اجرا پرس و جو کنید Boto3 یا رابط خط فرمان AWS (AWS CLI). می توانید معیارهای مدل را در استودیو تجسم کنید و نسخه های مختلف مدل را مقایسه کنید.

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

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

بسته بندی نوآوری-استنتاج-معماری

مشابه خط لوله آموزشی، استنتاج با تخلیه داده ها از Amazon Redshift به یک سطل S3 آغاز می شود. یک شی فایل که در آمازون S3 قرار می گیرد، تابع Lambda را فعال می کند که خط لوله استنتاج را آغاز می کند. ویژگی ها برای استنتاج آماده می شوند و داده ها با استفاده از یک کار پردازش SageMaker به فایل هایی با اندازه مناسب تقسیم می شوند. سپس، خط لوله آخرین مدل تایید شده را برای اجرای پیش‌بینی‌ها و بارگذاری آن‌ها در سطل S3 شناسایی می‌کند. در نهایت، پیش‌بینی‌ها با استفاده از boto3-data API در کار پردازش SageMaker به Amazon Redshift بارگذاری می‌شوند.

تصویر زیر از Studio جزئیات خط لوله استنتاج را نشان می دهد.

بهبود ثبات و انعطاف پذیری خطوط لوله ML در آمازون Packaging Innovation با Amazon SageMaker Pipelines PlatoBlockchain Data Intelligence. جستجوی عمودی Ai.

مزایای انتخاب معماری گردش کار ML با SageMaker Pipelines

در این بخش، دستاوردهایی را که تیم نوآوری بسته‌بندی آمازون با تغییر به Pipelines برای آموزش مدل و استنتاج به دست آورد، مورد بحث قرار می‌دهیم.

ویژگی های MLO در سطح تولید خارج از جعبه

در حالی که راه‌حل‌های داخلی و خارجی مختلف را برای راه‌حل بعدی خط لوله ML مقایسه می‌کردند، یک دانشمند داده توانست در کمتر از 3 هفته یک نسخه کامل از گردش کار ML را با Pipelines در محیط Studio Jupyter نمونه‌سازی و توسعه دهد. حتی در مرحله نمونه سازی، مشخص شد که Pipelines تمام اجزای زیرساخت لازم را برای گردش کار در سطح تولید فراهم می کند: نسخه سازی مدل، حافظه پنهان و هشدارها. در دسترس بودن فوری این ویژگی ها به این معنی است که زمان بیشتری برای توسعه و سفارشی کردن آنها صرف نمی شود. این یک نمایش واضح از ارزش بود که تیم نوآوری بسته بندی آمازون را متقاعد کرد که Pipelines راه حل مناسبی است.

انعطاف پذیری در توسعه مدل های ML

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

کاهش هزینه ها

قابلیت Pipelines SageMaker است رایگان: شما فقط برای منابع محاسباتی و ذخیره سازی مرتبط با آموزش و استنتاج پرداخت می کنید. با این حال، زمانی که به هزینه فکر می کنید، نه تنها باید هزینه خدمات استفاده شده، بلکه ساعت های توسعه دهنده مورد نیاز برای حفظ گردش کار، اشکال زدایی و وصله آن را نیز در نظر بگیرید. ارکستراسیون با Pipelines ساده تر است زیرا شامل قطعات کمتر و زیرساخت آشنا است. پیش از این، افزودن یک ویژگی جدید به حداقل دو نفر (دانشمند داده و مهندس نرم افزار) در تیم نوآوری بسته بندی آمازون برای پیاده سازی آن نیاز داشت. با طراحی مجدد خط لوله، تلاش‌های مهندسی اکنون به سمت زیرساخت‌های سفارشی اضافی در اطراف خط لوله، مانند ایجاد یک مخزن واحد برای ردیابی کد یادگیری ماشین، ساده‌سازی استقرار مدل در حساب‌های AWS، توسعه مشاغل ETL یکپارچه و مشترک هدایت می‌شوند. توابع قابل استفاده مجدد

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

نتیجه

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

انتقال به Pipelines به تیم اجازه داد تا چهار مدل معماری چند وجهی جدید را برای تولید زیر 2 ماه مستقر کند. استقرار یک مدل جدید با استفاده از معماری قبلی به 5 روز (با همان معماری مدل) تا 1 ماه (با معماری مدل جدید) نیاز دارد. استقرار همان مدل با استفاده از Pipelines، تیم را قادر ساخت تا زمان توسعه را با معماری مشابه به 4 ساعت و با معماری مدل جدید به 5 روز کاهش دهد. این به معنای صرفه جویی تقریباً 80٪ از ساعات کاری است.

منابع اضافی

برای اطلاعات بیشتر به منابع زیر مراجعه کنید:


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

آنکور-شوکلا-نویسندهآنکور شوکلا دانشمند اصلی داده در AWS-ProServe مستقر در پالو آلتو است. Ankur بیش از 15 سال تجربه مشاوره دارد که مستقیماً با مشتری کار می کند و به آنها کمک می کند تا مشکلات تجاری را با فناوری حل کنند. او چندین طرح علمی کاربردی جهانی و ML-Ops را در AWS رهبری می‌کند. در اوقات فراغت از مطالعه و گذراندن وقت با خانواده لذت می برد.

آکاش-سینگلا-نویسندهآکاش سینگلا یک مهندس توسعه دهنده سیستم با تیم نوآوری بسته بندی آمازون است. او بیش از 17 سال تجربه در حل مشکلات حیاتی کسب و کار از طریق فناوری برای چندین بخش تجاری دارد. او در حال حاضر بر ارتقای زیرساخت NAWS برای انواع برنامه‌های بسته‌بندی محور تمرکز دارد تا آنها را بهتر مقیاس‌بندی کند.

ویتالینا-کوماسکو-نویسندهویتالینا کوماشکو یک دانشمند داده با خدمات حرفه ای AWS است. او دارای مدرک دکترا در فارماکولوژی و سم شناسی است، اما به دلیل اینکه می خواست «تولید داده ها و تفسیر نتایج را داشته باشد» از کار تجربی به علم داده روی آورد. او در اوایل کار خود با شرکت های بیوتکنولوژی و داروسازی کار می کرد. او در AWS از حل مشکلات مشتریان از صنایع مختلف و یادگیری در مورد چالش های منحصر به فرد آنها لذت می برد.

Prasanth-Meiyappan-نویسندهپراسانت میاپان یک دانشمند کاربردی Sr. با نوآوری بسته بندی آمازون برای بیش از 4 سال است. او بیش از 6 سال تجربه صنعت در یادگیری ماشین دارد و محصولاتی را برای بهبود تجربه مشتری جستجو و بهبود تجربه بسته بندی مشتری ارسال کرده است. پراسانت به پایداری علاقه دارد و دارای مدرک دکترا در مدل سازی آماری تغییرات آب و هوا است.

متیو بیلز - نویسندهمتیو بیلز یک دانشمند پژوهشی است که برای بهینه سازی انتخاب نوع بسته با استفاده از بازخورد مشتری و یادگیری ماشینی کار می کند. قبل از آمازون، مت به‌عنوان پست‌دکتر شبیه‌سازی‌های فیزیک ذرات در آلمان و در زندگی قبلی، مدیر تولید دستگاه‌های ایمپلنت پزشکی رادیواکتیو در یک استارت‌آپ کار می‌کرد. او دارای مدرک دکتری است. در فیزیک از دانشگاه میشیگان.

تمبر زمان:

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