יום שני, 21 בנובמבר 2022

450 What is an ML Engineer, with Or from Superwise


פרק מספר 450 של רברס עם פלטפורמה - אורי ורן מארחים מהצד השני של כנס העשור (יש תמונות, בקרוב ההקלטות!) את אור מחברת Superwise.



[01:29]
(רן) אז אור -שתי מילים עליך?
  • (אור) אז אני אור, CTO בחברת Superwise
    • סטארטאפ שקיים סדר גודל של שלוש שנים
    • אני העובד הראשון שם - בניתי את ה-MVP של המוצר
  • היום אנחנו כבר יותר בוגרים ובשלים - מתעסקים ב-Monitoring של מערכות Machine Learning ב-Production, במשפט אחד . . . 
(אורי) כ-CTO ל-CTO: יש את השלב שבו הקוד שלך - אתה כבר מאוד רוצה שהוא לא יהיה במוצר . . . . הוא עוד שם? או ש . . . .
  • (אור) שרידים אחרונים . . . .
    • בהתחלה זה היה קצת קשה לשחרר את הקוד שלי, הייתי מאוד חרד לקוד שנכנס
    • אבל היום, אני חושב שכבר 90% ממנו לא שם.
(אורי) אני חושב שכבר 10 שנים אני מנסה שהקוד שלי ימחק - וזה לא קורה . . . נשאר השם של ה-Class.
(רן) כמה מפתחים אתם, ב-Superwise?
  • (אור) אנחנו 20 איש, כרגע מרביתם ב-R&D
  • ממש בימים אלה אנחנו בונים את ה-Core Capability של Superwise, של המוצר
    • עם Design Partners טובים, לקוחות טובים, משלמים, שאיתנו מתחילת הדרך.
  • בינתיים, טפו-טפו-טפו, הולך טוב.
(רן) אז מערכת Monitoring ל-Machine Learning, בגדול - אוקיי. . . . גם אני בתחום, אז אולי יצא לנו לדבר קצת . . .

[03:06]
(רן) בעצם, מה שאנחנו רוצים לדבר עליו היום זה על מה המשמעות של Machine Learning Engineering - MLE.
אני זוכר את היום שבו בכח-אדם שאלו אותי “מה זה התפקיד החדש הזה שהמצאת פה לאנשים שלך? . . . . “MLE” - מה זה אומר?”
אז מה זה MLE? מה זה Machine Learning Engineer, בעולם של היום?
  • (אור) אז זו שאלה טובה - ובאמת הדגש זה על הנקודה של “היום”, מה המשמעות היום.
  • אני אלך טיפה אחורה בהיסטוריה - לא המאוד רחוקה, שנתיים-שלוש אחורה - בעצם איך היה נראה תהליך פיתוח מודל של Machine Learning ולקיחה שלו ל-Production?
    • היה יושב Data Scientist עם ה-Jupyter Notebook שלו, במקרה הטוב
      • במקרה הפחות-טוב - עם ה-RStudio שלו . . . 
    • פותח את המודל ובאיזשהו שלב מחליטים ש . . . “ראה כי טוב” והמודל צריך להגיע ל-Production
    • אז באותו שלב, היו בעצם מדברים על זה עם איזשהו Software Engineer, שיקח את הקוד ויהפוך אותו להרבה יותר רובסטי ו . . . .
(רן)  . . . “שיעשה ממנו בנאדם” . . . .
  • (אור) ” . . . . שיעשה ממנו בנאדם” . . . . לגמרי - שיעטוף אותו בטסטים, יכניס כל מיני מושגים של Scalable-יות ו-Reproducible-יות וכו’.
  • וזה, בעצם, ה-Machine Learning Engineer הקלאסי - הבנאדם שהיה לוקח את המודל והופך אותו ל”מתאים ל-Production”.
  • עכשיו, כמו בכל תהליך ידני - התהליך הזה הוא ידני, הוא לא Scalable-י
    • הוא מועד לטעויות, לבאגים . . . .
    • מה שה-Data Scientist התכוון זה לא מה שה-Data Engineer התכוון . . . .
(אורי) . . . . ובטח לא מה שהלקוח התכוון . . . .
  • (אור) . . . בטוח לא מה שהלקוח התכוון . . . . זה Given  . . . 
