حفظ جریان کار یادگیری ماشین (ML) در تولید یک کار چالش برانگیز است زیرا نیاز به ایجاد خطوط لوله پیوسته و تحویل پیوسته (CI/CD) برای کدها و مدلهای ML، نسخهسازی مدل، نظارت بر دادهها و رانش مفهومی، آموزش مجدد مدل، و یک کتابچه راهنمای کاربر دارد. فرآیند تأیید برای اطمینان از اینکه نسخههای جدید مدل هر دو الزامات عملکرد و انطباق را برآورده میکنند.
در این پست، نحوه ایجاد یک گردش کار MLOps برای استنتاج دستهای را شرح میدهیم که زمانبندی کار، نظارت بر مدل، بازآموزی و ثبت نام و همچنین مدیریت خطا و اطلاعرسانی را با استفاده از خودکار میکند. آمازون SageMaker, پل رویداد آمازون, AWS لامبدا, سرویس اطلاع رسانی ساده آمازون (Amazon SNS)، HashiCorp Terraform، و GitLab CI/CD. گردش کار MLOps ارائه شده یک الگوی قابل استفاده مجدد برای مدیریت چرخه عمر ML از طریق اتوماسیون، نظارت، قابلیت ممیزی و مقیاس پذیری ارائه می دهد، در نتیجه پیچیدگی ها و هزینه های نگهداری بارهای کاری استنتاج دسته ای در تولید را کاهش می دهد.
بررسی اجمالی راه حل
شکل زیر معماری MLOps هدف پیشنهادی را برای استنتاج دستهای سازمانی برای سازمانهایی که از زیرساخت GitLab CI/CD و Terraform به عنوان کد (IaC) در ارتباط با ابزارها و خدمات AWS استفاده میکنند، نشان میدهد. GitLab CI/CD به عنوان ارکستراتور کلان، هماهنگ کننده عمل می کند model build
و model deploy
خطوط لوله، که شامل تامین منابع، ساخت و تامین می شود خطوط لوله آمازون SageMaker و پشتیبانی از منابع با استفاده از SageMaker Python SDK و Terraform. SageMaker Python SDK برای ایجاد یا به روز رسانی خطوط لوله SageMaker برای آموزش، آموزش با بهینه سازی هایپرپارامتر (HPO) و استنتاج دسته ای استفاده می شود. Terraform برای ایجاد منابع اضافی مانند قوانین EventBridge، توابع Lambda و موضوعات SNS برای نظارت بر خطوط لوله SageMaker و ارسال اعلانها (به عنوان مثال، زمانی که یک مرحله خط لوله با شکست مواجه میشود یا موفق میشود) استفاده میشود. SageMaker Pipelines به عنوان ارکستراتور برای آموزش مدل ML و گردش کار استنتاج عمل می کند.
این طراحی معماری یک استراتژی چند حسابی را نشان میدهد که در آن مدلهای ML ساخته، آموزش داده میشوند و در یک رجیستری مدل مرکزی در یک حساب توسعه علم داده (که کنترلهای بیشتری نسبت به یک حساب توسعه برنامه معمولی دارد) ثبت میشوند. سپس، خطوط لوله استنتاج با استفاده از اتوماسیون از ابزارهای DevOps مانند GitLab CI/CD، به حساب های مرحله بندی و تولید مستقر می شوند. رجیستری مدل مرکزی می تواند به صورت اختیاری در یک حساب خدمات مشترک نیز قرار گیرد. رجوع شود به مدل عملیاتی برای بهترین شیوه ها در مورد استراتژی چند حسابی برای ML.
در بخشهای فرعی بعدی، جنبههای مختلف طراحی معماری را به تفصیل مورد بحث قرار میدهیم.
زیرساخت به عنوان کد
IaC راهی برای مدیریت زیرساختهای فناوری اطلاعات از طریق فایلهای قابل خواندن توسط ماشین ارائه میکند و از کنترل نسخه کارآمد اطمینان میدهد. در این پست و نمونه کد همراه، نحوه استفاده را نشان می دهیم HashiCorp Terraform با GitLab CI/CD برای مدیریت موثر منابع AWS. این رویکرد بر مزیت کلیدی IaC تاکید میکند که فرآیندی شفاف و قابل تکرار در مدیریت زیرساخت فناوری اطلاعات ارائه میکند.
الگوی آموزش و بازآموزی
در این طرح، خط لوله آموزشی SageMaker بر اساس یک برنامه (از طریق EventBridge) یا بر اساس سرویس ذخیره سازی ساده آمازون ماشه رویداد (Amazon S3) (به عنوان مثال، هنگامی که یک فایل ماشه یا داده های آموزشی جدید، در مورد یک شی داده آموزشی واحد، در آمازون S3 قرار می گیرد) تا به طور منظم مدل را با داده های جدید کالیبره مجدد کند. این خط لوله تغییرات ساختاری یا مادی را در مدل ایجاد نمی کند زیرا از فراپارامترهای ثابتی استفاده می کند که در طول فرآیند بررسی مدل سازمانی تأیید شده اند.
خط لوله آموزشی نسخه مدل جدید آموزش دیده را در رجیستری مدل آمازون SageMaker اگر مدل از آستانه عملکرد مدل از پیش تعریف شده فراتر رود (به عنوان مثال، RMSE برای رگرسیون و امتیاز F1 برای طبقه بندی). هنگامی که نسخه جدیدی از مدل در رجیستری مدل ثبت می شود، از طریق آمازون SNS به دانشمند داده مسئول اطلاع رسانی می کند. سپس دانشمند داده باید آخرین نسخه مدل را بررسی کرده و به صورت دستی تأیید کند Amazon SageMaker Studio UI یا از طریق تماس API با استفاده از رابط خط فرمان AWS (AWS CLI) یا AWS SDK برای پایتون (Boto3) قبل از اینکه بتوان از نسخه جدید مدل برای استنتاج استفاده کرد.
خط لوله آموزشی SageMaker و منابع پشتیبانی آن توسط GitLab ایجاد شده است model build
خط لوله، یا از طریق اجرای دستی خط لوله GitLab یا به صورت خودکار زمانی که کد در آن ادغام می شود main
شاخه model build
مخزن Git.
استنتاج دسته ای
خط لوله استنتاج دسته ای SageMaker بر اساس یک برنامه زمان بندی (از طریق EventBridge) یا بر اساس یک تریگر رویداد S3 نیز اجرا می شود. خط لوله استنتاج دسته ای به طور خودکار آخرین نسخه تایید شده مدل را از رجیستری مدل بیرون می کشد و از آن برای استنتاج استفاده می کند. خط لوله استنتاج دسته ای شامل مراحلی برای بررسی کیفیت داده ها در برابر خط پایه ایجاد شده توسط خط لوله آموزشی و همچنین کیفیت مدل (عملکرد مدل) در صورت وجود برچسب های حقیقت زمینی است.
اگر خط لوله استنتاج دسته ای مشکلات کیفیت داده را کشف کند، از طریق Amazon SNS به دانشمند داده مسئول اطلاع می دهد. اگر مشکلات کیفیت مدل را کشف کند (به عنوان مثال، RMSE بزرگتر از آستانه از پیش تعیین شده است)، مرحله خط لوله برای بررسی کیفیت مدل ناموفق خواهد بود، که به نوبه خود یک رویداد EventBridge را برای شروع آموزش با خط لوله HPO آغاز می کند.
خط لوله استنتاج دسته ای SageMaker و منابع پشتیبان آن توسط GitLab ایجاد شده اند model deploy
خط لوله، یا از طریق اجرای دستی خط لوله GitLab یا به صورت خودکار زمانی که کد در آن ادغام می شود main
شاخه model deploy
مخزن Git.
تنظیم و تنظیم مجدد مدل
آموزش SageMaker با خط لوله HPO زمانی آغاز می شود که مرحله بررسی کیفیت مدل خط لوله استنتاج دسته ای با شکست مواجه شود. بررسی کیفیت مدل با مقایسه پیشبینیهای مدل با برچسبهای حقیقت زمینی واقعی انجام میشود. اگر معیار کیفیت مدل (به عنوان مثال، RMSE برای رگرسیون و امتیاز F1 برای طبقهبندی) یک معیار از پیش تعیینشده را برآورده نکند، مرحله بررسی کیفیت مدل بهعنوان ناموفق علامتگذاری میشود. آموزش SageMaker با خط لوله HPO همچنین میتواند به صورت دستی (در SageMaker Studio UI یا از طریق تماس API با استفاده از AWS CLI یا SageMaker Python SDK) توسط دانشمند داده مسئول در صورت نیاز راهاندازی شود. از آنجا که فراپارامترهای مدل در حال تغییر هستند، متخصص داده مسئول باید قبل از تأیید نسخه مدل جدید در رجیستری مدل، تأییدیه هیئت بررسی مدل سازمانی را دریافت کند.
آموزش SageMaker با خط لوله HPO و منابع پشتیبانی آن توسط GitLab ایجاد شده است model build
خط لوله، یا از طریق اجرای دستی خط لوله GitLab یا به صورت خودکار زمانی که کد در آن ادغام می شود main
شاخه model build
مخزن Git.
نظارت بر مدل
آمار داده ها و خطوط پایه محدودیت ها به عنوان بخشی از آموزش و آموزش با خطوط لوله HPO تولید می شوند. آنها در آمازون S3 ذخیره می شوند و همچنین در صورت موفقیت مدل در رجیستری مدل، با مدل آموزش دیده ثبت می شوند. معماری پیشنهادی برای خط لوله استنتاج دسته ای استفاده می کند مانیتور مدل آمازون SageMaker برای بررسی کیفیت داده ها، در حالی که از سفارشی استفاده می کنید پردازش آمازون SageMaker مراحل بررسی کیفیت مدل این طرح، داده ها و بررسی های کیفیت مدل را جدا می کند، که به نوبه خود به شما امکان می دهد فقط زمانی که انحراف داده ها شناسایی شد، یک اعلان هشدار ارسال کنید. و هنگامی که نقض کیفیت مدل شناسایی شد، آموزش را با خط لوله HPO آغاز کنید.
تایید مدل
پس از اینکه یک مدل تازه آموزش دیده در رجیستری مدل ثبت شد، دانشمند داده مسئول یک اعلان دریافت می کند. اگر مدل توسط خط لوله آموزشی آموزش داده شده باشد (کالیبراسیون مجدد با داده های آموزشی جدید در حالی که هایپرپارامترها ثابت هستند)، نیازی به تایید هیئت بررسی مدل سازمانی وجود ندارد. دانشمند داده می تواند نسخه جدید مدل را به طور مستقل بررسی و تایید کند. از سوی دیگر، اگر مدل توسط آموزش با خط لوله HPO (تنظیم مجدد با تغییر فراپارامترها) آموزش داده شده باشد، نسخه جدید مدل باید قبل از استفاده برای استنتاج در تولید، فرآیند بررسی سازمانی را طی کند. هنگامی که فرآیند بررسی کامل شد، دانشمند داده می تواند ادامه دهد و نسخه جدید مدل را در رجیستری مدل تأیید کند. تغییر وضعیت بسته مدل به Approved
یک تابع Lambda را از طریق EventBridge فعال می کند، که به نوبه خود GitLab را راه اندازی می کند model deploy
خط لوله از طریق تماس API. این به طور خودکار خط لوله استنتاج دسته ای SageMaker را به روز می کند تا از آخرین نسخه تایید شده مدل برای استنتاج استفاده کند.
دو راه اصلی برای تایید یا رد نسخه مدل جدید در رجیستری مدل وجود دارد: استفاده از AWS SDK برای Python (Boto3) یا از SageMaker Studio UI. به طور پیش فرض، هر دو خط لوله آموزش و آموزش با خط لوله HPO مجموعه ModelApprovalStatus
به PendingManualApproval
. متخصص دادههای مسئول میتواند با تماس با شماره، وضعیت تأیید مدل را بهروزرسانی کند update_model_package
API از Boto3. رجوع شود به به روز رسانی وضعیت تایید یک مدل برای جزئیات در مورد به روز رسانی وضعیت تایید یک مدل از طریق SageMaker Studio UI.
طراحی داده ورودی/خروجی
SageMaker به طور مستقیم با Amazon S3 برای خواندن ورودی ها و ذخیره خروجی های مراحل جداگانه در خطوط لوله آموزش و استنتاج تعامل دارد. نمودار زیر نشان میدهد که چگونه اسکریپتهای مختلف پایتون، دادههای آموزشی خام و پردازش شده، دادههای استنتاج خام و پردازش شده، نتایج استنتاج و برچسبهای حقیقت زمینی (در صورت وجود برای نظارت بر کیفیت مدل)، مصنوعات مدل، معیارهای ارزیابی آموزش و استنتاج (نظارت کیفیت مدل)، و همچنین خطوط پایه کیفیت داده ها و گزارش های تخلف (برای نظارت بر کیفیت داده ها) را می توان در یک سطل S3 سازماندهی کرد. جهت فلش ها در نمودار نشان می دهد که کدام فایل ها ورودی یا خروجی از مراحل مربوطه خود در خطوط لوله SageMaker هستند. فلش ها بر اساس نوع مرحله خط لوله کدگذاری شده اند تا خوانایی آنها آسان تر شود. خط لوله به طور خودکار اسکریپت های پایتون را از مخزن GitLab آپلود می کند و فایل های خروجی یا مصنوعات را از هر مرحله در مسیر S3 مناسب ذخیره می کند.
مهندس داده مسئول موارد زیر است:
- بارگذاری داده های آموزشی برچسب گذاری شده در مسیر مناسب در آمازون S3. این شامل افزودن منظم دادههای آموزشی جدید برای اطمینان از دسترسی خط لوله آموزشی و آموزش با خط لوله HPO به دادههای آموزشی اخیر برای بازآموزی مدل و تنظیم مجدد است.
- بارگذاری داده های ورودی برای استنتاج به مسیر مناسب در سطل S3 قبل از اجرای برنامه ریزی شده خط لوله استنتاج.
- بارگذاری برچسب های حقیقت زمینی در مسیر S3 مناسب برای نظارت بر کیفیت مدل.
دانشمند داده مسئول موارد زیر است:
- آماده سازی برچسب های حقیقت زمین و ارائه آنها به تیم مهندسی داده برای آپلود در آمازون S3.
- استفاده از نسخه های مدل آموزش دیده توسط آموزش با خط لوله HPO از طریق فرآیند بررسی سازمانی و اخذ تاییدیه های لازم.
- تأیید یا رد نسخه های مدل جدید آموزش دیده در رجیستری مدل.
- تصویب دروازه تولید برای خط لوله استنتاج و حمایت از منابع برای ارتقاء به تولید.
کد نمونه
در این بخش، یک کد نمونه برای عملیات استنتاج دسته ای با راه اندازی تک حسابی همانطور که در نمودار معماری زیر نشان داده شده است، ارائه می کنیم. کد نمونه را می توان در مخزن GitHubو می تواند به عنوان نقطه شروعی برای استنتاج دسته ای با نظارت مدل و بازآموزی خودکار با استفاده از گیت های با کیفیت که اغلب برای شرکت ها مورد نیاز است، عمل کند. کد نمونه به روش های زیر با معماری هدف متفاوت است:
- از یک حساب AWS برای ساخت و استقرار مدل ML و پشتیبانی از منابع استفاده می کند. رجوع شود به سازماندهی محیط AWS خود با استفاده از چندین حساب برای راهنمایی در مورد راه اندازی چند حساب در AWS.
- از یک خط لوله GitLab CI/CD برای ساخت و استقرار مدل ML و منابع پشتیبانی استفاده می کند.
- هنگامی که نسخه جدیدی از مدل آموزش داده و تأیید می شود، خط لوله CI/CD GitLab به طور خودکار راه اندازی نمی شود و باید به صورت دستی توسط دانشمند داده مسئول اجرا شود تا خط لوله استنتاج دسته ای SageMaker با آخرین نسخه تأیید شده مدل به روز شود.
- این فقط از محرک های مبتنی بر رویداد S3 برای اجرای خطوط لوله آموزش و استنتاج SageMaker پشتیبانی می کند.
پیش نیازها
قبل از استفاده از این راه حل، باید پیش نیازهای زیر را داشته باشید:
- یک حساب AWS
- SageMaker Studio
- نقش اجرایی SageMaker با خواندن/نوشتن و خواندن Amazon S3 سرویس مدیریت کلید AWS (AWS KMS) مجوزهای رمزگذاری/رمزگشایی
- یک سطل S3 برای ذخیره داده ها، اسکریپت ها و مصنوعات مدل
- Terraform نسخه 0.13.5 یا بالاتر
- GitLab با یک Docker runner برای اجرای خطوط لوله
- AWS CLI
- jq
- جدا کردن
- Python3 (Python 3.7 یا بالاتر) و بسته های Python زیر:
- boto3
- حکیم ساز
- پانداها
- پیامل
ساختار مخزن
La مخزن GitHub شامل دایرکتوری ها و فایل های زیر است:
/code/lambda_function/
– این دایرکتوری حاوی فایل پایتون برای یک تابع Lambda است که پیامهای اعلان را (از طریق Amazon SNS) درباره تغییرات مرحله مرحله خطوط لوله SageMaker آماده و ارسال میکند./data/
– این دایرکتوری شامل فایل های داده خام (آموزش، استنتاج و داده های حقیقت زمینی) است./env_files/
– این دایرکتوری حاوی فایل متغیرهای ورودی Terraform است/pipeline_scripts/
– این فهرست شامل سه اسکریپت پایتون برای ایجاد و به روز رسانی آموزش، استنتاج و آموزش با خطوط لوله HPO SageMaker و همچنین فایل های پیکربندی برای تعیین پارامترهای هر خط لوله است./scripts/
– این دایرکتوری حاوی اسکریپت های پایتون اضافی (مانند پیش پردازش و ارزیابی) است که توسط آموزش، استنتاج و آموزش با خطوط لوله HPO ارجاع داده می شود..gitlab-ci.yml
– این فایل پیکربندی خط لوله CI/CD GitLab را مشخص می کند/events.tf
– این فایل منابع EventBridge را تعریف می کند/lambda.tf
– این فایل تابع اعلان Lambda و مربوطه را تعریف می کند هویت AWS و مدیریت دسترسی منابع (IAM)./main.tf
– این فایل منابع داده Terraform و متغیرهای محلی را تعریف می کند/sns.tf
– این فایل منابع SNS آمازون را تعریف می کند/tags.json
– این فایل JSON به شما امکان می دهد جفت های کلید-مقدار برچسب سفارشی را اعلام کرده و با استفاده از یک متغیر محلی آنها را به منابع Terraform خود اضافه کنید./variables.tf
– این فایل تمام متغیرهای Terraform را اعلام می کند
متغیرها و پیکربندی
جدول زیر متغیرهایی را نشان می دهد که برای پارامترسازی این راه حل استفاده می شوند. رجوع به ./env_files/dev_env.tfvars
برای جزئیات بیشتر فایل کنید
نام | توضیحات: |
bucket_name |
سطل S3 که برای ذخیره داده ها، اسکریپت ها و مصنوعات مدل استفاده می شود |
bucket_prefix |
پیشوند S3 برای پروژه ML |
bucket_train_prefix |
پیشوند S3 برای داده های آموزشی |
bucket_inf_prefix |
پیشوند S3 برای داده های استنتاج |
notification_function_name |
نام تابع Lambda که پیامهای اعلان را درباره تغییرات مرحله مرحله خطوط لوله SageMaker آماده و ارسال میکند. |
custom_notification_config |
پیکربندی برای سفارشی کردن پیام اعلان برای مراحل خاص خط لوله SageMaker هنگامی که یک وضعیت اجرای خط لوله خاص شناسایی می شود |
email_recipient |
لیست آدرس ایمیل برای دریافت اعلانهای تغییر وضعیت مرحله لوله SageMaker |
pipeline_inf |
نام خط لوله استنتاج SageMaker |
pipeline_train |
نام خط لوله آموزش SageMaker |
pipeline_trainwhpo |
نام آموزش SageMaker با خط لوله HPO |
recreate_pipelines |
در صورت تنظیم true ، سه خط لوله SageMaker موجود (آموزش، استنتاج، آموزش با HPO) حذف خواهند شد و با اجرای GitLab CI/CD خطوط جدید ایجاد خواهند شد. |
model_package_group_name |
نام گروه بسته مدل |
accuracy_mse_threshold |
حداکثر مقدار MSE قبل از نیاز به بهروزرسانی مدل |
role_arn |
نقش IAM ARN نقش اجرای خط لوله SageMaker |
kms_key |
کلید KMS ARN برای رمزگذاری Amazon S3 و SageMaker |
subnet_id |
شناسه زیرشبکه برای پیکربندی شبکه SageMaker |
sg_id |
شناسه گروه امنیتی برای پیکربندی شبکه SageMaker |
upload_training_data |
در صورت تنظیم true ، داده های آموزشی در آمازون S3 آپلود می شود و این عملیات آپلود اجرای خط لوله آموزشی را آغاز می کند |
upload_inference_data |
در صورت تنظیم true ، داده های استنتاج در آمازون S3 آپلود می شود و این عملیات آپلود اجرای خط لوله استنتاج را آغاز می کند. |
user_id |
شناسه کارمند کاربر SageMaker که به عنوان یک برچسب به منابع SageMaker اضافه می شود |
راه حل را مستقر کنید
مراحل زیر را برای استقرار راه حل در حساب AWS خود تکمیل کنید:
- مخزن GitHub را در فهرست کاری خود کلون کنید.
- پیکربندی خط لوله CI/CD GitLab را مطابق با محیط خود بازبینی و اصلاح کنید. پیکربندی در قسمت مشخص شده است
./gitlab-ci.yml
فایل. - برای به روز رسانی متغیرهای راه حل کلی در فایل README به فایل README مراجعه کنید
./env_files/dev_env.tfvars
فایل. این فایل دارای متغیرهایی برای هر دو اسکریپت پایتون و اتوماسیون Terraform است.- پارامترهای اضافی SageMaker Pipelines را که در فایلهای YAML در زیر تعریف شدهاند، بررسی کنید
./batch_scoring_pipeline/pipeline_scripts/
. در صورت لزوم پارامترها را بررسی و به روز کنید.
- پارامترهای اضافی SageMaker Pipelines را که در فایلهای YAML در زیر تعریف شدهاند، بررسی کنید
- اسکریپت های ایجاد خط لوله SageMaker را در آن مرور کنید
./pipeline_scripts/
و همچنین اسکریپت هایی که توسط آنها در./scripts/
پوشه نمونه اسکریپت های ارائه شده در مخزن GitHub بر اساس مجموعه داده آبالون. اگر میخواهید از مجموعه داده دیگری استفاده کنید، مطمئن شوید که اسکریپتها را متناسب با مشکل خاص خود بهروزرسانی میکنید. - فایل های داده خود را در
./data/
پوشه با استفاده از قرارداد نامگذاری زیر. اگر از مجموعه داده Abalone به همراه اسکریپتهای مثال ارائه شده استفاده میکنید، مطمئن شوید که فایلهای داده بدون هدر هستند، دادههای آموزشی شامل متغیرهای مستقل و هدف با ترتیب اصلی ستونها حفظ میشود، دادههای استنتاج فقط شامل متغیرهای مستقل و حقیقت پایه است. فایل فقط شامل متغیر هدف است.training-data.csv
inference-data.csv
ground-truth.csv
- کد را متعهد کرده و به مخزن فشار دهید تا اجرای خط لوله GitLab CI/CD (اول اجرا) راه اندازی شود. توجه داشته باشید که اولین اجرای خط لوله روی آن شکست خواهد خورد
pipeline
مرحله زیرا هنوز نسخه مدل تایید شده ای برای استفاده از اسکریپت خط لوله استنتاج وجود ندارد. گزارش مرحله را مرور کنید و یک خط لوله جدید SageMaker به نام آن را تأیید کنیدTrainingPipeline
با موفقیت ایجاد شده است.
-
- SageMaker Studio UI را باز کنید، سپس خط لوله آموزشی را بررسی و اجرا کنید.
- پس از اجرای موفقیت آمیز خط لوله آموزشی، نسخه مدل ثبت شده را در رجیستری مدل تأیید کنید، سپس کل خط لوله GitLab CI/CD را مجددا اجرا کنید.
- خروجی طرح Terraform را در
build
صحنه. دفترچه راهنما را تایید کنیدapply
مرحله را در خط لوله GitLab CI/CD برای از سرگیری اجرای خط لوله و مجوز Terraform برای ایجاد منابع نظارت و اطلاع رسانی در حساب AWS شما. - در نهایت، وضعیت اجرا و خروجی خطوط لوله SageMaker را در SageMaker Studio UI بررسی کنید و ایمیل خود را برای پیام های اعلان بررسی کنید، همانطور که در تصویر زیر نشان داده شده است. متن پیام پیش فرض در قالب JSON است.
خطوط لوله SageMaker
در این بخش، سه خط لوله SageMaker را در گردش کار MLOps توضیح می دهیم.
خط لوله آموزشی
خط لوله آموزشی از مراحل زیر تشکیل شده است:
- مرحله پیش پردازش، از جمله تبدیل ویژگی و رمزگذاری
- مرحله بررسی کیفیت داده ها برای تولید آمار و محدودیت های داده با استفاده از داده های آموزشی
- مرحله آموزش
- مرحله ارزیابی آموزش
- مرحله شرط برای بررسی اینکه آیا مدل آموزش دیده از آستانه عملکرد از پیش تعیین شده برخوردار است یا خیر
- مرحله ثبت مدل برای ثبت مدل جدید آموزش دیده در رجیستری مدل در صورتی که مدل آموزش دیده آستانه عملکرد مورد نیاز را برآورده کند.
هر دو skip_check_data_quality
و register_new_baseline_data_quality
پارامترها تنظیم شده است True
در خط لوله آموزش این پارامترها به خط لوله دستور می دهند تا از بررسی کیفیت داده صرف نظر کند و فقط آمار داده ها یا خطوط پایه محدودیت های جدید را با استفاده از داده های آموزشی ایجاد و ثبت کند. شکل زیر اجرای موفقیت آمیز خط لوله آموزشی را نشان می دهد.
خط لوله استنتاج دسته ای
خط لوله استنتاج دسته ای از مراحل زیر تشکیل شده است:
- ایجاد یک مدل از آخرین نسخه مدل تایید شده در رجیستری مدل
- مرحله پیش پردازش، از جمله تبدیل ویژگی و رمزگذاری
- مرحله استنتاج دسته ای
- مرحله پیشپردازش بررسی کیفیت داده، که یک فایل CSV جدید حاوی دادههای ورودی و پیشبینیهای مدل ایجاد میکند تا برای بررسی کیفیت دادهها استفاده شود.
- مرحله بررسی کیفیت داده، که داده های ورودی را در برابر آمار پایه و محدودیت های مرتبط با مدل ثبت شده بررسی می کند
- مرحله شرط را برای بررسی اینکه آیا داده های صحت زمینی در دسترس هستند یا خیر. اگر داده های صحت زمین در دسترس باشد، مرحله بررسی کیفیت مدل انجام خواهد شد
- مرحله محاسبه کیفیت مدل، که عملکرد مدل را بر اساس برچسب های حقیقت زمین محاسبه می کند
هر دو skip_check_data_quality
و register_new_baseline_data_quality
پارامترها تنظیم شده است False
در خط لوله استنتاج این پارامترها به خط لوله دستور می دهند تا با استفاده از آمار داده ها یا خط پایه محدودیت های مرتبط با مدل ثبت شده، یک بررسی کیفیت داده را انجام دهد.supplied_baseline_statistics_data_quality
و supplied_baseline_constraints_data_quality
) و از ایجاد یا ثبت آمار و محدودیت های داده جدید در طول استنتاج صرفنظر کنید. شکل زیر اجرای خط لوله استنتاج دسته ای را نشان می دهد که در آن مرحله بررسی کیفیت داده به دلیل عملکرد ضعیف مدل بر روی داده های استنتاج شکست خورده است. در این مورد خاص، آموزش با خط لوله HPO به طور خودکار برای تنظیم دقیق مدل راه اندازی می شود.
آموزش با خط لوله HPO
آموزش با خط لوله HPO از مراحل زیر تشکیل شده است:
- مرحله پیش پردازش (تبدیل ویژگی و رمزگذاری)
- مرحله بررسی کیفیت داده ها برای تولید آمار و محدودیت های داده با استفاده از داده های آموزشی
- مرحله تنظیم فراپارامتر
- مرحله ارزیابی آموزش
- مرحله شرط برای بررسی اینکه آیا مدل آموزش دیده از آستانه دقت از پیش تعیین شده برخوردار است یا خیر
- مرحله ثبت مدل در صورتی که بهترین مدل آموزش دیده آستانه دقت لازم را داشته باشد
هر دو skip_check_data_quality
و register_new_baseline_data_quality
پارامترها تنظیم شده است True
در آموزش با خط لوله HPO. شکل زیر اجرای موفق آموزش با خط لوله HPO را نشان می دهد.
پاک کردن
مراحل زیر را برای پاکسازی منابع خود انجام دهید:
- استخدام کنید
destroy
مرحله در خط لوله GitLab CI/CD برای حذف تمام منابع ارائه شده توسط Terraform. - از AWS CLI استفاده کنید فهرست و برداشتن هر خط لوله باقی مانده ای که توسط اسکریپت های پایتون ایجاد می شود.
- در صورت تمایل، سایر منابع AWS مانند سطل S3 یا نقش IAM ایجاد شده در خارج از خط لوله CI/CD را حذف کنید.
نتیجه
در این پست، نشان دادیم که چگونه شرکتها میتوانند با استفاده از Amazon SageMaker، Amazon EventBridge، AWS Lambda، Amazon SNS، HashiCorp Terraform و GitLab CI/CD، گردشهای کاری MLOps را برای کارهای استنتاج دستهای خود ایجاد کنند. گردش کار ارائه شده، نظارت بر دادهها و مدل، آموزش مجدد مدل، و همچنین اجرای کار دستهای، نسخهسازی کد و تأمین زیرساخت را خودکار میکند. این می تواند منجر به کاهش قابل توجه پیچیدگی ها و هزینه های حفظ مشاغل استنتاج دسته ای در تولید شود. برای اطلاعات بیشتر در مورد جزئیات پیاده سازی، بررسی کنید GitHub repo.
درباره نویسنده
حسن شجاعی یک دانشمند داده Sr. با خدمات حرفه ای AWS است، که در آن به مشتریان در صنایع مختلف مانند ورزش، بیمه و خدمات مالی کمک می کند تا چالش های تجاری خود را از طریق استفاده از داده های بزرگ، یادگیری ماشین و فناوری های ابری حل کنند. قبل از این نقش، حسن ابتکارات متعددی را برای توسعه تکنیکهای مدلسازی مبتنی بر فیزیک و دادهمحور برای شرکتهای برتر انرژی رهبری کرد. خارج از کار، حسن به کتاب، پیاده روی، عکاسی و تاریخ علاقه زیادی دارد.
ونشین لیو Sr. یک معمار زیرساخت ابری است. Wenxin به شرکتهای سازمانی در مورد چگونگی تسریع پذیرش ابر توصیه میکند و از نوآوریهای آنها در فضای ابری پشتیبانی میکند. او عاشق حیوانات خانگی است و علاقه زیادی به اسنوبورد و مسافرت دارد.
ویوک لاکشمانان مهندس یادگیری ماشین در آمازون است. او دارای مدرک کارشناسی ارشد در مهندسی نرم افزار با تخصص در علوم داده و چندین سال تجربه به عنوان MLE است. Vivek از به کارگیری فناوری های پیشرفته و ساخت راه حل های AI/ML برای مشتریان در فضای ابری هیجان زده است. او علاقه زیادی به آمار، NLP و قابلیت توضیح مدل در AI/ML دارد. در اوقات فراغت خود از بازی کریکت و سفرهای جاده ای لذت می برد.
اندی کراکیولو یک معمار زیرساخت ابری است. اندی با بیش از 15 سال فعالیت در زیرساخت های فناوری اطلاعات، یک متخصص فناوری اطلاعات موفق و نتیجه محور است. اندی علاوه بر بهینه سازی زیرساخت، عملیات و اتوماسیون فناوری اطلاعات، دارای سابقه اثبات شده ای در تجزیه و تحلیل عملیات فناوری اطلاعات، شناسایی ناسازگاری ها و اجرای پیشرفت های فرآیندی است که باعث افزایش کارایی، کاهش هزینه ها و افزایش سود می شود.
- محتوای مبتنی بر SEO و توزیع روابط عمومی. امروز تقویت شوید.
- PlatoData.Network Vertical Generative Ai. به خودت قدرت بده دسترسی به اینجا.
- PlatoAiStream. هوش وب 3 دانش تقویت شده دسترسی به اینجا.
- PlatoESG. خودرو / خودروهای الکتریکی، کربن ، CleanTech، انرژی، محیط، خورشیدی، مدیریت پسماند دسترسی به اینجا.
- PlatoHealth. هوش بیوتکنولوژی و آزمایشات بالینی. دسترسی به اینجا.
- ChartPrime. بازی معاملاتی خود را با ChartPrime ارتقا دهید. دسترسی به اینجا.
- BlockOffsets. نوسازی مالکیت افست زیست محیطی. دسترسی به اینجا.
- منبع: https://aws.amazon.com/blogs/machine-learning/mlops-for-batch-inference-with-model-monitoring-and-retraining-using-amazon-sagemaker-hashicorp-terraform-and-gitlab-ci-cd/
- : دارد
- :است
- :نه
- :جایی که
- $UP
- 100
- 125
- 13
- سال 15
- ٪۱۰۰
- ٪۱۰۰
- 29
- 500
- 7
- a
- درباره ما
- شتاب دادن
- دسترسی
- انجام
- حساب
- حساب ها
- دقت
- در میان
- واقعی
- اضافه
- اضافه کردن
- اضافه
- اضافی
- نشانی
- اتخاذ
- در برابر
- AI / ML
- معرفی
- اجازه می دهد تا
- در امتداد
- همچنین
- آمازون
- آمازون SageMaker
- آمازون خدمات وب
- an
- تجزیه و تحلیل
- و
- و زیرساخت
- هر
- API
- کاربرد
- برنامه توسعه
- با استفاده از
- روش
- مناسب
- تصویب
- تائیدیه
- تصویب
- تایید کرد
- معماری
- هستند
- AS
- جنبه
- مرتبط است
- At
- قابلیت حسابرسی
- اجازه دادن
- خودکار
- خودکار می کند
- اتوماتیک
- بطور خودکار
- اتوماسیون
- در دسترس
- AWS
- AWS لامبدا
- خدمات حرفه ای AWS
- مستقر
- خط مقدم
- BE
- زیرا
- بوده
- قبل از
- سود
- بهترین
- بهترین شیوه
- بزرگ
- بزرگ داده
- تخته
- بدن
- کتاب
- هر دو
- شاخه
- بنا
- ساخته
- کسب و کار
- by
- محاسبه می کند
- محاسبه
- صدا
- فراخوانی
- CAN
- مورد
- مرکزی
- چالش ها
- به چالش کشیدن
- تغییر دادن
- تبادل
- متغیر
- بررسی
- بررسی
- چک
- طبقه بندی
- ابر
- پذیرش ابر
- زیرساخت های ابری
- رمز
- ستون ها
- شرکت
- مقایسه
- کامل
- پیچیدگی ها
- انطباق
- مرکب
- مفهوم
- پیکر بندی
- پیوستگی
- محدودیت ها
- شامل
- مداوم
- کنترل
- گروه شاهد
- قرارداد
- هزینه
- میتوانست
- ایجاد
- ایجاد شده
- ایجاد
- ایجاد
- ایجاد
- کریکت
- سفارشی
- مشتریان
- لبه برش
- داده ها
- علم اطلاعات
- دانشمند داده
- داده محور
- اعلام
- به طور پیش فرض
- مشخص
- تعریف می کند
- درجه
- تحویل
- نشان دادن
- نشان
- گسترش
- مستقر
- استقرار
- توصیف
- طرح
- جزئیات
- جزئیات
- شناسایی شده
- توسعه
- پروژه
- مختلف
- جهت
- مستقیما
- دایرکتوری
- کشف می کند
- بحث و تبادل نظر
- کارگر بارانداز
- میکند
- نمی کند
- دو
- در طی
- هر
- آسان تر
- به طور موثر
- بهره وری
- موثر
- هر دو
- از بین بردن
- پست الکترونیک
- کارمند
- انرژی
- مهندس
- مهندسی
- پیشرفت ها
- اطمینان حاصل شود
- حصول اطمینان از
- سرمایه گذاری
- شرکت
- تمام
- محیط
- خطا
- ارزیابی
- واقعه
- مثال
- بیش از
- برانگیخته
- اعدام
- موجود
- تجربه
- f1
- FAIL
- ناموفق
- نتواند
- ویژگی
- شکل
- پرونده
- فایل ها
- مالی
- خدمات مالی
- نام خانوادگی
- ثابت
- پیروی
- برای
- قالب
- یافت
- از جانب
- تابع
- توابع
- گیتس
- سوالات عمومی
- تولید
- مولد
- رفتن
- GitHub
- Go
- رفتن
- بیشتر
- زمین
- گروه
- راهنمایی
- دست
- اداره
- آیا
- he
- کمک می کند
- خود را
- تاریخ
- چگونه
- چگونه
- HTML
- HTTP
- HTTPS
- بهینه سازی هایپرپارامتر
- ID
- شناسایی
- هویت
- if
- نشان می دهد
- پیاده سازی
- اجرای
- in
- شامل
- شامل
- از جمله
- افزایش
- مستقل
- به طور مستقل
- نشان می دهد
- فرد
- لوازم
- اطلاعات
- شالوده
- ابتکارات
- نوآوری
- ورودی
- ورودی
- بیمه
- ادغام
- در ارتباط بودن
- به
- معرفی
- مسائل
- IT
- ITS
- کار
- شغل ها
- JPG
- json
- تنها
- کلید
- برچسب ها
- آخرین
- رهبری
- یادگیری
- رهبری
- wifecycwe
- لاین
- فهرست
- محلی
- ورود به سیستم
- دستگاه
- فراگیری ماشین
- اصلی
- حفظ
- ساخت
- مدیریت
- مدیریت
- مدیریت
- کتابچه راهنمای
- دستی
- علامت گذاری شده
- کارشناسی ارشد
- ماده
- دیدار
- ملاقات
- پیام
- پیام
- متری
- متریک
- ML
- MLO ها
- مدل
- مدل سازی
- مدل
- تغییر
- نظارت بر
- بیش
- چندگانه
- تحت عنوان
- نامگذاری
- لازم
- نیاز
- ضروری
- نیازهای
- شبکه
- جدید
- به تازگی
- nlp
- نه
- اخطار
- اطلاعیه ها
- رمان
- هدف
- گرفتن
- بدست آوردن
- of
- ارائه
- پیشنهادات
- غالبا
- on
- آنهایی که
- فقط
- عمل
- عملیات
- بهینه سازی
- بهینه سازی
- or
- سفارش
- سازمان های
- سازمان یافته
- اصلی
- دیگر
- تولید
- خارج از
- بسته
- بسته
- جفت
- پارامترهای
- بخش
- ویژه
- عبور می کند
- احساساتی
- مسیر
- انجام
- کارایی
- انجام
- عکاسی
- خط لوله
- برنامه
- برنامه ریزی
- افلاطون
- هوش داده افلاطون
- PlatoData
- بازی
- نقطه
- فقیر
- پست
- شیوه های
- پیش بینی
- آماده می کند
- پیش نیازها
- در حال حاضر
- ارائه شده
- قبلا
- مشکل
- ادامه
- روند
- فرآوری شده
- تولید
- حرفه ای
- منافع
- ترویج
- پیشنهاد شده
- اثبات شده
- ارائه
- فراهم می کند
- ارائه
- کشد
- فشار
- پــایتــون
- کیفیت
- خام
- خواندن
- مطالعه
- دریافت
- دریافت
- اخیر
- رکورد
- كاهش دادن
- کاهش
- با توجه
- ثبت نام
- ثبت نام
- ثبت نام
- ثبت
- ثبت
- رجیستری
- به طور منظم
- باقی مانده
- قابل تکرار
- گزارش ها
- مخزن
- نشان دهنده
- ضروری
- مورد نیاز
- نیاز
- منابع
- قابل احترام
- به ترتیب
- مسئوليت
- نتایج
- ادامه
- قابل استفاده مجدد
- این فایل نقد می نویسید:
- جاده
- نقش
- قوانین
- دویدن
- دونده
- در حال اجرا
- اجرا می شود
- حکیم ساز
- استنباط SageMaker
- خطوط لوله SageMaker
- مقیاس پذیری
- برنامه
- زمان بندی
- علم
- دانشمند
- نمره
- اسکریپت
- sdk
- بخش
- ارسال
- در حال ارسال
- می فرستد
- خدمت
- خدمت
- خدمات
- تنظیم
- برپایی
- چند
- به اشتراک گذاشته شده
- باید
- نشان داده شده
- نشان می دهد
- قابل توجه
- ساده
- تنها
- نرم افزار
- مهندسی نرم افزار
- راه حل
- مزایا
- حل
- منابع
- سپارش
- خاص
- مشخص شده
- ورزش ها
- صحنه
- استقرار
- شروع
- راه افتادن
- دولت
- ارقام
- وضعیت
- گام
- مراحل
- ذخیره سازی
- opbevare
- ذخیره سازی
- استراتژی
- ساختاری
- استودیو
- موفق
- موفقیت
- چنین
- کت و شلوار
- حمایت از
- پشتیبانی از
- جدول
- TAG
- مصرف
- هدف
- کار
- تیم
- تکنیک
- فن آوری
- قالب
- Terraform
- نسبت به
- که
- La
- شان
- آنها
- سپس
- آنجا.
- در نتیجه
- اینها
- آنها
- این
- سه
- آستانه
- از طریق
- زمان
- به
- ابزار
- بالا
- تاپیک
- مسیر
- رکورد
- آموزش دیده
- آموزش
- دگرگونی
- شفاف
- سفر
- ماشه
- باعث شد
- حقیقت
- دور زدن
- دو
- نوع
- نوعی
- ui
- زیر
- تأکید
- بروزرسانی
- به روز رسانی
- آپلود شده
- آپلود
- استفاده کنید
- استفاده
- کاربر
- استفاده
- با استفاده از
- استفاده کنید
- استفاده
- ارزش
- متغیر
- بررسی
- نسخه
- نسخه
- از طريق
- نقض
- هشدار
- مسیر..
- راه
- we
- وب
- خدمات وب
- خوب
- چه زمانی
- چه
- که
- در حین
- WHO
- اراده
- با
- در داخل
- مهاجرت کاری
- گردش کار
- گردش کار
- کارگر
- یامل
- سال
- هنوز
- شما
- شما
- زفیرنت