نوت بوک های Amazon SageMaker Studio خود را به عنوان کارهای نوت بوک برنامه ریزی شده PlatoBlockchain Data Intelligence عملیاتی کنید. جستجوی عمودی Ai.

نوت بوک های Amazon SageMaker Studio خود را به عنوان کارهای نوت بوک برنامه ریزی شده عملیاتی کنید

Amazon SageMaker Studio یک راه حل کاملاً مدیریت شده برای دانشمندان داده ارائه می دهد تا به طور تعاملی مدل های یادگیری ماشین (ML) را بسازند، آموزش دهند و به کار گیرند. علاوه بر تجربه تعاملی ML، کارکنان داده همچنین به دنبال راه‌حل‌هایی برای اجرای نوت‌بوک‌ها به‌عنوان کارهای زودگذر بدون نیاز به تغییر کد به‌عنوان ماژول‌های پایتون یا یادگیری ابزارهای DevOps و بهترین شیوه‌ها برای خودکارسازی زیرساخت‌های استقرار آن‌ها هستند. برخی از موارد استفاده رایج برای انجام این کار عبارتند از:

  • اجرای منظم استنتاج مدل برای تولید گزارش
  • افزایش مقیاس یک مرحله مهندسی ویژگی پس از آزمایش در استودیو در برابر زیرمجموعه ای از داده ها در یک نمونه کوچک
  • بازآموزی و استقرار مدل ها در برخی از آهنگ ها
  • تجزیه و تحلیل تیم شما آمازون SageMaker استفاده در آهنگ منظم

پیش از این، زمانی که دانشمندان داده می‌خواستند کدی را که به صورت تعاملی بر روی نوت‌بوک‌ها ساخته‌اند دریافت کنند و آن‌ها را به‌عنوان کارهای دسته‌ای اجرا کنند، با استفاده از منحنی یادگیری شدید مواجه شدند. خطوط لوله آمازون SageMaker, AWS لامبدا, پل رویداد آمازون، یا راه حل های دیگر که راه اندازی، استفاده و مدیریت آن دشوار است.

با مشاغل نوت بوک SageMaker، اکنون می توانید نوت بوک های خود را همانطور که هست یا به صورت پارامتری شده تنها با چند کلیک ساده از SageMaker Studio یا آزمایشگاه SageMaker Studio رابط. می‌توانید این نوت‌بوک‌ها را طبق برنامه یا بلافاصله اجرا کنید. نیازی نیست کاربر نهایی کد نوت بوک موجود خود را تغییر دهد. وقتی کار کامل شد، می‌توانید سلول‌های نوت‌بوک پر شده، از جمله هر گونه تصویرسازی را مشاهده کنید!

در این پست، نحوه عملیاتی کردن نوت بوک های SageMaker Studio خود را به عنوان کارهای نوت بوک برنامه ریزی شده به اشتراک می گذاریم.

بررسی اجمالی راه حل

نمودار زیر معماری راه حل ما را نشان می دهد. ما از افزونه SageMaker از پیش نصب شده برای اجرای نوت‌بوک‌ها به‌عنوان کار فوری یا بر اساس برنامه استفاده می‌کنیم.

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

پیش نیازها

برای استفاده از کارهای نوت بوک SageMaker، باید یک برنامه JupyterLab 3 JupyterServer را در استودیو اجرا کنید. برای اطلاعات بیشتر در مورد نحوه ارتقاء به JupyterLab 3، مراجعه کنید نسخه JupyterLab یک برنامه را از کنسول مشاهده و به روز کنید. حتماً SageMaker Studio را خاموش و به روز کنید به منظور دریافت آخرین به روز رسانی ها

برای تعریف تعاریف شغلی که نوت‌بوک‌ها را بر اساس یک زمان‌بندی اجرا می‌کنند، ممکن است لازم باشد مجوزهای بیشتری را به نقش اجرای SageMaker خود اضافه کنید.