(רן)  . . . זה כבר לא מנסים - ויתרנו על זה מזמן . . . .
  • (אור) . . . . והתוצאה הישירה של זה הייתה שהמון המון מודלים לא מצאו את דרכם ל-Production.
  • ואז, בעצם, ML Engineer עבר איזושהו סוג של אבולוציה - לתצורה שאנחנו יותר מכירים היום
    • שבעצם זה יותר מהבנאדם שלוקח את המודלים ומתרגם אותם - לבנאדם שבונה את התשתית
    • נותן את ה-Infra, את הכלים ל-Data Scientist-ים - לבנות עליהם את המודלים.
(רן) אוקיי, אז נשאלת השאלה האם לא כל Data Scientist הוא “בחציו” ML Engineer וחציו מדען . . . .זאת אומרת - איך נראה, לטעמך, איך צריך להראות היום-יום של Data Scientist ובמה הוא שונה מהיום-יום של MLE?
  • (אור) אז זה מאוד מגוון . . . יש כל מיני “Flavor-ים”, לדעתי, של ה-Data Scientist-ים
  • אני במקור גם התחלתי עם רקע של Data Scientist - והפן שאצלי בא יותר לידי ביטוי היה הפן ה-Engineer-י.
    • יש Data Scientist-ים שהם, באופי שלהם, הרבה יותר חוקרים, Researcher-ים, שפחות מדבר אליהם האתגר ה-Engineer-י, ה-Software “המסורתי”
    • יותר “לפתור בעיות קשות”.
  • אז בעצם, מה שמגדיר ML Engineer טוב - צריך שיהיה לו מגוון, Skill Set מסויימים - 
    • הוא צריך להיות מאוד Data Engineer באופי שלו - להבין מה זה Data, איך Data מתנהג, בעיות שרלוונטיות לעולם של Data, “להזיז כמה שפחות” וכאלה . . . .
    • והוא צריך להבין את העולם של Machine Learning - איך נראה תהליך פיתוח של מודל, איך מתנהל מודל ב-Production, מה המשמעות  . . . . 
      • אפילו איך מפתחים מודל, ברמה מסויימת.
    • הוא צריך להבין תהליכי פיתוח של מודל
    • והוא צריך להיות Engineer - הוא צריך להיות Engineer טוב . . . .

(אורי) כן . . .  זה קצת . . .
  • (אור) זו חיה . . . .
(אורי) . . .  זה סוג מיוחד כזה . . . ויש חברות שבוחרות את ה-Hybrid - זאת אומרת  -בוא, אם אתה Data Scientist אז כדאי שיהיה לך מינימום Skills של Engineering כדי שתיהיה עצמאי, פשוט תיהיה עצמאי.
וזה בעיקר המון חברות שבודקות את ה-Machine Learning שלהן על Production - וכל פעם שאתה רוצה ב-Production לשנות משהו, זה לא יעזור ה-Jupyter Notebook שלך . . . . אתה רוצה עכשיו לשנות משהו במודל? יותר טוב שתדע לקודד את זה ויאללה - דחוף את זה קדימה . . . 
(רן) למעשה, המודל שתיארת בהתחלה - שברור שהוא “ענתיק” - ברור שהוא סוג-של-Waterfall, כן? . . . . ה-Data Scientist מייצר מודל וברגע שהוא חותם עליו “מוכן” (עם Air quotes במקור…) אז הוא מעביר את זה הלאה, ל-Production, כדי ש”יעשו ממנו בנאדם” - אבל במציאות כמובן שזה לא ככה, כי אחרי שנניח שבאמת עשו את זה והעבירו ל-Production, אז פתאום מגלים שיש מקום לשיפור . . . 
(אורי) אגב - זה הפוך . . . . זה לא “לעשות ממנו בנאדם” - זה לעשות ממנו מכונה” . . . . כאילו, הבנאדם . . . .
(רן) סלח לי על הביטוי, כן . . . נשאר לי מהקיבוץ . . . . אבל כן - מהר מאוד מגלים ש-Waterfall זה לא עובד כל כך טוב, בין אם זה כי לא הבנו כל כך מה השוק צריך ומהן דרישות הלקוח ובין אם אולי הבנו אבל טעינו בפתרון, ועכשיו יש לנו הזדמנות לתקן.
אבל אם ה-Cycle Time הוא כל כך ארוך, וזה שוב צריך “לחזור לשולחן השרטוט” ושוב צריך לעבור תרגום וכו’, אז לא רק שזה יקח זמן - גם הרבה דברים יאבדו בתרגום. הקושי הוא, הרבה פעמים, למצוא את אותם Data Scientists שיש להם את ה-Skills האלה, המשולבים, נכון?
(אורי) כן . . .  זה לא קל . . . זה לא קל למצוא, ואני חושב שהרבה מבינים את את הערך שבזה - זה פשוט הופך אותם למהירים יותר והופך אותם למשפיעים יותר, אז הם פשוט שמחים ללמוד, ושמחה ללמוד משהו חדש זה כבר . . . זה לא Skill-set - זו תכונה שאתה רוצה בכל מקרה.

