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

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

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

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

קבע שיטות עבודה לצוות

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

תיעוד התהליך

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

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

אפשר למצוא מסמך של Google עם רשימה של השאלות האלה בכתובת go/ml-list-of-questions.

עוד שאלות אפשריות

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

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

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

  • איך אפשר למצוא, לבדוק ולהציג דוגמאות שבהן המודל טעה?

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

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

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

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

  • כיצד אוכל לפתח ולחשב מדדים מותאמים אישית?

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

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

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

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

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

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

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

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

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

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

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

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

  • על אילו מערכות upstream המודל שלי תלוי ועליי להיות מודע להן?

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

חשוב לזכור

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

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

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

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

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