פוסט בלוג זה נכתב בשיתוף גיירמו ריביירו, מדען נתונים האב ב-Cepsa.
למידת מכונה (ML) התפתחה במהירות מטרנד אופנתי העולה מסביבות אקדמיות ומחלקות חדשנות לאמצעי מפתח לספק ערך לעסקים בכל ענף. המעבר הזה מניסויים במעבדות לפתרון בעיות בעולם האמיתי בסביבות ייצור הולך יד ביד MLOps, או ההתאמה של DevOps לעולם ה-ML.
MLOps מסייעת לייעל ולהפוך את מחזור החיים המלא של מודל ML לאוטומטי, תוך התמקדות במערך הנתונים של המקור, בשחזור הניסוי, בקוד האלגוריתם של ML ובאיכות המודל.
At Cepsa, חברת אנרגיה גלובלית, אנו משתמשים ב-ML כדי להתמודד עם בעיות מורכבות בקווי העסקים שלנו, החל מביצוע תחזוקה חזויה עבור ציוד תעשייתי ועד לניטור ושיפור תהליכים פטרוכימיים בבתי הזיקוק שלנו.
בפוסט זה, אנו דנים כיצד בנינו את ארכיטקטורת ההתייחסות שלנו עבור MLOps באמצעות שירותי המפתח הבאים של AWS:
- אמזון SageMaker, שירות לבנייה, אימון ופריסה של מודלים של ML
- פונקציות שלב AWS, שירות זרימת עבודה ויזואלית בקוד נמוך ללא שרת המשמש לתזמור ואוטומציה של תהליכים
- אמזון EventBridge, אוטובוס אירועים ללא שרת
- AWS למבדה, שירות מחשוב ללא שרתים המאפשר לך להריץ קוד מבלי להקצות או לנהל שרתים
אנו גם מסבירים כיצד יישמנו את ארכיטקטורת ההתייחסות הזו כדי לאתחל פרויקטי ML חדשים בחברה שלנו.
האתגר
במהלך 4 השנים האחרונות, מספר קווי עסקים ברחבי Cepsa הזניקו פרויקטים של ML, אך עד מהרה החלו להתעורר בעיות ומגבלות מסוימות.
לא הייתה לנו ארכיטקטורת ייחוס עבור ML, אז כל פרויקט הלך בנתיב יישום אחר, וביצע הדרכה ופריסה של מודל אד-הוק. ללא שיטה נפוצה לטיפול בקוד ופרמטרים של פרויקט וללא רישום מודל ML או מערכת גירסאות, איבדנו את העקיבות בין מערכי נתונים, קוד ומודלים.
זיהינו גם מקום לשיפור באופן שבו הפעלנו מודלים בייצור, מכיוון שלא עקבנו אחר דגמים שנפרסו ולכן לא היו לנו אמצעים לעקוב אחר ביצועי המודל. כתוצאה מכך, בדרך כלל הדרכנו מחדש מודלים על סמך לוחות זמנים, מכיוון שחסרו לנו המדדים הנכונים לקבל החלטות מושכלות לגבי הסבה מחדש.
הפתרון
החל מהאתגרים שעלינו להתגבר עליהם, תכננו פתרון כללי שמטרתו לנתק הכנת נתונים, אימון מודלים, מסקנות וניטור מודלים, והציג רישום מודלים מרכזי. בדרך זו, פישטנו את הניהול של סביבות על פני מספר חשבונות AWS, תוך הצגת מעקב מודל מרכזי.
מדעני הנתונים והמפתחים שלנו משתמשים AWS Cloud9 (IDE ענן לכתיבה, הפעלה ואיתור באגים של קוד) עבור סכסוך נתונים וניסויי ML ו-GitHub כמאגר הקוד של Git.
זרימת עבודה אוטומטית של הדרכה משתמשת בקוד שנבנה על ידי צוות מדעי הנתונים כדי הרכבת דגמים ב- SageMaker ולרשום דגמי פלט ברישום המודלים.
זרימת עבודה אחרת מנהלת את פריסת המודל: היא משיגה את ההפניה ממרשם המודל ויוצרת נקודת קצה באמצעות תכונות אירוח של דגם SageMaker.
הטמענו גם תהליכי הדרכה מודל וגם זרימות עבודה של פריסה באמצעות Step Functions, מכיוון שהיא סיפקה מסגרת גמישה המאפשרת יצירת זרימות עבודה ספציפיות עבור כל פרויקט ומתזמנת שירותים ורכיבים שונים של AWS בצורה פשוטה.
מודל צריכת נתונים
ב-Cepsa, אנו משתמשים בסדרה של אגמי נתונים כדי לכסות צרכים עסקיים מגוונים, וכל אגמי הנתונים הללו חולקים מודל צריכת נתונים משותף שמקל על מהנדסי נתונים ומדעני נתונים למצוא ולצרוך את הנתונים שהם צריכים.
כדי לטפל בקלות בעלויות ובאחריות, סביבות אגם נתונים מופרדות לחלוטין מיישומי יצרני נתונים וצרכנים, ונפרסות בחשבונות AWS שונים השייכים לארגון AWS משותף.
הנתונים המשמשים לאימון מודלים של ML והנתונים המשמשים כקלט מסקנות עבור מודלים מאומנים זמינים מאגמי הנתונים השונים באמצעות קבוצה של ממשקי API מוגדרים היטב באמצעות שער API של אמזון, שירות ליצירה, פרסום, תחזוקה, ניטור ואבטחת ממשקי API בקנה מידה. ה-API העורפי משתמש אמזונה אתנה (שירות שאילתות אינטראקטיבי לניתוח נתונים באמצעות SQL סטנדרטי) כדי לגשת לנתונים שכבר מאוחסנים ב שירות אחסון פשוט של אמזון (Amazon S3) ומקוטלג ב- דבק AWS קטלוג נתונים.
התרשים הבא מספק סקירה כללית של ארכיטקטורת MLOps של Cepsa.
אימון מודל
תהליך ההכשרה הינו עצמאי לכל דגם ומטופל על ידי א שלב פונקציות זרימת עבודה סטנדרטית, מה שנותן לנו גמישות למודל תהליכים המבוססים על דרישות פרויקט שונות. יש לנו תבנית בסיס מוגדרת שאנו עושים בה שימוש חוזר ברוב הפרויקטים, תוך ביצוע התאמות קלות בעת הצורך. לדוגמה, חלק מבעלי הפרויקטים החליטו להוסיף שערים ידניים כדי לאשר פריסות של דגמי ייצור חדשים, בעוד שבעלי פרויקטים אחרים יישמו מנגנוני זיהוי וניסיון חוזר משלהם.
אנו גם מבצעים טרנספורמציות על מערכי הנתונים המשמשים לאימון מודלים. למטרה זו אנו משתמשים בפונקציות Lambda המשולבות בתהליכי העבודה של ההדרכה. בתרחישים מסוימים שבהם נדרשות טרנספורמציות נתונים מורכבות יותר, אנו מריצים את הקוד שלנו פנימה שירות מיכלים אלסטי של אמזון (אמזון ECS) ב- AWS פרגייט, מנוע מחשוב ללא שרת להפעלת קונטיינרים.
צוות מדעי הנתונים שלנו משתמש באלגוריתמים מותאמים אישית לעתים קרובות, ולכן אנו מנצלים את היכולת לעשות זאת השתמש במיכלים מותאמים אישית בהדרכה של מודל SageMaker, בהסתמכות על מרשם מיכל אלסטי של אמזון (Amazon ECR), רישום קונטיינר מנוהל במלואו המקל על אחסון, ניהול, שיתוף ופריסה של תמונות קונטיינר.
רוב פרויקטי ה-ML שלנו מבוססים על ספריית Scikit-learn, ולכן הרחבנו את התקן מיכל SageMaker Scikit-Learn לכלול את משתני הסביבה הנדרשים לפרויקט, כגון מידע מאגר Git ואפשרויות פריסה.
עם גישה זו, מדעני הנתונים שלנו רק צריכים להתמקד בפיתוח אלגוריתם ההדרכה ולציין את הספריות הנדרשות על ידי הפרויקט. כשהם דוחפים שינויי קוד למאגר Git, מערכת ה-CI/CD שלנו (ג'נקינס מתארח ב-AWS) בונה את הקונטיינר עם קוד ההדרכה והספריות. מיכל זה נדחף לאמזון ECR ולבסוף מועבר כפרמטר לקריאת ההדרכה של SageMaker.
בסיום תהליך האימון, המודל המתקבל מאוחסן באמזון S3, מתווספת הפניה ברישום המודלים, וכל המידע והמדדים שנאספו נשמרים בקטלוג הניסויים. זה מבטיח שחזור מלא מכיוון שקוד האלגוריתם והספריות מקושרים למודל המאומן יחד עם הנתונים המשויכים לניסוי.
התרשים הבא ממחיש את תהליך ההכשרה וההכשרה מחדש של המודל.
פריסת מודלים
הארכיטקטורה גמישה ומאפשרת גם פריסה אוטומטית וגם ידנית של הדגמים המאומנים. זרימת העבודה של פריסת המודל מופעלת אוטומטית באמצעות אירוע שההכשרה של SageMaker מפרסמת ב-EventBridge לאחר סיום ההדרכה, אך ניתן גם להפעיל אותו ידנית במידת הצורך, תוך העברת גרסת הדגם הנכונה ממרשם המודלים. למידע נוסף על הפעלה אוטומטית, ראה אוטומציה של Amazon SageMaker עם Amazon EventBridge.
זרימת העבודה של פריסת המודלים מאחזרת את מידע המודל מרישום המודל ומשתמשים AWS CloudFormation, תשתית מנוהלת כשירות קוד, כדי לפרוס את המודל לנקודת קצה בזמן אמת או לבצע הסקת אצווה עם מערך קלט מאוחסן, בהתאם לדרישות הפרויקט.
בכל פעם שמודל נפרס בהצלחה בכל סביבה, רישום המודל מתעדכן בתג חדש המציין באילו סביבות המודל פועל כעת. בכל פעם שנקודת קצה מוסרת, התג שלה נמחק גם ממרשם המודלים.
התרשים הבא מציג את זרימת העבודה עבור פריסת מודלים והסקת מסקנות.
ניסויים ורישום מודלים
אחסון כל ניסוי וגרסת מודל במיקום בודד ובעל מאגר קוד מרכזי מאפשר לנו לנתק אימון ופריסה של מודלים ולהשתמש בחשבונות AWS שונים עבור כל פרויקט וסביבה.
כל ערכי הניסוי מאחסנים את מזהה ההתחייבות של קוד האימון וההסקת ההסקה, כך שיש לנו מעקב מלא של כל תהליך הניסוי ונוכל להשוות בקלות בין ניסויים שונים. זה מונע מאיתנו לבצע עבודה כפולה על שלב החקירה המדעית של אלגוריתמים ומודלים, ומאפשר לנו לפרוס את המודלים שלנו בכל מקום, ללא תלות בחשבון ובסביבה שבה המודל הוכשר. זה נכון גם לגבי מודלים שהוכשרו בסביבת הניסוי שלנו AWS Cloud9.
בסך הכל, יש לנו צינורות הדרכה ופריסה של מודלים אוטומטיים לחלוטין ויש לנו את הגמישות לבצע פריסת מודלים ידנית מהירה כאשר משהו אינו פועל כראוי או כאשר צוות צריך מודל לפרוס בסביבה אחרת למטרות ניסוי.
מקרה שימוש מפורט: פרויקט YET Dragon
פרויקט YET Dragon נועד לשפר את ביצועי הייצור של המפעל הפטרוכימי של Cepsa בשנחאי. כדי להשיג מטרה זו, למדנו את תהליך הייצור ביסודיות, וחיפשנו את השלבים הפחות יעילים. היעד שלנו היה להגביר את יעילות התפוקה של התהליכים על ידי שמירה על ריכוז הרכיבים בדיוק מתחת לסף.
כדי לדמות תהליך זה, בנינו ארבעה מודלים תוספים כלליים או GAM, מודלים ליניאריים שתגובתם תלויה בפונקציות חלקות של משתני מנבא, כדי לחזות את התוצאות של שני תהליכי חמצון, תהליך ריכוז אחד, והתשואה הנ"ל. כמו כן בנינו אופטימיזר לעיבוד התוצאות של ארבעת דגמי ה-GAM ולמצוא את האופטימיזציות הטובות ביותר שניתן ליישם במפעל.
למרות שהמודלים שלנו מאומנים עם נתונים היסטוריים, המפעל יכול לפעמים לפעול בנסיבות שלא נרשמו במערך ההדרכה; אנו מצפים שמודלי הסימולציה שלנו לא יעבדו טוב בתרחישים האלה, אז בנינו גם שני מודלים לזיהוי חריגות באמצעות אלגוריתמים של Isolation Forests, שקובעים עד כמה נקודות הנתונים לשאר הנתונים כדי לזהות את החריגות. מודלים אלה עוזרים לנו לזהות מצבים כאלה כדי להשבית את תהליכי האופטימיזציה האוטומטיים בכל פעם שזה קורה.
תהליכים כימיים תעשייתיים משתנים מאוד ודגמי ה-ML צריכים להיות מיושרים היטב עם פעולת המפעל, ולכן נדרשת הכשרה תכופה כמו גם מעקב אחר המודלים הנפרסים בכל מצב. YET Dragon היה פרויקט אופטימיזציית ה-ML הראשון שלנו הכולל רישום מודל, יכולת שחזור מלאה של הניסויים ותהליך אימון אוטומטי מנוהל במלואו.
כעת, הצינור המלא שמביא מודל לייצור (טרנספורמציה של נתונים, אימון מודלים, מעקב אחר ניסויים, רישום מודלים ופריסה של מודלים) אינו תלוי בכל מודל ML. זה מאפשר לנו לשפר מודלים באופן איטרטיבי (למשל הוספת משתנים חדשים או בדיקת אלגוריתמים חדשים) ולחבר את שלבי ההדרכה והפריסה לטריגרים שונים.
התוצאות והשיפורים העתידיים
כרגע אנחנו מסוגלים לאמן, לפרוס ולעקוב אוטומטית אחר ששת דגמי ה-ML המשמשים בפרויקט YET Dragon, וכבר פרסנו למעלה מ-30 גרסאות לכל אחד מדגמי הייצור. ארכיטקטורת MLOps זו הורחבה למאות דגמי ML בפרויקטים אחרים ברחבי החברה.
אנו מתכננים להמשיך להשיק פרויקטים חדשים של YET המבוססים על ארכיטקטורה זו, אשר הפחיתה את משך הפרויקט הממוצע ב-25%, הודות לצמצום זמן האתחול והאוטומציה של צינורות ML. כמו כן, הערכנו חיסכון של כ-300,000 אירו בשנה הודות לגידול בתשואה ובריכוז שהם תוצאה ישירה של פרויקט YET Dragon.
ההתפתחות לטווח הקצר של ארכיטקטורת MLOps זו היא לקראת ניטור מודלים ובדיקות אוטומטיות. אנו מתכננים לבדוק אוטומטית את יעילות המודל מול מודלים שנפרסו בעבר לפני פריסת מודל חדש. אנחנו גם עובדים ביישום של ניטור מודלים וניטור סחיפה של נתוני מסקנות אמזון SageMaker דגם צג, על מנת להפוך את הסבת המודל לאוטומטית.
סיכום
חברות עומדות בפני האתגר להביא את פרויקטי ה-ML שלהן לייצור באופן אוטומטי ויעיל. אוטומציה של מחזור החיים המלא של מודל ML עוזרת להפחית את זמני הפרויקט ומבטיחה איכות מודל טובה יותר ופריסות מהירות ותכופות יותר לייצור.
על ידי פיתוח ארכיטקטורת MLOps סטנדרטית שאומצה על ידי עסקים שונים ברחבי החברה, הצלחנו ב-Cepsa להאיץ את האתחול של פרויקטי ML ולשפר את איכות מודל ה-ML, תוך מתן מסגרת אמינה ואוטומטית שבה צוותי מדעי הנתונים שלנו יכולים לחדש מהר יותר. .
למידע נוסף על MLOps ב- SageMaker, בקר Amazon SageMaker עבור MLOps ובדוק מקרי שימוש אחרים של לקוחות ב- בלוג למידת מכונות AWS.
על המחברים
גיירמו ריביירו חימנס הוא Sr Data Scientist בCepsa עם דוקטורט. בפיזיקה גרעינית. יש לו ניסיון של 6 שנים בפרויקטים של מדע נתונים, בעיקר בתעשיית הטלקום והאנרגיה. כיום הוא מוביל צוותי מדעני נתונים במחלקת הטרנספורמציה הדיגיטלית של Cepsa, תוך התמקדות בקנה מידה והפקה של פרויקטים של למידת מכונה.
גיירמו מננדס קורל הוא אדריכל פתרונות ב-AWS Energy and Utilities. יש לו למעלה מ-15 שנות ניסיון בתכנון ובניית יישומי SW, וכיום הוא מספק הדרכה ארכיטקטונית ללקוחות AWS בתעשיית האנרגיה, תוך התמקדות באנליטיקה ולמידת מכונה.
- Coinsmart. בורסת הביטקוין והקריפטו הטובה באירופה.
- Platoblockchain. Web3 Metaverse Intelligence. ידע מוגבר. גישה חופשית.
- CryptoHawk. רדאר אלטקוין. ניסיון חינם.
- מקור: https://aws.amazon.com/blogs/machine-learning/how-cepsa-used-amazon-sagemaker-and-aws-step-functions-to-industrialize-their-ml-projects-and-operate- הדגמים-שלהם-בקנה מידה/
- "
- 000
- 100
- שנים 15
- a
- יכולת
- אודות
- גישה
- חֶשְׁבּוֹן
- להשיג
- לרוחב
- Ad
- הוסיף
- יתרון
- נגד
- אַלגוֹרִיתְם
- אלגוריתמים
- תעשיות
- מאפשר
- כְּבָר
- אמזון בעברית
- בין היתר
- ניתוח
- לנתח
- בְּכָל מָקוֹם
- API
- ממשקי API
- יישומים
- יישומית
- גישה
- לאשר
- אדריכלי
- ארכיטקטורה
- סביב
- המשויך
- אוטומטי
- אוטומטי
- מכני עם סלילה אוטומטית
- באופן אוטומטי
- אוטומציה
- אוטומציה
- זמין
- AWS
- כי
- התהוות
- לפני
- להיות
- להלן
- הטוב ביותר
- בלוג
- לִבנוֹת
- בִּניָן
- בונה
- עסקים
- עסקים
- מקרה
- מקרים
- מְרוּכָּז
- מסוים
- לאתגר
- האתגרים
- כימי
- ענן
- קוד
- לבצע
- Common
- חברה
- להשלים
- לחלוטין
- מורכב
- רְכִיב
- רכיבים
- לחשב
- ריכוז
- לְחַבֵּר
- לצרוך
- צרכן
- צְרִיכָה
- מכולה
- מכולות
- עלויות
- יכול
- לכסות
- לִיצוֹר
- יוצר
- יצירה
- כיום
- מנהג
- לקוח
- לקוחות
- נתונים
- מדע נתונים
- מדען נתונים
- החליט
- החלטות
- תלוי
- תלוי
- לפרוס
- פרס
- פריסה
- פריסות
- מעוצב
- תכנון
- מְפוֹרָט
- זוהה
- איתור
- לקבוע
- מפתחים
- מתפתח
- אחר
- דיגיטלי
- טרנספורמציה דיגיטלית
- ישיר
- לדון
- דְרָקוֹן
- כל אחד
- בקלות
- יְעִילוּת
- יעיל
- מתעורר
- מאפשר
- נקודת קצה
- אנרגיה
- מנוע
- מהנדסים
- סביבה
- ציוד
- מוערך
- אירוע
- אבולוציה
- בדיוק
- דוגמה
- לצפות
- ניסיון
- לְנַסוֹת
- חקירה
- מול
- מהר
- מהר יותר
- מאפיין
- מומלצים
- בסופו של דבר
- ראשון
- גמישות
- גמיש
- להתמקד
- הבא
- מסגרת
- החל מ-
- מלא
- פונקציות
- עתיד
- גייטס
- כללי
- Git
- GitHub
- גלוֹבָּלִי
- מטרה
- לטפל
- יש
- לעזור
- עוזר
- מאוד
- היסטורי
- מחזיק
- אירח
- אירוח
- איך
- HTTPS
- מאות
- תמונות
- הפעלה
- יושם
- לשפר
- השבחה
- שיפור
- באחר
- לכלול
- להגדיל
- עצמאי
- באופן עצמאי
- התעשייה
- תעשייה
- מידע
- הודעה
- תשתית
- חדשנות
- קלט
- משולב
- אינטראקטיבי
- החדרה
- בדידות
- בעיות
- IT
- שמור
- שמירה
- מפתח
- השקה
- מוביל
- למידה
- סִפְרִיָה
- קווים
- מיקום
- הסתכלות
- מכונה
- למידת מכונה
- עשוי
- לתחזק
- תחזוקה
- לעשות
- עושה
- לנהל
- הצליח
- ניהול
- דרך
- מדריך ל
- באופן ידני
- אומר
- מדדים
- ML
- מודל
- מודלים
- צג
- ניטור
- יותר
- רוב
- מספר
- צרכי
- להפעיל
- מבצע
- אופטימיזציה
- אפשרויות
- להזמין
- ארגון
- אחר
- שֶׁלוֹ
- בעלי
- חולף
- ביצועים
- ביצוע
- שלב
- פיסיקה
- נקודות
- לחזות
- בעיות
- תהליך
- תהליכים
- יַצרָן
- הפקה
- פּרוֹיֶקט
- פרויקטים
- ובלבד
- מספק
- מתן
- לפרסם
- מטרה
- למטרות
- דחף
- איכות
- זמן אמת
- להפחית
- הירשם
- רשום
- אָמִין
- מאגר
- נדרש
- דרישות
- תגובה
- אחריות
- REST
- וכתוצאה מכך
- תוצאות
- הפעלה
- ריצה
- סולם
- דרוג
- מדע
- מַדְעָן
- מדענים
- לבטח
- סדרה
- ללא שרת
- שרות
- שירותים
- סט
- שנחאי
- שיתוף
- טווח קצר
- פָּשׁוּט
- הדמיה
- יחיד
- מצב
- שישה
- So
- פִּתָרוֹן
- פתרונות
- כמה
- משהו
- ספציפי
- מְהִירוּת
- שלבים
- תֶקֶן
- החל
- אחסון
- חנות
- לייעל
- בהצלחה
- מערכת
- יעד
- נבחרת
- צוותי
- Telco
- מבחן
- בדיקות
- השמיים
- המקור
- לכן
- בִּיסוֹדִיוּת
- סף
- דרך
- זמן
- פִּי
- לקראת
- עקיבות
- לעקוב
- מעקב
- הדרכה
- טרנספורמציה
- טרנספורמציות
- מַעֲבָר
- תחת
- us
- להשתמש
- בְּדֶרֶך כְּלַל
- כלי עזר
- ערך
- גרסה
- מוגדר היטב
- בזמן
- לְלֹא
- תיק עבודות
- זרימות עבודה
- עובד
- עוֹלָם
- כתיבה
- שנה
- שנים
- תְשׁוּאָה