[08:58]
(רן) כן, אבל אני חושב שאם אני מבין נכון את מה שאור מתאר - זה למעשה שה-ML Engineers מייצרים להם את “הגשר”, למעשה מאפשרים, עם מינימום Software Engineering skills, להגיע רחוק . . .
  • (אור) עם כלים נכונים, כל Data Scientist יכול להעלות מודל ל-Production מאוד בקלות . . . 
(אורי) נכון, אז קודם כל זה נכון - ועכשיו הנה אתגר נוסף: כשהמודל עולה כל חמש דקות . . . . אז בכלל, עדיף שלא יהיה Man in the Middle . . . 
  • (אור) לגמרי
  • באמת - התחום נקרא  MLOps, התחום שבו ה-ML Engineer חי
  • ובעצם MLOps - מעצם השם אנחנו מבינים את האנלוגיה לעולם ה-DevOps - שגם Software “רגיל” יכול להעלות כל חמש דקות
  • בתחום ה-MLOps לקחו המון פרדיגמות שהיו בעולם ה-DevOps - ועשו להן אדפטציות (Adapt) לעולם ה-Machine Learning.
    • אז קיימת אנלוגיה מלאה - אם כבר פתרו את זה בעולם מסויים, אז למה שלא ניקח את כל החוכמה ורק ניתן לה את הניואנסים המתאימים?
(רן) אז זה  . . . יש לך דוגמאות?
  • (אור) כן, לגמרי - אם יש לנו את ה-Git, הכי בסיסי והכי פשוט, ניהול גרסאות קוד
    • אז אותו הדבר עבר לעולמות ה-Machine Learning - עם אדפטציה
    • יש גם  Data Version Control - ה-DVC, שמנהל גרסאות של Data Set-ים
  • ואם אנחנו מדברים על תהליכים של CI/CD - אז גם הם עברו לעולמות ה-Machine Learning
  • ואפילו נוספו תהליכים חדשים, של CT, או Continuous Training, “אימון מתמיד” של המודל
  • אם אנחנו מדברים על Monitoring, אז כמו מערכות Monitoring “מסורתיות” . . . זה גם מה ש-Superwise עושה, בעצם - איתור של מודלים בעולמות ה-Machine Learning.
    • אז במקום לנטר CPU ו-Memory ו-Storage, אנחנו מנטרים מדדים סטטיסטיים על ה-Feature-ים, Distribution Change, מדדי Performance . . . 
  • הכל למעשה עבר אדפטציה - עם תוספות חדשות:
    • למשל - מערכת לניהול ניסויים - כי Machine Learning, באופי שלו, הוא תחום הרבה יותר מחקרי, יותר סובב סביב . . . יותר פתוח, שצריך לנהל.
    • וזה טיפה שוני מעולמות ה-Software.

[11:08]
(רן) במה, ככה “להדיוטות” - למה צריך מערכת Monitoring ספציפית ל-Machine Learning, כשיש כל כך הרבה מערכות Monitoring אחרות? הרי “בסך הכל זה מספר” - אתה שולח את המספר, מצייר אותו על גרף . . . למה צריך “חיה אחרת”?
  • (אור) אז זו שאלה מעולה . . . . 
  • דבר ראשון - כשמדברים על מודלים של Machine Learning, אם אנחנו מדברים על Software רגיל אז אם אני רוצה להעלות עוד רפליקות (Replications) של קוד, זו בעצם אותה “פיסת קוד”, שפשוט “רצה המון”.
    • כשאנחנו מדברים על מודלים, אז מודלים תלויים ב-Data שהם למדו עליו - המודל הוא מעיין “קופסא”, שיודעת את מה שהיא התאמנה עליו.
    • וכשמודל עולה ל-Production, בגלל שהוא חי בסביבה דינאמית, אז ה-Data שסביבו משתנה כל הזמן - מה שגורם, לאורך זמן, לביצועים של המודל להתדרד.
    • ובשביל זה, מה שאנחנו עושים זה לייצר מדדים על גבי ה-Data שמגיע למודל
      • לגבי קבלת ההחלטות שלו, על ה-Performance שלו . . . .
