[קישור לקובץ mp3]פרק מספר 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 שלך . . . . אתה רוצה עכשיו לשנות משהו במודל? יותר טוב שתדע לקודד את זה ויאללה - דחוף את זה קדימה .