מודלים של למידת מכונה הם כלים רבי עוצמה שיכולים לעזור לעסקים לקבל החלטות מושכלות יותר ולמטב את הפעילות שלהם. עם זאת, מכיוון שהדגמים הללו נפרסים ומופעלים בייצור, הם נתונים לתופעה המכונה סחיפה של מודלים.
סחף מודל מתרחש כאשר הביצועים של מודל למידת מכונה מתדרדרים עם הזמן עקב שינויים בנתונים הבסיסיים, מה שמוביל לתחזיות לא מדויקות ולהשלכות משמעותיות על העסק. כדי להתמודד עם אתגר זה, ארגונים פונים ל-MLOps, סט של שיטות וכלים המסייעים בניהול מחזור החיים של למידת מכונה בייצור.
In this article, we’ll explore model drift, the different types of it, how to detect it, and most importantly, how to handle it in production using MLOps. By understanding and managing model drift, businesses can ensure that their machine learning models remain accurate and effective over time, delivering the insights and outcomes that they need to thrive.
תמונה על ידי ניקולס פיירול on Unsplash
סחיפה של מודלים, הידועה גם כ- model decay, היא תופעה בלמידת מכונה שבה ביצועי המודל יורדים עם הזמן. המשמעות היא שהמודל יתחיל בהדרגה לתת תחזיות גרועות שיפחיתו את הדיוק לאורך זמן.
ישנן סיבות שונות לשינוי מודל כמו שינויים באיסוף נתונים או הקשרים הבסיסיים בין משתנים. לכן המודל לא יצליח לתפוס את השינויים הללו והביצועים יפחתו ככל שהשינויים יגדלו.
זיהוי והתייחסות לסחף של מודל היא אחת המשימות החיוניות ש-MLOps פותרות. טכניקות כגון ניטור מודלים משמשות לזיהוי נוכחות של סחף מודל והכשרת מודל מחדש היא אחת הטכניקות העיקריות המשמשות להתגבר על סחף מודל.
הבנת סוג הסחף של המודל חיונית כדי לעדכן את המודל על סמך השינויים שהתרחשו בנתונים. ישנם שלושה סוגים עיקריים של סחיפה:
דריפט קונספט
סחיפה של מושג מתרחשת כאשר היחס בין המטרה לקלט משתנה. לכן אלגוריתם למידת מכונה לא יספק חיזוי מדויק. ישנם ארבעה סוגים עיקריים של סחף מושגים:
- סחף פתאומי: סחף מושג פתאומי מתרחש אם הקשר בין המשתנים הבלתי תלויים והתלויים מתרחש באופן פתאומי. דוגמה מפורסמת מאוד היא ההתרחשות הפתאומית של מגיפת קוביד 19. התרחשות המגיפה שינתה לפתע את הקשר בין משתנה היעד למאפיינים בתחומים שונים כך שמודל חיזוי מאומן על נתונים שהוכשרו מראש לא יוכל לחזות את זמן המגיפה במדויק.
- סחף הדרגתי: In a gradual concept drift, the relation between the input and the target may change slowly and subtly. This can result in a slow decline in the performance of a machine learning model, as the model becomes less accurate over time. An example of the gradual concept drift is fraudulent behavior. Fraudsters tend to understand how the fraud detection system works and change their behavior over time to escape the system. Therefore a machine learning model trained on historical fraudulent transaction data will not accurately predict the gradual changes in the fraudster’s behavior. For example, consider a machine learning model used for predicting stock prices in which the model is trained on data from the past five years and its performance is evaluated on new data from the current year. However, as time goes by, the market dynamics may change, and the relationship between the variables that influence stock prices may evolve gradually. This can result in incremental drift, where the model’s accuracy gradually deteriorates over time as it becomes less effective at capturing the changing relationship between the variables.
- סחף מצטבר: סחיפה מצטברת מתרחשת כאשר הקשר בין משתנה היעד לקלט משתנה בהדרגה לאורך זמן, דבר המתרחש בדרך כלל עקב שינויים בתהליך הפקת הנתונים.
- סחף חוזר: זה ידוע גם בשם עונתיות. דוגמה טיפוסית היא הגידול במכירות במהלך חג המולד או בלאק פריידי. מודל למידת מכונה שלא יביא בחשבון את השינויים העונתיים הללו יספק תחזיות לא מדויקות לשינויים העונתיים הללו.
ארבעת הסוגים הללו של סחף מושגים מוצגים באיור שלהלן.
סוגי היסחפות מושגים | תמונה מ למידה תחת קונספט דריפט: סקירה.
דריפט נתונים
סחף נתונים מתרחש כאשר המאפיינים הסטטיסטיים של נתוני הקלט משתנים. דוגמה לכך היא השינוי בהתפלגות הגילאים של המשתמש באפליקציה מסוימת לאורך זמן, ולכן מודל שהוכשר על התפלגות גיל ספציפית המשמש לאסטרטגיות שיווקיות יצטרך להשתנות שכן השינוי בגיל ישפיע על אסטרטגיות שיווק.
שינויים בנתונים במעלה הזרם
הסוג השלישי של הסחף הוא שינויים בנתונים במעלה הזרם. הכוונה היא לשינויי הנתונים התפעוליים בצנרת הנתונים. דוגמה טיפוסית לכך היא כאשר תכונה ספציפית כבר לא נוצרת וכתוצאה מכך ערך חסר. דוגמה נוספת היא שינוי ביחידת המדידה למשל אם חיישן מסוים מודד כמות בצלזיוס ואז משתנה לפרנהייט.
זיהוי סחף של מודל אינו פשוט ואין שיטה אוניברסלית לזהות אותו. עם זאת, נדון בכמה מהשיטות הפופולריות לזיהויו:
- מבחן קולמוגורוב-סמירנוב (מבחן ק"ש): מבחן KS הוא מבחן לא פרמטרי לזיהוי השינוי בהתפלגות הנתונים. הוא משמש להשוואת נתוני האימון והנתונים שלאחר האימון ולמצוא את שינויי ההתפלגות ביניהם. השערת האפס עבור מערך מבחן זה קובעת שההתפלגות משני מערכי הנתונים היא זהה, כך שאם השערת האפס תידחה, לכן תהיה שינוי במודל.
- מדד יציבות האוכלוסין (PSI): PSI הוא מדד סטטיסטי המשמש למדידת הדמיון בהתפלגות משתנים קטגוריים בשני מערכי נתונים שונים. לכן ניתן להשתמש בו כדי למדוד את השינויים במאפיינים של משתנים קטגוריים במערך הנתונים של האימון ושלאחר האימון.
- שיטת עמוד-הינקלי: ה-Page-Hinkely היא גם שיטה סטטיסטית המשמשת לצפייה בשינויים בממוצע הנתונים לאורך זמן. הוא משמש בדרך כלל כדי לזהות את השינויים הקטנים בממוצע שאינם ניכרים כאשר מסתכלים על הנתונים.
- ניטור ביצועים: אחת השיטות החשובות ביותר לאיתור שינוי המושג היא ניטור הביצועים של מודל למידת המכונה בייצור והתבוננות בשינוי שלו ואם הוא חוצה סף מסוים נוכל להפעיל פעולה מסוימת לתיקון השינוי המושג הזה.
טיפול בהיסחפות בייצור | תמונה מאת ijeab על Freepik.
Finally, let’s see how to handle the detected model drift in production. There is a wide spectrum of strategies used to handle the model drift depending on the type of drift, the data we are working on, and the project in production. Here is a summary of the popular methods that are used to handle model drift in production:
- למידה מקוונת: מכיוון שרוב האפליקציות בעולם האמיתי פועלות על זרימת נתונים, למידה מקוונת היא אחת השיטות הנפוצות המשמשות לטיפול בסחף. בלמידה מקוונת המודל מתעדכן תוך כדי תנועה כאשר המודל עוסק בדגימה אחת בכל פעם.
- רכבת מחדש דגם מעת לעת: ברגע שביצועי המודל יורדים מתחת לסף מסוים או שנצפה שינוי בנתונים, ניתן להגדיר טריגר לאימון מחדש של המודל עם נתונים עדכניים.
- אימון מחדש מדי פעם על תת-דגימה מייצגת: דרך יעילה יותר להתמודד עם סחף מושגים היא על ידי בחירת תת-מדגם מייצג של האוכלוסייה וסיונם באמצעות מומחים אנושיים והכשרת המודל עליהם מחדש.
- הורדת תכונה: זוהי שיטה פשוטה אך יעילה שניתן להשתמש בה כדי לטפל בסחף של מושגים. באמצעות שיטה זו נאמן מספר דגמים שכל אחד מהם משתמש בתכונה אחת ולכל דגם, תגובת ה-AUC-ROC מנוטרת לאחר מכן, ואם הערך של ה-AUC-ROC חורג מסף מסוים באמצעות תכונה מסוימת, נוכל להוריד אותו בתור זה עשוי להשתתף בסחיפה.
הפניות
במאמר זה דנו בסחיפה של מודל, שהיא התופעה בלמידת מכונה שבה הביצועים של מודל מתדרדרים עם הזמן עקב שינויים בנתונים הבסיסיים. עסקים פונים ל-MLOps, סט של שיטות וכלים המנהלים את מחזור החיים של מודלים של למידת מכונה בייצור, כדי להתגבר על האתגרים הללו.
תיארנו את סוגי הסחיפה השונים שיכולים להתרחש, כולל סחיפה של מושגים, סחיפה של נתונים ושינויים בנתונים במעלה הזרם, וכיצד לזהות סחיפה של מודל באמצעות שיטות כמו מבחן קולמוגורוב-סמירנוב, מדד יציבות האוכלוסין ושיטת Page-Hinkley. לבסוף, דנו בטכניקות הפופולריות לטיפול בסחף של מודלים בייצור כולל למידה מקוונת, אימון חוזר של מודל תקופתי, אימון מחדש מעת לעת על תת-דגימה מייצגת והורדת תכונות.
יוסף רפעת הוא חוקר ראיית מחשב ומדען נתונים. המחקר שלו מתמקד בפיתוח אלגוריתמים של ראייה ממוחשבת בזמן אמת עבור יישומי בריאות. הוא גם עבד כמדען נתונים במשך יותר מ-3 שנים בתחום השיווק, הפיננסים והבריאות.
- הפצת תוכן ויחסי ציבור מופעל על ידי SEO. קבל הגברה היום.
- PlatoAiStream. Web3 Data Intelligence. הידע מוגבר. גישה כאן.
- הטבעת העתיד עם אדריאן אשלי. גישה כאן.
- קנה ומכירה של מניות בחברות PRE-IPO עם PREIPO®. גישה כאן.
- מקור: https://www.kdnuggets.com/2023/05/managing-model-drift-production-mlops.html?utm_source=rss&utm_medium=rss&utm_campaign=managing-model-drift-in-production-with-mlops
- :יש ל
- :הוא
- :לֹא
- :איפה
- $ למעלה
- a
- יכול
- חֶשְׁבּוֹן
- דיוק
- מדויק
- במדויק
- פעולה
- כתובת
- פְּנִיָה
- להשפיע על
- גיל
- אַלגוֹרִיתְם
- אלגוריתמים
- גם
- an
- ו
- אחר
- לכאורה
- בקשה
- יישומים
- ARE
- מאמר
- AS
- At
- רע
- מבוסס
- BE
- הופך להיות
- להלן
- בֵּין
- מעבר
- שחור
- יום שישי השחור
- עסקים
- עסקים
- אבל
- by
- CAN
- לכידה
- היאבקות
- צֶלסִיוּס
- מסוים
- לאתגר
- האתגרים
- שינוי
- השתנה
- שינויים
- משתנה
- מאפיינים
- חַג הַמוֹלָד
- אוסף
- Common
- לְהַשְׁווֹת
- המחשב
- ראייה ממוחשבת
- מושג
- השלכות
- לשקול
- לתקן
- יכול
- קוביד
- נוֹכְחִי
- נתונים
- מדען נתונים
- מערכי נתונים
- עסקה
- החלטות
- ירידה
- להקטין
- אספקה
- תלוי
- תלוי
- פרס
- זוהה
- איתור
- מתפתח
- אחר
- לדון
- נָדוֹן
- הפצה
- תחום
- ירידה
- נשמט
- ראוי
- בְּמַהֲלָך
- דינמיקה
- כל אחד
- אפקטיבי
- סוף
- לְהַבטִיחַ
- לברוח
- חיוני
- Ether (ETH)
- העריך
- להתפתח
- דוגמה
- מומחים
- לחקור
- FAIL
- פולס
- מפורסם
- מאפיין
- תכונות
- שדות
- תרשים
- בסופו של דבר
- לממן
- מתמקד
- בעד
- ארבע
- הונאה
- גילוי הונאה
- רמאים
- רמאי
- יום שישי
- החל מ-
- נוצר
- יצירת
- לתת
- Goes
- הדרגתית
- בהדרגה
- לטפל
- יש
- he
- בריאות
- לעזור
- כאן
- שֶׁלוֹ
- היסטורי
- איך
- איך
- אולם
- HTTPS
- בן אנוש
- if
- תמונה
- חשוב
- in
- לֹא מְדוּיָק
- כולל
- להגדיל
- עצמאי
- מדד
- להשפיע
- הודעה
- קלט
- תובנות
- אל תוך
- IT
- שֶׁלָה
- jpg
- KDnuggets
- ידוע
- תיוג
- מוביל
- למידה
- פחות
- מעגל החיים
- לינקדין
- ll
- עוד
- הסתכלות
- מכונה
- למידת מכונה
- ראשי
- לעשות
- לנהל
- ניהול
- שוק
- שיווק
- אסטרטגיות שיווק
- מאי..
- אומר
- אומר
- למדוד
- מדידה
- שיטה
- שיטות
- יכול
- חסר
- MLOps
- מודל
- מודלים
- פיקוח
- ניטור
- יותר
- רוב
- מספר
- צורך
- חדש
- ניקולא
- לא
- להתבונן
- התרחשה
- of
- on
- פעם
- ONE
- באינטרנט
- למידה מקוונת
- מבצעי
- תפעול
- מטב
- or
- ארגונים
- תוצאות
- המתואר
- יותר
- להתגבר על
- מגיפה
- להשתתף
- מסוים
- עבר
- ביצועים
- תקופתי
- תופעה
- צינור
- אפלטון
- מודיעין אפלטון
- אפלטון נתונים
- פופולרי
- אוכלוסייה
- פוטנציאל
- חזק
- פרקטיקות
- לחזות
- ניבוי
- נבואה
- התחזיות
- נוכחות
- מחירים
- תהליך
- הפקה
- פּרוֹיֶקט
- נכסים
- לספק
- מתן
- כמות
- עולם אמיתי
- זמן אמת
- סיבות
- לאחרונה
- מתייחס
- יחס
- קשר
- מערכות יחסים
- להשאר
- נציג
- מחקר
- חוקר
- תגובה
- תוצאה
- וכתוצאה מכך
- הסבה מקצועית
- הפעלה
- s
- מכירות
- אותו
- מַדְעָן
- עונתי
- לִרְאוֹת
- בחירה
- סט
- משמרת
- הסטה
- הראה
- משמעותי
- פָּשׁוּט
- since
- להאט
- לאט
- קטן
- So
- לפתור
- כמה
- ספציפי
- ספֵּקטרוּם
- יציבות
- התחלה
- הברית
- סטטיסטי
- מניות
- פשוט
- אסטרטגיות
- נהירה
- נושא
- כזה
- פתאומי
- סיכום
- מערכת
- יעד
- משימות
- טכניקות
- מבחן
- מֵאֲשֶׁר
- זֶה
- השמיים
- שֶׁלָהֶם
- אותם
- אז
- שם.
- לכן
- אלה
- הֵם
- שְׁלִישִׁי
- זֶה
- שְׁלוֹשָׁה
- סף
- לשגשג
- זמן
- ל
- כלים
- רכבת
- מְאוּמָן
- הדרכה
- עסקה
- להפעיל
- פנייה
- שתיים
- סוג
- סוגים
- טיפוסי
- תחת
- בְּסִיסִי
- להבין
- הבנה
- יחידה
- אוניברסלי
- עדכון
- מְעוּדכָּן
- נתונים במעלה הזרם
- מְשׁוּמָשׁ
- משתמש
- באמצעות
- בְּדֶרֶך כְּלַל
- ערך
- מאוד
- חזון
- דֶרֶך..
- we
- מתי
- אשר
- רָחָב
- יצטרך
- עם
- עבד
- עובד
- עובד
- שנה
- שנים
- זפירנט