MLOps

بندانگشتی
MLOps یا ML Ops الگویی است که هدف آن استقرار و حفظ مدل های یادگیری ماشین تولیدی، به طور قابل اعتماد و کارآمد است. این کلمه ترکیبی از "یادگیری ماشین" و عمل توسعه مداوم DevOps در زمینه نرم‌افزار است. مدل‌های یادگیری ماشین در سیستم‌های آزمایشی ایزوله آزمایش می‌شوند و توسعه می‌یابند. هنگامی که یک الگوریتم آماده راه‌اندازی است، MLOps بین دانشمندان داده، DevOps و مهندسین یادگیری ماشین برای انتقال الگوریتم به سیستم های تولید، آزمایش می‌شود. مشابه با رویکردهای دواپس یا دیتااپس، MLOps به دنبال افزایش خودکارسازی و بهبود کیفیت مدل‌های تولیدی است، در حالی که بر الزامات تجاری و نظارتی نیز تمرکز دارد. در حالی که MLOs به عنوان مجموعه ای از بهترین روش‌ها شروع شد، به آرامی در حال تبدیل شدن به یک رویکرد مستقل برای مدیریت فرآیند ML است. MLOps برای کل فرآیند اعمال می‌شود - از ادغام با تولید مدل (فرایند توسعه نرم‌افزار،یکپارچه‌سازی مداوم/تحویل پیوسته)، ارکستراسیون (رایانش) و استقرار تا سلامت، تشخیص، نظارت و معیارهای تجاری. طبق گفته گارتنر، MLOps زیر مجموعه ای از ModelOps است. MLOps بر عملیاتی‌سازی مدل‌های ML متمرکز است، در حالی که ModelOps عملیاتی‌سازی انواع مدل‌های هوش مصنوعی را پوشش می‌دهد.

## تعریف
MLOps یک الگو است، شامل جنبه‌هایی مانند بهترین روش‌ها، مجموعه‌ای از مفاهیم، و همچنین فرهنگ توسعه، زمانی که صحبت از مفهوم‌ پردازی، پیاده‌سازی، نظارت، استقرار و مقیاس‌پذیری محصولات یادگیری ماشین می‌شود. بیشتر از همه، یک روش مهندسی است که از سه رشته کمک کننده استفاده می کند: یادگیری ماشین، مهندسی نرم افزار (به ویژه DevOps) و مهندسی داده. هدف MLOps تولید سیستم‌های یادگیری ماشین با پر کردن شکاف بین توسعه (Dev) و عملیات (Ops) است. اساساً، MLOps با استفاده از این اصول قصد دارد ایجاد محصولات یادگیری ماشین را تسهیل کند: خودکارسازی CI/CD، هماهنگ‌سازی گردش کار، تکرارپذیری؛ نسخه‌بندی داده ها، مدل ها و کدها؛ همکاری؛ آموزش و ارزیابی مستمر ML؛ ردیابی و ثبت فراداده ML؛ نظارت مستمر؛ و حلقه های بازخورد.

## تاریخچه
چالش‌های استفاده مداوم از یادگیری ماشین در نرم‌افزارها در مقاله‌ای در سال 2015 مشخص شد. رشد پیش‌بینی‌شده در یادگیری ماشینی شامل دوبرابر شدن آزمایش‌ها و پیاده‌سازی‌های ML از سال 2017 تا 2018 و دوباره از 2018 تا 2020 بود.

گزارش‌ها نشان می‌دهند که اکثریت (حداکثر 88 درصد) ابتکارات یادگیری ماشین شرکتی در تلاش هستند تا فراتر از مراحل آزمایشی حرکت کنند. با این حال، سازمان هایی که در واقع یادگیری ماشین را وارد عمل کردند، شاهد افزایش حاشیه سود 3-15 درصدی بودند. بازار MLOps در سال 2019، 23.2 میلیارد دلار تخمین زده شد و پیش‌بینی می‌شود به دلیل پذیرش سریع، تا سال 2025 به 126 میلیارد دلار برسد.

## معماری
سیستم‌های یادگیری ماشین را می توان در هشت دسته مختلف دسته‌بندی کرد: گردآوری داده، پردازش رایانه‌ای داده‌ها، مهندسی ویژگی، برچسب گذاری داده‌ها، طراحی مدل، آموزش و بهینه‌سازی مدل، استقرار نتیجه، و نظارت بر روی نتیجه. هر مرحله در چرخه یادگیری ماشین در سیستم خاص خود ساخته شده است، اما نیاز به ارتباط متقابل دارد. اینها حداقل سیستم‌هایی هستند که شرکت‌ها برای مقیاس‌سازی یادگیری ماشین در سازمان خود به آن‌ها نیاز دارند.

## اهداف
تعدادی هدف وجود دارند که شرکت‌ها می‌خواهند از طریق سیستم‌های MLOps که ML را با موفقیت در سراسر سازمان پیاده‌سازی می‌کنند به آنها دست یابند، از جمله:

* استقرار و خودکارسازی

* تکرارپذیری مدل‌ها و پیش‌بینی‌ها

* تشخیص

* نظارت و انطباق با مقررات

* مقیاس پذیری

* همکاری

* کاربردهای تجاری

* نظارت و مدیریت

یک روش استاندارد، مانند MLOps، هر یک از زمینه های ذکر شده را در نظر می‌گیرد، که می‌تواند به شرکت‌ها در بهینه سازی گردش کار و جلوگیری از مشکلات در حین اجرا کمک کند.

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

