בניית פלטפורמת פעולות למידת מכונה (MLOps) בנוף המתפתח במהירות של בינה מלאכותית (AI) ולמידת מכונה (ML) עבור ארגונים חיונית לגשר בצורה חלקה על הפער בין ניסויים במדעי הנתונים והפריסה תוך עמידה בדרישות סביב ביצועי המודל. אבטחה ותאימות.
על מנת לעמוד בדרישות הרגולציה והתאימות, הדרישות העיקריות בעת תכנון פלטפורמה כזו הן:
- סחיפה של נתוני כתובת
- מעקב אחר ביצועי הדגם
- הקל על הסבה אוטומטית של דגם
- לספק תהליך לאישור המודל
- שמור דגמים בסביבה מאובטחת
בפוסט זה, אנו מראים כיצד ליצור מסגרת MLOps כדי לתת מענה לצרכים הללו תוך שימוש בשילוב של שירותי AWS וערכות כלים של צד שלישי. הפתרון כרוך בהגדרה רב-סביבתית עם הדרכה אוטומטית של מודלים, הסקת אצווה וניטור עם אמזון SageMaker דגם צג, גירסת מודל עם SageMaker מודל הרישום, וצינור CI/CD כדי להקל על קידום קוד ML וצינורות על פני סביבות על ידי שימוש אמזון SageMaker, אמזון EventBridge, שירות התראה פשוט של אמזון (אמזון S3), HashiCorp Terraform, GitHub, ו ג'נקינס CI/CD. אנו בונים מודל לניבוי חומרת (שפיר או ממאיר) של נגע מסה ממוגרפי שאומן עם אלגוריתם XGBoost באמצעות הזמין לציבור UCI ממוגרפיה מסה מערך נתונים ופרוס אותו באמצעות מסגרת MLOps. ההוראות המלאות עם הקוד זמינות ב- מאגר GitHub.
סקירת פתרונות
דיאגרמת הארכיטקטורה הבאה מציגה סקירה כללית של מסגרת MLOps עם מרכיבי המפתח הבאים:
- אסטרטגיית ריבוי חשבונות – שתי סביבות שונות (dev ו-prod) מוגדרות בשני חשבונות AWS שונים בהתאם לשיטות העבודה המומלצות של AWS Well-Architected, וחשבון שלישי מוגדר ברישום המודלים המרכזי:
- סביבת פיתוח – איפה א דומיין אמזון SageMaker Studio מוגדר כדי לאפשר פיתוח מודל, אימון מודל ובדיקה של צינורות ML (רכב והסקת מסקנות), לפני שמודל מוכן לקידום לסביבות גבוהות יותר.
- סביבת פרוד - היכן מקודמים צינורות ה-ML מ-dev כצעד ראשון, ומתוזמנים ומפוקחים לאורך זמן.
- רישום דגמים מרכזי - רישום הדגמים של אמזון SageMaker מוגדר בחשבון AWS נפרד כדי לעקוב אחר גרסאות מודל שנוצרו על פני סביבות ה-dev ו-prod.
- בקרת CI/CD ומקור – הפריסה של צינורות ML בין סביבות מטופלת באמצעות CI/CD שהוגדרו עם Jenkins, יחד עם בקרת גרסאות המטופלת באמצעות GitHub. שינויי קוד שמוזגו לסביבה המקבילה גיt branch מפעיל זרימת עבודה CI/CD כדי לבצע שינויים מתאימים בסביבת היעד הנתונה.
- תחזיות אצווה עם ניטור מודל – צינור ההסקה שנבנה עם צינורות SageMaker של אמזון פועל על בסיס מתוזמן כדי ליצור תחזיות יחד עם ניטור מודלים באמצעות SageMaker Model Monitor כדי לזהות סחיפה של נתונים.
- מנגנון הסבה אוטומטי - צינור האימון שנבנה עם SageMaker Pipelines מופעל בכל פעם שמתגלה סחף נתונים בצינור ההסקה. לאחר הכשרה, הדגם נרשם במרשם הדגמים המרכזי כדי שיאושר על ידי מאשר דגם. כאשר הוא מאושר, גרסת הדגם המעודכנת משמשת ליצירת תחזיות דרך צינור ההסקה.
- תשתית כקוד – התשתית כקוד (IaC), שנוצרה באמצעות HashiCorp Terraform, תומך בתזמון של צינור ההסקה עם EventBridge, הפעלת צינור הרכבת בהתבסס על כלל EventBridge ושליחת התראות באמצעות שירות התראה פשוט של אמזון (Amazon SNS) נושאים.
זרימת העבודה של MLOps כוללת את השלבים הבאים:
- גשו לדומיין SageMaker Studio בחשבון הפיתוח, שיבטו את מאגר GitHub, עברו על תהליך פיתוח המודל באמצעות המודל לדוגמה שסופק, והפקו את צינורות הרכבת וההסקה.
- הפעל את צינור הרכבת בחשבון הפיתוח, אשר יוצר את חפצי המודל עבור גרסת המודל המאומן ורושם את המודל לתוך SageMaker Model Registry בחשבון רישום המודל המרכזי.
- אשר את הדגם ב- SageMaker Model Registry בחשבון רישום המודלים המרכזי.
- דחוף את הקוד (צינורות רכבת והסקה, וקוד Terraform IaC כדי ליצור את לוח הזמנים של EventBridge, כלל EventBridge ונושאי SNS) לתוך ענף תכונה של מאגר GitHub. צור בקשת משיכה למיזוג הקוד לענף הראשי של מאגר GitHub.
- הפעל את צינור ה-CI/CD של Jenkins, המוגדר עם מאגר GitHub. צינור ה-CI/CD פורס את הקוד בחשבון ה-prod כדי ליצור את צינורות הרכבת וההסקות יחד עם קוד Terraform כדי לספק את לוח הזמנים של EventBridge, כלל EventBridge ונושאי SNS.
- צינור ההסקה מתוכנן לפעול על בסיס יומי, בעוד שצינור הרכבת מוגדר לפעול בכל פעם שמתגלה סחף נתונים מצינור ההסקה.
- הודעות נשלחות דרך נושא SNS בכל פעם שיש כשל ברכבת או בצינור ההסקה.
תנאים מוקדמים
לפתרון זה, יהיו לך התנאים המוקדמים הבאים:
- שלושה חשבונות AWS (חשבונות מפתח, ייצור ודגמים מרכזיים ברישום)
- דומיין של SageMaker Studio שהוגדר בכל אחד משלושת חשבונות AWS (ראה על הסיפון לאמזון SageMaker Studio או צפו בסרטון הכנס במהירות לאמזון SageMaker Studio להוראות התקנה)
- Jenkins (אנו משתמשים ב-Jenkins 2.401.1) עם הרשאות ניהול המותקנות ב-AWS
- Terraform גרסה 1.5.5 ואילך מותקנת בשרת Jenkins
עבור פוסט זה, אנו עובדים ב- us-east-1
אזור לפרוס את הפתרון.
אספקת מפתחות KMS בחשבונות מפתחים ופרודים
הצעד הראשון שלנו הוא ליצור שירות ניהול מפתח AWS (AWS KMS) מפתחות בחשבונות הפיתוח והפרוד.
צור מפתח KMS בחשבון הפיתוח ותן גישה לחשבון ה-Prod
השלם את השלבים הבאים כדי ליצור מפתח KMS בחשבון המפתח:
- במסוף AWS KMS, בחר מפתחות בניהול לקוחות בחלונית הניווט.
- בחרו צור מפתח.
- בעד סוג מפתח, בחר סימטרי.
- בעד שימוש מפתח, בחר הצפנה ופענוח.
- בחרו הַבָּא.
- הזן את מספר חשבון הייצור כדי לתת לחשבון הייצור גישה למפתח ה-KMS שהוקצה בחשבון המפתח. זהו שלב נדרש מכיוון שבפעם הראשונה שהמודל מאומן בחשבון ה-dev, חפצי המודל מוצפנים עם מפתח KMS לפני שהם נכתבים ל-S3 bucket בחשבון רישום המודל המרכזי. חשבון הייצור זקוק לגישה למפתח ה-KMS כדי לפענח את חפצי המודל ולהפעיל את צינור ההסקה.
- בחרו הַבָּא וסיים ליצור את המפתח שלך.
לאחר הקצאת המפתח, הוא אמור להיות גלוי במסוף AWS KMS.
צור מפתח KMS בחשבון ה-prod
עברו על אותם השלבים בסעיף הקודם כדי ליצור מפתח KMS מנוהל על ידי לקוח בחשבון ה-prod. אתה יכול לדלג על השלב כדי לשתף את מפתח KMS לחשבון אחר.
הגדר דלי של חפצי מודל S3 בחשבון הרישום המרכזי של המודלים
צור דלי S3 לבחירתך עם המחרוזת sagemaker
במוסכמות השמות כחלק מהשם של הדלי בחשבון הרישום המרכזי של המודל, ועדכן את מדיניות ה-bucket ב-S3 כדי לתת הרשאות הן מחשבונות ה-dev והן מחשבונות ה-prod לקרוא ולכתוב חפצי מודל לתוך דלי S3.
הקוד הבא הוא מדיניות הדלי שיש לעדכן בדלי S3:
הגדר תפקידי IAM בחשבונות AWS שלך
השלב הבא הוא להגדיר AWS זהות וניהול גישה (IAM) תפקידים בחשבונות AWS שלך עם הרשאות עבור AWS למבדה, SageMaker וג'נקינס.
תפקיד ביצוע למבדה
להקים תפקידי ביצוע למבדה בחשבונות הפיתוח והפרוד, שישמשו את פונקציית Lambda המופעלת כחלק מה- SageMaker Pipelines למבדה צעד. שלב זה ירוץ מצינור ההסקות כדי להביא את המודל האחרון שאושר, באמצעותו נוצרות מסקנות. צור תפקידי IAM בחשבונות הפיתוח והפרוד עם מוסכמות השמות arn:aws:iam::<account-id>:role/lambda-sagemaker-role
וצרף את מדיניות IAM הבאה:
- מדיניות 1 – צור מדיניות מוטבעת בשם
cross-account-model-registry-access
, המעניק גישה לחבילת המודל שהוגדרה ברישום המודלים בחשבון המרכזי: - מדיניות 2 – צרף AmazonSageMakerFullAccess, שהוא מדיניות מנוהלת AWS המעניק גישה מלאה ל- SageMaker. זה גם מספק גישה נבחרת לשירותים קשורים, כגון קנה מידה אוטומטי של יישום AWS, אמזון S3, מרשם מיכל אלסטי של אמזון (אמזון ECR), ו יומני CloudWatch של אמזון.
- מדיניות 3 – צרף AWSLambda_FullAccess, שהיא מדיניות מנוהלת AWS המעניקה גישה מלאה ל- Lambda, תכונות קונסולת Lambda ושירותי AWS קשורים אחרים.
- מדיניות 4 - השתמש במדיניות האמון הבאה של IAM עבור תפקיד IAM:
תפקיד ביצוע של SageMaker
לדומיינים של SageMaker Studio שהוגדרו בחשבונות הפיתוח והפרוד צריכים להיות לכל אחד תפקיד ביצוע משויך, אותו ניתן למצוא ב- הגדרות דומיין הכרטיסייה בדף פרטי הדומיין, כפי שמוצג בצילום המסך הבא. תפקיד זה משמש להפעלת עבודות הדרכה, עבודות עיבוד ועוד בתוך תחום SageMaker Studio.
הוסף את המדיניות הבאה לתפקיד הביצוע של SageMaker בשני החשבונות:
- מדיניות 1 – צור מדיניות מוטבעת בשם
cross-account-model-artifacts-s3-bucket-access
, המעניק גישה לדלי S3 בחשבון רישום המודלים המרכזי, המאחסן את חפצי הדגם: - מדיניות 2 – צור מדיניות מוטבעת בשם
cross-account-model-registry-access
, המעניק גישה לחבילת המודל במרשם המודלים בחשבון רישום המודלים המרכזי: - מדיניות 3 – צור מדיניות מוטבעת בשם
kms-key-access-policy
, המעניק גישה למפתח KMS שנוצר בשלב הקודם. ספק את מזהה החשבון שבו נוצרת המדיניות ואת מזהה מפתח KMS שנוצר בחשבון זה. - מדיניות 4 – צרף AmazonSageMakerFullAccess, שהוא מדיניות מנוהלת AWS המעניק גישה מלאה ל- SageMaker וגישה נבחרת לשירותים קשורים.
- מדיניות 5 – צרף AWSLambda_FullAccess, שהיא מדיניות מנוהלת AWS המעניקה גישה מלאה ל- Lambda, תכונות קונסולת Lambda ושירותי AWS קשורים אחרים.
- מדיניות 6 – צרף CloudWatchEventsFullAccess, שהיא מדיניות מנוהלת AWS המעניקה גישה מלאה לאירועי CloudWatch.
- מדיניות 7 – הוסף את מדיניות האמון הבאה של IAM עבור תפקיד IAM לביצוע SageMaker:
- מדיניות 8 (ספציפית לתפקיד הביצוע של SageMaker בחשבון ה-prod) – צור מדיניות מוטבעת בשם
cross-account-kms-key-access-policy
, המעניק גישה למפתח KMS שנוצר בחשבון ה-dev. זה נדרש כדי שצינור ההסקה יקרא חפצי מודל המאוחסנים בחשבון רישום המודל המרכזי שבו חפצי המודל מוצפנים באמצעות מפתח KMS מחשבון הפיתוח כאשר הגרסה הראשונה של המודל נוצרת מחשבון הפיתוח.
תפקיד ג'נקינס חוצה חשבונות
הגדר תפקיד IAM בשם cross-account-jenkins-role
בחשבון ה-prod, אשר ג'נקינס יניח לפרוס צינורות ML ותשתית תואמת בחשבון ה-prod.
הוסף את מדיניות IAM המנוהלת הבאה לתפקיד:
CloudWatchFullAccess
AmazonS3FullAccess
AmazonSNSFullAccess
AmazonSageMakerFullAccess
AmazonEventBridgeFullAccess
AWSLambda_FullAccess
עדכן את יחסי האמון בתפקיד כדי לתת הרשאות לחשבון AWS המארח את שרת Jenkins:
עדכון הרשאות בתפקיד IAM המשויך לשרת Jenkins
בהנחה שג'נקינס הוגדר ב-AWS, עדכן את תפקיד IAM המשויך לג'נקינס כדי להוסיף את המדיניות הבאה, שתעניק לג'נקינס גישה לפרוס את המשאבים בחשבון ה-prod:
- מדיניות 1 – צור את המדיניות המוטבעת הבאה בשם
assume-production-role-policy
: - מדיניות 2 – צרף את
CloudWatchFullAccess
מדיניות IAM מנוהלת.
הגדר את קבוצת חבילת המודל בחשבון רישום המודלים המרכזי
מהדומיין של SageMaker Studio בחשבון רישום המודלים המרכזי, צור קבוצת חבילות מודל בשם mammo-severity-model-package
באמצעות קטע הקוד הבא (שאותו תוכל להפעיל באמצעות מחברת Jupyter):
הגדר גישה לחבילת המודל עבור תפקידי IAM בחשבונות המפתחים והפרוד
מתן גישה לתפקידי הביצוע של SageMaker שנוצרו בחשבונות ה-dev ו-prod כדי שתוכל לרשום גרסאות מודל בחבילת המודל mammo-severity-model-package
ברישום המודלים המרכזי משני החשבונות. מהדומיין של SageMaker Studio בחשבון הרישום של המודל המרכזי, הפעל את הקוד הבא במחברת Jupyter:
הגדר את ג'נקינס
בסעיף זה, אנו מגדירים את Jenkins ליצור את צינורות ה-ML ואת תשתית ה-Terraform המתאימה בחשבון ה-prod דרך צינור ה-CI/CD של Jenkins.
- במסוף CloudWatch, צור קבוצת יומן בשם
jenkins-log
בתוך חשבון ה-prod שאליו ידחוף ג'נקינס יומנים מצינור ה-CI/CD. יש ליצור את קבוצת היומן באותו אזור שבו מוגדר שרת Jenkins. - התקן את התוספים הבאים בשרת ג'נקינס שלך:
- הגדר אישורי AWS בג'נקינס באמצעות תפקיד IAM חוצה חשבונות (
cross-account-jenkins-role
) מסופק בחשבון ה-prod. - בעד תצורת מערכת, בחר AWS.
- ספק את האישורים ואת קבוצת היומן של CloudWatch שיצרת קודם לכן.
- הגדר אישורי GitHub בתוך Jenkins.
- צור פרויקט חדש בג'נקינס.
- הזן שם פרויקט ובחר צינור.
- על כללי בחר, בחר פרויקט GitHub ולהיכנס למזלג מאגר GitHub כתובת אתר.
- בחר פרויקט זה הוא בעל פרמטרים.
- על הוסף פרמטר בתפריט, בחר פרמטר מחרוזת.
- בעד שם, להיכנס
prodAccount
. - בעד ערך ברירת מחדל, הזן את מזהה חשבון ה-Prod.
- תַחַת אפשרויות פרויקט מתקדמות, עבור הַגדָרָה, בחר תסריט צינור מ-SCM.
- בעד SCM, בחר Git.
- בעד כתובת אתר של מאגר, היכנס למזלג מאגר GitHub כתובת אתר.
- בעד אישורים, הזן את האישורים של GitHub שנשמרו בג'נקינס.
- זן
main
ב סניפים לבנות סעיף, שעל פיו יופעל צינור ה-CI/CD. - בעד נתיב תסריט, להיכנס
Jenkinsfile
. - בחרו שמור.
הצינור של Jenkins צריך להיווצר ולראות בלוח המחוונים שלך.
לספק דליים S3, לאסוף ולהכין נתונים
השלם את השלבים הבאים כדי להגדיר את הדליים והנתונים של S3 שלך:
- צור דלי S3 לבחירתך עם המחרוזת
sagemaker
באמנה למתן שמות כחלק מהשם של הדלי גם בחשבונות מפתחים וגם בחשבונות פרוד לאחסון מערכי נתונים וחפצי מודל. - הגדר דלי S3 כדי לשמור על מצב Terraform בחשבון ה-prod.
- הורד ושמור את הזמין לציבור UCI ממוגרפיה מסה מערך הנתונים ל-S3 bucket שיצרת קודם לכן בחשבון ה-dev.
- מזלג ושיבוט את מאגר GitHub בתוך התחום של SageMaker Studio בחשבון ה-dev. ל-repo יש את מבנה התיקיות הבא:
- /environments - סקריפט תצורה עבור סביבת פרוד
- /mlops-infra – קוד לפריסת שירותי AWS באמצעות קוד Terraform
- /צינורות – קוד לרכיבי צנרת SageMaker
- ג'נקינספיל - סקריפט לפריסה דרך Jenkins CI/CD pipeline
- setup.py - נדרש להתקין את מודולי Python הנדרשים וליצור את פקודת run-pipeline
- mammography-severity-modeling.ipynb - מאפשר לך ליצור ולהפעיל את זרימת העבודה של ML
- צור תיקיה בשם נתונים בתוך תיקיית מאגר GitHub המשובטת ושמור עותק של הקובץ הזמין לציבור UCI ממוגרפיה מסה מערך נתונים.
- עקוב אחר מחברת Jupyter
mammography-severity-modeling.ipynb
. - הפעל את הקוד הבא במחברת כדי לעבד מראש את מערך הנתונים ולהעלות אותו לדלי S3 בחשבון המפתח:
הקוד יפיק את מערכי הנתונים הבאים:
-
- data/ mammo-train-dataset-part1.csv - ישמש לאימון הגרסה הראשונה של הדגם.
- data/ mammo-train-dataset-part2.csv – ישמש לאימון הגרסה השנייה של המודל יחד עם מערך הנתונים mammo-train-dataset-part1.csv.
- data/mammo-batch-dataset.csv - ישמש ליצירת מסקנות.
- data/mammo-batch-dataset-outliers.csv - יכניס חריגים לתוך מערך הנתונים כדי להיכשל בצינור ההסקה. זה יאפשר לנו לבדוק את הדפוס להפעלת הדרכה אוטומטית של המודל.
- העלה את מערך הנתונים
mammo-train-dataset-part1.csv
תחת הקידומתmammography-severity-model/train-dataset
, והעלה את מערכי הנתוניםmammo-batch-dataset.csv
וmammo-batch-dataset-outliers.csv
לקידומתmammography-severity-model/batch-dataset
של דלי S3 שנוצר בחשבון ה-dev: - העלה את מערכי הנתונים
mammo-train-dataset-part1.csv
וmammo-train-dataset-part2.csv
תחת הקידומתmammography-severity-model/train-dataset
לתוך דלי S3 שנוצר בחשבון ה-prod דרך קונסולת Amazon S3. - העלה את מערכי הנתונים
mammo-batch-dataset.csv
וmammo-batch-dataset-outliers.csv
לקידומתmammography-severity-model/batch-dataset
של דלי S3 בחשבון ה-prod.
הפעל את צינור הרכבת
תַחַת <project-name>/pipelines/train
, אתה יכול לראות את הסקריפטים הבאים של Python:
- scripts/raw_preprocess.py - משתלב עם SageMaker Processing להנדסת תכונות
- scripts/evaluate_model.py - מאפשר חישוב מדדי מודל, במקרה זה
auc_score
- train_pipeline.py – מכיל את הקוד עבור צינור ההדרכה של המודל
בצע את הצעדים הבאים:
- העלה את הסקריפטים לאמזון S3:
- קבל את מופע צינור הרכבת:
- שלח את צינור הרכבת והפעל אותו:
האיור הבא מציג ריצה מוצלחת של צינור האימונים. השלב האחרון בצנרת רושם את המודל בחשבון רישום המודל המרכזי.
אשר את הדגם במרשם המודלים המרכזי
היכנס לחשבון הרישום המרכזי של המודלים ועבור לרישום המודלים של SageMaker בתוך תחום SageMaker Studio. שנה את סטטוס גרסת הדגם ל-Approved.
לאחר האישור, יש לשנות את הסטטוס בגרסת הדגם.
הפעל את צינור ההסקה (אופציונלי)
שלב זה אינו נדרש אך אתה עדיין יכול להפעיל את צינור ההסקה כדי ליצור תחזיות בחשבון המפתח.
תַחַת <project-name>/pipelines/inference
, אתה יכול לראות את הסקריפטים הבאים של Python:
- scripts/lambda_helper.py - שולף את גרסת הדגם המאושרת האחרונה מחשבון רישום הדגמים המרכזי באמצעות שלב של SageMaker Pipelines Lambda
- inference_pipeline.py – מכיל את הקוד עבור צינור ההסקת המודל
בצע את הצעדים הבאים:
- העלה את הסקריפט ל-S3 bucket:
- קבל את מופע צינור ההסקה באמצעות מערך הנתונים הרגיל של אצווה:
- שלח את צינור ההסקה והפעל אותו:
האיור הבא מציג ריצה מוצלחת של צינור ההסקה. השלב האחרון בצנרת מייצר את התחזיות ומאחסן אותן בדלי S3. אנו משתמשים MonitorBatchTransformStep כדי לפקח על התשומות לעבודת ההמרה האצווה. אם יש חריגים, צינור ההסקה עובר למצב כשל.
הפעל את הצינור של ג'נקינס
השמיים environment/
התיקיה בתוך מאגר GitHub מכילה את סקריפט התצורה של חשבון ה-prod. השלם את השלבים הבאים כדי להפעיל את הצינור של Jenkins:
- עדכן את סקריפט התצורה
prod.tfvars.json
בהתבסס על המשאבים שנוצרו בשלבים הקודמים: - לאחר העדכון, דחוף את הקוד למאגר GitHub המפוצל ומזג את הקוד לסניף הראשי.
- עבור אל Jenkins UI, בחר בנה עם פרמטרים, והפעל את צינור ה-CI/CD שנוצר בשלבים הקודמים.
כאשר הבנייה הושלמה ומוצלחת, תוכל להיכנס לחשבון ה-prod ולראות את צינורות הרכבת וההסקה בתוך תחום SageMaker Studio.
בנוסף, תראה שלושה כללים של EventBridge בקונסולת EventBridge בחשבון ה-prod:
- תזמן את צינור ההסקה
- שלח הודעת כשל בצינור הרכבת
- כאשר צינור ההסקה לא מצליח להפעיל את צינור הרכבת, שלח הודעה
לבסוף, תראה נושא הודעות SNS בקונסולת ה-SNS של אמזון ששולחת הודעות באמצעות דואר אלקטרוני. תקבל דוא"ל המבקש ממך לאשר את קבלת הודעות האימייל האלה.
בדוק את צינור ההסקה באמצעות מערך נתונים אצווה ללא חריגים
כדי לבדוק אם צינור ההסקה פועל כצפוי בחשבון ה-prod, אנו יכולים להיכנס לחשבון ה-prod ולהפעיל את צינור ההסקה באמצעות מערך הנתונים האצווה ללא חריגים.
הפעל את הצינור דרך מסוף SageMaker Pipelines בדומיין SageMaker Studio של חשבון ה-prod, שבו transform_input
יהיה S3 URI של מערך הנתונים ללא חריגים (s3://<s3-bucket-in-prod-account>/mammography-severity-model/data/mammo-batch-dataset.csv
).
צינור ההסקה מצליח וכותב את התחזיות בחזרה לדלי S3.
בדוק את צינור ההסקה באמצעות מערך נתונים אצווה עם חריגים
אתה יכול להפעיל את צינור ההסקה באמצעות מערך הנתונים האצווה עם חריגים כדי לבדוק אם מנגנון ההכשרה האוטומטית פועל כמצופה.
הפעל את הצינור דרך מסוף SageMaker Pipelines בדומיין SageMaker Studio של חשבון ה-prod, שבו transform_input
יהיה S3 URI של מערך הנתונים עם חריגים (s3://<s3-bucket-in-prod-account>/mammography-severity-model/data/mammo-batch-dataset-outliers.csv
).
צינור ההסקה נכשל כצפוי, מה שמפעיל את כלל EventBridge, אשר בתורו מפעיל את צינור הרכבת.
לאחר מספר רגעים, אתה אמור לראות ריצה חדשה של צינור הרכבת בקונסולת SageMaker Pipelines, אשר קולטת את שני מערכי הנתונים השונים של הרכבת (mammo-train-dataset-part1.csv
ו mammo-train-dataset-part2.csv
) הועלה לדלי S3 כדי לאמן מחדש את הדגם.
תראה גם הודעה שנשלחה למייל שנרשם לנושא SNS.
כדי להשתמש בגרסת הדגם המעודכנת, היכנס לחשבון רישום המודל המרכזי ואשר את גרסת הדגם, שתיאסף במהלך ההרצה הבאה של צינור ההסקה המופעל באמצעות כלל EventBridge המתוזמן.
למרות שצינורות הרכבת וההסקה משתמשים בכתובת URL סטטית של מערך נתונים, אתה יכול להעביר את כתובת האתר של מערך הנתונים לרכבת ולצינורות ההסקה כמשתנים דינמיים על מנת להשתמש במערך נתונים מעודכן כדי לאמן מחדש את המודל וליצור תחזיות בתרחיש אמיתי.
לנקות את
כדי להימנע מחיובים עתידיים, בצע את השלבים הבאים:
- הסר את דומיין SageMaker Studio מכל חשבונות AWS.
- מחק את כל המשאבים שנוצרו מחוץ ל-SageMaker, כולל דלי S3, תפקידי IAM, כללי EventBridge ונושאי SNS שהוגדרו דרך Terraform בחשבון ה-prod.
- מחק את צינורות SageMaker שנוצרו בין חשבונות באמצעות ה ממשק שורת הפקודה של AWS (AWS CLI).
סיכום
לעתים קרובות ארגונים צריכים ליישר קו עם ערכות כלים כלל-ארגוניות כדי לאפשר שיתוף פעולה בין תחומים פונקציונליים וצוותים שונים. שיתוף הפעולה הזה מבטיח שפלטפורמת ה-MLOps שלך תוכל להתאים לצרכים העסקיים המתפתחים ומאיץ את האימוץ של ML בין צוותים. פוסט זה הסביר כיצד ליצור מסגרת MLOps במערך רב-סביבתי כדי לאפשר הדרכה אוטומטית של מודלים, הסקת אצווה וניטור עם Amazon SageMaker Model Monitor, ניהול גרסאות עם SageMaker Model Registry, וקידום של קוד ML וצינורות בסביבות עם צינור CI/CD. הצגנו פתרון זה באמצעות שילוב של שירותי AWS וערכות כלים של צד שלישי. להנחיות ליישום פתרון זה, עיין ב- מאגר GitHub. אתה יכול גם להרחיב את הפתרון הזה על ידי הבאת מקורות נתונים ומסגרות מודלים משלך.
על הכותבים
גאיאטרי גנקוטה הוא מהנדס למידת מכונה Sr. עם שירותים מקצועיים של AWS. היא נלהבת בפיתוח, פריסה והסבר של פתרונות AI/ML בתחומים שונים. לפני תפקיד זה, היא הובילה יוזמות מרובות כמדען נתונים ומהנדס ML עם חברות גלובליות מובילות בתחום הפיננסי והקמעונאי. היא בעלת תואר שני במדעי המחשב המתמחה במדעי נתונים מאוניברסיטת קולורדו, בולדר.
Sunita Koppar הוא אדריכל Sr. Data Lake עם שירותים מקצועיים של AWS. היא נלהבת בפתרון נקודות כאב של לקוחות בעיבוד ביג דאטה ומתן פתרונות הניתנים להרחבה לטווח ארוך. לפני תפקיד זה, היא פיתחה מוצרים בתחום האינטרנט, הטלקום ותחום הרכב, והייתה לקוחה של AWS. היא בעלת תואר שני במדעי נתונים מאוניברסיטת קליפורניה, ריברסייד.
סאסוואטה דאש הוא יועץ DevOps עם שירותים מקצועיים של AWS. היא עבדה עם לקוחות בתחומי בריאות ומדעי החיים, תעופה וייצור. היא נלהבת מכל מה שקשור לאוטומציה ויש לה ניסיון מקיף בתכנון ובניית פתרונות לקוחות בקנה מידה ארגוני ב-AWS. מחוץ לעבודה, היא רודפת אחר התשוקה שלה לצילום ולתפוס זריחות.
- הפצת תוכן ויחסי ציבור מופעל על ידי SEO. קבל הגברה היום.
- PlatoData.Network Vertical Generative Ai. העצים את עצמך. גישה כאן.
- PlatoAiStream. Web3 Intelligence. הידע מוגבר. גישה כאן.
- PlatoESG. פחמן, קלינטק, אנרגיה, סביבה, שמש, ניהול פסולת. גישה כאן.
- PlatoHealth. מודיעין ביוטכנולוגיה וניסויים קליניים. גישה כאן.
- מקור: https://aws.amazon.com/blogs/machine-learning/promote-pipelines-in-a-multi-environment-setup-using-amazon-sagemaker-model-registry-hashicorp-terraform-github-and-jenkins-ci-cd/
- :יש ל
- :הוא
- :לֹא
- :איפה
- $ למעלה
- 1
- 10
- 100
- 12
- 13
- 14
- 16
- 17
- 19
- 23
- 27
- 31
- 320
- 7
- 8
- 9
- a
- אודות
- מאיץ
- קבלה
- גישה
- חֶשְׁבּוֹן
- חשבונות
- לרוחב
- פעולה
- להסתגל
- להוסיף
- כתובת
- מנהלי
- אימוץ
- לאחר
- גיל
- AI
- ליישר
- תעשיות
- להתיר
- מאפשר
- לאורך
- גם
- אמזון בעברית
- אמזון SageMaker
- אמזון שירותי אינטרנט
- an
- ו
- אחר
- כל
- בקשה
- מתאים
- לאשר
- מאושר
- ארכיטקטורה
- ARE
- אזורים
- סביב
- מלאכותי
- בינה מלאכותית
- בינה מלאכותית (AI)
- AS
- לשאול
- המשויך
- לְהַנִיחַ
- לצרף
- המכונית
- אוטומטי
- מכני עם סלילה אוטומטית
- אוטומציה
- רכב
- זמין
- תעופה
- לְהִמָנַע
- AWS
- לקוח AWS
- שירותים מקצועיים של AWS
- בחזרה
- מבוסס
- בסיס
- BE
- כי
- היה
- לפני
- להיות
- הטוב ביותר
- שיטות עבודה מומלצות
- בֵּין
- גָדוֹל
- נתונים גדולים
- שניהם
- סניף
- גישור
- מביאים
- לִבנוֹת
- בִּניָן
- נבנה
- עסקים
- אבל
- by
- חישוב
- קליפורניה
- נקרא
- CAN
- מקרה
- מֶרכָּזִי
- שינוי
- השתנה
- שינויים
- חיובים
- לבדוק
- בחירה
- בחרו
- קוד
- שיתוף פעולה
- לגבות
- קולורדו
- טור
- עמודות
- COM
- שילוב
- להשלים
- הענות
- רכיבים
- מַקִיף
- המחשב
- מדעי מחשב
- מצב
- תְצוּרָה
- לאשר
- קונסול
- יועץ
- מכולה
- מכיל
- לִשְׁלוֹט
- אמנה
- להמיר
- תוֹאֵם
- לִיצוֹר
- נוצר
- יוצרים
- אישורים
- לַחֲצוֹת
- לקוח
- פתרונות ללקוח
- לקוחות
- יומי
- לוח מחוונים
- נתונים
- אגם דאטה
- מדע נתונים
- מדען נתונים
- מערכי נתונים
- פענוח
- בְּרִירַת מֶחדָל
- תואר
- לפרוס
- פריסה
- פריסה
- פורס
- תכנון
- פרטים
- לאתר
- זוהה
- dev
- מפותח
- מתפתח
- צעצועי התפתחות
- DICT
- אחר
- תחום
- תחומים
- בְּמַהֲלָך
- דינמי
- כל אחד
- מוקדם יותר
- השפעה
- או
- אמייל
- מיילים
- לאפשר
- מוצפן
- מהנדס
- מבטיח
- זן
- סביבה
- סביבות
- חיוני
- אירועים
- מתפתח
- הוצאת להורג
- צפוי
- ניסיון
- מוסבר
- המסביר
- להאריך
- לְהַקֵל
- FAIL
- נכשל
- נכשל
- כשלון
- מאפיין
- תכונות
- מעטים
- תרשים
- שלח
- סופי
- כספי
- גימור
- חברות
- ראשון
- firsttime
- הבא
- בעד
- מצא
- מסגרת
- מסגרות
- החל מ-
- הגשמה
- מלא
- פונקציה
- פונקציונלי
- עתיד
- פער
- ליצור
- נוצר
- מייצר
- לקבל
- Git
- GitHub
- לתת
- נתן
- נותן
- גלוֹבָּלִי
- Go
- Goes
- מענקים
- קְבוּצָה
- יש
- בריאות
- לה
- גבוה יותר
- מחזיק
- אירוח
- איך
- איך
- HTML
- http
- HTTPS
- ID
- זהות
- if
- יישום
- לייבא
- in
- כולל
- כולל
- מדד
- תשתית
- בהתחלה
- יוזמות
- תשומות
- להתקין
- מותקן
- למשל
- הוראות
- משלב
- מוֹדִיעִין
- אינטרנט
- אל תוך
- מבוא
- IT
- עבודה
- מקומות תעסוקה
- jpg
- ג'סון
- מפתח
- מפתחות
- תווית
- אגם
- נוף
- מאוחר יותר
- האחרון
- למידה
- הוביל
- ממונפות
- החיים
- מדעי חיים
- קו
- היכנס
- לטווח ארוך
- מכונה
- למידת מכונה
- ראשי
- לתחזק
- לעשות
- הצליח
- ניהול
- ייצור
- שולים
- מסה
- מאסטר
- מנגנון
- מפגש
- תפריט
- למזג
- מדדים
- חסר
- ML
- MLOps
- מודל
- דוגמנות
- מודלים
- לשנות
- מודולים
- רגעים
- צג
- פיקוח
- ניטור
- יותר
- מספר
- שם
- שם
- שמות
- ניווט
- צורך
- נחוץ
- צרכי
- חדש
- הבא
- נוֹרמָלִי
- מחברה
- הודעה
- הודעות
- מספר
- קהות
- of
- לעתים קרובות
- on
- ONE
- תפעול
- or
- להזמין
- ארגונים
- אחר
- הַחוּצָה
- בחוץ
- יותר
- סקירה
- שֶׁלוֹ
- חבילה
- עמוד
- כְּאֵב
- דובי פנדה
- זגוגית
- חלק
- חלקים
- עבר
- תשוקה
- לוהט
- תבנית
- ביצועים
- הרשאות
- צילום
- הרים
- מבחר
- צינור
- פלטפורמה
- אפלטון
- מודיעין אפלטון
- אפלטון נתונים
- נקודות
- מדיניות
- מדיניות
- הודעה
- פרקטיקות
- לחזות
- התחזיות
- להכין
- תנאים מוקדמים
- קודם
- מנהל
- קודם
- הרשאות
- תהליך
- תהליך
- הפקה
- מוצרים
- מקצועי
- פּרוֹיֶקט
- לקדם
- מקודם
- קידום
- לספק
- ובלבד
- מספק
- מתן
- אַספָּקָה
- בפומבי
- מושך
- רודף
- דחוף
- פיתון
- מהירות
- מהר
- חי
- חומר עיוני
- מוכן
- עולם אמיתי
- באזור
- הירשם
- רשום
- רושמים
- רישום
- רגולטורים
- קָשׁוּר
- קשר
- להסיר
- מאגר
- לבקש
- נדרש
- דרישות
- משאב
- משאבים
- תגובה
- קמעוני
- לַחֲזוֹר
- גדות הנהר
- תפקיד
- תפקידים
- שורש
- כלל
- כללי
- הפעלה
- פועל
- בעל חכמים
- צינורות SageMaker
- אותו
- שמור
- הציל
- להרחבה
- תרחיש
- לוח זמנים
- מתוכנן
- תזמון
- מדע
- מדעים
- מַדְעָן
- תסריט
- סקריפטים
- בצורה חלקה
- שְׁנִיָה
- סעיף
- לבטח
- אבטחה
- לִרְאוֹת
- לשלוח
- שליחה
- שולח
- נשלח
- נפרד
- שרת
- שרות
- שירותים
- סט
- הגדרות
- התקנה
- צוּרָה
- שיתוף
- היא
- צריך
- לְהַצִיג
- הוצג
- הראה
- הופעות
- פָּשׁוּט
- קטע
- So
- פִּתָרוֹן
- פתרונות
- פותר
- מָקוֹר
- מקורות
- מֶרחָב
- מיוחד
- ספציפי
- לפצל
- מדינה
- הצהרה
- סטטי
- מצב
- שלב
- צעדים
- עוד
- חנות
- מאוחסן
- חנויות
- מחרוזת
- מִבְנֶה
- סטודיו
- מוצלח
- כזה
- תומך
- יעד
- צוותי
- טלקום
- Terraform
- מבחן
- בדיקות
- זֶה
- השמיים
- אותם
- אז
- שם.
- אלה
- דברים
- שְׁלִישִׁי
- צד שלישי
- זֶה
- שְׁלוֹשָׁה
- דרך
- זמן
- ל
- ערכות כלים
- חלק עליון
- נושא
- לעקוב
- רכבת
- מְאוּמָן
- הדרכה
- לשנות
- להפעיל
- מופעל
- מפעילה
- נָכוֹן
- סומך
- תור
- שתיים
- ui
- תחת
- אוניברסיטה
- אוניברסיטת קליפורניה
- עדכון
- מְעוּדכָּן
- נטען
- כתובת האתר
- us
- להשתמש
- מְשׁוּמָשׁ
- באמצעות
- תועלת
- ערכים
- שונים
- גרסה
- גירסאות
- באמצעות
- וִידֵאוֹ
- נראה
- שעון
- we
- אינטרנט
- שירותי אינטרנט
- מתי
- בכל פעם
- ואילו
- אשר
- בזמן
- יצטרך
- עם
- בתוך
- לְלֹא
- תיק עבודות
- עבד
- זרימת עבודה
- עובד
- עובד
- לכתוב
- כתוב
- אתה
- YouTube
- זפירנט