قرارداد، فقط تعریف ستون نیست
ممکن است نام و نوع ستون در آموزش و اجرای زنده یکسان باشد ولی مقدارها از دو مسیر متفاوت ساخته شوند. این مطلب درباره قرارداد اجرایی ویژگی است: در چه لحظهای، با کدام تبدیل و از کدام نسخه منبع، مقدار ورودی مدل تولید میشود. دیکشنری عمومی فیلد شرح معنی را میدهد؛ این قرارداد علاوه بر معنی باید برابری محاسبه آفلاین و آنلاین را آزمونپذیر کند.
یک رکورد را از دو مسیر بازسازی کنید
برای نمونههای مجاز، شناسه درخواست و لحظه تصمیم را نگه دارید. ویژگیهای واقعاً استفادهشده هنگام اجرا را با حداقل داده لازم ثبت کنید. سپس همان نمونه را از مسیر آموزش و با نسخه منبع همان زمان بازسازی کنید. برای هر ویژگی اختلاف مطلق، سیاست مقدار ناموجود و نسخه تابع تبدیل را مقایسه کنید. آستانه اختلاف برای مقدار عددی باید پیشاپیش تعیین شود؛ برای دسته و شناسه معمولاً انتظار برابری دقیق داریم.
مثال تفاوت واحد بدون تغییر نام
ویژگی آموزشی مدت انتظار را به دقیقه و مقدار دو تولید میکند. سرویس زنده همان رخداد را با نام ستون مشابه ولی به ثانیه و مقدار صدوبیست میفرستد. مدل بدون خطای schema اجرا میشود، اما ورودی از معنای آموزش خارج شده است. قرارداد باید واحد خروجی تابع، قاعده تبدیل و نمونه آزمون دو دقیقه به صدوبیست ثانیه را مشخص کند. راهحل، تغییر حدسی خروجی مدل نیست؛ باید مسیر تولید ویژگی یکسان یا تبدیل صریح و نسخهدار شود.
مرز زمانی در قرارداد
برای ویژگی تجمیعی، پنجره و مرز آن را بنویسید: آیا رخداد دقیقاً در لحظه تصمیم داخل پنجره است؟ اصلاح دیرهنگام داده چگونه بازپخش میشود؟ اگر منبع امروز بازنویسی شده، بازسازی گذشته از وضعیت فعلی ممکن است شاهد نادرست بسازد. ثبت زمان دسترسپذیری و نسخه منبع به این مسئله کمک میکند؛ تشخیص نشت آینده، موضوع مرتبط ولی جداگانه است.
کنترل انتشار تبدیل تازه
نسخه جدید تابع ویژگی را پیش از مصرف مدل با چند نمونه مشترک و هر دو مسیر مقایسه کنید. اگر خروجی عمداً تغییر کرده، نیاز به نسخه مدل یا آموزش مجدد را بررسی کنید. برابری مقدار روی چند نمونه، پوشش همه حالات را ثابت نمیکند؛ مقدار خالی، واحد نامعتبر و مرز پنجره هم لازماند. قرارداد ویژگی یک تصمیم مهندسی است و هیچ افزایش دقتی را تضمین نمیکند.
کاربرگ و نمونه ثبت
| مورد | نمونه یا قاعده مشخص |
|---|---|
| نام ویژگی | wait_minutes |
| لحظه تصمیم | زمان واقعی درخواست پیشبینی |
| نسخه تبدیل | convert_v2 برای هر دو مسیر |
| واحد خروجی | دقیقه؛ نه ثانیه بیبرچسب |
| نمونه بازپخش | دو دقیقه در آفلاین و آنلاین برابر |
| کنترل اختلاف | اختلاف فراتر از تحمل تعریفشده متوقف شود |
دریافت CSV داده و کاربرگ این مثال. دادهها آموزشیاند؛ برای کاربرد واقعی باید منبع، دامنه و قاعده تصمیم خودتان را ثبت کنید.
مرجع روش
Google Developers: Rules of Machine Learning. فرایند اجرایی و اعداد مثال برای این راهنما طراحی شدهاند و نتیجه آزمون هیچ محصولی نیستند.
ادامه مطالعه مرتبط
برای تعریف معنای فیلد پیش از قرارداد اجرایی ویژگی، دیکشنری فیلد CRM؛ معنی ستونها را قبل از اتصال بنویسیم را ببینید.