הרכבת צוות בלמידת מכונה

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

תפקיד ידע ומיומנויות המוצר העיקרי
מנהל/ת מוצר בתחום ה-ML למנהלי מוצר בתחום ה-ML יש הבנה מעמיקה של נקודות החוזקה והחולשה של ה-ML ותהליך הפיתוח שלו. הם מתאימים בעיות עסקיות לפתרונות של למידת מכונה, על ידי עבודה ישירה עם צוות ה-ML, משתמשי הקצה וגורמים אחרים בעלי עניין. הם יוצרים את החזון של המוצר, מגדירים תרחישים לדוגמה ודרישות, מתכננים פרויקטים ומעניקים להם עדיפות. מסמך דרישות למוצר (PRD).
מנהל הנדסה מנהלי ההנדסה משיגים את היעדים העסקיים על ידי הגדרת סדר העדיפויות של הצוות, העברת המידע עליו והשגת היעדים. בדומה למנהלי מוצר של למידת מכונה, הם מתאימים פתרונות של למידת מכונה לבעיות עסקיות. הם מגדירים ציפיות ברורות לחברי הצוות, מבצעים הערכות ביצועים ומסייעים בפיתוח הקריירה והמקצועיות. מסמכי עיצוב, תוכניות פרויקטים ובדיקות ביצועים.
מדען נתונים מדעני הנתונים משתמשים בניתוח כמותי וסטטיסטי כדי להפיק תובנות וערך מהנתונים. הם עוזרים לזהות ולבדוק תכונות, מודלים של אב טיפוס ולשפר את יכולת הפרשנות של המודלים. דוחות ותרשימים חזותיים של נתונים שמספקים תשובות לשאלות עסקיות באמצעות ניתוח סטטיסטי.
מהנדס למידת מכונה (ML) מהנדסי למידת מכונה (ML) מעצבים, יוצרים, משיקים מנהלים מודלים של למידת מכונה. הם מהנדסי תוכנה מוכשרים עם הבנה מעמיקה של טכנולוגיות למידת מכונה ושיטות מומלצות. מודל שנפרס עם איכות חיזוי מספקת כדי לעמוד ביעדים העסקיים.
מהנדס מערכות מידע מהנדסי נתונים יוצרים צינורות עיבוד נתונים לאחסון, לצבירה ולעיבוד של כמויות גדולות של נתונים. הם מפתחים את התשתית והמערכות לאיסוף ולטרנספורמציה של נתונים גולמיים לפורמטים שימושיים לאימון ולפריסה של מודלים. מהנדסי הנתונים אחראים על הנתונים לאורך כל תהליך הפיתוח של למידת המכונה. צינורות עיבוד נתונים שהותאמו לייצור, עם מעקב והתראות נדרשים.
מהנדס/ת תפעול מפתחים (DevOps) מהנדסי DevOps מפתחים, פורסים, משנים את קנה המידה ומנטרים את התשתית להצגת מודלים של למידת מכונה. תהליך אוטומטי להצגת מודלים, מעקב אחריהם, בדיקה שלהם והתראות לגבי ההתנהגות שלהם.

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

הגדרת שיטות עבודה בצוות

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

תיעוד תהליכים

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

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

  • איך מוסיפים מערך נתונים חדש לבדיקה לצינור עיבוד הנתונים?

הדרכה
  • איך בודקים את החיזוי של המודל בדוגמה שנוצרה באופן ידני?

  • איך מוצאים, בודקים ומציגים חזותית דוגמאות שבהן המודל עשה שגיאות?

  • איך אפשר לקבוע איזו תכונה הייתה אחראית ביותר לחיזוי נתון?

  • איך אפשר להבין אילו מאפיינים משפיעים בצורה המשמעותית ביותר על התחזיות במדגם נתון?

  • איך מחשבים או מתכננים תחזיות של מודל על קבוצת נתונים או על דגימה שנבחרו?

  • איך מחשבים מדדים סטנדרטיים של התחזיות של המודל על קבוצת נתונים שנבחרה?

  • איך מפתחים ומחשבים מדדים מותאמים אישית?

  • איך להשוות בין המודל שלי למודלים אחרים במצב אופליין?

  • האם אפשר לבצע ניתוח מטא של כמה הערכות של מודלים בסביבת פיתוח אחת?

  • האם אפשר להשוות בין המודל הנוכחי לבין המודל מלפני 10 חודשים?

העברה לייצור, מעקב ותחזוקה
  • אני חושב שיצרתי מודל טוב. איך אפשר להשיק אותו בסביבת הייצור?

  • איך מוודאים שהמודל החדש פועל בצורה תקינה בסביבת הייצור?

  • האם אפשר לקבל את ההיסטוריה של הערכות המודל לאורך זמן?

  • איך אפשר לדעת אם יש משהו לא בסדר במודל?

  • הוקצה לי דף/באג עם אזכור של משהו שקשור לדגם. מה לעשות?

צינורות עיבוד נתונים
  • איך אפשר להתאים אישית את צינור עיבוד הנתונים ליצירה/אימון/הערכה של נתונים?

  • מתי ואיך כדאי ליצור צינור עיבוד נתונים חדש לגמרי?

SQL
  • אני צריך SQL כדי ליצור נתונים מסוימים. איפה כדאי להציב אותו?

תשתית
  • איך פועלת הצגת המודלים שלנו? יש תרשים?

  • על אילו מערכות עליונות המודל שלי תלוי, ושחשוב לדעת עליהן?

תקשורת
  • אני לא מצליח להבין משהו. למי אפשר לפנות (ואיך)?

חשוב לזכור

מה נחשב ל'שיטות מומלצות ל-ML' יכול להשתנות בהתאם לחברה, לצוות ולאדם. לדוגמה, יכול להיות שחלק מחברי הצוות יבחרו ב-Colab ניסיוני כמסמך המרכזי, בעוד שאחרים ירצו לעבוד ב-R. יכול להיות שחלק מהאנשים מתעניינים בתחום של הנדסת תוכנה, אחרים חושבים שהמעקב הוא הדבר החשוב ביותר, ויש גם אנשים שמכירים שיטות טובות להעברת תכונות לייצור אבל רוצים להשתמש ב-Scala. כל אחד 'צודק' מנקודת המבט שלו, ואם תנהל את התהליך בצורה נכונה, התמהיל יהיה חזק מאוד. אם לא, יכול להיות שזה יהיה מבולגן.

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

הערכות ביצועים

בגלל הערפול והאי-ודאות הטבועים בלמידת מכונה, מנהלי צוותים צריכים להגדיר ציפיות ברורות ולהגדיר את המשימות שצריך להשלים מראש.

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

בדיקת ההבנה

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