ابتدا، یک رابطه اعتماد به نقش اجرای SageMaker خود اضافه کنید که اجازه می دهد events.amazonaws.com برای به عهده گرفتن نقش خود:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "Service": "sagemaker.amazonaws.com"
            },
            "Action": "sts:AssumeRole"
        },
        {
            "Effect": "Allow",
            "Principal": {
                "Service": "events.amazonaws.com"
            },
            "Action": "sts:AssumeRole"
        }
    ]
}

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

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "VisualEditor0",
            "Effect": "Allow",
            "Action": [
                "events:TagResource",
                "events:DeleteRule",
                "events:PutTargets",
                "events:DescribeRule",
                "events:PutRule",
                "events:RemoveTargets",
                "events:DisableRule",
                "events:EnableRule"
            ],
            "Resource": "*",
            "Condition": {
              "StringEquals": {
                "aws:ResourceTag/sagemaker:is-scheduling-notebook-job": "true"
              }
            }
        },
        {
            "Sid": "VisualEditor1",
            "Effect": "Allow",
            "Action": "iam:PassRole",
            "Resource": "arn:aws:iam::*:role/*",
            "Condition": {
                "StringLike": {
                    "iam:PassedToService": "events.amazonaws.com"
                }
            }
        },
        {
            "Sid": "VisualEditor2",
            "Effect": "Allow",
            "Action": "sagemaker:ListTags",
            "Resource": "arn:aws:sagemaker:*:*:user-profile/*/*"
        }
    ]
}

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

برای عملیاتی کردن نوت بوک خود به عنوان یک کار نوت بوک SageMaker، را انتخاب کنید یک کار نوت بوک ایجاد کنید آیکون.

نوت بوک های Amazon SageMaker Studio خود را به عنوان کارهای نوت بوک برنامه ریزی شده PlatoBlockchain Data Intelligence عملیاتی کنید. جستجوی عمودی Ai.

یا می توانید نوت بوک خود را در سیستم فایل انتخاب کنید (راست کلیک کنید) و انتخاب کنید ایجاد شغل نوت بوک.

نوت بوک های Amazon SageMaker Studio خود را به عنوان کارهای نوت بوک برنامه ریزی شده PlatoBlockchain Data Intelligence عملیاتی کنید. جستجوی عمودی Ai.

در ایجاد شغل بخش، به سادگی نوع نمونه مناسب را برای کار برنامه ریزی شده خود بر اساس حجم کاری خود انتخاب کنید: نمونه های استاندارد، نمونه های بهینه سازی شده محاسبه شده، یا نمونه های محاسباتی تسریع شده حاوی GPU. شما می توانید هر یک از نمونه های موجود برای مشاغل آموزشی SageMaker را انتخاب کنید. برای لیست کامل نمونه های موجود، مراجعه کنید قیمت گذاری آمازون SageMaker.

نوت بوک های Amazon SageMaker Studio خود را به عنوان کارهای نوت بوک برنامه ریزی شده PlatoBlockchain Data Intelligence عملیاتی کنید. جستجوی عمودی Ai.

وقتی یک کار کامل شد، می‌توانید فایل نوت‌بوک خروجی را با سلول‌های پرشده‌اش و همچنین گزارش‌های زیربنایی از اجرای کار مشاهده کنید.

نوت بوک های Amazon SageMaker Studio خود را به عنوان کارهای نوت بوک برنامه ریزی شده PlatoBlockchain Data Intelligence عملیاتی کنید. جستجوی عمودی Ai.

سلول ها را پارامتر کنید

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

نوت بوک های Amazon SageMaker Studio خود را به عنوان کارهای نوت بوک برنامه ریزی شده PlatoBlockchain Data Intelligence عملیاتی کنید. جستجوی عمودی Ai.

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

نوت بوک های Amazon SageMaker Studio خود را به عنوان کارهای نوت بوک برنامه ریزی شده PlatoBlockchain Data Intelligence عملیاتی کنید. جستجوی عمودی Ai.

گزینه های اضافی را پیکربندی کنید

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

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

برای کار خود برنامه ریزی کنید

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

نوت بوک های Amazon SageMaker Studio خود را به عنوان کارهای نوت بوک برنامه ریزی شده PlatoBlockchain Data Intelligence عملیاتی کنید. جستجوی عمودی Ai.

مثال استفاده

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

دفترچه کامل این مثال را می توانید در ما پیدا کنید نمونه SageMaker مخزن GitHub. مورد استفاده فرض می‌کند که ما یک شرکت مخابراتی هستیم که به دنبال برنامه‌ریزی نوت‌بوکی است که ریزش احتمالی مشتری را بر اساس مدلی آموزش‌دیده با جدیدترین داده‌های موجود پیش‌بینی کند.

برای شروع، ما جدیدترین داده‌های مشتری موجود را جمع‌آوری می‌کنیم و پیش‌پردازش‌هایی روی آن انجام می‌دهیم:

