MLOps: DevOps در دنیای یادگیری ماشینی

در سال 2018، در محافل حرفه ای و در کنفرانس های موضوعی اختصاص داده شده به هوش مصنوعی، مفهوم MLOps ظاهر شد که به سرعت در صنعت جای پای خود را به دست آورد و اکنون به عنوان یک جهت مستقل در حال توسعه است. در آینده، MLO ها ممکن است به یکی از مناطق مورد تقاضا در IT تبدیل شوند. چی هست و با چی خورده میشه زیر برش میفهمیم.

MLOps: DevOps در دنیای یادگیری ماشینی

MLOps چیست؟

MLOps (ادغام فناوری‌ها و فرآیندهای یادگیری ماشین و رویکردهای پیاده‌سازی مدل‌های توسعه‌یافته در فرآیندهای کسب‌وکار) روش جدیدی برای همکاری بین نمایندگان کسب‌وکار، دانشمندان، ریاضی‌دانان، متخصصان یادگیری ماشین و مهندسان فناوری اطلاعات در ایجاد سیستم‌های هوش مصنوعی است.

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

باید درک کرد که زنجیره بهره وری مدت ها قبل از توسعه مدل آغاز می شود. اولین گام آن تعریف هدف کسب و کار، فرضیه ارزشی است که می توان از داده ها استخراج کرد و ایده کسب و کار برای اعمال آن. 

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

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

  • تعریف یک ایده تجاری؛
  • آموزش مدل;
  • آزمایش و پیاده سازی مدل در فرآیند کسب و کار؛
  • عملیات مدل

هنگامی که در طول عملیات تغییر یا آموزش مجدد مدل بر روی داده های جدید ضروری می شود، چرخه از نو شروع می شود - مدل نهایی می شود، آزمایش می شود و یک نسخه جدید مستقر می شود.

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

در این چرخه عمر، استفاده از ابزارهای DevOps منطقی به نظر می رسد: آزمایش خودکار، استقرار و نظارت، ثبت محاسبه مدل به عنوان میکروسرویس های جداگانه. اما تعدادی ویژگی وجود دارد که از استفاده مستقیم از این ابزارها بدون ML-tying اضافی جلوگیری می کند.

MLOps: DevOps در دنیای یادگیری ماشینی

چگونه می توان مدل ها را به کار انداخت و سود کرد

به عنوان مثال، که در آن کاربرد رویکرد MLOps را نشان می‌دهیم، وظیفه کلاسیک روباتیک کردن چت پشتیبانی برای یک محصول بانکی (یا هر محصول دیگری) را بر عهده می‌گیریم. یک فرآیند تجاری پشتیبانی چت معمولی به شرح زیر است: یک مشتری یک سوال را در یک چت وارد می کند و پاسخی را از یک متخصص در یک درخت گفتگوی از پیش تعریف شده دریافت می کند. وظیفه خودکارسازی چنین چت معمولاً با استفاده از مجموعه‌هایی از قوانین تعریف شده ماهرانه حل می‌شود که توسعه و نگهداری آنها بسیار پر زحمت است. بازده چنین اتوماسیون بسته به سطح پیچیدگی کار، می تواند 20-30٪ باشد. به طور طبیعی، این ایده مطرح می شود که پیاده سازی یک ماژول هوش مصنوعی سودمندتر است - مدلی که با استفاده از یادگیری ماشین توسعه یافته است که:

  • قادر به پردازش درخواست های بیشتر بدون مشارکت اپراتور (بسته به موضوع، در برخی موارد، کارایی می تواند به 70-80٪ برسد).
  • بهتر با عبارات غیر استاندارد در گفتگو تطبیق می یابد - قادر به تعیین هدف، تمایل واقعی کاربر برای درخواست فرموله نشده است.
  • می تواند تعیین کند که چه زمانی پاسخ مدل کافی است و چه زمانی در مورد "هشیاری" این پاسخ تردید وجود دارد و لازم است یک سوال روشنگر اضافی بپرسید یا به اپراتور تغییر دهید.
  • می تواند به طور خودکار بازآموزی شود (به جای اینکه گروهی از توسعه دهندگان دائماً سناریوهای پاسخ را تطبیق و تصحیح کنند، این مدل توسط یک دانشمند داده با استفاده از کتابخانه های یادگیری ماشین مناسب بازآموزی می شود). 

MLOps: DevOps در دنیای یادگیری ماشینی

چگونه می توان چنین مدل پیشرفته ای کار کرد؟ 

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

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

