Model Drift و Degradation مدل های یادگیری ماشین در محیط عملیاتی

Model Drift, Decay, Degradation

چرا مدل های یادگیری ماشین در محیط عملیاتی crash میکنند و به درستی کار نمی کنند

برعکس نرم افزارهای معمولی مانند یک برنامه کاربردی ماشین حساب، که از زمان ساخت تا سال ها بعد به درستی کار می کند؛ وقتی یک مدل یادگیری ماشین ساخته و مستقر می شود لزوما در مدت طولانی به درستی کار نمی کند. در نظر نگرفتن این واقعیت در مورد مدل های یادگیری ماشین، بزرگترین اشتباه شرکت هایی است که اولین محصولات هوش مصنوعی خود را به بازار ارائه می کنند. دقیقا همان لحظه ای که مدل شما در محیط عملیاتی قرار می گیرد، کاهش کارایی آن شروع می شود.

چرا مدل های یادگیری ماشین با خطا مواجه می شوند؟

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

امنیت سایبری یک نمونه از مثال هایی است که در آن به وضوح model drift رخ می دهد. بدافزارها به سرعت تکامل پیدا می­ کنند و ساختن مدل یادگیری ماشینی که رفتار آینده بدافزارها را منعکس کند، بسیار سخت است. محققان دانشگاه لندن و دانشگاه لوئیزیانا چارچوب هایی پیشنهاد داده اند که مدل های تشخیص بد افزار را به صورت پیوسته آموزش می دهد.گروه Sophos نشان داده است که چگونه مدل هایی که برای تشخیص urlهای مخرب به خوبی عمل می کنند، با سرعت و در زمان دور از انتظار چند هفته ای، degrade می شوند.

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

 

 

تجربه ای از degrade شدن یک مدل در حوزه سلامت

مدلی را در نظر بگیرید که پذیرش/بستری مجدد در بیمارستان طی 30 روز آینده را پیش بینی می کند. صحت کارکرد این مدل که توسط David Talb عضو کنسول فناوری Forbes در بیمارستان های آمریکا پیاده سازی شده بود، و در بیمارستان آموزش دیده، بهینه شده و نهایتا مستقر شده بود؛ به سرعت و طی دو تا سه ماه degrade شد! مدل ها در بیمارستان های مختلف و یا حتی بخش های مختلف یک بیمارستان نیاز به تغییر داشتند. در واقع این مدل به علت ارتباط با دنیای واقعی طی دو تا سه ماه صحت پیش بینی هایش به شدت افت کرد و هرچه تعداد بیمارستان های استفاده کننده از مدل بیشتر می شد، وضعیت پیش بینی مدل از قبل هم بدتر می شد.

علت این اتفاق چه بود؟

  • تغییر فیلدهای خاص در رکوردهای سلامت الکترونیک، گرچه موجب ساده تر کردن مستندسازی در بیمارستان می شد ولی موجب میشد دیگر فیلدها خالی بمانند. خالی ماندن برخی از فیلدها روی کارکرد مدل تاثیر میگذاشت.
  • انتقال برخی از تست های آزمایشگاه به آزمایشگاه دیگر، به معنای این بود که باید از کدهای متفاوتی در آن بخش استفاده میشد.
  • آغاز به همکاری با یک نوع بیمه جدید در بیمارستان، نوع افرادی که به ER منتقل می شدند را تغییر می داد.

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

 

برای تغییر آماده باشید

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

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

به گپی که میان داده آموزشی و آنلاین ایجاد میشود، توجه کنید: گپ میان تویع مجموعه داده آموزشی و مجموعه داده آنلاین را در نظر بگیرید. این روش یک روش ساده و موثر برای یافتن مسائل متنوع زیادی در مدل محیط عملیاتی است. مثلا اگر در داده مجموعه آموزشی حدود 50درصد بیمار با ریسک بالا وجود دارد، ولی در محیط عملیاتی مدل پیش بینی می کند که حدود  30 درصد بیمار با ریسک بالا وجود دارد، احتمالا زمان آن است که مدل را مجددا آموزش دهید.

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

از همه مهمتر، بهترین دانشمندان داده و مهندسان داده خود را برای وقتی که مدل وارد محیط عملیاتی شد، نگه دارید!. برعکس نرم افزارهای معمول، که بعد از استقرار نرم افزار، تیم عملیات می تواند مسائل را هندل کرده و مهندسان به ساخت نرم افزار بزرگ دیگری مشغول می شوند، بیشتر چالش های فنی سیستم های یادگیری ماشین و هوش مصنوعی در محیط عملیاتی رخ می دهند. خودکارسازی پایپ لاین های آموزش مجدد، اندازه گیری آنلاین و A/B Testing  در یادگیری ماشین چالش برانگیز هستند. قویترین تکنسین های تیم، از این ترکیب چالش فکری و تاثیر تجاری آن لذت خواهند برد.

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

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