(אורי) זה כשהוא כבר - חי?
  • (אור) כשהוא כבר חי, ב-Production . . . 
    • לראות שלא נוצר פתאום Bias, שהוא לא מפלה אוכלוסיה חדשה.
    • שאנחנו יודעים להסביר את קבלת ההחלטות שלו - Explainable-יות: למה המודל החליט את מה שהוא החליט?
    • ובגדול לוודא שהוא לא יצא מכיול . . . .
(אורי) יש פה Domains . . . . זה לא Monitoring בצורה הפשוטה שלו, אלא יש פה Domain  . . . 
  • (אור) לגמרי . .  . אלו מדדים שונים באופי שלהם.
  • כש-CPU מגיע ל-100%, אני יודע להגיד לך ש”משהו לא בסדר”
  • כשה-Drift שלי הוא “17” - זה בסדר? זה לא בסדר? איך זה משפיע על המודל? באילו איזורים זה משפיע?
(רן) כן . . . . 

[12:52]
(רן) ומה הקשר בין Monitoring לבין ניהול של ניסויים - Experiments Tracking? האם שני אלה זו אותה מערכת, או שאלו “חיות נפרדות”?
  • (אור) אז אפשר לחלק את זה . . . - אלו באמת חיות נפרדות - לניהול ניסויים, שזה בעצם תהליך שקורה יותר Offline-י, קורה יותר בשלב המחקר ובניית המודל.
  • בעצם, Data Scientists, כחלק מהעבודה היומיומית שלהם, מריצים המון המון ניסויים - זה תהליך אקספרימנטלי (Experimental) באופי שלו
    • הם מנסים לבדוק איזו קונפיגורציה (Configuration) של מודל עובדת להם יותר טוב
    • איזה אוסף של Feature-ים נותן להם את הביצועים הכי טובים
  • ו-Once שהם החליטו את זה, המודל עלה ל-Production - ו-Production זו כבר חיה אחרת לגמרי . . . מעניין אותי לנטר דברים אחרים על המודל - 
    • מעניין אותי לנטר שהוא לא יצא מכיול
    • שה-Input שלו הוא באמת מה שציפית ומה שהתאמנתי עליו
  • זה דבר שהוא יותר Stream-י, יותר Online-י באופי שלו, לעומת מערכת ניהול ניסויים, 
    • ששם כל מה שאני מחפש זה להריץ המון מון ניסויים , לראות מה נותן לי את הביצועים הכי טובים
    • ולהיות מסוגל לשחזר את זה . . . .

[13:54]
(רן) אחד האתגרים שאני מתמודד איתם בעבודה, ביום-יום, זה . . .  אני בעצם מקים, או שזה כבר קיים, אבל מגדל צוות של Machine Learning אצלנו בחברה - ו”הנוף הטכנולוגי” הוא מאוד מאוד רחב ומבלבל, נגיד ככה . . . 
אתה צריך כלי ל-Experiment Tracking? יש לך שבעה כאלה . . . .אתה צריך כלי ל-Monitoring? יש לך עשרה כאלה . . . אתה צריך כלי לכל ה-Workflow? אז יש לך Framework כזה ו-Framework כזה ו-Framework כזה . . 
.. 
(אורי) זה שהגעת מ-Frontend Engineering - זה לא עוזר לך להתרגל לכל Framework חדש, כל שבוע? . . . .
(רן) בסופו של דבר ברחתי משם, לא? . . . . 
אז כמישהו שנמצא . . . בתור ספק של תשתית כזאת, האם אתה [אור] רואה איזשהו משהו שהוא כזה “Emerging”? משהו “קאנוני”, או אולי שניים  - אתה יודע, “כוח א’” ו”כוח ב’” . . . האם יש משהו שלראייתך הולך ומתבלט והולך לכבוש את השוק? או שאולי כבר עשה את זה?
(אורי) שניהיה הסטנדרט? . . . .
  • (אור) אז אני מסכים לגמרי עם ההבחנה - באמת, אנחנו נמצאים באיזה סוג של Hype, שאני חושב שקורה כמעט לכל טכנולוגיה חדשה.
    • משהו שמתחילים לדבר, נוצרות המון המון חברות, המון המון Vendor-ים  . . . .
    • ה-Vendor-ים גם דוחפים את השוק קדימה, ומנסים לייצר איזשהו סטנדרט
  • ואני חושב שהגענו לאיזושהי נקודה שבה ה-Hype טיפה עבר, ועכשיו מתחיל . . . .