با توسعه فناوری های هوش مصنوعی، تعداد و تنوع وظایفی که می توان با کمک یادگیری ماشینی حل کرد، مانند بهمن در حال افزایش است. هر یک از این فرآیندهای تجاری با خودکار کردن کار کارکنان موقعیت های انبوه (مرکز تماس، بررسی و مرتب سازی اسناد و غیره) باعث صرفه جویی در شرکت می شود، با افزودن عملکردهای جذاب و راحت جدید، پایگاه مشتری را گسترش می دهد و به دلیل بهینه بودن آنها در هزینه ها صرفه جویی می کند. استفاده و توزیع مجدد منابع و موارد دیگر. در نهایت هر فرآیندی بر خلق ارزش متمرکز است و در نتیجه باید اثر اقتصادی خاصی به همراه داشته باشد. در اینجا بیان واضح ایده کسب و کار و محاسبه سود مورد انتظار از اجرای مدل در ساختار کلی ارزش آفرینی شرکت بسیار مهم است. شرایطی وجود دارد که پیاده سازی مدل خود را توجیه نمی کند و زمان صرف شده توسط متخصصان یادگیری ماشین بسیار گران تر از محل کار اپراتوری است که این کار را انجام می دهد. به همین دلیل است که باید تلاش کرد تا در مراحل اولیه ایجاد سیستم های هوش مصنوعی چنین مواردی را شناسایی کرد.

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

فرآیند جدید - چالش های جدید

یک پاسخ جامع به سوال اساسی کسب و کار که مدل های ML چقدر برای حل مشکلات قابل اجرا هستند، سوال کلی اعتماد به هوش مصنوعی یکی از چالش های کلیدی در توسعه و اجرای رویکردهای MLOps است. در ابتدا، کسب‌وکارها در مورد معرفی یادگیری ماشینی در فرآیندها تردید دارند - تکیه بر مدل‌ها در مکان‌هایی که مردم معمولاً در گذشته کار می‌کردند دشوار است. برای تجارت، برنامه ها به نظر یک "جعبه سیاه" هستند که ارتباط پاسخ های آن هنوز باید ثابت شود. علاوه بر این، در بانکداری، در تجارت اپراتورهای مخابراتی و دیگران، الزامات سختگیرانه تنظیم کننده های دولتی وجود دارد. کلیه سیستم ها و الگوریتم هایی که در فرآیندهای بانکی پیاده سازی می شوند، مشمول حسابرسی می باشند. برای حل این مشکل، برای اثبات اعتبار و درستی پاسخ‌های هوش مصنوعی به کسب‌وکارها و قانون‌گذاران، ابزارهای نظارتی همراه با مدل معرفی می‌شوند. علاوه بر این، یک روش اعتبارسنجی مستقل برای مدل‌های نظارتی اجباری وجود دارد که الزامات بانک مرکزی را برآورده می‌کند. یک گروه متخصص مستقل نتایج به دست آمده توسط مدل را با در نظر گرفتن داده های ورودی حسابرسی می کند.

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

MLOps: DevOps در دنیای یادگیری ماشینی

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

  • مهندسان داده داده ها را آماده و پردازش می کنند.
  • دانشمندان داده از ابزارهای یادگیری ماشینی استفاده می کنند و یک مدل را توسعه می دهند.
  • فناوری اطلاعات مدل را در سیستم پیاده سازی می کند.
  • مهندس ML نحوه ادغام صحیح این مدل را در فرآیند تعیین می کند، از کدام ابزارهای فناوری اطلاعات بسته به نیازهای حالت استفاده از مدل، با در نظر گرفتن جریان درخواست ها، زمان پاسخگویی و غیره استفاده کند. 
  • یک معمار ML طراحی می کند که چگونه یک محصول نرم افزاری می تواند به صورت فیزیکی در یک سیستم صنعتی پیاده سازی شود.

کل چرخه به تعداد زیادی متخصص بسیار ماهر نیاز دارد. در نقطه خاصی از توسعه و میزان نفوذ مدل های ML به فرآیندهای تجاری، مشخص می شود که مقیاس خطی تعداد متخصصان متناسب با رشد تعداد وظایف، گران و ناکارآمد می شود. بنابراین، این سوال در مورد خودکار کردن فرآیند MLOps مطرح می شود - تعریف چندین کلاس استاندارد از مشکلات یادگیری ماشین، توسعه خطوط لوله پردازش داده معمولی و مدل های بازآموزی. در تصویر ایده آل، برای حل چنین مشکلاتی، به متخصصانی نیاز است که به همان اندازه در شایستگی ها در محل اتصال BigData، Data Science، DevOps و IT مسلط باشند. بنابراین، بزرگترین مشکل در صنعت علم داده و بزرگترین چالش در سازماندهی فرآیندهای MLOps، فقدان چنین شایستگی در بازار آموزشی موجود است. متخصصانی که چنین شرایطی را برآورده می کنند در حال حاضر در بازار کار کمیاب هستند و ارزش وزن خود را بر حسب طلا دارند.

