זהו חלק 3 של הסדרה שלנו, שבו אנו מתכננים ומיישמים צינור MLOps לבדיקת איכות חזותית בקצה. בפוסט זה, אנו מתמקדים כיצד להפוך את חלק פריסת הקצה של צינור MLOps מקצה לקצה. אנו מראים לך כיצד להשתמש AWS IoT Greengrass לנהל מסקנות מודל בקצה וכיצד להפוך את התהליך לאוטומטי באמצעות פונקציות שלב AWS ושירותי AWS אחרים.
סקירת פתרונות
In חלק 1 מסדרה זו, קבענו ארכיטקטורה עבור צינור MLOps מקצה לקצה שלנו, אשר מבצעת אוטומציה של כל תהליך למידת המכונה (ML), החל מתיוג נתונים ועד אימון מודלים ופריסה בקצה. ב חלק 2, הראינו כיצד להפוך את חלקי התיוג וההכשרה לאוטומטיים של הצינור.
מקרה השימוש לדוגמה המשמש לסדרה זו הוא פתרון לבדיקת איכות ויזואלית שיכול לזהות פגמים בתגי מתכת, אותם ניתן לפרוס כחלק מתהליך ייצור. התרשים הבא מציג את הארכיטקטורה ברמה גבוהה של צינור MLOps שהגדרנו בתחילת סדרה זו. אם עדיין לא קראת אותו, אנו ממליצים לבדוק חלק 1.
אוטומציה של פריסת הקצה של מודל ML
לאחר הכשרה והערכה של מודל ML, יש לפרוס אותו למערכת ייצור כדי לייצר ערך עסקי על ידי ביצוע תחזיות על נתונים נכנסים. תהליך זה יכול להפוך במהירות למורכב בסביבת קצה שבה יש צורך לפרוס מודלים ולהפעיל אותם במכשירים הממוקמים לרוב הרחק מסביבת הענן בה הוכשרו הדגמים. להלן כמה מהאתגרים הייחודיים ללמידת מכונה בקצה:
- לעתים קרובות יש לבצע אופטימיזציה של דגמי ML עקב אילוצי משאבים במכשירי קצה
- לא ניתן לפרוס מחדש מכשירי אדג' או אפילו להחליף אותם כמו שרת בענן, אז אתה צריך פריסת מודל חזק ותהליך ניהול מכשירים
- התקשורת בין התקנים לענן צריכה להיות יעילה ומאובטחת מכיוון שהיא עוברת לעתים קרובות רשתות לא מהימנות ברוחב פס נמוך
בואו נראה כיצד נוכל להתמודד עם האתגרים הללו עם שירותי AWS בנוסף לייצוא המודל בפורמט ONNX, המאפשר לנו, למשל, ליישם אופטימיזציות כמו קוונטיזציה כדי להקטין את גודל המודל עבור התקני אילוץ. ONNX מספק גם זמני ריצה מותאמים עבור פלטפורמות החומרה הקצה הנפוצות ביותר.
לפירוק תהליך פריסת הקצה, אנו דורשים שני מרכיבים:
- מנגנון פריסה לאספקת המודל, הכולל את המודל עצמו והיגיון עסקי כלשהו לניהול ואינטראקציה עם המודל
- מנוע זרימת עבודה שיכול לתזמר את כל התהליך כדי להפוך את זה לחזק וניתן לחזור עליו
בדוגמה זו, אנו משתמשים בשירותי AWS שונים כדי לבנות את מנגנון פריסת הקצה האוטומטי שלנו, המשלב את כל הרכיבים הנדרשים עליהם דנו.
ראשית, אנו מדמים מכשיר קצה. כדי שיהיה לך פשוט לעבור את זרימת העבודה מקצה לקצה, אנו משתמשים ב- ענן מחשוב אלסטי של אמזון (Amazon EC2) מופע לדמות התקן קצה על ידי התקנת תוכנת AWS IoT Greengrass Core על המופע. אתה יכול גם להשתמש במופעי EC2 כדי לאמת את הרכיבים השונים בתהליך QA לפני פריסה למכשיר ייצור קצה בפועל. AWS IoT Greengrass הוא שירות זמן ריצה וענן בקוד פתוח של האינטרנט של הדברים (Internet of Things) שעוזר לך לבנות, לפרוס ולנהל תוכנות קצה. AWS IoT Greengrass מפחית את המאמץ לבנות, לפרוס ולנהל תוכנות קצה של מכשירי קצה בצורה מאובטחת וניתנת להרחבה. לאחר התקנת תוכנת AWS IoT Greengrass Core במכשיר שלך, תוכל להוסיף או להסיר תכונות ורכיבים ולנהל את יישומי מכשירי ה-IoT שלך באמצעות AWS IoT Greengrass. הוא מציע הרבה רכיבים מובנים כדי להקל על חייכם, כמו רכיבי ה-StreamManager ו-MQTT, שבהם תוכלו להשתמש כדי לתקשר בצורה מאובטחת עם הענן, התומכים בהצפנה מקצה לקצה. אתה יכול להשתמש בתכונות אלה כדי להעלות תוצאות מסקנות ותמונות ביעילות.
בסביבת ייצור, בדרך כלל תהיה לך מצלמה תעשייתית שמספקת תמונות שעבורן מודל ה-ML אמור לייצר תחזיות. עבור ההגדרה שלנו, אנו מדמים קלט תמונה זו על ידי העלאת הגדרה מראש של תמונות לספרייה ספציפית במכשיר הקצה. לאחר מכן אנו משתמשים בתמונות אלה כקלט מסקנות עבור המודל.
חילקנו את תהליך הפריסה וההסקה הכולל לשלושה שלבים רצופים כדי לפרוס מודל ML מאומן בענן לסביבת קצה ולהשתמש בו לחיזוי:
- להכין - ארוז את הדגם המאומן לפריסת קצה.
- לפרוס – העברת רכיבי דגם והסקת מסקנות מהענן למכשיר הקצה.
- הסקה - טען את המודל והפעל קוד מסקנות לחיזוי תמונה.
דיאגרמת הארכיטקטורה הבאה מציגה את הפרטים של תהליך שלושת השלבים הזה וכיצד יישמנו אותו עם שירותי AWS.
בסעיפים הבאים, אנו דנים בפרטים עבור כל שלב ומראים כיצד להטמיע תהליך זה בתזמור אוטומטי וניתן לחזור על עצמו וזרימת עבודה CI/CD הן עבור דגמי ה-ML והן עבור קוד ההסקה המתאים.
להכין
מכשירי Edge מגיעים לרוב עם מחשוב וזיכרון מוגבלים בהשוואה לסביבת ענן שבה מעבדים ו-GPUs רבי עוצמה יכולים להריץ דגמי ML בקלות. טכניקות שונות לאופטימיזציה של מודלים מאפשרות לך להתאים מודל לפלטפורמת תוכנה או חומרה ספציפית כדי להגביר את מהירות החיזוי מבלי לאבד את הדיוק.
בדוגמה זו, ייצאנו את המודל המאומן בצנרת ההדרכה לפורמט ONNX עבור ניידות, אופטימיזציות אפשריות, כמו גם זמני ריצה קצה אופטימליים, ורשמה את המודל בתוך רישום הדגמים של אמזון SageMaker. בשלב זה, אנו יוצרים רכיב מודל חדש של Greengrass הכולל את המודל הרשום העדכני ביותר לפריסה הבאה.
לפרוס
מנגנון פריסה מאובטח ואמין הוא המפתח בעת פריסת מודל מהענן למכשיר קצה. מכיוון ש-AWS IoT Greengrass כבר משלבת מערכת פריסת קצה חזקה ומאובטחת, אנו משתמשים בכך למטרות הפריסה שלנו. לפני שנסתכל על תהליך הפריסה שלנו בפירוט, בואו נעשה סקירה מהירה על איך פועלות פריסות AWS IoT Greengrass. בליבת מערכת הפריסה של AWS IoT Greengrass נמצאים רכיבים, המגדירים את מודולי התוכנה הפרוסים למכשיר קצה המריץ AWS IoT Greengrass Core. אלה יכולים להיות רכיבים פרטיים שאתה בונה או רכיבים ציבוריים שמסופקים על ידי אחד מהם AWS או הרחב יותר קהילת גרינגראס. ניתן לאגד רכיבים מרובים יחד כחלק מפריסה. תצורת פריסה מגדירה את הרכיבים הכלולים בפריסה ואת התקני היעד של הפריסה. ניתן להגדיר אותו בקובץ תצורת פריסה (JSON) או באמצעות מסוף AWS IoT Greengrass בעת יצירת פריסה חדשה.
אנו יוצרים את שני הרכיבים הבאים של Greengrass, אשר נפרסים לאחר מכן למכשיר הקצה באמצעות תהליך הפריסה:
- דגם ארוז (רכיב פרטי) – רכיב זה מכיל את המודל המאומן וה-ML בפורמט ONNX.
- קוד מסקנות (רכיב פרטי) - מלבד מודל ה-ML עצמו, עלינו ליישם לוגיקה של יישום כדי לטפל במשימות כמו הכנת נתונים, תקשורת עם המודל להסקת מסקנות, ועיבוד שלאחר מכן של תוצאות מסקנות. בדוגמה שלנו, פיתחנו רכיב פרטי מבוסס Python לטיפול במשימות הבאות:
- התקן את רכיבי זמן הריצה הנדרשים כמו חבילת Ultralytics YOLOv8 Python.
- במקום לצלם תמונות מזרם חי של מצלמה, אנו מדמים זאת על ידי טעינת תמונות מוכנות ממדריך ספציפי והכנת נתוני התמונה בהתאם לדרישות הקלט של הדגם.
- בצע שיחות מסקנות נגד המודל הטעון עם נתוני התמונה המוכנים.
- בדוק את התחזיות והעלה תוצאות מסקנות בחזרה לענן.
אם אתה רוצה להסתכל לעומק על קוד ההסקה שבנינו, עיין ב- GitHub ריפו.
הסקה
תהליך ההסקת המודל במכשיר הקצה מתחיל אוטומטית לאחר סיום הפריסה של הרכיבים הנ"ל. רכיב ההסקה המותאם אישית מריץ מעת לעת את מודל ה-ML עם תמונות ממדריך מקומי. תוצאת ההסקה לכל תמונה המוחזרת מהמודל היא טנזור עם התוכן הבא:
- ציוני ביטחון - עד כמה המודל בטוח לגבי הגילויים
- קואורדינטות אובייקט - קואורדינטות אובייקט השריטה (x, y, רוחב, גובה) שזוהו על ידי הדגם בתמונה
במקרה שלנו, רכיב ההסקה דואג לשלוח תוצאות מסקנות לנושא MQTT ספציפי ב-AWS IoT שם ניתן לקרוא אותו להמשך עיבוד. ניתן לצפות בהודעות אלה דרך לקוח הבדיקה של MQTT במסוף IoT של AWS לצורך איתור באגים. במסגרת ייצור ניתן להחליט להודיע אוטומטית למערכת אחרת שדואגת להסיר תגי מתכת פגומים מפס הייצור.
תזמורת
כפי שניתן לראות בסעיפים הקודמים, נדרשים שלבים מרובים כדי להכין ולפרוס מודל ML, קוד ההסקה המתאים וזמן הריצה או הסוכן הנדרש להתקן קצה. Step Functions הוא שירות מנוהל במלואו המאפשר לך לתזמן את השלבים הייעודיים הללו ולעצב את זרימת העבודה בצורה של מכונת מצב. האופי חסר השרת של שירות זה ויכולות Step Functions מקוריות כמו שילובי AWS service API מאפשרים לך להגדיר במהירות את זרימת העבודה הזו. יכולות מובנות כמו ניסיונות חוזרים או רישום הם נקודות חשובות לבניית תזמורות חזקות. לפרטים נוספים לגבי הגדרת מכונת המדינה עצמה, עיין ב- מאגר GitHub או בדוק את גרף מכונת המצב במסוף Step Functions לאחר פריסת דוגמה זו בחשבונך.
פריסת תשתית ושילוב ב-CI/CD
צינור ה-CI/CD לשילוב ובניית כל רכיבי התשתית הנדרשים עוקב אחר אותו דפוס המודגם ב- חלק 1 של הסדרה הזו. אנו משתמשים ב- ערכת פיתוח ענן AWS (AWS CDK) כדי לפרוס את הצינורות הנדרשים מהם קוד צינור AWS.
למידות
ישנן מספר דרכים לבנות ארכיטקטורה עבור מערכת פריסת קצה של מודל ML אוטומטי, חזק ומאובטח, שלעתים קרובות תלויות מאוד במקרה השימוש ובדרישות אחרות. עם זאת, הנה כמה לומדות שנרצה לחלוק איתך:
- להעריך מראש אם הנוסף דרישות משאבי המחשוב של AWS IoT Greengrass להתאים את המקרה שלך, במיוחד עם התקני קצה מוגבלים.
- צור מנגנון פריסה המשלב שלב אימות של החפצים שנפרסו לפני הפעלתם על התקן הקצה כדי להבטיח שלא התרחשה התעסקות במהלך השידור.
- זה נוהג טוב לשמור על רכיבי הפריסה ב-AWS IoT Greengrass מודולריים ועצמאיים ככל האפשר כדי להיות מסוגלים לפרוס אותם באופן עצמאי. לדוגמה, אם יש לך מודול קוד הסקה קטן יחסית אבל מודל ML גדול מבחינת גודל, אתה לא תמיד רוצה לפרוס את שניהם אם רק קוד ההסקה השתנה. זה חשוב במיוחד כאשר יש לך רוחב פס מוגבל או קישוריות התקן בעלות גבוהה.
סיכום
בכך מסתיימת הסדרה בת שלושת החלקים שלנו על בניית צינור MLOps מקצה לקצה לבדיקת איכות חזותית בקצה. בדקנו את האתגרים הנוספים שמגיעים עם פריסת מודל ML בקצה כמו אריזת מודל או תזמור פריסה מורכב. הטמענו את הצינור בצורה אוטומטית לחלוטין כדי שנוכל להכניס את הדגמים שלנו לייצור בצורה חזקה, מאובטחת, ניתנת לחזרה וניתנת למעקב. אל תהסס להשתמש בארכיטקטורה ובהטמעה שפותחו בסדרה זו כנקודת התחלה לפרויקט הבא שלך התומך ב-ML. אם יש לך שאלות איך לתכנן ולבנות מערכת כזו עבור הסביבה שלך, בבקשה להושיט יד. לנושאים אחרים ומקרי שימוש, עיין בכתובת שלנו למידת מכונה ו IOT בלוגים.
על המחברים
מייקל רות ' הוא ארכיטקט פתרונות בכיר ב-AWS התומך בלקוחות ייצור בגרמניה כדי לפתור את האתגרים העסקיים שלהם באמצעות טכנולוגיית AWS. מלבד עבודה ומשפחה הוא מתעניין במכוניות ספורט ונהנה מקפה איטלקי.
יורג ווהרלה הוא אדריכל פתרונות ב-AWS, עובד עם לקוחות יצרניים בגרמניה. עם תשוקה לאוטומציה, יורג עבד כמפתח תוכנה, מהנדס DevOps ומהנדס אמינות אתרים בחייו לפני ה-AWS. מעבר לענן, הוא רץ שאפתן ונהנה מזמן איכות עם משפחתו. אז אם יש לך אתגר DevOps או רוצה לצאת לריצה: הודע לו.
יוהנס לנגר הוא אדריכל פתרונות בכיר ב-AWS, עובד עם לקוחות ארגוניים בגרמניה. יוהנס נלהב ליישם למידת מכונה כדי לפתור בעיות עסקיות אמיתיות. בחייו האישיים, יוהנס נהנה לעבוד על פרויקטים לשיפור הבית ולבלות בחוץ עם משפחתו.
- הפצת תוכן ויחסי ציבור מופעל על ידי SEO. קבל הגברה היום.
- PlatoData.Network Vertical Generative Ai. העצים את עצמך. גישה כאן.
- PlatoAiStream. Web3 Intelligence. הידע מוגבר. גישה כאן.
- PlatoESG. פחמן, קלינטק, אנרגיה, סביבה, שמש, ניהול פסולת. גישה כאן.
- PlatoHealth. מודיעין ביוטכנולוגיה וניסויים קליניים. גישה כאן.
- מקור: https://aws.amazon.com/blogs/machine-learning/build-an-end-to-end-mlops-pipeline-for-visual-quality-inspection-at-the-edge-part-3/
- :יש ל
- :הוא
- :איפה
- $ למעלה
- 150
- 7
- a
- יכול
- אודות
- פי
- חֶשְׁבּוֹן
- דיוק
- ממשי
- להוסיף
- תוספת
- נוסף
- לקדם
- לאחר
- נגד
- סוֹכֵן
- תעשיות
- להתיר
- מאפשר
- כְּבָר
- גם
- תמיד
- אמזון בעברית
- אמזון
- אמזון שירותי אינטרנט
- שאפתן
- an
- ו
- אחר
- כל
- API
- בקשה
- יישומים
- החל
- מריחה
- ארכיטקטורה
- ARE
- AS
- בצד
- At
- אוטומטי
- אוטומטי
- אוטומטית
- באופן אוטומטי
- אוטומציה
- רָחוֹק
- AWS
- AWS IoT Greengrass
- בחזרה
- רוחב פס
- BE
- כי
- להיות
- היה
- לפני
- ההתחלה
- מלבד
- בֵּין
- מעבר
- גָדוֹל
- בלוגים
- שניהם
- רחב
- ברוקר
- לִבנוֹת
- בִּניָן
- נבנה
- מובנה
- ארוז
- עסקים
- אבל
- by
- שיחות
- חדר
- CAN
- יכולות
- אשר
- מכוניות
- מקרה
- מקרים
- לאתגר
- האתגרים
- השתנה
- לבדוק
- בדיקה
- לקוחות
- ענן
- קוד
- קָפֶה
- איך
- Common
- להעביר
- תקשורת
- לעומת
- מורכב
- רְכִיב
- רכיבים
- לחשב
- בטוח
- תְצוּרָה
- קישוריות
- רצופים
- קונסול
- אילוצים
- מכיל
- תוכן
- ליבה
- תוכנת ליבה
- תוֹאֵם
- עלות
- לִיצוֹר
- יוצרים
- מנהג
- לקוחות
- נתונים
- הכנת נתונים
- להחליט
- מוקדש
- עמוק יותר
- לְהַגדִיר
- מוגדר
- מגדיר
- הגדרה
- אספקה
- מסירה
- תלוי
- לפרוס
- פרס
- פריסה
- פריסה
- פריסות
- עיצוב
- פרט
- פרטים
- לאתר
- זוהה
- מפותח
- מפתח
- צעצועי התפתחות
- מכשיר
- התקנים
- אחר
- לדון
- נָדוֹן
- מחולק
- do
- לא
- מטה
- ראוי
- בְּמַהֲלָך
- כל אחד
- קל יותר
- בקלות
- אדג '
- יעיל
- יעילות
- מאמץ
- או
- שבץ
- הצף
- מקצה לקצה
- מנוע
- מהנדס
- לְהַבטִיחַ
- מִפְעָל
- שלם
- סביבה
- במיוחד
- העריך
- אֲפִילוּ
- דוגמה
- משפחה
- רחוק
- אופנה
- פגום
- תכונות
- להרגיש
- מעטים
- שלח
- מתאים
- להתמקד
- הבא
- כדלקמן
- בעד
- טופס
- פוּרמָט
- חופשי
- החל מ-
- לגמרי
- פונקציות
- נוסף
- ליצור
- גרמניה
- Go
- טוב
- GPUs
- גרף
- לטפל
- קרה
- חומרה
- יש
- גובה
- עוזר
- כאן
- גָבוֹהַ
- ברמה גבוהה
- לו
- שֶׁלוֹ
- עמוד הבית
- איך
- איך
- אולם
- HTML
- http
- HTTPS
- if
- תמונה
- תמונות
- ליישם
- הפעלה
- יושם
- חשוב
- השבחה
- in
- כלול
- כולל
- כולל
- נכנס
- להגדיל
- באופן עצמאי
- התעשייה
- תשתית
- קלט
- להתקין
- התקנה
- למשל
- לשלב
- משלב
- השתלבות
- ואינטגרציות
- אינטראקציה
- מעוניין
- אינטרנט
- אינטרנט של דברים
- אל תוך
- IOT
- מכשיר IoT
- IT
- איטלקית
- עצמו
- jpg
- ג'סון
- רק
- שמור
- מפתח
- לדעת
- תיוג
- האחרון
- למידה
- לתת
- החיים
- כמו
- מוגבל
- קו
- לינקדין
- לחיות
- לִטעוֹן
- טוען
- מקומי
- ממוקם
- רישום
- הגיון
- נראה
- נראה
- לאבד
- מגרש
- מכונה
- למידת מכונה
- לעשות
- עשייה
- לנהל
- הצליח
- ניהול
- ייצור
- מנגנון
- זכרון
- הודעות
- מתכת
- מיכאל
- ML
- MLOps
- מודל
- מודלים
- מודולרי
- מודול
- מודולים
- יותר
- רוב
- מספר
- יליד
- טבע
- צורך
- צרכי
- חדש
- הבא
- לא
- אובייקט
- of
- המיוחדות שלנו
- לעתים קרובות
- on
- קוד פתוח
- אופטימיזציה
- or
- תזמור
- אחר
- שלנו
- הַחוּצָה
- בחוץ
- מקיף
- חבילה
- אריזה
- חלק
- חלקים
- תשוקה
- לוהט
- תבנית
- עבור
- אישי
- צינור
- פלטפורמה
- פלטפורמות
- אפלטון
- מודיעין אפלטון
- אפלטון נתונים
- אנא
- נקודה
- נקודות
- הִטַלטְלוּת
- אפשרי
- הודעה
- חזק
- תרגול
- נבואה
- התחזיות
- הכנה
- להכין
- מוּכָן
- העריכה
- פְּרָטִי
- בעיות
- תהליך
- תהליך
- לייצר
- הפקה
- פּרוֹיֶקט
- פרויקטים
- ובלבד
- מספק
- ציבורי
- למטרות
- גם
- פיתון
- שאלות ותשובות
- איכות
- שאלות
- מָהִיר
- מהירות
- חומר עיוני
- ממשי
- לסכם
- להמליץ
- להפחית
- מפחית
- להתייחס
- בדבר
- רשום
- יחסית
- אמינות
- אָמִין
- להסיר
- הסרת
- הָדִיר
- החליף
- לדרוש
- נדרש
- דרישות
- משאב
- תוצאה
- תוצאות
- חָסוֹן
- הפעלה
- רץ
- ריצה
- פועל
- בעל חכמים
- אותו
- להרחבה
- לגרד
- סעיפים
- לבטח
- מאובטח
- לִרְאוֹת
- לראות
- שליחה
- לחצני מצוקה לפנסיונרים
- סדרה
- שרת
- ללא שרת
- שרות
- שירותים
- סט
- הצבה
- התקנה
- שיתוף
- צריך
- לְהַצִיג
- הראה
- הופעות
- אתר
- מידה
- קטן
- So
- תוכנה
- פִּתָרוֹן
- פתרונות
- לפתור
- כמה
- ספציפי
- מְהִירוּת
- הוצאה
- ספורט
- החל
- התחלות
- מדינה
- שלב
- צעדים
- פשוט
- זרם
- לאחר מכן
- כזה
- מסייע
- מערכת
- לְהִתְמוֹדֵד
- לוקח
- נטילת
- יעד
- משימות
- טכניקות
- טכנולוגיה
- מונחים
- מבחן
- זֶה
- השמיים
- המדינה
- שֶׁלָהֶם
- אותם
- אז
- אלה
- דברים
- זֶה
- אלה
- שְׁלוֹשָׁה
- שלושה שלבים
- דרך
- זמן
- ל
- יַחַד
- נושא
- נושאים
- ניתן למעקב
- מְאוּמָן
- הדרכה
- להעביר
- שתיים
- בדרך כלל
- ייחודי
- העלאה
- us
- להשתמש
- במקרה להשתמש
- מְשׁוּמָשׁ
- באמצעות
- לְאַמֵת
- ערך
- אימות
- מאוד
- באמצעות
- רוצה
- דֶרֶך..
- דרכים
- we
- אינטרנט
- שירותי אינטרנט
- טוֹב
- מתי
- אשר
- כל
- רוחב
- עם
- בתוך
- לְלֹא
- תיק עבודות
- עבד
- זרימת עבודה
- עובד
- היה
- X
- עוד
- אתה
- זפירנט