(אורי) . . . קונסולידציה (Consolidation) . . . 
  • (אור)  . . . מתחיל תהליך קונסולידציה למוצרים.
  • אפשר להגיד שנוצר איזשהו Blueprint, של איך שנראה MLOps Stack, עם איזה ארבעה-חמישה רכיבים מרכזיים שיודעים “לדבר יפה” ביניהם.
  • זה תהליך שממש עכשיו השוק עובר - וכמו שאתה אומר: הייתה נקודה שהגענו ליותר מדי כלים, ועכשיו הכל קצת חוזר יותר להיות “מוגדר היטב”.

[15:56]
(רן) ומי ה-Vendor-ים שמובילים היום? זאת אומרת, זה ספקי העננים? זה Databricks? זה . . . 
  • (אור) אז באמת יש את ה-Cloud Providers, שמשחקים על הפתרון . . . על ה”שלמות” באו נגיד, על הפתרון היותר “הוליסטי”
    • לתת גם את ה-Serving וגם את הניהול ניסויים וגם ה-Monitoring
  • כמובן שהיתרון הגדול הוא שאת הכל נוח לחבר במקום אחד
  • אבל כשבאמת רוצים “Best of breed solutions”, אז אני חושב שבכל נישה כזאת יש את השניים-שלושה  מוצרים המובילים
    • יש כלי ניהול ניסוים 
    • יש כלים של Feature Store - ניהול Feature-ים משותף בין ה-Data Scientists
    • יש כלי Serving - איך אני בעצם מנגיש את המודל ב-Production
    • כלי Monitoring
    • וכמובן כלי אורקסטרציה (Orchestration), שיודעים להריץ את ה-Pipeline ולאמן את המודל

[16:50]
(רן) כן . . . . חברה שהיום מעסיקה Data Scientists או אנשי Machine Learning - מתי הם צריכים לקום בבוקר ולהגיד “אוי, חסר לי פה MLE! ידעתי ששכחתי פה משהו . . . .”. זאת אומרת, אילו סימנים אתה יכול לזהות שמראים על זה שחסר להם פה משהו?
  • (אור) אז באמת, זה לא מתאים לכל חברה מ-Day One.
  • אם עכשיו אני Data Scientist שהגיע ל-Startup ואני בונה איזה מודל “Quick & Dirty” - אני לא צריך Machine Learning Engineer, אני אדע להסתדר.
  • מתי זה כבר מתחיל להיות “אוקיי, אני כבר בנקודה שאני צריך לחשוב פה על פתרונות”?
    • כשהצוות גדל, כשניהיים סדר גודל של חמישה-שישה Data Scientists שמתחילים לשתף ביניהם פעולה
    • כש-Data Scientist אחד צריך להיות מסוגל להריץ תוצאות ניסוי של Data Scientist אחר
    • כשכבר יש איזה ארבעה-חמישה מודלים ב-Production שאני צריך לדאוג להם
      • לראות שהם עובדים טוב
      • שאני צריך לתמוך בהם אם פתאום מתקשרים מה-Marketing ושואלים “למה המודל מזייף?!”
      • שיהיה מישהו שייתן פה Debugging בצורה נוחה
    • בעצם - כשה-Scale טיפה גדל לנקודה של חמישה-עשרה מודלים ב-Production, צוות של ארבעה-חמישה Data Scientist-ים - כבר אז צפות כל הבעיות האלה, מהניסיון שלי.

