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) در فناوری اطلاعات و عملیات.
منابع
[ویرایش]- ↑ Breuel, Cristiano. "ML Ops: Machine Learning as an Engineering Discipline". Towards Data Science (به انگلیسی). Retrieved 6 July 2021.
- ↑ Talagala, Nisha. "Why MLOps (and not just ML) is your Business' New Competitive Frontier". AITrends. AITrends. Archived from the original on 19 January 2021. Retrieved 30 January 2018.
- ↑ ۳٫۰ ۳٫۱ Vashisth, Shubhangi; Brethenoux, Erick; Choudhary, Farhan; Hare, Jim. "Use Gartner's 3-Stage MLOps Framework to Successfully Operationalize Machine Learning Projects". Gartner. Gartner. Retrieved 30 October 2020.
- ↑ ۴٫۰ ۴٫۱ Kreuzberger, Dominik; Kühl, Niklas; Hirschl, Sebastian (2023). "Machine Learning Operations (MLOps): Overview, Definition, and Architecture". IEEE Access. 11: 31866–31879. doi:10.1109/ACCESS.2023.3262138. ISSN 2169-3536.
- ↑ Sculley, D.; Holt, Gary; Golovin, Daniel; Davydov, Eugene; Phillips, Todd; Ebner, Dietmar; Chaudhary, Vinay; Young, Michael; Crespo, Jean-Francois; Dennison, Dan (7 December 2015). "Hidden Technical Debt in Machine Learning Systems" (PDF). NIPS Proceedings (2015). Retrieved 14 November 2017.
- ↑ Sallomi, Paul; Lee, Paul. "Deloitte Technology, Media and Telecommunications Predictions 2018" (PDF). Deloitte. Deloitte. Retrieved 13 October 2017.
- ↑ Bughin, Jacques; Hazan, Eric; Ramaswamy, Sree; Chui, Michael; Allas, Tera; Dahlström, Peter; Henke, Nicolaus; Trench, Monica. "Artificial Intelligence The Next Digital Frontier?". McKinsey. McKinsey Global Institute. Retrieved 1 June 2017.
- ↑ "2021 MLOps Platforms Vendor Analysis Report". Neu.ro. Archived from the original on 8 February 2023. Retrieved 10 August 2021.
- ↑ ۹٫۰ ۹٫۱ Walsh, Nick. "The Rise of Quant-Oriented Devs & The Need for Standardized MLOps". Slides. Nick Walsh. Retrieved 1 January 2018.
- ↑ "Code to production-ready machine learning in 4 steps". DAGsHub Blog (به انگلیسی). 2021-02-03. Retrieved 2021-02-19.
- ↑ ۱۱٫۰ ۱۱٫۱ Warden, Pete. "The Machine Learning Reproducibility Crisis". Pete Warden's Blog. Pete Warden. Retrieved 19 March 2018.
- ↑ Vaughan, Jack. "Machine learning algorithms meet data governance". SearchDataManagement. TechTarget. Retrieved 1 September 2017.
- ↑ Lorica, Ben. "How to train and deploy deep learning at scale". O'Reilly. O'Reilly. Retrieved 15 March 2018.
- ↑ Garda, Natalie. "IoT and Machine Learning: Why Collaboration is Key". IoT Tech Expo. Encore Media Group. Retrieved 12 October 2017.
- ↑ Manyika, James. "What's now and next in analytics, AI, and automation". McKinsey. McKinsey Global Institute. Retrieved 1 May 2017.
- ↑ Haviv, Yaron. "MLOps Challenges, Solutions and Future Trends". Iguazio. Iguazio. Retrieved 19 February 2020.
- ↑ Granlund, T., Kopponen, A., Stirbu, V., Myllyaho, L., & Mikkonen, T. ["MLOps challenges in multi-organization setup: Experiences from two real-world cases." https://arxiv.org/pdf/2103.08937]
- ↑ Symeonidis, G., Nerantzis, E., Kazakis, A., & Papakostas, G. A ["Mlops-definitions, tools and challenges." https://arxiv.org/pdf/2201.00162]
- ↑ Bodor, Anas, Meriem Hnida, and Daoudi Najima. ["MLOps: Overview of Current State and Future Directions." https://link.springer.com/chapter/10.1007/978-3-031-26852-6_14]