ייצור מערכות למידת מכונה: אימון סטטי לעומת אימון דינמי

באופן כללי, אפשר לאמן מודל בשתי דרכים:

  • אימון סטטי (גם שנקרא אימון אופליין), כלומר, מאמנים מודל רק פעם אחת. לאחר מכן מפעילים את אותו מודל מאומן למשך זמן מה.
  • אימון דינמי (גם שנקרא אימון אונליין), כלומר, מאמנים מודל באופן קבוע או לפחות בתדירות גבוהה. בדרך כלל המודעות שלך מוצגות בתדירות הגבוהה ביותר שאימנו לאחרונה.
איור 2. בצק גולמי יוצר שלוש כיכרות לחם זהות.
איור 2. אימון סטטי. רכבת פעם אחת; משרת את אותו המודל שנוצר. כמה פעמים. (תמונות של Pexels ושל fancycrave1.)

 

איור 3.  מבצק גולמי יוצר כיכרות לחם שונות במקצת
            בכל פעם.
איור 3. אימון דינמי. אימון חוזר לעיתים קרובות; מציגים את הכי הרבה שנוצר לאחרונה. (תמונות של Pexels ושל Couleur).

 

טבלה 1. יתרונות וחסרונות עיקריים.

אימון סטטי אימון דינמי
יתרונות פשוט יותר. צריך לפתח ולבדוק את המודל רק פעם אחת. גמישות רבה יותר. המודל שלך יתאים לכל שינויים בקשר בין תכונות ותוויות.
חסרונות לפעמים מחמיר. אם הקשר בין תכונות לבין התוויות ישתנו עם הזמן, התחזיות של המודל תפגע. יותר עבודה. צריך ליצור, לבדוק ולפרסם מוצר חדש כל הזמן.

אם מערך הנתונים באמת לא משתנה עם הזמן, בחרו באימון סטטי זול יותר ליצור ולתחזק אותו מאשר אימון דינמי. אבל מערכי נתונים משתנים עם הזמן, גם אלו שיש להם תכונות שלדעתך קבועות כמו גובה פני הים. המסקנות: גם כשהתאורה סטטית עדיין חייבים לעקוב אחרי נתוני הקלט כדי לראות שינויים.

לדוגמה, נבחן מודל שאומן לחזות את ההסתברות שמשתמשים יקנה פרחים. בגלל לחץ זמן, המודל מאומן רק פעם אחת באמצעות מערך נתונים של התנהגות קניית פרחים במהלך יולי ואוגוסט. המודל פועל כראוי במשך כמה חודשים, אבל לאחר מכן יוצר תחזיות גרועות בסביבות חג האהבה, כי התנהגות המשתמשים במהלך אותה תקופת חגים פרחים משתנה באופן דרמטי.

כדי לקבל מידע מפורט יותר על אימון סטטי ודינמי, אפשר לעיין ניהול פרויקטים של למידת מכונה כמובן.

תרגילים: בדקו את ההבנה שלכם

אילו שתי מההצהרות הבאות נכונות לגבי לאימון סטטי (אופליין)?
המודל מתעדכן בכל פעם שמתקבלים נתונים חדשים.
למעשה, אם מתאמנים במצב אופליין, למודל אין דרך לשלב נתונים חדשים כשהם מגיעים. זה יכול להוביל למודל מיושנים, אם ההתפלגות שאתם מנסים ללמוד ממנה לאורך הזמן.
אפשר לאמת את המודל לפני החלתו בסביבת הייצור.
כן, אימון אופליין נותן הרבה הזדמנויות לאמת את המודל לפני הכנסת המודל לסביבת הייצור.
אימון אופליין מצריך פחות מעקב אחרי משימות אימון מאשר אימון אונליין.
באופן כללי, דרישות המעקב בזמן האימון נמוכות יותר לאימון אופליין, שמבודד אתכם מתכנים רבים שיקולים. אבל ככל שתאמנו את המודל בתדירות גבוהה יותר, ככל שתשקיעו יותר מעקב במעקב. אפשר שרוצים גם לבצע אימות באופן קבוע כדי להבטיח ששינויים בקוד (ויחסי התלות שלו) לא משפיעים לרעה על איכות המודל.
צריך לבצע מעט מאוד מעקב אחרי נתוני הקלט בזמן הסקת המסקנות.
בניגוד להיגיון, תצטרכו לעקוב אחרי נתוני הקלט בזמן מילוי הבקשה בזמן האימון. אם התפלגות הקלט משתנה, חיזויים עלולים להיות לא מהימנים. דמיינו, לדוגמה, מודל מאומן רק על נתוני ביגוד הקיץ, שלפתאום משמשים לחזות את ההתנהגות של קניית בגדים בחורף.
איזו אחת מההצהרות הבאות נכונה לגבי לאימון דינמי (אונליין)?
המודל מתעדכן בכל פעם שמתקבלים נתונים חדשים.
זה היתרון העיקרי של הדרכה אונליין. תוכלו להימנע אם מאפשרים למודל לאמן את המודל על נתונים חדשים, הוא נכנס.
צריך לבצע מעט מאוד מעקב אחרי משימות האימון.
למעשה, צריך לעקוב בקביעות אחרי משימות האימון כדי לוודא שהם תקינים ופועלים כמצופה. דרושים לך גם תשתית תומכת, כמו היכולת להחזיר מודל למצב רוח לקדמותו לקובץ snapshot קודם למקרה שמשהו משתבש באימון, כמו איתור באגים או פגיעה בנתוני קלט.
צריך לבצע מעט מאוד מעקב אחרי נתוני הקלט בזמן הסקת המסקנות.
בדיוק כמו מודל סטטי אופליין, חשוב גם לעקוב אחרי הקלט למודלים שמתעדכנים באופן דינמי. היתרה שלך סביר להניח שלא בסיכון להשפעות עונתיות גדולות, אבל פתאומיות, שינויים גדולים בערכי קלט (כמו מקור נתונים ב-upstream למטה) עדיין יכולות לגרום לחיזויים לא אמינות.