Run notebooks as batch jobs in Amazon SageMaker Studio Lab PlatoBlockchain Data Intelligence. Vertical Search. Ai.

نوت‌بوک‌ها را به‌عنوان کارهای دسته‌ای در Amazon SageMaker Studio Lab اجرا کنید

به تازگی، 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 دسترسی خواهند داشت، مراحل زیر فقط باید یک بار انجام شود.

  1. در کنسول IAM، را انتخاب کنید نقش در صفحه ناوبری
  2. را انتخاب کنید نقش ایجاد کنید.
  3. برای نوع نهاد مورد اعتماد، انتخاب کنید سرویس AWS.
  4. برای از موارد برای سایر خدمات AWS استفاده کنید، انتخاب کنید SageMaker.
  5. انتخاب کنید SageMaker - اعدام.
  6. را انتخاب کنید بعدی.
  7. مجوزها را بررسی کنید، سپس انتخاب کنید بعدی.Run notebooks as batch jobs in Amazon SageMaker Studio Lab PlatoBlockchain Data Intelligence. Vertical Search. Ai.
  8. برای نام نقش، یک نام وارد کنید (برای این پست، ما استفاده می کنیم sagemaker-execution-role-notebook-jobs).
  9. را انتخاب کنید نقش ایجاد کنید.
  10. نقش 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 شما نمی شود.

برای محدود کردن مجوزها تا حد امکان، یک نمایه کاربر به طور خاص برای این دسترسی ایجاد می کنیم.

  1. در کنسول IAM، را انتخاب کنید کاربران در صفحه ناوبری
  2. را انتخاب کنید کاربران را اضافه کنید.
  3. برای نام کاربری، یک نام وارد کنید. استفاده از نامی که به فردی مرتبط است که از این حساب استفاده خواهد کرد، تمرین خوبی است. در صورت بررسی گزارش های حسابرسی، این کمک می کند.
  4. برای نوع دسترسی AWS را انتخاب کنید، انتخاب کنید کلید دسترسی - دسترسی برنامه‌ای.
  5. را انتخاب کنید بعدی: مجوزها.Run notebooks as batch jobs in Amazon SageMaker Studio Lab PlatoBlockchain Data Intelligence. Vertical Search. Ai.
  6. را انتخاب کنید خط مشی های موجود را مستقیماً ضمیمه کنید.
  7. جستجو و انتخاب کنید AmazonSageMakerFullAccess.Run notebooks as batch jobs in Amazon SageMaker Studio Lab PlatoBlockchain Data Intelligence. Vertical Search. Ai.
  8. جستجو و انتخاب کنید AmazonEventBridgeFullAccess.Run notebooks as batch jobs in Amazon SageMaker Studio Lab PlatoBlockchain Data Intelligence. Vertical Search. Ai.
  9. را انتخاب کنید بعدی: برچسب ها.
  10. را انتخاب کنید بعدی: مرور کنید.
  11. سیاست های خود را تأیید کنید، سپس انتخاب کنید ایجاد کاربر.Run notebooks as batch jobs in Amazon SageMaker Studio Lab PlatoBlockchain Data Intelligence. Vertical Search. Ai.صفحه نهایی فرآیند ایجاد کاربر باید کلیدهای دسترسی کاربر را به شما نشان دهد. این برگه را باز بگذارید، زیرا نمی‌توانیم به اینجا برگردیم و به این جزئیات نیاز داریم.
  12. یک برگه مرورگر جدید در Studio Lab باز کنید.
  13. بر پرونده منو ، انتخاب کنید پرتاب جدید، پس از آن را انتخاب کنید پایانه.Run notebooks as batch jobs in Amazon SageMaker Studio Lab PlatoBlockchain Data Intelligence. Vertical Search. Ai.
  14. در خط فرمان کد زیر را وارد کنید:
    aws configure

  15. کد زیر را وارد کنید:
    1. مقادیر را از صفحه کنسول IAM برای شناسه کلید دسترسی و کلید دسترسی مخفی خود وارد کنید.
    2. برای Default region name، وارد us-west-2.
    3. ترک کردن Default output format as text.
      (studiolab) studio-lab-user@default:~$ aws configure 
      AWS Access Key ID []: 01234567890
      AWS Secret Access Key []: ABCDEFG1234567890ABCDEFG
      Default region name []: us-west-2
      Default output format [text]: 
      
      (studiolab) studio-lab-user@default:~$

تبریک می‌گوییم، محیط Studio Lab شما اکنون باید برای دسترسی به حساب AWS پیکربندی شود. برای تست اتصال، دستور زیر را صادر کنید:

aws sts get-caller-identity

