امروز، ما خوشحالیم که به روز رسانی های خود را اعلام کنیم آزمایشات آمازون SageMaker قابلیت از آمازون SageMaker که به شما امکان میدهد آزمایشهای یادگیری ماشین (ML) و نسخههای مدلسازی را از هر محیط توسعه یکپارچه (IDE) با استفاده از SageMaker Python SDK یا boto3، از جمله نوتبوکهای محلی Jupyter، سازماندهی، ردیابی، مقایسه و ارزیابی کنید.
یادگیری ماشین (ML) یک فرآیند تکراری است. هنگام حل یک مورد استفاده جدید، دانشمندان داده و مهندسان ML پارامترهای مختلف را تکرار می کنند تا بهترین پیکربندی مدل (معروف به فراپارامترها) را که می تواند در تولید برای حل چالش تجاری شناسایی شده مورد استفاده قرار گیرد، بیابند. با گذشت زمان، پس از آزمایش با چندین مدل و فراپارامترها، مدیریت کارآمد اجرای مدل برای یافتن مدل بهینه بدون ابزاری برای پیگیری آزمایشهای مختلف برای تیمهای ML دشوار میشود. سیستمهای ردیابی آزمایشی فرآیندها را برای مقایسه تکرارهای مختلف ساده میکنند و به سادهسازی همکاری و ارتباطات در یک تیم کمک میکنند، در نتیجه بهرهوری و صرفهجویی در زمان را افزایش میدهند. این امر با سازماندهی و مدیریت آزمایشات ML به روشی بی دردسر برای نتیجه گیری از آنها به دست می آید، به عنوان مثال، یافتن آموزش اجرا شده با بهترین دقت.
برای حل این چالش، SageMaker، SageMaker Experiments، یک قابلیت SageMaker کاملا یکپارچه را ارائه می دهد. این انعطافپذیری را برای ثبت معیارهای مدل، پارامترها، فایلها، مصنوعات، نمودارهای نمودار از معیارهای مختلف، گرفتن ابردادههای مختلف، جستجو در میان آنها و پشتیبانی از تکرارپذیری مدل شما فراهم میکند. دانشمندان داده می توانند به سرعت عملکرد و فراپارامترها را برای ارزیابی مدل از طریق نمودارها و جداول بصری مقایسه کنند. آنها همچنین می توانند از SageMaker Experiments برای دانلود نمودارهای ایجاد شده استفاده کنند و ارزیابی مدل را با سهامداران خود به اشتراک بگذارند.
با بهروزرسانیهای جدید SageMaker Experiments، اکنون بخشی از SageMaker SDK است که کار دانشمند داده را ساده میکند و نیاز به نصب یک کتابخانه اضافی برای مدیریت اجرای چندین مدل را از بین میبرد. ما مفاهیم اصلی جدید زیر را معرفی می کنیم:
- تجربه: مجموعه ای از اجراها که با هم گروه بندی شده اند. یک آزمایش شامل اجراهایی برای چندین نوع است که می توانند از هر جایی با استفاده از SageMaker Python SDK آغاز شوند.
- دویدن: هر مرحله اجرای یک فرآیند آموزش مدل. یک اجرا شامل تمام ورودیها، پارامترها، پیکربندیها و نتایج برای یک تکرار آموزش مدل است. پارامترها و معیارهای سفارشی را می توان با استفاده از
log_parameter
,log_parameters
وlog_metric
کارکرد. ورودی و خروجی سفارشی را می توان با استفاده ازlog_file
تابع.
مفاهیمی که به عنوان بخشی از الف اجرا می شوند Run
کلاس از هر IDE که در آن SageMaker Python SDK نصب شده است در دسترس است. برای SageMaker آموزش، پردازش و
Transform Jobs، SageMaker Experiment Run به طور خودکار به کار منتقل می شود اگر کار در یک زمینه اجرا فراخوانی شود. با استفاده از آن می توانید شی اجرا شده را بازیابی کنید load_run()
از شغل شما در نهایت، با ادغام قابلیتهای جدید، دانشمندان داده همچنین میتوانند به طور خودکار یک ماتریس سردرگمی، نمودارهای دقیق و فراخوان و یک منحنی ROC برای موارد استفاده طبقهبندی را ثبت کنند. run.log_confusion_matrix
, run.log_precision_recall
و run.log_roc_curve
توابع، به ترتیب.
در این پست وبلاگ، نمونه هایی از نحوه استفاده از قابلیت های جدید SageMaker Experiments در نوت بوک Jupyter از طریق SageMaker SDK ارائه خواهیم داد. ما این قابلیت ها را با استفاده از a نشان خواهیم داد PyTorch مثالی برای آموزش یک مثال دسته بندی ارقام دست نویس MNIST. آزمایش به شرح زیر سازماندهی خواهد شد:
- ایجاد پارامترهای اجرا و گزارش گیری آزمایش: ابتدا یک آزمایش جدید ایجاد می کنیم، یک اجرای جدید برای این آزمایش شروع می کنیم و پارامترهای آن را ثبت می کنیم.
- ثبت معیارهای عملکرد مدل: ما معیارهای عملکرد مدل را ثبت می کنیم و نمودارهای متریک را رسم می کنیم.
- مقایسه اجراهای مدل:ما اجراهای مختلف مدل را با توجه به هایپرپارامترهای مدل مقایسه خواهیم کرد. ما در مورد نحوه مقایسه آن اجراها و نحوه استفاده از SageMaker Experiments برای انتخاب بهترین مدل بحث خواهیم کرد.
- اجرای آزمایشها از مشاغل SageMaker: ما همچنین نمونه ای از نحوه اشتراک گذاری خودکار زمینه آزمایش خود با یک کار پردازش، آموزش یا تبدیل دسته ای SageMaker ارائه خواهیم داد. این به شما امکان می دهد تا به طور خودکار زمینه اجرا خود را با
load_run
در داخل شغل خود عمل کنید - یکپارچه سازی گزارش های SageMaker Clarify: ما نشان خواهیم داد که چگونه می توانیم اکنون یکپارچه شویم SageMaker Clarify با گزارش مدل آموزش دیده شما به یک نمای واحد گزارش می دهد.
پیش نیازها
برای این پست وبلاگ استفاده خواهیم کرد Amazon SageMaker Studio برای نشان دادن نحوه ثبت معیارها از یک نوت بوک استودیو با استفاده از قابلیت های به روز شده آزمایش SageMaker. برای اجرای دستورات ارائه شده در مثال ما، به پیش نیازهای زیر نیاز دارید:
- دامنه SageMaker Studio
- پروفایل کاربری SageMaker Studio با دسترسی کامل SageMaker
- یک نوت بوک SageMaker Studio با حداقل یک
ml.t3.medium
نوع نمونه
اگر دامنه SageMaker و نمایه کاربری در دسترس ندارید، می توانید با استفاده از آن یکی ایجاد کنید راهنمای راه اندازی سریع.
پارامترهای ورود به سیستم
برای این تمرین استفاده خواهیم کرد مشعل، یک بسته PyTorch که مجموعه داده های محبوب، معماری های مدل و تبدیل های رایج تصویر را برای بینایی کامپیوتر فراهم می کند. SageMaker Studio مجموعه ای از تصاویر داکر برای موارد رایج استفاده از علم داده که در Amazon ECR در دسترس است. برای PyTorch، شما می توانید تصاویر بهینه شده برای آموزش CPU یا GPU را انتخاب کنید. برای این مثال، تصویر را انتخاب می کنیم PyTorch 1.12 Python 3.8 CPU Optimized
و Python 3
هسته مثالهای شرح داده شده در زیر بر روی قابلیتهای SageMaker Experiments تمرکز دارند و کد کامل نیستند.
بیایید داده ها را با torchvision
تعداد نمونه های داده را برای مجموعه داده های قطار و آزمایش به عنوان پارامترها با آزمایش SageMaker بسته بندی و ردیابی کنید. برای این مثال، فرض کنیم train_set
و test_set
همانطور که قبلا دانلود شده است torchvision
مجموعه داده ها
در این مثال ، ما از run.log_parameters
برای ثبت تعداد قطار و نمونه داده های آزمایشی و run.log_file
برای آپلود مجموعه داده های خام در آمازون S3 و ثبت آنها به عنوان ورودی آزمایش ما.
آموزش یک مدل و معیارهای مدل لاگ
اکنون که مجموعه داده MNIST خود را دانلود کردیم، بیایید a را آموزش دهیم مدل CNN برای تشخیص ارقام در حین آموزش مدل، میخواهیم اجرای آزمایشی موجود خود را بارگیری کنیم، پارامترهای جدید را در آن ثبت کنیم و عملکرد مدل را با ثبت معیارهای مدل دنبال کنیم.
ما می توانیم از load_run
تابع برای بارگذاری اجرای قبلی ما و استفاده از آن برای ثبت آموزش مدل ما
سپس می توانیم استفاده کنیم run.log_parameter
و run.log_parameters
برای وارد کردن یک یا چند پارامتر مدل به اجرای خود.
و میتونیم استفاده کنیم run.log_metric
برای ثبت معیارهای عملکرد در آزمایش ما.
برای مدل های طبقه بندی نیز می توانید استفاده کنید run.log_confusion_matrix
, run.log_precision_recall
و run.log_roc_curve
برای رسم خودکار ماتریس سردرگمی، نمودار فراخوانی دقیق و منحنی ROC مدل شما. از آنجایی که مدل ما یک مسئله طبقه بندی چند کلاسه را حل می کند، اجازه دهید فقط ماتریس سردرگمی را برای آن ثبت کنیم.
هنگامی که به جزئیات اجرای خود نگاه می کنیم، اکنون می توانیم معیارهای تولید شده را همانطور که در تصویر زیر نشان داده شده است مشاهده کنیم:
صفحه جزئیات اجرا اطلاعات بیشتری در مورد معیارها ارائه می دهد.
و پارامترهای مدل جدید در صفحه نمای کلی پارامترها ردیابی می شوند.
شما همچنین می توانید عملکرد مدل خود را بر اساس کلاس با استفاده از ماتریس سردرگمی ترسیم شده به طور خودکار تجزیه و تحلیل کنید، که همچنین می تواند دانلود و برای گزارش های مختلف استفاده شود. و می توانید نمودارهای اضافی برای تجزیه و تحلیل عملکرد مدل خود بر اساس معیارهای ثبت شده ترسیم کنید.
مقایسه چند پارامتر مدل
به عنوان یک دانشمند داده، شما می خواهید بهترین مدل ممکن را پیدا کنید. این شامل آموزش چندین بار یک مدل با فراپارامترهای مختلف و مقایسه عملکرد مدل با آن فراپارامترها است. برای انجام این کار، SageMaker Experiments به ما این امکان را می دهد که چندین اجرا را در یک آزمایش ایجاد کنیم. بیایید این مفهوم را با آموزش مدل خود با موارد مختلف بررسی کنیم num_hidden_channels
و optimizers
.
اکنون در حال ایجاد شش اجرای جدید برای آزمایش خود هستیم. هر کدام پارامترهای مدل، معیارها و ماتریس سردرگمی را ثبت خواهند کرد. سپس میتوانیم اجراها را مقایسه کنیم تا بهترین مدل را برای مشکل انتخاب کنیم. هنگام تجزیه و تحلیل اجراها، میتوانیم نمودارهای متریک را برای اجراهای مختلف به صورت یک طرح واحد رسم کنیم و عملکرد اجراها را در مراحل مختلف آموزشی (یا دورهها) مقایسه کنیم.
استفاده از آزمایشهای SageMaker با آموزش SageMaker، پردازش و کارهای تبدیل دستهای
در مثال بالا، ما از SageMaker Experiments برای ثبت عملکرد مدل از یک نوت بوک SageMaker Studio استفاده کردیم که در آن مدل به صورت محلی در نوت بوک آموزش داده شده بود. ما میتوانیم همین کار را برای ثبت عملکرد مدل از کارهای پردازش، آموزش و تبدیل دستهای SageMaker انجام دهیم. با قابلیتهای جدید ارسال خودکار متن، نیازی نیست که پیکربندی آزمایش را بهطور خاص با کار SageMaker به اشتراک بگذاریم، زیرا بهطور خودکار ضبط میشود.
مثال زیر بر روی عملکردهای SageMaker Experiments تمرکز دارد و کد کامل نیست.
در فایل اسکریپت مدل خود، میتوانیم متن اجرا را با استفاده از آن دریافت کنیم load_run()
. در کارهای پردازش و آموزش SageMaker، ما نیازی به ارائه پیکربندی آزمایشی برای بارگذاری پیکربندی نداریم. برای کارهای تبدیل دسته ای، باید ارائه دهیم experiment_name
و run_name
برای بارگیری پیکربندی آزمایش
علاوه بر اطلاعاتی که هنگام اجرای SageMaker Experiments از یک اسکریپت نوت بوک به دست می آوریم، اجرا از یک کار SageMaker به طور خودکار پارامترها و خروجی های کار را پر می کند.
SageMaker Experiments SDK جدید همچنین با استفاده از مفاهیم آزمایشی و مؤلفه های آزمایشی، سازگاری با نسخه قبلی را تضمین می کند. هر آزمایشی که با استفاده از نسخه قبلی SageMaker Experiments آغاز شود، بهطور خودکار در رابط کاربری جدید برای تجزیه و تحلیل آزمایشها در دسترس قرار میگیرد.
یکپارچه سازی SageMaker Clarify و مدل سازی گزارش های آموزشی
SageMaker Clarify با شناسایی به بهبود مدلهای ML ما کمک میکند تعصب بالقوه و کمک توضیح دادن چگونه این مدل ها پیش بینی می کنند. Clarify با استفاده از اطلاعات مربوط به داده های شما (پیکربندی داده ها)، مدل (پیکربندی مدل)، و ستون های داده حساسی که می خواهیم برای سوگیری احتمالی (بایاس) تجزیه و تحلیل کنیم، کانتینرهای از پیش ساخته شده ای را ارائه می دهد که به عنوان کارهای پردازش SageMaker پس از آموزش مدل شما اجرا می شوند. پیکربندی). تاکنون، SageMaker Experiments آموزش مدل و گزارشهای Clarify ما را بهعنوان اجزای آزمایشی مجزا که از طریق آزمایشی به هم متصل شدهاند، نمایش میدادند.
با آزمایشهای جدید SageMaker، ما همچنین میتوانیم گزارشهای SageMaker Clarify را با آموزش مدل خود با یک منبع حقیقت که به ما امکان میدهد مدل خود را بیشتر درک کنیم، ادغام کنیم. برای یک گزارش یکپارچه، تنها کاری که ما باید انجام دهیم این است که برای آموزش و کارهای Clarify خود یک نام اجرا داشته باشیم. مثال زیر نشان می دهد که چگونه می توانیم گزارش ها را با استفاده از یک ادغام کنیم مدل XGBoost برای پیش بینی درآمد بزرگسالان در سراسر ایالات متحده. مدل از مجموعه داده بزرگسالان UCI. برای این تمرین، فرض میکنیم که مدل قبلاً آموزش داده شده است و ما قبلاً پیکربندیهای داده، مدل و بایاس را محاسبه کردهایم.
با این تنظیمات، یک نمای ترکیبی دریافت میکنیم که شامل معیارهای مدل، ورودیها و خروجیهای مشترک، و گزارشهای Clarify برای سوگیری آماری مدل و قابلیت توضیح است.
نتیجه
در این پست، نسل جدید آزمایشهای SageMaker را که بخشی از SageMaker SDK است بررسی کردیم. ما نشان دادیم که چگونه با کلاس Run جدید، گردشهای کاری ML خود را از هر کجا ثبت کنید. ما رابط کاربری Experiments جدید را ارائه کردیم که به شما امکان میدهد آزمایشهای خود را ردیابی کنید و نمودارها را برای یک متریک اجرا و همچنین مقایسه چندین اجرا با قابلیت تجزیه و تحلیل جدید انجام دهید. ما نمونههایی از آزمایشهای ورود به سیستم را از یک نوت بوک SageMaker Studio و از یک کار آموزشی SageMaker Studio ارائه کردیم. در نهایت، نحوه ادغام آموزش مدل و گزارش های SageMaker Clarify را در یک نمای یکپارچه نشان دادیم که به شما امکان می دهد مدل خود را بیشتر درک کنید.
ما شما را تشویق میکنیم که عملکردهای آزمایشی جدید را امتحان کنید و با آن ارتباط برقرار کنید جامعه یادگیری ماشین و هوش مصنوعی اگر سوال یا بازخوردی دارید!
درباره نویسنده
مایرا لادیرا تانکه یک متخصص یادگیری ماشین در AWS است. او با سابقه ای در علم داده، 9 سال تجربه معماری و ساخت برنامه های کاربردی ML با مشتریان در سراسر صنایع دارد. او به عنوان یک رهبر فنی، به مشتریان کمک می کند تا از طریق فناوری های نوظهور و راه حل های نوآورانه، دستیابی به ارزش تجاری خود را تسریع بخشند. مایرا در اوقات فراغت خود از مسافرت و گذراندن وقت با خانواده در مکانی گرم لذت می برد.
مانی خانوجه یک متخصص هوش مصنوعی و یادگیری ماشین SA در خدمات وب آمازون (AWS) است. او به مشتریانی که از یادگیری ماشینی استفاده می کنند کمک می کند تا چالش های تجاری خود را با استفاده از AWS حل کنند. او بیشتر وقت خود را صرف غواصی عمیق و آموزش به مشتریان در پروژه های AI/ML مربوط به بینایی کامپیوتر، پردازش زبان طبیعی، پیش بینی، ML در لبه و غیره می کند. او علاقه زیادی به ML در لبه دارد، بنابراین، او آزمایشگاه خود را با کیت خودران و خط تولید تولید نمونه اولیه ایجاد کرده است، که در آن زمان آزاد خود را سپری می کند.
دیون چی مهندس توسعه نرم افزار در AWS است. او در حال حاضر در ساخت مجموعه ای از خدمات و ابزارهای پلتفرم در AWS SageMaker برای کمک به مشتری در موفقیت پروژه های ML شرکت می کند. او همچنین مشتاق ارائه مفهوم MLOps به مخاطبان گسترده تر است. بیرون از محل کار، دیون از تمرین سل لذت می برد.
آبیشک آگاروال مدیر محصول ارشد آمازون SageMaker است. او مشتاق کار با مشتریان و در دسترستر کردن یادگیری ماشینی است. آبیشک در اوقات فراغت خود از نقاشی، دوچرخه سواری و یادگیری در مورد فناوری های نوآورانه لذت می برد.
دانا بنسون یک مهندس نرم افزار است که در تیم آمازون SageMaker Experiments، Lineage و Search کار می کند. قبل از پیوستن به AWS، دانا زمانی را صرف فعال کردن عملکرد خانه هوشمند در الکسا و سفارش تلفن همراه در استارباکس میکرد.
- AI
- آی هنر
- مولد هنر ai
- ربات ai
- آمازون SageMaker
- هوش مصنوعی
- گواهی هوش مصنوعی
- هوش مصنوعی در بانکداری
- ربات هوش مصنوعی
- ربات های هوش مصنوعی
- نرم افزار هوش مصنوعی
- آموزش ماشین AWS
- بلاکچین
- کنفرانس بلاک چین ai
- coingenius
- هوش مصنوعی محاوره ای
- کنفرانس کریپتو ai
- دل-ه
- یادگیری عمیق
- گوگل ai
- متوسط (200)
- فراگیری ماشین
- افلاطون
- افلاطون آی
- هوش داده افلاطون
- بازی افلاطون
- PlatoData
- بازی پلاتو
- مقیاس Ai
- نحو
- زفیرنت