Amazon SageMaker Autopilot این امکان را برای سازمانها فراهم میکند که به سرعت یک مدل یادگیری ماشینی (ML) و خط لوله استنتاج را تنها با چند خط کد یا حتی بهسرعت بسازند. بدون هیچ کد اصلا با Amazon SageMaker Studio. اتوپایلوت سنگینی زیرساخت های پیکربندی و زمان لازم برای ساخت یک خط لوله کامل، از جمله مهندسی ویژگی، انتخاب مدل، و تنظیم هایپرپارامتر را تخلیه می کند.
در این پست، ما نشان میدهیم که چگونه با Autopilot از دادههای خام به یک خط لوله استنتاج قوی و کاملا مستقر تبدیل شویم.
بررسی اجمالی راه حل
استفاده می کنیم مجموعه داده عمومی Lyft در مورد اشتراک دوچرخه برای این شبیه سازی برای پیش بینی اینکه آیا یک کاربر در آن شرکت می کند یا نه برنامه اشتراک دوچرخه برای همه. این یک مشکل طبقه بندی باینری ساده است.
ما می خواهیم نشان دهیم که ساخت یک خط لوله استنتاج خودکار و در زمان واقعی برای طبقه بندی کاربران بر اساس مشارکت آنها در برنامه Bike Share for All چقدر آسان است. برای این منظور، ما یک خط لوله انتقال داده و استنتاج سرتاسر را برای یک شرکت خیالی اشتراک دوچرخه که در منطقه خلیج سانفرانسیسکو فعالیت میکند، شبیهسازی میکنیم.
معماری به دو بخش تقسیم می شود: خط لوله جذب و خط لوله استنتاج.
ما عمدتاً بر روی خط لوله ML در بخش اول این پست تمرکز می کنیم و خط لوله انتقال داده ها را در قسمت دوم بررسی می کنیم.
پیش نیازها
برای دنبال کردن این مثال، پیش نیازهای زیر را تکمیل کنید:
- یک نمونه نوت بوک SageMaker جدید ایجاد کنید.
- ایجاد یک Amazon Kinesis Data Firehose جریان تحویل با یک AWS لامبدا تابع تبدیل برای دستورالعمل، نگاه کنید Amazon Kinesis Firehose Data Transformation با AWS Lambda. این مرحله اختیاری است و فقط برای شبیه سازی جریان داده مورد نیاز است.
اکتشاف داده ها
بیایید مجموعه داده را که در یک عمومی قرار دارد دانلود و تجسم کنیم سرویس ذخیره سازی ساده آمازون وب سایت سطل و استاتیک (Amazon S3):
تصویر زیر زیر مجموعه ای از داده ها را قبل از تبدیل نشان می دهد.
آخرین ستون داده شامل هدفی است که میخواهیم پیشبینی کنیم، که یک متغیر باینری است که مقدار بله یا خیر را دریافت میکند و نشان میدهد که آیا کاربر در برنامه Bike Share برای همه شرکت میکند یا خیر.
بیایید نگاهی به توزیع متغیر هدف خود برای هرگونه عدم تعادل داده بیندازیم.
همانطور که در نمودار بالا نشان داده شده است، داده ها نامتعادل هستند و افراد کمتری در برنامه شرکت می کنند.
ما باید داده ها را متعادل کنیم تا از تعصب بیش از حد در بازنمایی جلوگیری کنیم. این مرحله اختیاری است زیرا Autopilot همچنین یک رویکرد داخلی برای کنترل عدم تعادل کلاس به طور خودکار ارائه می دهد که به طور پیش فرض یک معیار اعتبارسنجی امتیاز F1 را نشان می دهد. علاوه بر این، اگر خودتان تصمیم بگیرید که داده ها را متعادل کنید، می توانید از تکنیک های پیشرفته تری برای مدیریت عدم تعادل کلاس استفاده کنید، مانند SMOTE or گان.
برای این پست، کلاس اکثریت (خیر) را به عنوان تکنیک متعادلسازی دادهها پایین میآوریم:
کد زیر داده ها را غنی می کند و کلاسی که بیش از حد ارائه شده را نمونه برداری می کند:
ما عمداً ویژگیهای دستهبندی خود را رمزگذاری نکردهایم، از جمله مقدار هدف باینری خود. این به این دلیل است که Autopilot از رمزگذاری و رمزگشایی داده ها برای ما به عنوان بخشی از مهندسی ویژگی های خودکار و استقرار خط لوله مراقبت می کند، همانطور که در بخش بعدی می بینیم.
تصویر زیر نمونه ای از داده های ما را نشان می دهد.
دادههای نمودارهای زیر در غیر این صورت طبیعی به نظر میرسند، با یک توزیع دووجهی که همان طور که انتظار دارید، دو اوج را برای ساعات صبح و ساعات شلوغی بعد از ظهر نشان میدهد. ما همچنین فعالیت های کم را در تعطیلات آخر هفته و در شب مشاهده می کنیم.
در قسمت بعدی داده ها را به Autopilot می دهیم تا بتواند آزمایشی را برای ما اجرا کند.
یک مدل طبقه بندی باینری بسازید
Autopilot نیاز دارد که سطل مقصد ورودی و خروجی را مشخص کنیم. از سطل ورودی برای بارگذاری داده ها و سطل خروجی برای ذخیره مصنوعات، مانند مهندسی ویژگی ها و نوت بوک های Jupyter تولید شده استفاده می کند. ما 5٪ از مجموعه داده را برای ارزیابی و اعتبارسنجی عملکرد مدل پس از تکمیل آموزش حفظ می کنیم و 95٪ از مجموعه داده را در سطل ورودی S3 آپلود می کنیم. کد زیر را ببینید:
پس از بارگذاری داده ها در مقصد ورودی، زمان شروع Autopilot است:
تنها چیزی که برای شروع آزمایش نیاز داریم فراخوانی متد fit() است. Autopilot به مکان ورودی و خروجی S3 و ستون ویژگی هدف به عنوان پارامترهای مورد نیاز نیاز دارد. پس از پردازش ویژگی، Autopilot تماس می گیرد تنظیم خودکار مدل SageMaker برای یافتن بهترین نسخه از یک مدل با اجرای بسیاری از کارهای آموزشی در مجموعه داده خود. ما پارامتر اختیاری max_candidates را اضافه کردیم تا تعداد داوطلبان را به 30 محدود کنیم، که تعداد مشاغل آموزشی است که Autopilot با ترکیب های مختلف الگوریتم ها و فراپارامترها راه اندازی می کند تا بهترین مدل را پیدا کند. اگر این پارامتر را مشخص نکنید، به طور پیش فرض 250 است.
با کد زیر می توانیم پیشرفت Autopilot را مشاهده کنیم:
تکمیل آموزش کمی زمان می برد. در حالی که در حال اجرا است، اجازه دهید به گردش کار Autopilot نگاه کنیم.
برای پیدا کردن بهترین کاندید از کد زیر استفاده کنید:
تصویر زیر خروجی ما را نشان می دهد.
مدل ما به دقت اعتبار 96 درصد دست یافت، بنابراین ما آن را به کار خواهیم گرفت. میتوانیم شرطی اضافه کنیم که فقط در صورتی از مدل استفاده کنیم که دقت بالاتر از یک سطح مشخص باشد.
خط لوله استنتاج
قبل از استقرار مدل خود، بیایید بهترین نامزد خود و آنچه در خط لوله ما اتفاق می افتد را بررسی کنیم. کد زیر را ببینید:
نمودار زیر خروجی ما را نشان می دهد.
Autopilot مدل را ساخته و آن را در سه کانتینر مختلف بسته بندی کرده است که هر کدام به طور متوالی یک کار خاص را انجام می دهند: تبدیل، پیش بینی و تبدیل معکوس. این استنتاج چند مرحله ای با a امکان پذیر است خط لوله استنتاج SageMaker.
یک استنتاج چند مرحلهای همچنین میتواند مدلهای استنتاج چندگانه را زنجیرهای کند. به عنوان مثال، یک ظرف می تواند کار کند تجزیه و تحلیل مولفه اصلی قبل از ارسال داده به ظرف XGBoost.
خط لوله استنتاج را به یک نقطه پایانی مستقر کنید
فرآیند استقرار فقط شامل چند خط کد است:
بیایید نقطه پایانی خود را برای پیش بینی با یک پیش بینی پیکربندی کنیم:
اکنون که نقطه پایانی و پیش بینی کننده خود را آماده کرده ایم، زمان آن رسیده است که از داده های آزمایشی که کنار گذاشته ایم استفاده کنیم و دقت مدل خود را آزمایش کنیم. ما با تعریف یک تابع مفید شروع می کنیم که داده ها را هر بار یک خط به نقطه پایان استنتاج ما ارسال می کند و در ازای آن یک پیش بینی دریافت می کند. چون ما یک XGBoost مدل، قبل از ارسال خط CSV به نقطه پایانی، متغیر هدف را رها می کنیم. علاوه بر این، قبل از حلقه زدن فایل، هدر را از CSV آزمایشی حذف کردیم، که یکی دیگر از نیازهای XGBoost در SageMaker است. کد زیر را ببینید:
تصویر زیر خروجی ما را نشان می دهد.
حال بیایید دقت مدل خود را محاسبه کنیم.
کد زیر را ببینید:
ما دقت 92% را بدست می آوریم. این مقدار کمی کمتر از 96٪ به دست آمده در مرحله اعتبار سنجی است، اما هنوز به اندازه کافی بالا است. ما انتظار نداریم که دقت دقیقاً یکسان باشد زیرا آزمایش با یک مجموعه داده جدید انجام می شود.
بلع داده ها
ما داده ها را مستقیما دانلود کردیم و برای آموزش پیکربندی کردیم. در زندگی واقعی، ممکن است مجبور شوید داده ها را مستقیماً از دستگاه لبه به دریاچه داده ارسال کنید و از SageMaker آن را مستقیماً از دریاچه داده در نوت بوک بارگیری کنید.
Kinesis Data Firehose یک گزینه خوب و ساده ترین راه برای بارگیری قابل اعتماد داده های جریانی در دریاچه های داده، فروشگاه های داده و ابزارهای تجزیه و تحلیل است. این می تواند داده های جریانی را در Amazon S3 و دیگر فروشگاه های داده AWS ضبط، تبدیل و بارگیری کند.
برای مورد استفاده خود، یک جریان تحویل Kinesis Data Firehose با تابع تبدیل لامبدا ایجاد میکنیم تا هنگام عبور از جریان، مقداری تمیز کردن دادههای سبک را انجام دهیم. کد زیر را ببینید:
این تابع لامبدا تبدیل نوری داده های جریان یافته از دستگاه ها به دریاچه داده را انجام می دهد. انتظار یک فایل داده با فرمت CSV را دارد.
برای مرحله هضم، ما داده ها را دانلود می کنیم و یک جریان داده را به Kinesis Data Firehose با تابع تبدیل لامبدا و به دریاچه داده S3 خود شبیه سازی می کنیم.
بیایید پخش چند خط را شبیه سازی کنیم:
پاک کردن
مهم است که تمام منابع استفاده شده در این تمرین را حذف کنید تا هزینه را به حداقل برسانید. کد زیر نقطه پایانی استنتاج SageMaker را که ما ایجاد کردیم و همچنین داده های آموزشی و آزمایشی که آپلود کردیم حذف می کند:
نتیجه
مهندسان ML، دانشمندان داده و توسعه دهندگان نرم افزار می توانند از Autopilot برای ساخت و استقرار خط لوله استنتاج با تجربه برنامه نویسی ML استفاده کنند. Autopilot با استفاده از علم داده و بهترین شیوه های ML در زمان و منابع صرفه جویی می کند. سازمانهای بزرگ اکنون میتوانند منابع مهندسی را از پیکربندی زیرساخت به سمت بهبود مدلها و حل موارد استفاده تجاری تغییر دهند. استارتآپها و سازمانهای کوچکتر میتوانند یادگیری ماشینی را بدون تخصص ML شروع کنند.
برای شروع کار با SageMaker Autopilot، به قسمت زیر مراجعه کنید صفحه محصول یا به SageMaker Autopilot در SageMaker Studio دسترسی داشته باشید.
همچنین توصیه میکنیم درباره سایر ویژگیهای مهم دیگری که SageMaker ارائه میکند، مانند فروشگاه ویژگی آمازون SageMaker، که با خطوط لوله آمازون SageMaker برای ایجاد، افزودن جستجو و کشف ویژگی، و استفاده مجدد از گردش کار خودکار ML. شما می توانید چندین شبیه سازی Autopilot را با ویژگی های مختلف یا انواع هدف در مجموعه داده خود اجرا کنید. همچنین می توانید به این مسئله به عنوان یک مشکل تخصیص پویا وسیله نقلیه نگاه کنید که در آن مدل شما سعی می کند تقاضای خودرو را بر اساس زمان (مانند زمان روز یا روز هفته) یا مکان یا ترکیبی از هر دو پیش بینی کند.
درباره نویسنده
داگ امبایا یک معمار ارشد راه حل با تمرکز بر داده ها و تجزیه و تحلیل است. داگ همکاری نزدیکی با شرکای AWS دارد و به آنها کمک می کند تا داده ها و راه حل های تحلیلی را در فضای ابری ادغام کنند. تجربه قبلی داگ شامل پشتیبانی از مشتریان AWS در بخش اشتراک سواری و تحویل غذا است.
والریو پرونه یک مدیر علوم کاربردی است که روی تنظیم خودکار مدل و خلبان خودکار Amazon SageMaker کار می کند.
- Coinsmart. بهترین صرافی بیت کوین و کریپتو اروپا.
- پلاتوبلاک چین. Web3 Metaverse Intelligence. دانش تقویت شده دسترسی رایگان.
- CryptoHawk. رادار آلت کوین امتحان رایگان.
- منبع: https://aws.amazon.com/blogs/machine-learning/automate-a-shared-bikes-and-scooters-classification-model-with-amazon-sagemaker-autopilot/
- '
- "
- &
- 100
- درباره ما
- دسترسی
- دست
- فعالیت ها
- پیشرفته
- الگوریتم
- معرفی
- تخصیص
- آمازون
- علم تجزیه و تحلیل
- دیگر
- API
- روش
- معماری
- محدوده
- استدلال
- خودکار
- AWS
- سرخ مایل به قرمز
- بهترین
- بهترین شیوه
- ساختن
- کسب و کار
- صدا
- می توانید دریافت کنید
- اهميت دادن
- موارد
- تغییر دادن
- انتخاب
- طبقه بندی
- تمیز کاری
- ابر
- رمز
- ستون
- ترکیب
- ترکیب
- شرکت
- جزء
- شرط
- پیکر بندی
- ظرف
- ظروف
- شامل
- میتوانست
- مشتریان
- داده ها
- پردازش داده ها
- علم اطلاعات
- روز
- تحویل
- تقاضا
- گسترش
- گسترش
- توسعه دهندگان
- دستگاه
- دستگاه ها
- مختلف
- کشف
- نمایش دادن
- توزیع
- پایین
- قطره
- پویا
- لبه
- رمزگذاری
- نقطه پایانی
- مهندسی
- مورد تأیید
- واقعه
- مثال
- جز
- ورزش
- انتظار می رود
- تجربه
- تجربه
- تخصص
- ویژگی
- امکانات
- نام خانوادگی
- تمرکز
- به دنبال
- پیروی
- غذا
- فرانسیسکو
- تابع
- گرفتن
- رفتن
- خوب
- اداره
- اینجا کلیک نمایید
- زیاد
- چگونه
- چگونه
- HTTPS
- مهم
- از جمله
- شالوده
- ادغام
- IT
- کار
- شغل ها
- بزرگ
- راه اندازی
- یادگیری
- سطح
- کتابخانه
- سبک
- سبک وزن
- لاین
- لینک
- کوچک
- بار
- به صورت محلی
- محل
- دستگاه
- فراگیری ماشین
- اکثریت
- ساخت
- مدیر
- ML
- مدل
- مدل
- اکثر
- دفتر یادداشت
- ارائه
- پیشنهادات
- عملیاتی
- گزینه
- سفارش
- سازمان های
- دیگر
- در غیر این صورت
- مشارکت
- شرکای
- مردم
- کارایی
- ممکن
- پیش گویی
- مشکل
- روند
- برنامه
- برنامه نويسي
- ارائه
- عمومی
- به سرعت
- خام
- زمان واقعی
- توصیه
- رکورد
- سوابق
- ضروری
- منابع
- بازده
- این فایل نقد می نویسید:
- قوانین
- دویدن
- در حال اجرا
- هجوم بردن
- سان
- سان فرانسیسکو
- صرفه جویی کردن
- علم
- دانشمندان
- جستجو
- انتخاب شد
- سلسله
- تنظیم
- اشتراک گذاری
- به اشتراک گذاشته شده
- تغییر
- ساده
- شبیه سازی
- اندازه
- خواب
- So
- نرم افزار
- انشعاب
- شروع
- آغاز شده
- نوپا
- ذخیره سازی
- پرده
- جریان
- جریان
- جریان
- استودیو
- هدف
- تکنیک
- آزمون
- تست
- از طریق
- زمان
- امروز
- ابزار
- آموزش
- دگرگون کردن
- دگرگونی
- us
- استفاده کنید
- کاربران
- سودمندی
- ارزش
- وسیله نقلیه
- سایت اینترنتی
- هفته
- چه
- ویکیپدیا
- در داخل
- کارگر
- با این نسخهها کار