این دستور باید جزئیات مربوط به کاربر IAM را که شما برای استفاده از آن پیکربندی کرده اید، بازگرداند.

یک کار نوت بوک ایجاد کنید

مشاغل نوت بوک با استفاده از نوت بوک های Jupyter در آزمایشگاه Studio ایجاد می شوند. اگر نوت بوک شما در Studio Lab اجرا می شود، می تواند به عنوان یک کار نوت بوک (با منابع بیشتر و دسترسی به خدمات AWS) اجرا شود. با این حال، چند چیز وجود دارد که باید مراقب آنها بود.

اگر بسته هایی را برای کارکردن نوت بوک خود نصب کرده اید، دستوراتی را برای بارگیری این بسته ها در سلولی در بالای نوت بوک خود اضافه کنید. با استفاده از علامت & در ابتدای هر خط، کد برای اجرا به خط فرمان ارسال می شود. در مثال زیر، سلول اول از پیپ برای نصب کتابخانه های PyTorch استفاده می کند:

%%capture
%pip install torch
%pip install torchvision

Run notebooks as batch jobs in Amazon SageMaker Studio Lab PlatoBlockchain Data Intelligence. Vertical Search. Ai.

نوت بوک ما یک مدل PyTorch آموزش دیده ایجاد می کند. با کد معمولی خود، مدل را در فایل سیستم در Studio Labs ذخیره می کنیم.

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

Run notebooks as batch jobs in Amazon SageMaker Studio Lab PlatoBlockchain Data Intelligence. Vertical Search. Ai. Run notebooks as batch jobs in Amazon SageMaker Studio Lab PlatoBlockchain Data Intelligence. Vertical Search. Ai.

ما با استفاده از رابط خط فرمان AWS (AWS CLI) در اینجا برای کپی کردن شی. ما همچنین می توانیم استفاده کنیم AWS SDK برای پایتون (Boto3) اگر می‌خواهیم کنترل پیچیده‌تری یا خودکارتری روی نام فایل داشته باشیم. در حال حاضر، اطمینان حاصل می کنیم که هر بار که نوت بوک را اجرا می کنیم، نام فایل را تغییر می دهیم تا مدل ها رونویسی نشوند.