[18:00]
(רן) ואם אני עכשיו מקשיב לפודקאסט [קורא!] ואני אומר לעצמי “וואי, נשמע לי מגניב - אני רוצה להיות MLE! זה נשמע לי כמו ראשי-תיבות ממש טובים וזה מעניין אותי, התחום!” - מה אני צריך לעשות? איפה מתחילים? האם ללכת לעשות תואר ב-Machine Learning? האם ללכת להתמחות בהנדסת תוכנה? איך הופכים ל- MLEs?
  • (אור) אוקיי, אז אין מתכון מדוייק - אבל באו נדבר על ה-Skill-set וכל אחד יצטרך לגזור ולהשלים את ה-Skills, בהתאם ליכולות שלו.
  • אז יש, קודם כל, הבנה של Data - הבנה של תהליכי Data
    • יש עקרונות בסיסיים של העברת Data ממקום למקום, שהם Must להכיר
    • בסוף, מודל כזה נמצא ב-Production ואני צריך להיות מסוגל להנגיש לו את ה-Data, אם זה לאימון מחדש או שזה ה-Data שהוא צריך לחזות עליו.
    • אז לדעת Data טוב . . . .
  • להבין מה זה מודל בכלל - להבין את ה-Domain
    • מה זה Machine Learning? איך נראה תהליך הפיתוח של Machine Learning?
    • מה עושה בעצם Data Scientist בשביל לבנות מודל? 
    • הוא לא צריך להיות החוקר הטוב ביותר והוא לא צריך להכיר את האלגורתימים ה-State-of-the-Art - אבל הוא כן צריך להיות עם מושג בעולם הזה.
  • והוא צריך פרקטיקות Engineer-יות טובות - בעצם סוג של “מקבילה-DevOps-ית”
    • להכיר את התהליכים טוב ולהיות מסוגל לאטמט (to Automate) אותם
  • עכשיו, מבחינת “דרך להיכנס לתחום” - אני חושב שכיוון אחד  . . . .
    • קודם כל, יש קהילה מאוד גדולה שמתפתחת - הרבה מאוד Vendor-ים דוחפים אותה אבל גם הרבה מאוד Practitioners.
    • לא מזמן הייתי בכנס [קטע - גם אנחנו] בטורונטו, בתחילת השנה - שהיה כנס . . . מ”מסלול של MLOps” באיזה כנס Data Science, פתאום היה “כנס MLOps” עם קרוב ל-1,000 ML Engineers
    • אז הקהילה מתחזקת - יש מלא פורומים וה-Comunity חזק
      • אז גם להתערב ולהיכנס לשם
      • אפילו לעשות איזה פרויקט-צד - לקחת מודל, לבנות מודל הכי פשוט, לעטוף אותו באיזה Serving מסויים וכבר להתחיל להרגיש את הבעיות של מה זה לבנות מודל ולהנגיש אותו.
  • (רן) כן . . . אני עשיתי לפני כמה שנים לדעתי איזשהו קורס כזה, איזשהו Crash-Course ל-Machine Learning של Google, והחלק האחרון שלו היה “איך עושים Deployment למודל” . . . כבר אז בעבר הם אמרו שלא מספיק להבין את העקרון של “מה זה רשת נוירונים” אלא גם חשוב להם שתבין איך פורשים מודל כזה ל-Production.

[20:28]
(רן) אמרת שיש קהילה - יש כזו גם בישראל?
  • (אור) אז כן - יש קהילה בתל אביב, שהתחילה לא מזמן.
    • היא עוד די בחיתולים - אבל כבר יש איזה כמה הרצאות שיצא לי לראות, הביאו כמה דוברים . . . .
    • מתחיל להתהוות פה משהו
  • יצא במקרה שיש גם הרבה, יחסית, Vendor-ים כאן בישראל - והם מוליכים את התחום ומובילים אותו
    • אז נוצרה פה קהילה די “קטנה ואיכותית”
