תפעול למידת מכונה (MLOps)
הגדרה
MLOps היא שיטת עבודה, כלים ותרבות ארגונית להעברת מודלים של למידת מכונה מהניסוי אל שימוש אמין בארגון, וגם לניטור, לאימון מחדש ולעדכון שלהם לאורך זמן.
💡 דוגמה
בנק בנה מודל שמזהה הונאות באשראי, והוא עבד מצוין במעבדה. אחרי חצי שנה ההרגלים של הלקוחות השתנו, והמודל התחיל לפספס.
MLOps: המערכת שמזהה את הירידה, מאמנת את המודל מחדש ומחזירה אותו לעבודה.
מה זה MLOps
MLOps הוא שילוב של Machine Learning ו-Operations, כלומר למידת מכונה ותפעול. לפי ההגדרה בוויקיפדיה, זו גישה שמטרתה לפרוס מודלים של למידת מכונה ולתחזק אותם בשימוש אמיתי באופן אמין ויעיל. גוגל מגדירה זאת כ"תרבות ושיטת עבודה הנדסית" שמאחדת בין פיתוח מערכת למידת המכונה לבין התפעול שלה. השם נבנה בהשראת DevOps, שיטת העבודה שחיברה בין מפתחי תוכנה לאנשי התפעול, והוא מאמץ ממנה רעיונות כמו בדיקות ופריסה אוטומטיות.
למה בכלל צריך את זה: החוב הנסתר
ב-2015 פרסמה קבוצת מהנדסים בגוגל, בראשות ד. סקאלי (D. Sculley), מאמר בכנס NIPS בשם "חוב טכני נסתר במערכות למידת מכונה". הטענה המרכזית: למידת מכונה מאפשרת לבנות מערכות חיזוי מורכבות במהירות, אבל "מסוכן לחשוב שההצלחות המהירות האלה באות בחינם". המאמר מונה בעיות כמו תלויות בנתונים שקשה יותר לעקוב אחריהן מתלויות בקוד, לולאות משוב נסתרות ו"קוד דבק" שמחבר בין רכיבים. התרשים המפורסם שבו מראה שרק חלק קטן ממערכת למידת מכונה אמיתית הוא קוד הלמידה עצמו, וגוגל חוזרת על הלקח הזה גם במדריך שלה. השאר הוא איסוף נתונים ובדיקתם, הגדרות, ניהול משאבים, תשתית הגשה וניטור.
מה שונה ממערכת תוכנה רגילה
תוכנה רגילה מתקלקלת בדרך כלל כשמישהו משנה את הקוד. מודל של למידת מכונה יכול להידרדר גם כשאף אחד לא נגע בו. לפי גוגל, מודלים מאבדים מהביצועים שלהם לא רק בגלל קוד לא אופטימלי, אלא גם כי "פרופיל הנתונים משתנה כל הזמן": הלקוחות, המחירים או העולם עצמו כבר לא נראים כמו בנתוני האימון. לכן MLOps מוסיף רעיון שאין לו מקבילה בתוכנה רגילה: אימון רציף (Continuous Training), כלומר אימון מחדש והגשה מחדש של המודל באופן אוטומטי. גוגל מזהירה גם מפני פער בין אימון להגשה: מצב שבו המודל רואה בשימוש אמיתי נתונים שמעובדים אחרת מאלה שעליהם אומן.
שלוש רמות של בשלות
גוגל מתארת שלוש רמות. ברמה 0 הכול ידני: מדעני הנתונים עובדים במחברות, מאמנים מודל ומעבירים אותו כקובץ לצוות ההנדסה, שפורס אותו. גרסה חדשה עולה רק פעם-פעמיים בשנה, ואף אחד לא עוקב באופן פעיל אחרי התחזיות שלה. ברמה 1 תהליך האימון כולו אוטומטי, והמודל מתאמן מחדש על נתונים חדשים, עם בדיקות לנתונים ולמודל לפני שהוא עולה. ברמה 2 גם התהליך עצמו נבדק ונפרס אוטומטית, כך שהצוות יכול לנסות רעיונות חדשים ולהעלות אותם במהירות. גוגל מציינת שבמעבר הידני של רמה 0, שבו מדעני הנתונים מוסרים את המודל לצוות אחר, טמון בדיוק הסיכון לפער בין האימון להגשה.
הכלים והזירה העסקית
סביב התחום צמחה תעשייה שלמה. ב-2018 השיקה Databricks את MLflow, כלי קוד פתוח שנולד מקשיים שחוזרים אצל כל צוות, ובהם: יש אינספור כלים שונים לכל שלב, קשה לעקוב אחרי ניסויים, קשה לשחזר תוצאות וקשה לפרוס מודל. כלי בולט נוסף הוא Kubeflow, שמהנדסי גוגל הציגו ב-2017 כפלטפורמת MLOps על גבי Kubernetes. לישראל תפקיד בולט בזירה: את Iguazio מתל אביב רכשה מקינזי בינואר 2023 ושילבה בזרוע הנתונים שלה, QuantumBlack, וב-25 ביוני 2024 הודיעה JFrog הישראלית על רכישת קוואק (Qwak) תמורת 230 מיליון דולר, לפי גלובס, כדי לחבר בין עולם פיתוח התוכנה לעולם המודלים.
מ-MLOps ל-LLMOps
בעידן מודלי השפה הגדולים צץ מונח נוסף, LLMOps, שרבים בתחום רואים בו הרחבה של MLOps ולא תחליף. ההבדלים עיקריים: רוב הארגונים לא מאמנים מודל שפה מאפס אלא מתחילים ממודל מוכן; שומרים גרסאות לא רק של המודל אלא גם של הפרומפטים, מאגרי המסמכים וכלי הסוכן; ואין תשובה נכונה אחת לבדוק מולה, ולכן משלבים מדדים אוטומטיים, הערכה אנושית ושיפוט באמצעות מודל שפה. גם מבנה העלויות מתהפך: ב-MLOps הקלאסי היקר הוא האימון, ובמודלי שפה היקר הוא כל קריאה למודל בזמן השימוש.
📬 הגיליון השבועי של Wiki-AI
פעם בשבוע, ביום ראשון: שלושת הדברים החשובים שקרו בעולם הבינה המלאכותית, בעברית פשוטה, וערכים חדשים באנציקלופדיה. לגיליונות
| רמה 0: ידני | רמה 1: אימון אוטומטי | רמה 2: הכול אוטומטי | |
|---|---|---|---|
| איך מאמנים | ידנית, במחברות של מדעני הנתונים | תהליך אוטומטי שמתאמן מחדש על נתונים חדשים | תהליך אוטומטי, שגם הוא עצמו נבדק ונפרס אוטומטית |
| באיזו תדירות מתעדכן | פעם-פעמיים בשנה | אימון מחדש אוטומטי על נתונים חדשים | גם רעיונות חדשים של הצוות עולים במהירות |
| ניטור | אין ניטור פעיל של התחזיות | בדיקות לנתונים ולמודל לפני עלייה | בדיקות ופריסה רציפות לכל התהליך |
שאלות נפוצות ❓
האם MLOps הוא כלי או תפקיד?
גם וגם. זו שיטת עבודה שמשלבת כלים (לניהול ניסויים, אימון אוטומטי וניטור) עם תרבות של שיתוף פעולה בין מדעני נתונים, מהנדסים ואנשי תפעול. בחברות גדולות יש גם תפקיד ייעודי של מהנדס MLOps.
למה מודל שעבד מצוין מתחיל לטעות?
כי העולם משתנה. אם הנתונים שהמודל פוגש היום שונים מהנתונים שעליהם אומן, הביצועים יורדים גם בלי שאיש נגע בקוד. ניטור ואימון מחדש הם התשובה של MLOps לכך.
עסק קטן שמשתמש ב-ChatGPT צריך MLOps?
בדרך כלל לא במובן הקלאסי, כי הוא לא מאמן מודל משלו. אבל הרעיונות דומים: לעקוב אחרי איכות התשובות, לשמור גרסאות של הפרומפטים ולבדוק מה קורה כשהספק מחליף מודל. לזה קוראים לפעמים LLMOps.
מה ההבדל בין MLOps ל-DevOps?
DevOps עוסק בתוכנה, שמשתנה כשמשנים את הקוד. MLOps מוסיף ניהול של נתונים ומודלים, שמשתנים ונשחקים גם בלי שינוי בקוד, ולכן דורש גם בדיקות לנתונים ואימון מחדש.