به سوال صلاحیت ها

در تئوری، تمام وظایف MLOps را می توان با ابزارهای DevOps کلاسیک و بدون توسل به یک فرمت مدل نقش تخصصی حل کرد. سپس، همانطور که در بالا اشاره کردیم، یک دانشمند داده نه تنها باید یک ریاضیدان و تحلیلگر داده باشد، بلکه باید یک گورو کل خط لوله باشد - توسعه معماری، مدل های برنامه نویسی به چندین زبان بسته به معماری، آماده سازی یک داده mart و استقرار روی شانه هایش می افتد.خود برنامه. با این حال، ایجاد یک اتصال فن‌آوری که در فرآیند MLOps end-to-end اجرا می‌شود تا 80 درصد از هزینه‌های نیروی کار را می‌گیرد، به این معنی که یک ریاضیدان واجد شرایط، که یک دانشمند داده با کیفیت بالا است، تنها 20 درصد از هزینه‌ها را اختصاص خواهد داد. زمان به تخصص او بنابراین، تمایز نقش‌های متخصصانی که فرآیند پیاده‌سازی مدل‌های یادگیری ماشین را اجرا می‌کنند، حیاتی می‌شود. 

اینکه نقش ها چقدر باید مشخص شوند به اندازه شرکت بستگی دارد. وقتی یک استارت آپ یک متخصص دارد، یک کارگر در ذخایر مهندسان نیرو، یک مهندس، یک معمار و به تنهایی DevOps دارد. زمانی که در یک شرکت بزرگ، تمام فرآیندهای توسعه مدل بر روی چند دانشمند داده سطح بالا متمرکز می شود، در حالی که یک برنامه نویس یا متخصص پایگاه داده - شایستگی رایج تر و کم هزینه تر در بازار کار - می تواند این کار را انجام دهد، موضوع کاملاً متفاوت است. بیشتر کارهای روتین

بنابراین، جایی که مرز در انتخاب متخصصان برای اطمینان از فرآیند MLOps نهفته است و نحوه سازماندهی فرآیند عملیاتی کردن مدل‌های توسعه‌یافته به طور مستقیم بر سرعت و کیفیت مدل‌های توسعه‌یافته، بهره‌وری تیم و اقلیم خرد در آن تأثیر می‌گذارد.

کاری که قبلا توسط تیم ما انجام شده است

ما اخیراً شروع به ساخت چارچوب شایستگی و فرآیندهای MLOps کردیم. اما در حال حاضر، پروژه های ما در مورد مدیریت چرخه عمر مدل ها و استفاده از مدل ها به عنوان یک سرویس در مرحله آزمایش MVP هستند.

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

سوالاتی برای آینده

MLOps حوزه رو به رشدی است که کمبود شایستگی ها را تجربه می کند و در آینده شتاب بیشتری خواهد گرفت. در این میان، بهتر است از پیشرفت‌ها و شیوه‌های DevOps استفاده کنید. هدف اصلی MLO ها استفاده موثرتر از مدل های ML برای حل مشکلات تجاری است. اما این سؤالات زیادی را ایجاد می کند:

  • چگونه زمان عرضه مدل ها را در تولید کاهش دهیم؟
  • چگونه می توان اصطکاک بوروکراتیک بین تیم های شایستگی های مختلف را کاهش داد و تمرکز بر همکاری را افزایش داد؟
  • چگونه مدل ها را ردیابی کنیم، نسخه ها را مدیریت کنیم و نظارت موثر را سازماندهی کنیم؟
  • چگونه یک چرخه زندگی واقعاً دایره ای برای یک مدل مدرن ML ایجاد کنیم؟
  • چگونه فرآیند یادگیری ماشینی را استاندارد کنیم؟

پاسخ به این سوالات تا حد زیادی تعیین می کند که MLOs با چه سرعتی پتانسیل کامل خود را نشان می دهد.

منبع: www.habr.com

اضافه کردن نظر