آزمایش خطوط لوله در تولید

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

چولگی در خدمت آموزش را بررسی کنید

انحراف ارائه آموزش به این معنی است که داده های ورودی شما بین آموزش و سرویس متفاوت است. جدول زیر دو نوع مهم کج را توضیح می دهد:

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

مانیتور سن مدل در سراسر خط لوله

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

تست کنید که وزن‌ها و خروجی‌های مدل از نظر عددی پایدار هستند

در طول تمرین مدل، وزنه ها و خروجی های لایه شما نباید NaN یا Inf باشد. تست هایی بنویسید تا مقادیر NaN و Inf وزن ها و خروجی های لایه خود را بررسی کنید. علاوه بر این، آزمایش کنید که بیش از نیمی از خروجی های یک لایه صفر نباشد.

عملکرد مدل مانیتور

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

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

تست کیفیت مدل زنده روی داده های ارائه شده

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

  • برچسب‌ها را با استفاده از ارزیاب‌های انسانی تولید کنید.

  • مدل هایی را بررسی کنید که سوگیری آماری قابل توجهی در پیش بینی ها نشان می دهند. به طبقه بندی: تعصب پیش بینی مراجعه کنید.

  • معیارهای دنیای واقعی را برای مدل خود دنبال کنید. برای مثال، اگر هرزنامه ها را طبقه بندی می کنید، پیش بینی های خود را با هرزنامه های گزارش شده توسط کاربر مقایسه کنید.

  • اختلاف احتمالی بین آموزش و ارائه داده ها را با ارائه یک نسخه مدل جدید بر روی کسری از درخواست های خود کاهش دهید. همانطور که مدل سرویس جدید خود را تأیید می‌کنید، به تدریج همه پرسش‌ها را به نسخه جدید تغییر دهید.

با استفاده از این تست‌ها، به یاد داشته باشید که کاهش ناگهانی و آهسته کیفیت پیش‌بینی را کنترل کنید.