دانشمندان داده به یک محیط سازگار و قابل تکرار برای یادگیری ماشین (ML) و بارهای کاری علم داده نیاز دارند که مدیریت وابستگی ها را امکان پذیر کند و ایمن باشد. ظروف یادگیری عمیق AWS قبلاً تصاویر Docker از پیش ساخته شده را برای آموزش و ارائه مدل ها در چارچوب های رایج مانند TensorFlow، PyTorch و MXNet ارائه می دهد. برای بهبود این تجربه، بتای عمومی توزیع منبع باز SageMaker را در JupyterCon 2023 اعلام کردیم. این یک تجربه ML یکپارچه سرتاسر را در میان توسعه دهندگان ML با سطوح مختلف تخصص فراهم می کند. توسعه دهندگان دیگر نیازی به جابجایی بین کانتینرهای فریمورک مختلف برای آزمایش ندارند، یا در حین حرکت از محیط های محلی JupyterLab و نوت بوک های SageMaker به کارهای تولیدی در SageMaker. توزیع منبع باز SageMaker از رایج ترین بسته ها و کتابخانه ها برای علم داده، ML، و تجسم، مانند TensorFlow، PyTorch، Scikit-learn، Pandas و Matplotlib پشتیبانی می کند. می توانید از ظرف استفاده کنید گالری عمومی آمازون ECR امروز شروع میشود.
در این پست، ما به شما نشان می دهیم که چگونه می توانید از توزیع منبع باز SageMaker برای آزمایش سریع در محیط محلی خود استفاده کنید و به راحتی آنها را به مشاغل در SageMaker ارتقا دهید.
بررسی اجمالی راه حل
برای مثال، آموزش یک مدل طبقه بندی تصویر را با استفاده از PyTorch به نمایش می گذاریم. ما استفاده می کنیم KMNIST مجموعه داده به صورت عمومی در PyTorch در دسترس است. ما یک مدل شبکه عصبی را آموزش میدهیم، عملکرد مدل را آزمایش میکنیم و در نهایت آموزش را چاپ میکنیم و از دست دادن آزمایش را چاپ میکنیم. نوت بوک کامل این نمونه در دسترس است مخزن نمونه های SageMaker Studio Lab. ما آزمایش را روی یک لپ تاپ محلی با استفاده از توزیع منبع باز شروع می کنیم، آن را به آن منتقل می کنیم Amazon SageMaker Studio برای استفاده از یک نمونه بزرگتر، و سپس نوت بوک را به عنوان یک کار نوت بوک برنامه ریزی کنید.
پیش نیازها
شما به پیش نیازهای زیر نیاز دارید:
محیط محلی خود را تنظیم کنید
می توانید مستقیماً از توزیع منبع باز در لپ تاپ محلی خود استفاده کنید. برای راه اندازی JupyterLab، دستورات زیر را در ترمینال خود اجرا کنید:
شما می توانید جایگزین کنید ECR_IMAGE_ID
با هر یک از تگ های تصویر موجود در گالری عمومی آمازون ECR، یا انتخاب کنید latest-gpu
اگر از دستگاهی استفاده میکنید که از GPU پشتیبانی میکند، برچسب بزنید.
این دستور JupyterLab را راه اندازی می کند و یک URL در ترمینال ارائه می دهد http://127.0.0.1:8888/lab?token=<token>
. برای شروع JupyterLab پیوند را کپی کرده و در مرورگر دلخواه خود وارد کنید.
استودیو را راه اندازی کنید
Studio یک محیط توسعه یکپارچه (IDE) برای ML است که به توسعه دهندگان و دانشمندان داده اجازه می دهد مدل های ML را در مقیاس بسازند، آموزش دهند، استقرار دهند و نظارت کنند. استودیو لیست گسترده ای از تصاویر شخص اول با چارچوب ها و بسته های رایج مانند Data Science، TensorFlow، PyTorch و Spark ارائه می دهد. این تصاویر با انتخاب یک چارچوب و نوع نمونه دلخواه خود برای محاسبه، شروع کار با ML را برای دانشمندان داده ساده می کند.
اکنون می توانید با استفاده از Studio's از توزیع منبع باز SageMaker در استودیو استفاده کنید تصویر خود را بیاورید ویژگی. برای افزودن توزیع منبع باز به دامنه SageMaker خود، مراحل زیر را انجام دهید:
- توزیع منبع باز را به حساب خود اضافه کنید رجیستری ظروف الاستیک آمازون مخزن (Amazon ECR) با اجرای دستورات زیر در ترمینال خود:
- یک تصویر SageMaker ایجاد کنید و تصویر را به دامنه Studio پیوست کنید:
- در کنسول SageMaker، استودیو را با انتخاب دامنه و نمایه کاربری موجود خود راه اندازی کنید.
- در صورت تمایل، استودیو را با دنبال کردن مراحل داخل، مجدداً راه اندازی کنید SageMaker Studio را خاموش و به روز کنید.
نوت بوک را دانلود کنید
نمونه نوت بوک را به صورت محلی از سایت دانلود کنید GitHub repo.
نوت بوک را در IDE انتخابی خود باز کنید و برای نصب یک سلول به ابتدای نوت بوک اضافه کنید torchsummary
. torchsummary
بسته بخشی از توزیع نیست، و نصب آن بر روی نوت بوک اطمینان حاصل می کند که نوت بوک از سر به آخر اجرا می شود. توصیه می کنیم استفاده کنید conda
or micromamba
برای مدیریت محیط ها و وابستگی ها سلول زیر را به دفترچه یادداشت اضافه کنید و نوت بوک را ذخیره کنید:
روی نوت بوک محلی آزمایش کنید
با انتخاب نماد آپلود همانطور که در تصویر زیر نشان داده شده است، نوت بوک را در رابط کاربری JupyterLab که راه اندازی کرده اید، آپلود کنید.
وقتی آپلود شد، آن را اجرا کنید cv-kmnist.ipynb
نوت بوک. شما می توانید بدون نیاز به نصب هیچ گونه وابستگی مانند مشعل، matplotlib یا ipywidget فوراً سلول ها را شروع کنید.
اگر مراحل قبلی را دنبال کرده باشید، می توانید ببینید که می توانید از توزیع به صورت محلی از لپ تاپ خود استفاده کنید. در مرحله بعد از همان توزیع در استودیو استفاده می کنیم تا از امکانات استودیو بهره ببریم.
انتقال آزمایش به Studio (اختیاری)
در صورت تمایل، بیایید آزمایش را به استودیو تبلیغ کنیم. یکی از مزایای استودیو این است که منابع محاسباتی زیربنایی کاملاً الاستیک هستند، بنابراین می توانید به راحتی منابع موجود را بالا یا پایین شماره گیری کنید و تغییرات به طور خودکار در پس زمینه بدون وقفه در کار شما انجام می شود. اگر میخواهید همان نوتبوک قبلی را روی یک مجموعه داده بزرگتر و نمونه محاسباتی اجرا کنید، میتوانید به استودیو مهاجرت کنید.
به رابط کاربری Studio که قبلا راه اندازی کرده اید بروید و نماد آپلود را برای آپلود نوت بوک انتخاب کنید.
پس از راه اندازی نوت بوک، از شما خواسته می شود تا نوع تصویر و نمونه را انتخاب کنید. در لانچر هسته، را انتخاب کنید sagemaker-runtime
به عنوان تصویر و یک ml.t3.medium
به عنوان مثال، سپس انتخاب کنید انتخاب کنید.
اکنون می توانید نوت بوک را بدون نیاز به هیچ تغییری در نوت بوک از محیط توسعه محلی خود به نوت بوک های Studio اجرا کنید!
دفترچه یادداشت را به عنوان شغل برنامه ریزی کنید
وقتی آزمایش خود را تمام کردید، SageMaker چندین گزینه را برای تولید نوت بوک شما ارائه می دهد، مانند مشاغل آموزشی و خطوط لوله SageMaker. یکی از این گزینه ها اجرای مستقیم خود نوت بوک به عنوان یک کار نوت بوک غیر تعاملی و برنامه ریزی شده با استفاده از مشاغل نوت بوک SageMaker. به عنوان مثال، ممکن است بخواهید مدل خود را به صورت دوره ای بازآموزی کنید، یا به صورت دوره ای از داده های دریافتی استنباط کنید و گزارش هایی را برای مصرف توسط سهامداران خود ایجاد کنید.
از Studio، نماد کار نوت بوک را انتخاب کنید تا کار نوت بوک راه اندازی شود. اگر برنامه افزودنی notebook jobs را به صورت محلی روی لپ تاپ خود نصب کرده اید، می توانید نوت بوک را مستقیماً از لپ تاپ خود نیز برنامه ریزی کنید. دیدن راهنمای نصب برای راهاندازی پسوند کارهای نوتبوک به صورت محلی.
کار نوت بوک به طور خودکار از URI تصویر ECR توزیع منبع باز استفاده می کند، بنابراین می توانید مستقیماً کار نوت بوک را برنامه ریزی کنید.
را انتخاب کنید طبق برنامه اجرا کنید، برنامه ای را انتخاب کنید، مثلاً هر هفته در روز شنبه، و انتخاب کنید ایجاد کنید. همچنین می توانید انتخاب کنید الان اجرا کن اگر می خواهید فوراً نتایج را مشاهده کنید.
هنگامی که اولین کار نوت بوک کامل شد، می توانید خروجی های نوت بوک را مستقیماً از رابط کاربری Studio با انتخاب مشاهده کنید. دفتر یادداشت زیر فایل های خروجی.
ملاحظات اضافی
علاوه بر استفاده مستقیم از تصویر ECR در دسترس عموم برای بارهای کاری ML، توزیع منبع باز مزایای زیر را ارائه می دهد:
- Dockerfile مورد استفاده برای ساخت تصویر به صورت عمومی در دسترس توسعه دهندگان است تا بتوانند تصاویر خود را کاوش کنند و بسازند. همچنین می توانید این تصویر را به عنوان تصویر پایه به ارث برده و کتابخانه های سفارشی خود را برای داشتن یک محیط قابل تکرار نصب کنید.
- اگر به Docker عادت ندارید و ترجیح می دهید از محیط های Conda در محیط JupyterLab خود استفاده کنید، ما یک
env.out
فایل برای هر یک از نسخه های منتشر شده. می توانید از دستورالعمل های موجود در فایل برای ایجاد محیط Conda خود استفاده کنید که همان محیط را تقلید می کند. برای مثال فایل محیط CPU را ببینید cpu.env.out. - میتوانید از نسخههای GPU تصویر برای اجرای بارهای کاری سازگار با GPU مانند یادگیری عمیق و پردازش تصویر استفاده کنید.
پاک کردن
مراحل زیر را برای پاکسازی منابع خود انجام دهید:
- اگر نوت بوک خود را طوری برنامه ریزی کرده اید که بر اساس یک برنامه زمان بندی اجرا شود، برنامه زمان بندی را در آن مکث یا حذف کنید تعاریف شغل نوت بوک برای جلوگیری از پرداخت هزینه برای مشاغل آینده.
- تمام برنامههای استودیو را خاموش کنید تا از پرداخت هزینههای استفاده نشده محاسباتی خودداری کنید. دیدن برنامه های استودیو را خاموش و به روز کنید برای دستورالعمل
- در صورت ایجاد دامنه، به صورت اختیاری، دامنه استودیو را حذف کنید.
نتیجه
حفظ یک محیط قابل تکرار در مراحل مختلف چرخه حیات ML یکی از بزرگترین چالشها برای دانشمندان و توسعهدهندگان داده است. با توزیع منبع باز SageMaker، تصویری را با نسخه های سازگار متقابل رایج ترین چارچوب ها و بسته های ML ارائه می دهیم. این توزیع همچنین منبع باز است و به توسعه دهندگان شفافیت بسته ها و فرآیندهای ساخت را ارائه می دهد و سفارشی کردن توزیع خود را آسان تر می کند.
در این پست به شما نشان دادیم که چگونه از توزیع در محیط محلی خود، در استودیو و به عنوان ظرف مشاغل آموزشی خود استفاده کنید. این ویژگی در حال حاضر در نسخه بتا عمومی است. ما شما را تشویق می کنیم که این را امتحان کنید و نظرات و مشکلات خود را در مورد آن به اشتراک بگذارید مخزن عمومی GitHub!
درباره نویسندگان
دورگا سوری یک معمار ML Solutions در تیم Amazon SageMaker Service SA است. او مشتاق است که یادگیری ماشین را برای همه در دسترس قرار دهد. او در 4 سال حضور خود در AWS به راهاندازی پلتفرمهای AI/ML برای مشتریان سازمانی کمک کرده است. وقتی کار نمی کند، عاشق موتورسواری، رمان های معمایی و پیاده روی طولانی با هاسکی 5 ساله اش است.
Ketan Vijayvargiya یک مهندس ارشد توسعه نرم افزار در خدمات وب آمازون (AWS) است. حوزه های تمرکز او یادگیری ماشین، سیستم های توزیع شده و منبع باز است. در خارج از کار، او دوست دارد وقت خود را صرف میزبانی از خود و لذت بردن از طبیعت کند.
- محتوای مبتنی بر SEO و توزیع روابط عمومی. امروز تقویت شوید.
- EVM Finance. رابط یکپارچه برای امور مالی غیرمتمرکز دسترسی به اینجا.
- گروه رسانه ای کوانتومی. IR/PR تقویت شده دسترسی به اینجا.
- PlatoAiStream. Web3 Data Intelligence دانش تقویت شده دسترسی به اینجا.
- منبع: https://aws.amazon.com/blogs/machine-learning/get-started-with-the-open-source-amazon-sagemaker-distribution/
- : دارد
- :است
- :نه
- $UP
- 1
- 10
- 100
- 11
- 2023
- 7
- 9
- a
- درباره ما
- در دسترس
- در میان
- اضافه کردن
- اضافه
- اضافی
- مزیت - فایده - سود - منفعت
- مزایای
- AI / ML
- معرفی
- قبلا
- همچنین
- آمازون
- آمازون SageMaker
- آمازون خدمات وب
- خدمات وب آمازون (AWS)
- an
- و
- اعلام کرد
- هر
- نرم افزار
- برنامه های
- هستند
- مناطق
- AS
- At
- ضمیمه کردن
- بطور خودکار
- در دسترس
- اجتناب از
- AWS
- زمینه
- پایه
- مستقر
- BE
- شروع
- بتا
- میان
- بزرگترین
- مرورگر
- ساختن
- by
- CAN
- CAT
- سلول ها
- چالش ها
- تبادل
- انتخاب
- را انتخاب کنید
- انتخاب
- طبقه بندی
- COM
- مشترک
- سازگار
- کامل
- محاسبه
- پیکر بندی
- استوار
- کنسول
- مصرف
- ظرف
- ظروف
- ایجاد
- ایجاد شده
- در حال حاضر
- سفارشی
- مشتریان
- سفارشی
- داده ها
- علم اطلاعات
- مجموعه داده ها
- عمیق
- یادگیری عمیق
- به طور پیش فرض
- گسترش
- توصیف
- توسعه دهندگان
- پروژه
- مختلف
- مستقیما
- توزیع شده
- سیستم های توزیع شده
- توزیع
- کارگر بارانداز
- دامنه
- انجام شده
- پایین
- هر
- پیش از آن
- آسان تر
- به آسانی
- را قادر می سازد
- تشویق
- پایان
- پشت سر هم
- مهندس
- اطمینان حاصل شود
- وارد
- سرمایه گذاری
- محیط
- محیط
- هر
- هر کس
- مثال
- مثال ها
- موجود
- تجربه
- تجربه
- تخصص
- اکتشاف
- صادرات
- گسترش
- وسیع
- ویژگی
- امکانات
- باز خورد
- پرونده
- سرانجام
- نام خانوادگی
- تمرکز
- به دنبال
- پیروی
- برای
- چارچوب
- چارچوب
- از جانب
- کامل
- کاملا
- آینده
- تولید می کنند
- دریافت کنید
- GitHub
- GPU
- آیا
- داشتن
- he
- کمک کرد
- او
- خود را
- چگونه
- چگونه
- HTML
- HTTPS
- ICON
- if
- تصویر
- طبقه بندی تصویر
- تصاویر
- بلافاصله
- بهبود
- in
- وارد شونده
- نصب
- نصب شده
- نصب کردن
- نمونه
- دستورالعمل
- یکپارچه
- به
- مسائل
- IT
- خود
- کار
- شغل ها
- JPG
- json
- آزمایشگاه
- لپ تاپ
- بزرگتر
- راه اندازی
- راه اندازی
- یادگیری
- اجازه می دهد تا
- سطح
- کتابخانه ها
- wifecycwe
- پسندیدن
- دوست دارد
- ارتباط دادن
- فهرست
- محلی
- به صورت محلی
- ورود
- طولانی
- دیگر
- خاموش
- دوست دارد
- دستگاه
- فراگیری ماشین
- ساخت
- ساخت
- مدیریت
- مدیریت
- ماتپلوتلب
- قدرت
- مهاجرت
- ML
- مدل
- مدل
- مانیتور
- اکثر
- موتورسیکلت
- حرکت
- چندگانه
- متقابلا
- راز
- نام
- طبیعت
- نیاز
- نیازمند
- شبکه
- شبکه های عصبی
- جدید
- بعد
- نه
- دفتر یادداشت
- اکنون
- of
- پیشنهادات
- on
- ONE
- باز کن
- منبع باز
- گزینه
- گزینه
- or
- ما
- خارج
- خارج از
- خود
- بسته
- بسته
- پانداها
- بخش
- احساساتی
- توقف
- پرداخت
- کارایی
- محل
- سیستم عامل
- افلاطون
- هوش داده افلاطون
- PlatoData
- پست
- ترجیح می دهند
- مرجح
- پیش نیازها
- چاپ
- خصوصی
- فرآیندهای
- در حال پردازش
- تولید
- مشخصات
- ترویج
- ارائه
- فراهم می کند
- ارائه
- عمومی
- عمومی
- منتشر شده
- فشار
- پــایتــون
- مارماهی
- به سرعت
- توصیه
- جایگزین کردن
- گزارش ها
- مخزن
- مورد نیاز
- منابع
- نتایج
- دویدن
- در حال اجرا
- s
- SA
- حکیم ساز
- خطوط لوله SageMaker
- همان
- روز شنبه
- ذخیره
- مقیاس
- برنامه
- برنامه ریزی
- علم
- دانشمندان
- یادگیری
- امن
- دیدن
- ارشد
- سرویس
- خدمات
- خدمت
- تنظیم
- تنظیمات
- اشتراک گذاری
- او
- نشان
- نمایشگاه
- نشان داد
- نشان داده شده
- ساده
- به سادگی
- So
- نرم افزار
- توسعه نرم افزار
- مزایا
- منبع
- جرقه
- خرج کردن
- مراحل
- سهامداران
- شروع
- آغاز شده
- راه افتادن
- گام
- مراحل
- استودیو
- چنین
- پشتیبانی از
- گزینه
- سیستم های
- TAG
- گرفتن
- تیم
- جریان تنسور
- پایانه
- آزمون
- که
- La
- شان
- آنها
- سپس
- اینها
- آنها
- این
- زمان
- به
- امروز
- مشعل
- قطار
- آموزش
- شفافیت
- امتحان
- نوع
- ui
- اساسی
- یکپارچه
- استفاده نشده
- بروزرسانی
- آپلود شده
- URL
- استفاده
- استفاده کنید
- استفاده
- کاربر
- استفاده
- با استفاده از
- نسخه
- چشم انداز
- تجسم
- می خواهم
- خواسته
- we
- وب
- خدمات وب
- هفته
- چه زمانی
- اراده
- با
- بدون
- مهاجرت کاری
- کارگر
- سال
- شما
- شما
- زفیرنت