اکنون آماده ایجاد شغل نوت بوک هستیم.

  1. نام نوت بوک را انتخاب کنید (راست کلیک کنید)، سپس انتخاب کنید ایجاد شغل نوت بوک.Run notebooks as batch jobs in Amazon SageMaker Studio Lab PlatoBlockchain Data Intelligence. Vertical Search. Ai.
    اگر این گزینه منو وجود ندارد، ممکن است لازم باشد محیط Studio Lab خود را بازخوانی کنید. برای انجام این کار، ترمینال را از لانچر باز کنید و کد زیر را اجرا کنید:
    conda deactivate && conda env remove —name studiolab

  2. سپس، نمونه JupyterLab خود را با انتخاب مجدد راه اندازی کنید Amazon SageMaker Studio Lab از منوی بالا، سپس انتخاب کنید JupyterLab را مجددا راه اندازی کنیدیا به صفحه پروژه بروید و زمان اجرا را خاموش و دوباره راه اندازی کنید.
  3. بر ایجاد شغل صفحه، برای نوع را محاسبه کنید، نوع محاسباتی را انتخاب کنید که مناسب کار شما باشد.

    برای اطلاعات بیشتر در مورد انواع مختلف ظرفیت محاسباتی، از جمله هزینه، نگاه کنید قیمت گذاری آمازون SageMaker (انتخاب کنید قیمت گذاری بر حسب تقاضا و حرکت به آموزش برگه همچنین ممکن است لازم باشد در دسترس بودن سهمیه نوع محاسبه در حساب AWS خود را بررسی کنید. برای اطلاعات بیشتر در مورد سهمیه خدمات، نگاه کنید به: سهمیه خدمات AWSبرای این مثال، نمونه ml.p3.2xlarge را انتخاب کرده‌ایم که 8 vCPU، 61 گیگابایت حافظه و GPU Tesla V100 ارائه می‌دهد.Run notebooks as batch jobs in Amazon SageMaker Studio Lab PlatoBlockchain Data Intelligence. Vertical Search. Ai.

    اگر هیچ هشداری در این صفحه وجود ندارد، باید آماده باشید. در صورت وجود هشدار، بررسی کنید تا مطمئن شوید که نقش صحیح ARN در آن مشخص شده است گزینه های اضافی. این نقش باید با ARN نقش اجرای SageMaker که قبلا ایجاد کردیم مطابقت داشته باشد. ARN در قالب است. arn:aws:iam::[account-number]:role/service-role/[role-name].

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

  4. اگر می‌خواهید این نوت‌بوک را طبق برنامه اجرا کنید، انتخاب کنید طبق برنامه اجرا کنید و مشخص کنید که هر چند وقت یکبار می خواهید کار اجرا شود.Run notebooks as batch jobs in Amazon SageMaker Studio Lab PlatoBlockchain Data Intelligence. Vertical Search. Ai.ما می خواهیم این نوت بوک یک بار اجرا شود، بنابراین انتخاب می کنیم الان اجرا کن.
  5. را انتخاب کنید ساختن.
    Run notebooks as batch jobs in Amazon SageMaker Studio Lab PlatoBlockchain Data Intelligence. Vertical Search. Ai.

لیست مشاغل نوت بوک

La مشاغل نوت بوک صفحه تمام کارهایی که در حال حاضر در حال اجرا هستند و آنهایی که در گذشته اجرا شده اند را فهرست می کند. می توانید این لیست را از Launcher پیدا کنید (انتخاب کنید، پرونده, پرتاب جدید، سپس انتخاب کنید مشاغل نوت بوک در دیگر بخش.

Run notebooks as batch jobs in Amazon SageMaker Studio Lab PlatoBlockchain Data Intelligence. Vertical Search. Ai.

هنگامی که کار نوت بوک کامل شد، وضعیت تغییر وضعیت را مشاهده خواهید کرد Completed (از بازنگری گزینه در صورت نیاز). سپس می توانید نماد دانلود را برای دسترسی به فایل های خروجی انتخاب کنید.

Run notebooks as batch jobs in Amazon SageMaker Studio Lab PlatoBlockchain Data Intelligence. Vertical Search. Ai.

هنگامی که فایل ها دانلود شدند، می توانید دفترچه یادداشت را به همراه خروجی کد و گزارش خروجی مرور کنید. در مورد ما، چون کد را به زمان اجرای سلول آموزشی اضافه کردیم، می‌توانیم ببینیم که کار آموزشی چقدر طول کشید - 16 دقیقه و 21 ثانیه، که بسیار سریع‌تر از زمانی است که کد در داخل Studio Lab اجرا می‌شد (1 ساعت). ، 38 دقیقه و 55 ثانیه). در واقع، کل نوت بوک در 1,231 ثانیه (کمی بیش از 20 دقیقه) با هزینه کمتر از 1.30 دلار (USD) کار کرد.

Run notebooks as batch jobs in Amazon SageMaker Studio Lab PlatoBlockchain Data Intelligence. Vertical Search. Ai.

W اکنون می‌تواند تعداد دوره‌ها را افزایش داده و فراپارامترها را برای بهبود ارزش تلفات مدل تنظیم کند و کار نوت‌بوک دیگری را ارسال کند.

نتیجه

در این پست، نحوه استفاده از کارهای نوت بوک Studio Lab را برای کوچک کردن کدهایی که در Studio Lab ایجاد کرده‌ایم و با منابع بیشتری در یک حساب AWS اجرا می‌کنیم، نشان دادیم.

با افزودن اعتبارنامه‌های AWS به محیط آزمایشگاه استودیو، نه تنها می‌توانیم به کارهای نوت‌بوک دسترسی داشته باشیم، بلکه می‌توانیم به منابع دیگر از حساب AWS مستقیماً از داخل نوت‌بوک‌های آزمایشگاه استودیو خود دسترسی داشته باشیم. نگاهی به AWS SDK برای پایتون بیندازید.

این قابلیت اضافی Studio Lab محدودیت‌های نوع و اندازه پروژه‌هایی را که می‌توانید به دست آورید برطرف می‌کند. به ما اطلاع دهید که با این قابلیت جدید چه چیزی می سازید!


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

Run notebooks as batch jobs in Amazon SageMaker Studio Lab PlatoBlockchain Data Intelligence. Vertical Search. Ai.مایک چمبرز یک مدافع توسعه دهنده هوش مصنوعی و ML در AWS است. او 7 سال گذشته را صرف کمک به سازندگان برای یادگیری ابر، امنیت و ML کرده است. مایک که اصالتاً بریتانیایی است، یک نوشیدنی پرشور چای و سازنده لگو است.

Run notebooks as batch jobs in Amazon SageMaker Studio Lab PlatoBlockchain Data Intelligence. Vertical Search. Ai. میشل مونکلوا مدیر محصول اصلی در AWS در تیم SageMaker است. او یک کهنه سرباز بومی نیویورک و سیلیکون ولی است. او مشتاق نوآوری هایی است که کیفیت زندگی ما را بهبود می بخشد.

تمبر زمان:

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