בלמידת מכונה בסביבת ייצור המטרה אינה ליצור מודל יחיד ולפרוס אותו. המטרה היא לפתח צינורות עיבוד נתונים אוטומטיים לפיתוח, לבדיקה ולפריסה של מודלים לאורך זמן. למה? ככל שהעולם משתנה, המגמות בנתונים משתנות, וכתוצאה מכך המודלים בסביבת הייצור לא מעודכנים. המודלים בדרך כלל צריכים אימון מחדש עם נתונים עדכניים כדי להמשיך להציג חיזויים באיכות גבוהה בטווח הארוך. במילים אחרות, עדיף דרך להחליף מודלים לא פעילים במודלים חדשים.
ללא צינורות עיבוד נתונים, החלפת מודל לא פעיל היא תהליך שעלול להוביל לשגיאות. לדוגמה, כשמודל מתחיל להציג חיזויים שגויים, מישהו צריך לאסוף ולעבד נתונים חדשים באופן ידני, לאמן מודל חדש, לאמת את האיכות שלו ולבסוף לפרוס אותו. צינורות עיבוד נתונים של למידת מכונה הופכים רבים מהתהליכים החוזרים האלה לאוטומטיים, וכך הניהול והתחזוקה של המודלים יעילים ומהימנים יותר.
פיתוח של צינורות עיבוד נתונים
צינורות עיבוד נתונים של למידת מכונה מארגנים את השלבים לבניית מודלים ולפריסה שלהם במשימות מוגדרות היטב. לצינורות נתונים יש אחת משתי פונקציות: יצירת חיזויים או עדכון המודל.
הצגת חיזויים
צינור עיבוד הנתונים להצגת מודעות מפיק תחזיות. הוא חושף את המודל שלכם לעולם האמיתי, והופך אותו לנגיש למשתמשים. לדוגמה, כשמשתמש רוצה חיזוי – מה יהיה מזג האוויר מחר או כמה דקות יצטרך כדי לנסוע לנמל התעופה, או רשימה של סרטונים מומלצים – צינור עיבוד הנתונים להגשה מקבל ומעבד את נתוני המשתמש, יוצר חיזוי ואז מספק אותם למשתמש.
עדכון המודל
מודלים נוטים להיות לא עדכניים כמעט מיד אחרי שהם עוברים לייצור. בעיקרון, הם מבצעים חיזויים על סמך מידע ישן. מערכי הנתונים שלהם תיעדו את מצב העולם לפני יום, או במקרים מסוימים, לפני שעה. העולם השתנה באופן בלתי נמנע: משתמש צפה ביותר סרטונים וזקוק לרשימה חדשה של המלצות; הגשם גורם להאטת התנועה והמשתמשים צריכים אומדנים מעודכנים לגבי זמני ההגעה שלהם; מגמה פופולרית גורמת לקמעונאים לבקש תחזיות מלאי מעודכנות של פריטים מסוימים.
בדרך כלל, צוותים מאמנים מודלים חדשים הרבה לפני שמודל הייצור מפסיק לפעול. במקרים מסוימים, צוותים מתאמנים ופורסים מודלים חדשים מדי יום במחזור אימונים ופריסה מתמשך. במצב אידיאלי, אימון מודל חדש צריך להתרחש הרבה לפני שהמודל ייצור יפסיק לפעול.
צינורות עיבוד הנתונים הבאים פועלים יחד כדי לאמן מודל חדש:
- צינור נתונים. צינור הנתונים מעבד נתוני משתמשים כדי ליצור מערכי נתונים להדרכה ולבדיקה.
- צינור עיבוד נתונים לאימון. צינור עיבוד הנתונים לאימון מאמנים מודלים באמצעות מערכי הנתונים החדשים מצינור הנתונים.
- צינור עיבוד נתונים לאימות. צינור עיבוד הנתונים לאימות מאמת את המודל שעבר אימון על ידי השוואה בינו לבין מודל הייצור באמצעות מערכי נתונים לבדיקה שנוצרו על ידי צינור הנתונים.
איור 4 ממחיש את הקלט והפלט של כל צינור עיבוד נתונים של למידת מכונה.
צינורות עיבוד נתונים של למידת מכונה
איור 4. בצינורות עיבוד נתונים של למידת מכונה מתבצעת אוטומציה של תהליכים רבים לפיתוח ולתחזוקה של מודלים. כל צינור עיבוד נתונים מציג את נתוני הקלט והפלט שלו.
ברמה כללית מאוד, כך צינורות עיבוד הנתונים שומר על מודל רענן בסביבת הייצור:
קודם כל, המודל עובר לייצור, וצינור עיבוד הנתונים של הצגת המודעות מתחיל לספק תחזיות.
צינור הנתונים מתחיל מיד לאסוף נתונים כדי ליצור מערכי נתונים חדשים להדרכה ולבדיקה.
בהתאם ללוח זמנים או לטריגר, צינורות עיבוד הנתונים לאימון ולאימות מתאמנים ומאמתים מודל חדש באמצעות מערכי הנתונים שנוצרו על ידי צינור הנתונים.
כשצינור עיבוד הנתונים לאימות מאשר שהמודל החדש לא גרוע יותר ממודל הייצור, המודל החדש נפרס.
התהליך הזה חוזר על עצמו.
מודל חוסר פעילות ותדירות אימון
כמעט כל הדגמים הופכים למיושנים. דגמים מסוימים לא עובדים מהר יותר מדגמים אחרים. לדוגמה, דוגמנים שממליצים על בגדים בדרך כלל לא מתיישבים במהירות, כי ההעדפות של הצרכנים ידועות לשמצה שהן משתנות לעיתים קרובות. מצד שני, מודלים של זיהוי פרחים לעולם לא ימעשו. המאפיינים המזהים של הפרח נשארים יציבים.
רוב הדגמים מתחילים לנטוש מיד אחרי שהם מועברים לייצור. כדאי לקבוע תדירות אימון שמשקפת את אופי הנתונים. אם הנתונים דינמיים, כדאי לאמן לעיתים קרובות. אם הוא פחות דינמי, ייתכן שלא תצטרכו לאמן אותו לעיתים קרובות.
אימון מודלים לפני שהם מיושנים. אימון מוקדם מספק מאגר נתונים זמני כדי לפתור בעיות פוטנציאליות, לדוגמה, אם הנתונים או צינור עיבוד הנתונים לאימון נכשלים, או אם איכות המודל נמוכה.
השיטה המומלצת היא לאמן ולפרוס מודלים חדשים על בסיס יומי. בדיוק כמו פרויקטי תוכנה רגילים עם תהליך פיתוח והשקה יומי, בדרך כלל צינורות עיבוד נתונים של למידת מכונה (ML) לאימון ולאימות פועלים בצורה הטובה ביותר כשמפעילים אותם מדי יום.
צינור עיבוד נתונים להגשה
צינור עיבוד הנתונים יוצר ומפיק חיזויים באחת משתי דרכים: אונליין או אופליין.
חיזויים אונליין. חיזויים אונליין מתרחשים בזמן אמת, בדרך כלל על ידי שליחת בקשה לשרת אונליין והחזרת חיזוי. לדוגמה, כשמשתמש רוצה לקבל חיזוי, הנתונים של המשתמש נשלחים למודל והמודל מחזיר את החיזוי. לדוגמה, Gmail מסווג הודעות נכנסות בזמן אמת באמצעות חיזויים אונליין.
חיזויים אופליין. חיזויים אופליין מחושבים מראש ונשמרים במטמון. כדי להציג חיזוי, האפליקציה מוצאת את החיזוי במטמון במסד הנתונים ומחזירה אותו. לדוגמה, שירות המבוסס על מינויים עשוי לחזות את שיעור הנטישה של המנויים שלו. המודל יוצר תחזית לגבי הסבירות לנטישה של כל מנוי ושומר אותה במטמון. כשהאפליקציה זקוקה לחיזוי – למשל, כדי לתמרץ משתמשים שעשויים להיות עומדים לנטוש – היא רק מחפשת את החיזוי המחושב מראש.
איור 5 מראה איך חיזויים אונליין ואופליין נוצרים ומוצגים.
חיזויים אונליין ואופליין
איור 5. חיזויים אונליין מספקים חיזויים בזמן אמת. החיזויים במצב אופליין נשמרים במטמון ובודקים בזמן ההצגה.
עיבוד החיזוי לאחר עיבוד
בדרך כלל, החיזויים עוברים עיבוד לאחר עיבוד לפני שהם נמסרים. לדוגמה, ייתכן שהחיזויים יעברו עיבוד לאחר העיבוד של תוכן רעיל או מוטה. תוצאות הסיווג יכולות להשתמש בtwiddling כדי לשנות את סדר התוצאות במקום להציג את הפלט הגולמי של המודל. לדוגמה, כדי לשפר את האיכות של התוכן המוסמך, להציג מגוון תוצאות, להוריד את הדירוג של תוצאות מסוימות (כמו קליקבייט) או להסיר תוצאות מסיבות משפטיות.
איור 6 מציג את צינור עיבוד הנתונים להצגת משימות ואת המשימות הטיפוסיות הכרוכות ביצירת חיזויים.
חיזויים לאחר העיבוד
איור 6. צינור עיבוד נתונים שממחיש את המשימות הטיפוסיות שנדרשות כדי לספק תחזיות.
שימו לב שהשלב הנדסת תכונות מובנה בדרך כלל בתוך המודל ולא בתהליך נפרד נפרד. הקוד של עיבוד הנתונים בצינור עיבוד הנתונים כמעט זהה לקוד עיבוד הנתונים שבו משתמש צינור עיבוד הנתונים כדי ליצור מערכי נתונים לאימון ולבדיקה.
אחסון של נכסים ומטא-נתונים
צינור עיבוד הנתונים למילוי בקשות צריך לשלב מאגר כדי לרשום את התחזיות של המודלים, ואם אפשר, גם את האמת היסודית.
תחזיות של מודל רישום ביומן מאפשרות לכם לעקוב אחר איכות המודל. צבירת החיזויים מאפשרת לעקוב אחר האיכות הכללית של המודל ולבדוק אם הוא מתחיל לפגוע באיכות. באופן כללי, הממוצעים של התחזיות של מודל הייצור צריכים להיות זהים לאלה של התוויות ממערך הנתונים של האימון. למידע נוסף, ראו הטיה של חיזוי.
לכידת אמת בשטח
במקרים מסוימים, האמת הבסיסית תהיה זמינה רק מאוחר יותר. לדוגמה, אם אפליקציית מזג אוויר חוזה את מזג האוויר 6 שבועות קדימה, האמת הבסיסית (מהו מזג האוויר בפועל) לא תהיה זמינה למשך שישה שבועות.
כשהדבר אפשרי, צריך לבקש מהמשתמשים לדווח על מה שקרה על ידי הוספת מנגנוני משוב לאפליקציה. Gmail מתעד באופן מרומז משוב מהמשתמשים כשהמשתמשים מעבירים אימייל מתיבת הדואר הנכנס לתיקיית הספאם. עם זאת, הפעולה הזו מתאפשרת רק כאשר משתמשים מסווגים את האימייל שלהם בצורה נכונה. כשמשתמשים משאירים ספאם בתיבת הדואר הנכנס (כי הם יודעים שזה ספאם ואף פעם לא פותחים אותו), נתוני האימון הופכים ללא מדויקים. הודעת האימייל הספציפית הזו תסומן כ"לא ספאם" כשהיא צריכה להיות "ספאם". במילים אחרות, תמיד כדאי למצוא דרכים לתעד ולתעד את האמת הבסיסית, אבל חשוב לשים לב לחסרונות שעשויים להיות קיימים במנגנוני המשוב.
באיור 7 מוצגות חיזויים שנשלחים למשתמש ונרשמים למאגר.
חיזויים ביומן
איור 7. מתעדים ביומן חיזויים כדי לעקוב אחר איכות המודל.
צינורות נתונים
צינורות נתונים יוצרים מערכי נתונים לאימון ובדיקה מנתוני אפליקציות. בצינורות עיבוד הנתונים להדרכה ולאימות משתמשים במערכי הנתונים כדי לאמן ולאמת מודלים חדשים.
צינור הנתונים יוצר מערכי נתונים לאימון ולבדיקה עם אותן התכונות ואותן התוויות ששימשו לאימון המודל, אבל עם מידע חדש יותר. לדוגמה, אפליקציית מפות תיצור מערכי נתונים להדרכה ולבדיקה מזמני הנסיעה האחרונים של מיליוני משתמשים בין נקודות, יחד עם נתונים רלוונטיים אחרים כמו מזג האוויר.
אפליקציה להמלצות על סרטונים תיצור מערכי נתונים לתרגול ולבדיקה, שכללו את הסרטונים שהמשתמש לחץ עליהם ברשימת ההמלצות (יחד עם הסרטונים שלא לחצו עליהם), וגם נתונים רלוונטיים אחרים, כמו היסטוריית הצפייה.
איור 8 ממחיש את צינור הנתונים באמצעות נתוני אפליקציות כדי ליצור מערכי נתונים להדרכה ולבדיקה.
צינור נתונים
איור 8. צינור נתונים מעבד נתוני אפליקציות כדי ליצור מערכי נתונים לצינורות עיבוד הנתונים של האימון והאימות.
איסוף ועיבוד של נתונים
המשימות לאיסוף ולעיבוד של נתונים בצינורות נתונים ככל הנראה יהיו שונות משלב הניסוי (שבו קבעתם שהפתרון שלכם בר-ביצוע):
איסוף נתונים. במהלך ניסויים, בדרך כלל צריך לגשת לנתונים השמורים כדי לאסוף נתונים. עבור צינורות נתונים, ייתכן שיהיה צורך לגלות ולקבל אישור לגשת לנתוני יומני סטרימינג.
אם אתם צריכים נתונים שתויגו בתווית אנושית (כמו תמונות רפואיות), תצטרכו גם תהליך לאיסוף ולעדכון של הנתונים האלה. אם אתם צריכים נתונים שתויגו בתווית אנושית, עיינו בדף CrowdCompute.
עיבוד נתונים. במהלך הניסויים, התכונות המתאימות הגיעו מנתונים של מערכי הנתונים של הניסוי, מצירוף שלהם ומהדגימה שלהם. בצינורות הנתונים, ייתכן שיהיה צורך בתהליכים שונים לחלוטין כדי ליצור את אותן התכונות. עם זאת, הקפידו לשכפל את טרנספורמציות הנתונים משלב הניסוי על ידי החלת אותן פעולות מתמטיות על התכונות והתוויות.
אחסון של נכסים ומטא-נתונים
צריך תהליך לאחסון, לניהול גרסאות ולניהול של מערכי הנתונים של האימון ושל הבדיקה. למאגרים בניהול גרסאות:
יכולת שחזור. ליצור מחדש סביבות אימון של מודלים ולתקשר אותן, ולהשוות את איכות החיזוי בין מודלים שונים.
תאימות. ציות לדרישות הרגולטוריות בנושאי ביקורת ושקיפות.
שמירה. הגדרה של ערכי שמירת נתונים למשך משך הזמן שבו הנתונים יאוחסנו.
ניהול הרשאות גישה. לקבוע מי יכול לגשת לנתונים שלכם באמצעות הרשאות מפורטות.
תקינות הנתונים. חשוב לעקוב אחרי השינויים במערכי נתונים ולהבין אותם לאורך זמן, וכך לאבחן בקלות בעיות בנתונים או במודל שלכם.
יכולת גילוי. תוכלו לעזור לאחרים למצוא את מערכי הנתונים והתכונות שלכם בקלות. צוותים אחרים יוכלו להחליט אם הם יהיו מועילים למטרות שלהם.
תיעוד הנתונים
תיעוד טוב עוזר לאחרים להבין פרטים חשובים על הנתונים, כמו הסוג, המקור, הגודל ומטא-נתונים חיוניים אחרים. ברוב המקרים מספיק לתעד את הנתונים במסמך עיצוב או ב-g3doc. אם אתם מתכננים לשתף או לפרסם את הנתונים, עליכם להשתמש בכרטיסי נתונים כדי לבנות אותם. כרטיסי נתונים מאפשרים לאחרים לגלות ולהבין את מערכי הנתונים שלכם בקלות.
צינורות עיבוד נתונים להדרכה ולאימות
צינורות עיבוד הנתונים להדרכה ולאימות מייצרים מודלים חדשים שיחליפו את המודלים של הייצור לפני שיהפכו למיושנים. אימון רציף של מודלים חדשים ותיקוףם מבטיח שהמודל הטוב ביותר יהיה תמיד בייצור.
צינור עיבוד הנתונים לאימון יוצר מודל חדש ממערכי הנתונים לאימון, וצינור עיבוד הנתונים לאימות משווה בין איכות המודל החדש לאיכות של המודל שנוצר באמצעות מערכי נתונים לבדיקה.
איור 9 ממחיש את צינור האימון באמצעות מערך נתונים לאימון מודל חדש.
צינור עיבוד נתונים
איור 9. צינור עיבוד הנתונים אימון מודלים חדשים באמצעות מערכי הנתונים האחרונים לאימונים.
אחרי אימון המודל, צינור עיבוד הנתונים לאימות משתמש במערכי נתונים לבדיקה כדי להשוות בין האיכות של מודל הייצור לבין האיכות של המודל שעבר אימון.
באופן כללי, אם המודל שעבר אימון לא פחות גרוע באופן משמעותי מהמודל בסביבת הייצור, המודל שעבר אימון עובר לייצור. אם המודל שעבר אימון הוא גרוע יותר, תשתית המעקב צריכה ליצור התראה. מודלים שעברו אימון עם איכות חיזוי נמוכה יותר, יכולים להצביע על בעיות פוטנציאליות בנתונים או בצינורות האימות. המטרה של הגישה הזו היא לוודא שהמודל הטוב ביותר, שעובר אימון על סמך הנתונים העדכניים ביותר, תמיד יהיה בסביבת ייצור.
אחסון של נכסים ומטא-נתונים
מודלים והמטא-נתונים שלהם צריכים להיות מאוחסנים במאגרים של גרסאות, כדי לארגן את פריסות המודלים ולעקוב אחריהן. למאגרים של מודלים יש כמה יתרונות:
מעקב והערכה. מעקב אחרי המודלים בסביבת הייצור והבנת מדדי האיכות של ההערכות והחיזוי שלהם.
תהליך הפצת המודל. קל לבדוק, לאשר, לפרסם או להחזיר מודלים לגרסה קודמת.
שחזור וניפוי באגים. מעקב אחרי מערכי הנתונים ויחסי התלות של המודל מאפשר לשחזר את התוצאות של המודל ולנפות באגים ביעילות בפריסות שונות.
יכולת גילוי. הקל על אחרים למצוא את המודל שלך. לאחר מכן, צוותים אחרים יוכלו להחליט אם אפשר להשתמש במודל שלכם (או בחלקים ממנו) למטרות שלהם.
איור 10 ממחיש מודל מאומת שמאוחסן במאגר מודלים.
אחסון דגם
איור 10. המודלים המאומתים מאוחסנים במאגר מודלים כדי לאפשר מעקב וגילוי.
אתם יכולים להשתמש בכרטיסי מודל כדי לתעד ולשתף מידע חשוב לגבי המודל, כמו המטרה שלו, הארכיטקטורה, דרישות החומרה, מדדי ההערכה וכו'.
אתגרים בבניית צינורות עיבוד נתונים
במהלך בניית צינורות עיבוד נתונים, ייתכן שתיתקלו באתגרים הבאים:
לקבל גישה לנתונים הדרושים. הגישה לנתונים עשויה לדרוש הצדקה. לדוגמה, יכול להיות שתצטרכו להסביר איזה שימוש ייעשה בנתונים ולהבהיר איך הבעיות שקשורות לפרטים אישיים מזהים (PII) ייפתרו. התכוננו להציג הוכחת רעיון שממחישה איך המודל יוצר חיזויים טובים יותר באמצעות גישה לסוגים מסוימים של נתונים.
קבלת התכונות הנכונות. במקרים מסוימים, התכונות שבהן נעשה שימוש בשלב הניסוי לא יהיו זמינות בנתונים בזמן אמת. לכן, במהלך ניסויים כדאי לוודא שתוכלו לקבל את אותן התכונות בסביבת הייצור.
הסבר על האופן שבו הנתונים נאספים ומיוצגים. לפעמים נדרש זמן ומאמץ כדי להבין איך הנתונים נאספו, מי אסף אותם ואיך הם נאספו (יחד עם בעיות אחרות). חשוב להבין את הנתונים באופן יסודי. אל תשתמשו בנתונים שאתם לא סומכים עליהם כדי לאמן מודל שעשוי לעבור לייצור.
הבנת ההבדלים בין מאמץ, עלות ואיכות המודל. שילוב תכונה חדשה בצינור נתונים עשוי לדרוש מאמץ רב. עם זאת, התכונה הנוספת יכולה לשפר רק מעט את איכות המודל. במקרים אחרים, קל להוסיף תכונה חדשה. עם זאת, המשאבים לקבלת ולאחסון התכונה עשויים להיות יקרים מאוד.
קבלת חישוב. אם תצטרכו ספקי TPU לצורך אימון מחדש, יכול להיות שתתקשו להשיג את המכסה הנדרשת. בנוסף, הניהול של ספקי TPU הוא מורכב. לדוגמה, יכול להיות שחלקים מסוימים במודל או בנתונים צריכים להיות מעוצבים באופן ספציפי עבור TPU על ידי פיצול שלהם בין כמה צ'יפים של TPU.
איך מוצאים את מערך הנתונים המוזהב הנכון. אם הנתונים משתנים לעיתים קרובות, יכול להיות שתתקשו לקבל מערכי נתונים ברמת זהב עם תוויות עקביות ומדויקות.
זיהוי סוגים אלה של בעיות במהלך ניסויים חוסך זמן. לדוגמה, אתם לא רוצים לפתח את התכונות והמודל הכי טובים רק כדי לגלות שאי אפשר להשתמש בהם בסביבת הייצור. לכן, כדאי לנסות בהקדם האפשרי שהפתרון יפעל בהתאם למגבלות של סביבת הייצור. עדיף לבזבז זמן על אימות הפתרון במקום לחזור לשלב הניסוי, כי שלב צינור עיבוד הנתונים חשף בעיות שלא ניתן להתגבר עליהן.