MLOps چیست؟
عملیات یادگیری ماشین (MLOps) مجموعهای از روشها و رویکردهاست که فرآیندهای کاری (workflow) و استقرارهای یادگیری ماشین (ML) را ساده و خودکار میسازد. یادگیری ماشین و هوش مصنوعی (AI) قابلیتهای اصلی هستند که میتوان برای حل مشکلات پیچیده دنیای واقعی و ارائه ارزش به مشتریان بهکار برد.
MLOps یک فرهنگ و روش در یادگیری ماشین است که توسعهی برنامههای ML (Dev) را با استقرار و عملیات سیستمهای ML (Ops) یکپارچه میکند. سازمانها میتوانند از MLOps برای خودکارسازی و استانداردسازی فرآیندها در کل چرخه عمر ML استفاده کنند. این فرآیندها شامل توسعه مدل، آزمایش، یکپارچهسازی، انتشار و مدیریت زیرساختها میشود.
چرا MLOps لازم است؟
در سطح بالا، آغاز چرخه عمر یادگیری ماشین معمولاً با آمادهسازی داده شروع میشود. شما دادههایی از انواع مختلف و منابع گوناگون جمعآوری میکنید و فعالیتهایی مانند تجمیع، پاکسازی دادههای تکراری، و مهندسی ویژگی را انجام میدهید.
سپس از دادهها برای آموزش و اعتبارسنجی مدل ML استفاده میکنید. پس از آن میتوانید مدل آموزشدیده و اعتبارسنجیشده را بهعنوان یک سرویس پیشبینی مستقر کنید تا سایر برنامهها از طریق APIها به آن دسترسی داشته باشند.
تحلیل اکتشافی داده (EDA) اغلب نیازمند آزمایش با مدلهای مختلف است تا بهترین نسخه مدل برای استقرار آماده شود. این امر به استقرارهای مکرر نسخههای مدل و نسخهبندی داده منجر میشود. ردیابی آزمایشها و مدیریت خط لوله آموزشی ML پیش از آنکه برنامهها بتوانند مدل را در کد خود ادغام یا مصرف کنند، حیاتی است.
MLOps برای مدیریت سیستماتیک و همزمان انتشار مدلهای جدید ML همراه با تغییرات کد برنامه و دادهها حیاتی است. یک پیادهسازی بهینه از MLOps داراییهای ML را مشابه سایر داراییهای نرمافزاری در محیطهای CI/CD مدیریت میکند. شما مدلهای ML را در کنار برنامهها و سرویسهایی که از آنها استفاده یا آنها را مصرف میکنند، در قالب یک فرآیند انتشار یکپارچه مستقر میسازید.
اصول MLOps چیست؟
چهار اصل کلیدی MLOps در ادامه توضیح داده شدهاند.
-
کنترل نسخه (Version Control)
این فرآیند شامل ردیابی تغییرات در داراییهای یادگیری ماشین است تا بتوانید نتایج را بازتولید کرده و در صورت لزوم به نسخههای قبلی بازگردید. هر کد آموزشی ML یا مشخصات مدل از یک مرحله بازبینی کد عبور میکند. هر کدام نسخهگذاری میشوند تا آموزش مدلهای ML قابل بازتولید و قابل حسابرسی باشند.
بازتولیدپذیری در یک جریان کاری ML در هر مرحله، از پردازش داده تا استقرار مدل ML، مهم است. این بدان معناست که هر مرحله باید در صورت دریافت ورودی یکسان، نتایج یکسانی تولید کند.
-
خودکارسازی (Automation)
مراحل مختلف در خط لوله یادگیری ماشین را خودکار کنید تا قابلیت تکرار، سازگاری و مقیاسپذیری تضمین شود. این شامل مراحلی از جمعآوری داده، پیشپردازش، آموزش مدل، و اعتبارسنجی تا استقرار میشود.
عواملی که میتوانند آموزش و استقرار خودکار مدل را فعال کنند عبارتند از:
-
پیامرسانی
-
پایش یا رخدادهای تقویمی
-
تغییرات داده
-
تغییرات کد آموزش مدل
-
تغییرات کد برنامه
تست خودکار به شما کمک میکند مشکلات را زودتر کشف کنید تا خطاها سریعتر برطرف شوند. خودکارسازی با زیرساخت بهعنوان کد (IaC) کارآمدتر است. میتوانید از ابزارها برای تعریف و مدیریت زیرساخت استفاده کنید. این کار تضمین میکند که زیرساخت قابل بازتولید بوده و بهطور سازگار در محیطهای مختلف مستقر شود.
-
Continuous X (فعالیتهای مداوم)
از طریق خودکارسازی، میتوانید بهطور مداوم تستها را اجرا کرده و کد را در سراسر خط لوله ML مستقر کنید.
در MLOps، “مداوم” به چهار فعالیت اشاره دارد که هر زمان تغییر در سیستم رخ دهد، بهطور مستمر اتفاق میافتند:
-
ادغام مداوم (Continuous Integration): گسترش اعتبارسنجی و تست کد به داده و مدلها در خط لوله.
-
تحویل مداوم (Continuous Delivery): استقرار خودکار مدل آموزشدیده جدید یا سرویس پیشبینی مدل.
-
آموزش مداوم (Continuous Training): بازآموزی خودکار مدلهای ML برای استقرار مجدد.
-
پایش مداوم (Continuous Monitoring): پایش داده و مدل با استفاده از معیارهای مرتبط با کسبوکار.
-
حاکمیت مدل (Model Governance)
حاکمیت شامل مدیریت همه جنبههای سیستمهای ML برای کارایی است. شما باید فعالیتهای زیادی برای حاکمیت انجام دهید:
-
همکاری نزدیک بین دانشمندان داده، مهندسان و ذینفعان کسبوکار
-
استفاده از مستندسازی شفاف و کانالهای ارتباطی مؤثر برای هماهنگی همه
-
ایجاد سازوکارهایی برای جمعآوری بازخورد درباره پیشبینیهای مدل و بازآموزی مدلها
-
اطمینان از حفاظت دادههای حساس، امنیت دسترسی به مدلها و زیرساخت، و رعایت الزامات قانونی
همچنین ضروری است که فرآیند ساختاریافتهای برای بازبینی، اعتبارسنجی و تأیید مدلها پیش از عملیاتی شدن وجود داشته باشد. این میتواند شامل بررسی انصاف، سوگیری و ملاحظات اخلاقی باشد.
مزایای MLOps چیست؟
یادگیری ماشین به سازمانها کمک میکند دادهها را تحلیل کرده و بینشهایی برای تصمیمگیری به دست آورند. با این حال، این یک حوزه نوآورانه و تجربی است که چالشهای خاص خود را دارد. حفاظت از دادههای حساس، بودجههای کوچک، کمبود مهارتها، و فناوری در حال تحول مداوم میتوانند موفقیت پروژه را محدود کنند. بدون کنترل و هدایت، هزینهها ممکن است افزایش یافته و تیمهای علم داده به نتایج مورد نظر خود نرسند.
MLOps نقشهای برای هدایت پروژههای ML به سوی موفقیت، بدون توجه به محدودیتها ارائه میدهد. در ادامه برخی از مزایای کلیدی MLOps آمدهاند:
-
زمان سریعتر برای ورود به بازار:
MLOps چارچوبی برای رسیدن سریعتر و کارآمدتر به اهداف علم داده فراهم میکند. توسعهدهندگان و مدیران میتوانند استراتژیکتر و چابکتر در مدیریت مدل عمل کنند. مهندسان ML میتوانند زیرساختها را از طریق فایلهای پیکربندی اعلامی فراهم کنند تا پروژهها روانتر آغاز شوند. -
بهرهوری بهبود یافته:
تمرینهای MLOps بهرهوری را افزایش داده و توسعه مدلهای ML را سرعت میبخشند. بهعنوان مثال، میتوانید محیط توسعه یا آزمایش را استاندارد کنید. سپس مهندسان ML میتوانند پروژههای جدید را سریعتر شروع کنند، بین پروژهها جابهجا شوند، و مدلها را در برنامههای مختلف بازاستفاده کنند. -
استقرار کارآمد مدل:
MLOps عیبیابی و مدیریت مدل در محیط عملیاتی را بهبود میدهد. مهندسان نرمافزار میتوانند عملکرد مدل را پایش کرده و رفتار آن را برای عیبیابی بازتولید کنند. آنها میتوانند نسخههای مدل را ردیابی و مدیریت مرکزی کنند و نسخه مناسب را برای کاربردهای مختلف تجاری انتخاب نمایند.
وقتی جریانهای کاری مدل را با CI/CD یکپارچه کنید، افت عملکرد محدود میشود و کیفیت مدل حتی پس از ارتقا و تنظیمات حفظ میشود.
چگونه MLOps را در سازمان پیادهسازی کنیم؟
سه سطح برای پیادهسازی MLOps وجود دارد که به میزان بلوغ خودکارسازی در سازمان شما بستگی دارد.
-
MLOps سطح ۰
-
جریانهای کاری ML دستی و فرآیندی هدایتشده توسط دانشمندان داده.
-
هر مرحله دستی است: آمادهسازی داده، آموزش ML، اعتبارسنجی.
-
انتقال بین مراحل دستی است.
-
مدلهای آموزشدیده بهعنوان artifact به تیم مهندسی تحویل داده میشوند.
-
جدایی بین دانشمندان داده (ایجاد مدل) و مهندسان (استقرار مدل).
-
انتشارهای کمتکرار، بدون CI/CD یا پایش فعال.
-
-
MLOps سطح ۱
-
برای سازمانهایی که نیاز دارند مدلها را با دادههای جدید مکرراً آموزش دهند.
-
هدف: آموزش مداوم مدل با خودکارسازی خط لوله ML.
-
بهجای استقرار مدل منفرد، یک خط لوله آموزشی مستقر میشود.
-
حداقل: تحویل مداوم سرویس پیشبینی مدل.
-
ویژگیها:
-
گامهای آزمایش ML سریع با خودکارسازی زیاد.
-
آموزش مداوم مدل در محیط تولید با دادههای زنده.
-
اجرای یکسان خط لوله در توسعه، پیشتولید و تولید.
-
همکاری مهندسان و دانشمندان داده در ایجاد کد ماژولار و قابلاستفاده مجدد.
-
استفاده از فروشگاه ویژگی (Feature Store) برای استانداردسازی ذخیرهسازی و دسترسی.
-
مدیریت متادیتا برای ردیابی اجرای خط لوله و بازتولیدپذیری.
-
-
-
MLOps سطح ۲
-
برای سازمانهایی که مرتباً مدلهای جدید میسازند و نیاز به آموزش و استقرار مداوم دارند.
-
مناسب شرکتهای فناوری که مدلها را در دقیقهها بهروزرسانی کرده، هر ساعت یا روز بازآموزی کرده و همزمان در هزاران سرور مستقر میکنند.
-
نیازمند همه قابلیتهای سطح ۱ بهعلاوه:
-
ارکستراتور خط لوله ML
-
رجیستری مدل برای ردیابی چندین مدل
-
-
سه مرحله که در مقیاس تکرار میشوند:
-
ساخت خط لوله: آزمایش مدلها و الگوریتمهای جدید، ذخیره کد در مخزن.
-
استقرار خط لوله: ساخت کد منبع، اجرای تستها و استقرار خط لوله با مدل جدید.
-
ارائه خط لوله: سرویس پیشبینی زنده، جمعآوری آمار از دادههای زنده و فعالسازی چرخه آزمایش جدید.
-
-
تفاوت MLOps و DevOps چیست؟
MLOps و DevOps هر دو تمرینهایی هستند که هدف آنها بهبود فرآیندهای توسعه، استقرار و پایش نرمافزار است.
-
DevOps:
-
هدف: پر کردن فاصله بین تیمهای توسعه و عملیات.
-
تضمین تست خودکار، یکپارچهسازی و استقرار کارآمد و مطمئن کد.
-
ترویج فرهنگ همکاری برای چرخههای انتشار سریعتر، کیفیت بهتر نرمافزار، و استفاده بهینه از منابع.
-
-
MLOps:
-
مجموعهای از بهترین روشها که بهطور خاص برای پروژههای ML طراحی شدهاند.
-
استقرار و یکپارچهسازی نرمافزار سنتی سادهتر است، اما مدلهای ML چالشهای خاصی دارند.
-
شامل جمعآوری داده، آموزش مدل، اعتبارسنجی، استقرار، پایش و بازآموزی مداوم.
-
تمرکز بر خودکارسازی چرخه عمر ML.
-
نتیجه: استقرار سریعتر مدلهای ML، بهبود دقت در طول زمان، و اطمینان از ارائه ارزش واقعی کسبوکار.
-