import pandas as pd
from synthetic_data import generate_data

previous_two_weeks_data = generate_data(5000, label_known=True)
todays_data = generate_data(300, label_known=False)

processed_prior_data = process_data(previous_two_weeks_data, label_known=True)
processed_todays_data = process_data(todays_data, label_known=False)

ما مدل به روز شده خود را بر روی این داده های آموزشی به روز آموزش می دهیم تا بتوانیم پیش بینی های دقیقی را انجام دهیم todays_data:

import numpy as np
from sklearn.model_selection import train_test_split
from sklearn.ensemble import RandomForestClassifier
from sklearn.metrics import f1_score, confusion_matrix, ConfusionMatrixDisplay

y = np.ravel(processed_prior_data[["Churn"]])
x = processed_prior_data.drop(["Churn"], axis=1)

x_train, x_test, y_train, y_test = train_test_split(x, y, test_size=0.25)

clf = RandomForestClassifier(n_estimators=int(number_rf_estimators), criterion="gini")
clf.fit(x_train, y_train)

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

نوت بوک های Amazon SageMaker Studio خود را به عنوان کارهای نوت بوک برنامه ریزی شده PlatoBlockchain Data Intelligence عملیاتی کنید. جستجوی عمودی Ai.

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

نوت بوک های Amazon SageMaker Studio خود را به عنوان کارهای نوت بوک برنامه ریزی شده PlatoBlockchain Data Intelligence عملیاتی کنید. جستجوی عمودی Ai.

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

پاک کردن

اگر از مثال ما پیروی کردید، حتماً برنامه کاری نوت بوک خود را موقتاً متوقف یا حذف کنید تا از تحمیل هزینه های مداوم جلوگیری کنید.

نتیجه

تولید نوت‌بوک‌ها با کارهای نوت‌بوک SageMaker، حمل و نقل غیرمتمایز سنگین مورد نیاز کارکنان داده را بسیار ساده‌تر می‌کند. چه در حال برنامه‌ریزی گردش‌های کاری ML سرتاسر یا بخشی از پازل باشید، ما شما را تشویق می‌کنیم تا با استفاده از SageMaker Studio یا SageMaker Studio Lab، چند نوت بوک را در مرحله تولید قرار دهید! برای کسب اطلاعات بیشتر، ببینید گردش کار مبتنی بر نوت بوک.


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

شان مورگانشان مورگان یک معمار ارشد راه حل های ML در AWS است. او در زمینه های تحقیقاتی نیمه هادی و دانشگاهی تجربه دارد و از تجربیات خود برای کمک به مشتریان برای رسیدن به اهداف خود در AWS استفاده می کند. در اوقات فراغت، شان یک مشارکت‌کننده/نگهدار منبع باز فعال است و رهبر گروه مورد علاقه ویژه برای افزونه‌های تنسورفلو است.

نوت بوک های Amazon SageMaker Studio خود را به عنوان کارهای نوت بوک برنامه ریزی شده PlatoBlockchain Data Intelligence عملیاتی کنید. جستجوی عمودی Ai.سومدا سوامی مدیر محصول اصلی در خدمات وب آمازون است. او تیم SageMaker Studio را رهبری می‌کند تا آن را در IDE انتخابی برای علم داده‌های تعاملی و گردش‌های کاری مهندسی داده بسازد. او 15 سال گذشته را صرف ساختن محصولات مصرفی و سازمانی وسواس مشتری با استفاده از یادگیری ماشین کرده است. در اوقات فراغت خود دوست دارد از زمین شناسی شگفت انگیز جنوب غربی آمریکا عکاسی کند.

نوت بوک های Amazon SageMaker Studio خود را به عنوان کارهای نوت بوک برنامه ریزی شده PlatoBlockchain Data Intelligence عملیاتی کنید. جستجوی عمودی Ai.ادوارد سان یک SDE ارشد است که برای SageMaker Studio در Amazon Web Services کار می کند. او بر ایجاد راه حل تعاملی ML و ساده سازی تجربه مشتری برای ادغام SageMaker Studio با فناوری های محبوب در مهندسی داده و اکوسیستم ML متمرکز است. ادوارد در اوقات فراغت خود از طرفداران پر و پا قرص کمپینگ، پیاده روی و ماهیگیری است و از گذراندن وقت با خانواده اش لذت می برد.

تمبر زمان:

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