(אורי) אני רוצה שנייה לתת עוד אספקט נוסף לדבר הזה, שקשור ל-Engineering בכלל, סביב Machine Learning - וספציפית לאיפה ש-MLOps, כשעושים אותו טוב, מקצועי ולגמרי בקצה - יש לו ערך Business-י בפני עצמו, הוא לא רק הופך את ה-Data Scientist ליותר טוב ומקצועי ובסוף הדיוק של המודל של ה-Data Scientist הוא זה שיתן את ה . . . . למשל, בתחום שלנו, הסביבה משתנה כל הזמן - בקצב, בדקות . . . בדקות . . . ב-Outbrain אנחנו נמצאים הרבה על News וכו’, ותוך דקות השיחה בעולם ה-News יכולה להשתנות לגמרי. מספיק ש-Will Smith נותן איזו סטירה וכולם מדברים על משהו אחר. אז היכולת של מודל, לבד, להתאים את עצמו מהר היא יכולת שרק בהיותה מהירה משיגה ביצועים הרבה יותר טובים . . . . בטח במקומות אחרים שבהם . . . אני לא יודע, אם נדבר על מכוניות אוטונומיות או דברים שבהם הסביבה צריכה להילמד הרבה יותר מהר, היכולת ה-Engineer-ית שעוטפת את המודל - יש לה משמעות מאוד כבדה בדיוק שלה, ושם MLOps טוב וחזק הוא נכס.
  • (אור) אני מסכים לגמרי.
  • ממש . . . יש אפילו שם לתהליך הזה - CT, או Continuous Training: לא רק CD, לא רק איך אני מדלבר (Deliver) את המודל אלא איך אני גם, בצורה אוטומטית, יודע להטריג (Triger) אימון שלו מחדש.
  • יש לדעתי רמות Maturity שונות של ארגונים שמאמצים לעצמם פתרונות MLOps
    • זה יכול להתחיל מניהול ניסויים וזה יכול להמשיך ל-Serving ולאורקסטרציה (Orchestration)
    • וזה יכול גם, בסוף, להגיע לרמה הכי מתקדמת שזה בסוף גם לאמן את המודלים בצורה חלקה ואוטומטית לגמרי . . . 
(רן) רגע, רגע . . . יש עוד שם - שהמודל יכתוב את עצמו! 
  • (אור) יש . . . עוד מעט . . . .
(אורי) לא, אבל אם הוא מאמן את עצמו כל חמש דקות - וכל חמש דקות פורש את עצמו על מאות שרתים, על גבי כמה  יבשות - זה מצריך Engineering Challenges מאוד מאוד רציניים.
  • (אור) Engineering ו-Observability - להבין מה קורה, לראות שזה לא יוצא משליטה.
(רן) כן . . . אני חייב להגיד שאנחנו מדברים על תפקיד ה-MLE וה-MLOps - ואני מרגיש שיש פה ערבוב די גדול בין תפקידים אחרים שכבר קיימים, וזה גם טבעי . . . זאת אומרת - Data Engineer, אמרת שצריך להבין Data, אוקיי . . . Monitoring, פרישה וכל זה זה מעולם הפלטפורמה או ה-DevOps, הבנה של מודלים מעולם ה-Data Science . . . זה אומרת, מצד אחד אני מנסה, ככה, להבין את תפקיד ה-MLE ומצד שני אני אומר שזה נשמע כאילו ה-MLE לוקח “קצת מכל אחד”, ובעצם הוא חי על ארבעה עולמות כאלה . . . 
(אורי) הוא ה-Full-stack של ה-Machine Learning . . . .
(רן) כן . . . עוד שנייה אני אתן לו לעשות את ה-Spec למוצר . . . . אבל אתה יודע - מצד אחד אני כאילו רוטן ומצד שני אני מבין - כי זה טבע הדברים, וזה טבע הדברים בכל אחד מהתפקידים, לא רק בתפקיד הזה. כמעט כל תפקיד שבא לחבר בין כמה גישות - הוא פשוט צריך לחיות בין כל העולמות האלה.
אז כן - אני חושב שאתה צריך להבין שזה איזשהו תפקיד, נקרא לזה “אינטרדיסיפלנרי” (Interdisciplinary), סליחה על המילה . . . . שבאמת זה דורש “סוג של BFS”, זאת אומרת סקרנות - להכיר קצת מכל דבר, כדי שתוכל להבין את הצרכים שלהם ולחבר אותם.

טוב, מעולה - אז תודה רבה אור! היה מרתק ולעניין. תודה שבאת, ויאללה - לכו תיהיו MLEs, קדימה!

האזנה נעימה ותודה רבה לעופר פורר על התמלול!

אין תגובות:

הוסף רשומת תגובה