## چالش‌های اجرای MLOps

یکی از چالش های اصلی در پیاده سازی MLOps، فقدان فرایندها و ابزارهای استاندارد در سراسر سازمان ها است. با تکامل یادگیری ماشین، سازمان ها در حال دست و پنجه نرم کردن با چگونگی ایجاد یک استراتژی MLOps موثر هستند که نیازها و اهداف خاص آن ها را تامین می کند.
برخی از چالش های رایج عبارتند از:

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

۲. تضمین هم کاری یکپارچه بین تیم ها برای کاهش زمان لازم برای انتقال یک مدل از توسعه به تولید.

۳. ایجاد یک چارچوب تست و اعتبارسنجی قوی برای مدل‌های یادگیری ماشین برای اطمینان از مطابقت آن‌ها با معیارهای عملکرد مطلوب و پایبندی به محدودیت های نظارتی.

۴. مدیریت چرخه عمر مدل‌های یادگیری ماشین، از جمله نسخه نویسی، نظارت و به روزرسانی آن‌ها برای حفظ ارتباط و دقت آن‌ها.

۵. پرداختن به چالش های منحصر به فرد ناشی از مقیاس و پیچیدگی مدل های یادگیری ماشین، مانند نیاز به زیرساخت های سخت افزاری و نرم افزاری تخصصی.

## ابزارها و چهرچوب‌های MLOps

ابزارها و چارچوب های مختلفی برای پشتیبانی از MLOps و ساده کردن فرآیند استقرار، مدیریت و نگهداری مدل های یادگیری ماشین ظهور کرده اند. برخی از ابزارها و چارچوب های محبوب MLOps عبارتند از:

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

۲.Kubeflow: یک پلتفرم بومی کوبرنیت می‌باشد که مجموعه ای از ابزارها را برای استقرار، نظارت و مدیریت مدل های یادگیری ماشین در تولید فراهم می کند.

۳.Tfx (TensorFlow Extended): یک پلتفرم یادگیری ماشین آماده تولید است که راه حلی جامع برای اعتبارسنجی داده ها، آموزش مدل و خدمت رسانی فراهم می کند.

۴.Apache Airflow: پلتفرمی برای برنامه‌نویسی، زمان بندی و نظارت بر جریان های کاری، از جمله موارد مربوط به یادگیری ماشین می‌باشد.

۵.Seldon: یک پلتفرم متن باز برای استقرار، مقیاس بندی و نظارت بر مدل های یادگیری ماشین در کوبرنتز است.

## MLOps در سرویس‌های ابری

راه حل های MLOps مبتنی بر سرویس‌های ابری به دلیل توانایی آن‌ها در ساده کردن استقرار و مدیریت مدل‌های یادگیری ماشین در مقیاس، محبوبیت پیدا کرده‌اند. ارائه دهندگان اصلی ابر، مانند خدمات وب آمازون (AWS)، پلتفرم ابری گوگل (GCP)و مایکروسافت آژور، خدمات مدیریت شده MLOps را ارائه می‌دهند که فرآیند ساخت، استقرار و نظارت بر مدل‌های یادگیری ماشین را در محیط‌های تولید ساده می‌کند. این سرویس‌های مدیریت شده اغلب شامل ویژگی‌هایی مانند:

۱. آموزش مدل خودکار و تنظیم‌ هایپرپارامترها.

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

۳. قابلیت های پایش، ثبت و هشدار تعبیه شده.

۴. یکپارچه سازی با سایر خدمات مبتنی بر فضای ابری، مانند ذخیره سازی داده، پردازش و ابزارهای تحلیلی.

۵. پشتیبانی از توسعه‌های ترکیبی و چند ابری، سازمان ها را قادر می سازد تا از چندین ارائه دهنده ابر برای افزایش انعطاف پذیری استفاده کنند.

## آینده‌ی MLOps

با ادامه نفوذ یادگیری ماشین در صنایع و کاربردهای مختلف، اهمیت MLOps افزایش خواهد یافت. برخی از روندهای در حال ظهور و تحولات بالقوه آینده در MLOPS عبارتند از:

۱.هم گرایی MLOps با دیگر زمینه های نوظهور مانند AutoML (یادگیری ماشین خودکار) که هدف آن ساده‌سازی فرآیند ساخت و به کارگیری مدل‌های یادگیری ماشین است.

۲.افزایش استفاده از بهترین شیوه‌های MLOps در سازمان‌ها، منجر به فرآیندها و ابزارهای استانداردتر می شود.

۳.ظهور خدمات MLOps as a Service که راه حل های MLOps سرتاسری را برای سازمان هایی که فاقد تخصص یا منابع برای ساخت زیرساخت MLOps خود هستند، فراهم می‌کند.

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

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

## همچنین ببینید
ModelOps طبق گفته گارتنر، MLOps زیر مجموعه ای از ModelOps است. MLOps بر عملیاتی‌سازی مدل‌های ML متمرکز است، در حالی که ModelOps عملیاتی‌سازی انواع مدل‌های هوش مصنوعی را پوشش می‌دهد.

AIOps، مفهومی با نام مشابه، اما متفاوت - استفاده از هوش مصنوعی (ML) در فناوری اطلاعات و عملیات.

## منابع
رده:یادگیری ماشین