به تازگی، Amazon SageMaker Studio راه آسانی را برای اجرای نوتبوکها بهعنوان کارهای دستهای راهاندازی کرد که میتوانند در یک برنامه زمانی تکرار شونده اجرا شوند. Amazon SageMaker Studio Lab همچنین از این ویژگی پشتیبانی می کند و به شما امکان می دهد نوت بوک هایی را که در آزمایشگاه SageMaker Studio توسعه داده اید در حساب AWS خود اجرا کنید. این به شما امکان میدهد تا به سرعت آزمایشهای یادگیری ماشین (ML) خود را با مجموعه دادههای بزرگتر و نمونههای قدرتمندتر، بدون نیاز به یادگیری چیز جدیدی یا تغییر یک خط کد، مقیاس کنید.
در این پست، پیش نیاز یکباره اتصال محیط Studio Lab خود را به یک حساب AWS به شما آموزش می دهیم. پس از آن، مراحل اجرای نوتبوکها را بهعنوان کار دستهای از Studio Lab به شما آموزش میدهیم.
بررسی اجمالی راه حل
Studio Lab همان پسوند Studio را که بر اساس پسوند منبع باز Jupyter است، گنجانده است نوت بوک های برنامه ریزی شده. این برنامه افزودنی دارای پارامترهای خاص AWS مانند نوع محاسبه است. در آزمایشگاه استودیو، یک نوت بوک برنامه ریزی شده ابتدا در یک کپی می شود سرویس ذخیره سازی ساده آمازون (Amazon S3) را در حساب AWS خود قرار دهید، سپس در زمان برنامه ریزی شده با نوع محاسبه انتخاب شده اجرا کنید. هنگامی که کار کامل شد، خروجی در یک سطل S3 نوشته می شود و محاسبه AWS به طور کامل متوقف می شود و از هزینه های مداوم جلوگیری می کند.
پیش نیازها
برای استفاده از کارهای نوت بوک Studio Lab، باید به حساب AWS که قرار است با آن ارتباط برقرار کنید (یا کمک شخصی با این دسترسی) دسترسی مدیریت داشته باشید. در ادامه این پست، فرض میکنیم که شما مدیر AWS هستید، اگر اینطور نیست، از سرپرست یا صاحب حساب خود بخواهید که این مراحل را با شما مرور کند.
یک نقش اجرایی SageMaker ایجاد کنید
ما باید مطمئن شویم که حساب AWS دارای یک هویت AWS و مدیریت دسترسی (IAM) نقش اجرای SageMaker. این نقش توسط منابع SageMaker در حساب استفاده می شود و دسترسی SageMaker به منابع دیگر در حساب AWS را فراهم می کند. در مورد ما، کارهای نوت بوک ما با این مجوزها اجرا می شوند. اگر SageMaker قبلاً در این حساب استفاده شده باشد، ممکن است نقشی از قبل وجود داشته باشد، اما ممکن است تمام مجوزهای لازم را نداشته باشد. پس بیایید جلو برویم و یک مورد جدید بسازیم.
بدون توجه به اینکه چه تعداد محیط آزمایشگاه SageMaker Studio به این حساب AWS دسترسی خواهند داشت، مراحل زیر فقط باید یک بار انجام شود.
- در کنسول IAM، را انتخاب کنید نقش در صفحه ناوبری
- را انتخاب کنید نقش ایجاد کنید.
- برای نوع نهاد مورد اعتماد، انتخاب کنید سرویس AWS.
- برای از موارد برای سایر خدمات AWS استفاده کنید، انتخاب کنید SageMaker.
- انتخاب کنید SageMaker - اعدام.
- را انتخاب کنید بعدی.
- مجوزها را بررسی کنید، سپس انتخاب کنید بعدی.
- برای نام نقش، یک نام وارد کنید (برای این پست، ما استفاده می کنیم
sagemaker-execution-role-notebook-jobs
). - را انتخاب کنید نقش ایجاد کنید.
- نقش ARN را یادداشت کنید.
نقش ARN در قالب خواهد بود arn:aws:iam::[account-number]:role/service-role/[role-name]
و در تنظیمات Studio Lab مورد نیاز است.
یک کاربر IAM ایجاد کنید
برای اینکه یک محیط Studio Lab به AWS دسترسی داشته باشد، باید یک کاربر IAM در AWS ایجاد کنیم و مجوزهای لازم را به آن اعطا کنیم. سپس باید مجموعه ای از کلیدهای دسترسی را برای آن کاربر ایجاد کنیم و آنها را در اختیار محیط Studio Lab قرار دهیم.
این مرحله باید برای هر محیط آزمایشگاه SageMaker Studio که به این حساب AWS دسترسی دارد، تکرار شود.
توجه داشته باشید که مدیران و صاحبان حسابهای AWS باید اطمینان حاصل کنند که تا حد ممکن، شیوههای امنیتی به خوبی طراحی شدهاند. به عنوان مثال، مجوزهای کاربر باید همیشه در محدوده پایین باشد، و کلیدهای دسترسی باید به طور منظم چرخانده شوند تا تأثیر به خطر افتادن اعتبارنامه به حداقل برسد.
در این وبلاگ نحوه استفاده از آن را نشان می دهیم AmazonSageMakerFullAccess
سیاست مدیریت شده این خطمشی دسترسی گستردهای به Amazon SageMaker فراهم میکند که ممکن است فراتر از آنچه لازم است باشد. جزئیات در مورد AmazonSageMakerFullAccess
را می توان یافت اینجا کلیک نمایید.
اگرچه Studio Lab از امنیت سازمانی استفاده می کند، باید توجه داشت که اعتبار کاربری Studio Lab بخشی از حساب AWS شما را تشکیل نمی دهد و بنابراین، برای مثال، مشمول رمز عبور AWS یا سیاست های MFA شما نمی شود.
برای محدود کردن مجوزها تا حد امکان، یک نمایه کاربر به طور خاص برای این دسترسی ایجاد می کنیم.
- در کنسول IAM، را انتخاب کنید کاربران در صفحه ناوبری
- را انتخاب کنید کاربران را اضافه کنید.
- برای نام کاربری، یک نام وارد کنید. استفاده از نامی که به فردی مرتبط است که از این حساب استفاده خواهد کرد، تمرین خوبی است. در صورت بررسی گزارش های حسابرسی، این کمک می کند.
- برای نوع دسترسی AWS را انتخاب کنید، انتخاب کنید کلید دسترسی - دسترسی برنامهای.
- را انتخاب کنید بعدی: مجوزها.
- را انتخاب کنید خط مشی های موجود را مستقیماً ضمیمه کنید.
- جستجو و انتخاب کنید
AmazonSageMakerFullAccess
. - جستجو و انتخاب کنید
AmazonEventBridgeFullAccess
. - را انتخاب کنید بعدی: برچسب ها.
- را انتخاب کنید بعدی: مرور کنید.
- سیاست های خود را تأیید کنید، سپس انتخاب کنید ایجاد کاربر.صفحه نهایی فرآیند ایجاد کاربر باید کلیدهای دسترسی کاربر را به شما نشان دهد. این برگه را باز بگذارید، زیرا نمیتوانیم به اینجا برگردیم و به این جزئیات نیاز داریم.
- یک برگه مرورگر جدید در Studio Lab باز کنید.
- بر پرونده منو ، انتخاب کنید پرتاب جدید، پس از آن را انتخاب کنید پایانه.
- در خط فرمان کد زیر را وارد کنید:
- کد زیر را وارد کنید:
- مقادیر را از صفحه کنسول IAM برای شناسه کلید دسترسی و کلید دسترسی مخفی خود وارد کنید.
- برای
Default region name
، واردus-west-2
. - ترک کردن
Default output format
astext
.
تبریک میگوییم، محیط Studio Lab شما اکنون باید برای دسترسی به حساب AWS پیکربندی شود. برای تست اتصال، دستور زیر را صادر کنید:
این دستور باید جزئیات مربوط به کاربر IAM را که شما برای استفاده از آن پیکربندی کرده اید، بازگرداند.
یک کار نوت بوک ایجاد کنید
مشاغل نوت بوک با استفاده از نوت بوک های Jupyter در آزمایشگاه Studio ایجاد می شوند. اگر نوت بوک شما در Studio Lab اجرا می شود، می تواند به عنوان یک کار نوت بوک (با منابع بیشتر و دسترسی به خدمات AWS) اجرا شود. با این حال، چند چیز وجود دارد که باید مراقب آنها بود.
اگر بسته هایی را برای کارکردن نوت بوک خود نصب کرده اید، دستوراتی را برای بارگیری این بسته ها در سلولی در بالای نوت بوک خود اضافه کنید. با استفاده از علامت & در ابتدای هر خط، کد برای اجرا به خط فرمان ارسال می شود. در مثال زیر، سلول اول از پیپ برای نصب کتابخانه های PyTorch استفاده می کند:
نوت بوک ما یک مدل PyTorch آموزش دیده ایجاد می کند. با کد معمولی خود، مدل را در فایل سیستم در Studio Labs ذخیره می کنیم.
وقتی این را به عنوان یک کار نوت بوک اجرا می کنیم، باید مدل را در جایی ذخیره کنیم که بتوانیم بعداً به آن دسترسی پیدا کنیم. ساده ترین راه برای انجام این کار ذخیره مدل در آمازون S3 است. ما یک سطل S3 برای ذخیره مدل های خود ایجاد کردیم و از یک سلول خط فرمان دیگر برای کپی کردن شی در سطل استفاده کردیم.
ما با استفاده از رابط خط فرمان AWS (AWS CLI) در اینجا برای کپی کردن شی. ما همچنین می توانیم استفاده کنیم AWS SDK برای پایتون (Boto3) اگر میخواهیم کنترل پیچیدهتری یا خودکارتری روی نام فایل داشته باشیم. در حال حاضر، اطمینان حاصل می کنیم که هر بار که نوت بوک را اجرا می کنیم، نام فایل را تغییر می دهیم تا مدل ها رونویسی نشوند.
اکنون آماده ایجاد شغل نوت بوک هستیم.
- نام نوت بوک را انتخاب کنید (راست کلیک کنید)، سپس انتخاب کنید ایجاد شغل نوت بوک.
اگر این گزینه منو وجود ندارد، ممکن است لازم باشد محیط Studio Lab خود را بازخوانی کنید. برای انجام این کار، ترمینال را از لانچر باز کنید و کد زیر را اجرا کنید: - سپس، نمونه JupyterLab خود را با انتخاب مجدد راه اندازی کنید Amazon SageMaker Studio Lab از منوی بالا، سپس انتخاب کنید JupyterLab را مجددا راه اندازی کنیدیا به صفحه پروژه بروید و زمان اجرا را خاموش و دوباره راه اندازی کنید.
- بر ایجاد شغل صفحه، برای نوع را محاسبه کنید، نوع محاسباتی را انتخاب کنید که مناسب کار شما باشد.
برای اطلاعات بیشتر در مورد انواع مختلف ظرفیت محاسباتی، از جمله هزینه، نگاه کنید قیمت گذاری آمازون SageMaker (انتخاب کنید قیمت گذاری بر حسب تقاضا و حرکت به آموزش برگه همچنین ممکن است لازم باشد در دسترس بودن سهمیه نوع محاسبه در حساب AWS خود را بررسی کنید. برای اطلاعات بیشتر در مورد سهمیه خدمات، نگاه کنید به: سهمیه خدمات AWSبرای این مثال، نمونه ml.p3.2xlarge را انتخاب کردهایم که 8 vCPU، 61 گیگابایت حافظه و GPU Tesla V100 ارائه میدهد.
اگر هیچ هشداری در این صفحه وجود ندارد، باید آماده باشید. در صورت وجود هشدار، بررسی کنید تا مطمئن شوید که نقش صحیح ARN در آن مشخص شده است گزینه های اضافی. این نقش باید با ARN نقش اجرای SageMaker که قبلا ایجاد کردیم مطابقت داشته باشد. ARN در قالب است.
arn:aws:iam::[account-number]:role/service-role/[role-name]
.گزینه های دیگری نیز در داخل وجود دارد گزینه های اضافی; به عنوان مثال، می توانید یک تصویر و هسته خاص را انتخاب کنید که ممکن است از قبل پیکربندی مورد نیاز شما را بدون نیاز به نصب کتابخانه های اضافی داشته باشد.
- اگر میخواهید این نوتبوک را طبق برنامه اجرا کنید، انتخاب کنید طبق برنامه اجرا کنید و مشخص کنید که هر چند وقت یکبار می خواهید کار اجرا شود.ما می خواهیم این نوت بوک یک بار اجرا شود، بنابراین انتخاب می کنیم الان اجرا کن.
- را انتخاب کنید ساختن.
لیست مشاغل نوت بوک
La مشاغل نوت بوک صفحه تمام کارهایی که در حال حاضر در حال اجرا هستند و آنهایی که در گذشته اجرا شده اند را فهرست می کند. می توانید این لیست را از Launcher پیدا کنید (انتخاب کنید، پرونده, پرتاب جدید، سپس انتخاب کنید مشاغل نوت بوک در دیگر بخش.
هنگامی که کار نوت بوک کامل شد، وضعیت تغییر وضعیت را مشاهده خواهید کرد Completed
(از بازنگری گزینه در صورت نیاز). سپس می توانید نماد دانلود را برای دسترسی به فایل های خروجی انتخاب کنید.
هنگامی که فایل ها دانلود شدند، می توانید دفترچه یادداشت را به همراه خروجی کد و گزارش خروجی مرور کنید. در مورد ما، چون کد را به زمان اجرای سلول آموزشی اضافه کردیم، میتوانیم ببینیم که کار آموزشی چقدر طول کشید - 16 دقیقه و 21 ثانیه، که بسیار سریعتر از زمانی است که کد در داخل Studio Lab اجرا میشد (1 ساعت). ، 38 دقیقه و 55 ثانیه). در واقع، کل نوت بوک در 1,231 ثانیه (کمی بیش از 20 دقیقه) با هزینه کمتر از 1.30 دلار (USD) کار کرد.
W اکنون میتواند تعداد دورهها را افزایش داده و فراپارامترها را برای بهبود ارزش تلفات مدل تنظیم کند و کار نوتبوک دیگری را ارسال کند.
نتیجه
در این پست، نحوه استفاده از کارهای نوت بوک Studio Lab را برای کوچک کردن کدهایی که در Studio Lab ایجاد کردهایم و با منابع بیشتری در یک حساب AWS اجرا میکنیم، نشان دادیم.
با افزودن اعتبارنامههای AWS به محیط آزمایشگاه استودیو، نه تنها میتوانیم به کارهای نوتبوک دسترسی داشته باشیم، بلکه میتوانیم به منابع دیگر از حساب AWS مستقیماً از داخل نوتبوکهای آزمایشگاه استودیو خود دسترسی داشته باشیم. نگاهی به AWS SDK برای پایتون بیندازید.
این قابلیت اضافی Studio Lab محدودیتهای نوع و اندازه پروژههایی را که میتوانید به دست آورید برطرف میکند. به ما اطلاع دهید که با این قابلیت جدید چه چیزی می سازید!
درباره نویسندگان
مایک چمبرز یک مدافع توسعه دهنده هوش مصنوعی و ML در AWS است. او 7 سال گذشته را صرف کمک به سازندگان برای یادگیری ابر، امنیت و ML کرده است. مایک که اصالتاً بریتانیایی است، یک نوشیدنی پرشور چای و سازنده لگو است.
میشل مونکلوا مدیر محصول اصلی در AWS در تیم SageMaker است. او یک کهنه سرباز بومی نیویورک و سیلیکون ولی است. او مشتاق نوآوری هایی است که کیفیت زندگی ما را بهبود می بخشد.
- AI
- آی هنر
- مولد هنر ai
- ربات ai
- آمازون SageMaker
- Amazon SageMaker Studio
- Amazon SageMaker Studio Lab
- هوش مصنوعی
- گواهی هوش مصنوعی
- هوش مصنوعی در بانکداری
- ربات هوش مصنوعی
- ربات های هوش مصنوعی
- نرم افزار هوش مصنوعی
- آموزش ماشین AWS
- بلاکچین
- کنفرانس بلاک چین ai
- coingenius
- هوش مصنوعی محاوره ای
- کنفرانس کریپتو ai
- دل-ه
- یادگیری عمیق
- گوگل ai
- فراگیری ماشین
- افلاطون
- افلاطون آی
- هوش داده افلاطون
- بازی افلاطون
- PlatoData
- بازی پلاتو
- مقیاس Ai
- نحو
- زفیرنت