אינטליגנציה של נתונים גנרטיביים

בנה צינור MLOps מקצה לקצה באמצעות Amazon SageMaker Pipelines, GitHub ו-GitHub Actions | שירותי האינטרנט של אמזון

תאריך:

מודלים של למידת מכונה (ML) אינם פועלים בבידוד. כדי לספק ערך, עליהם להשתלב במערכות הייצור ובתשתית הקיימות, מה שמחייב לשקול את כל מחזור החיים של ML במהלך התכנון והפיתוח. פעולות ML, הידועות בשם MLOps, מתמקדות בייעול, אוטומציה וניטור מודלים של ML לאורך מחזור החיים שלהם. בניית צינור MLOps חזק דורשת שיתוף פעולה בין תפקודי. מדעני נתונים, מהנדסי ML, צוות IT וצוותי DevOps חייבים לעבוד יחד כדי להפעיל מודלים ממחקר ועד פריסה ותחזוקה. עם התהליכים והכלים הנכונים, MLOps מאפשרת לארגונים לאמץ באופן אמין ויעיל ML על פני הצוותים שלהם.

למרות שהדרישות של צינורות אינטגרציה מתמשכת ואספקה ​​מתמשכת (CI/CD) יכולות להיות ייחודיות ולשקף את הצרכים של כל ארגון, ניתן לפשט את קנה המידה של שיטות MLOps בין צוותים על ידי שימוש בתזמורות מנוהלות וכלים שיכולים להאיץ את תהליך הפיתוח ולהסיר את ההרמה הכבדה הבלתי מובחנת. .

Amazon SageMaker MLOps היא חבילת תכונות הכוללת Amazon SageMaker Projects (CI/CD), צינורות SageMaker של אמזון ו רישום הדגמים של אמזון SageMaker.

צינורות SageMaker מאפשר יצירה וניהול פשוטים של זרימות עבודה של ML, תוך מתן יכולות אחסון ושימוש חוזר עבור שלבי זרימת העבודה. ה SageMaker מודל הרישום מרכז את מעקב המודל, מפשט את פריסת המודל. SageMaker Projects מציג שיטות CI/CD ל-ML, כולל זוגיות סביבתית, בקרת גרסאות, בדיקות ואוטומציה. זה מאפשר הקמה מהירה של CI/CD בסביבת ה-ML שלך, ומאפשרת מדרגיות יעילה בכל הארגון שלך.

מובנית תבניות פרוייקט המסופקים על ידי אמזון SageMaker כוללים אינטגרציה עם חלק מכלי צד שלישי, כגון Jenkins לתזמור ו-GitHub עבור בקרת מקור, וכמה משתמשים בכלי CI/CD מקוריים של AWS, כגון AWS CodeCommit, קוד צינור AWS, ו בניית קוד AWS. עם זאת, בתרחישים רבים, לקוחות היו רוצים לשלב את SageMaker Pipelines עם כלי CI/CD קיימים אחרים ולכן, ליצור את תבניות הפרויקט המותאמות אישית שלהם.

בפוסט זה, אנו מראים לך יישום שלב אחר שלב להשגת הפעולות הבאות:

  • צור תבנית פרויקט מותאמת אישית של SageMaker MLOps המשתלבת עם פעולות GitHub ו- GitHub
  • הפוך את תבניות הפרויקט המותאמות אישית שלך לזמינות ב סטודיו SageMaker של אמזון עבור צוות מדעי הנתונים שלך עם הקצאה בלחיצה אחת

סקירת פתרונות

בפוסט זה, אנו בונים את הארכיטקטורה הבאה. אנו יוצרים צינור בניית מודל אוטומטי הכולל שלבים להכנת נתונים, אימון מודל, הערכת מודל ורישום של המודל המאומן ב- SageMaker Model Registry. מודל ה-ML המאומן המתקבל נפרס מ- SageMaker Model Registry לסביבות הבמה והייצור לאחר אישור ידני.

סקירת פתרונות

בואו נעמיק באלמנטים של ארכיטקטורה זו כדי להבין את התצורה המלאה.

פעולות GitHub ו- GitHub

GitHub היא פלטפורמה מבוססת אינטרנט המספקת בקרת גרסאות וניהול קוד מקור באמצעות Git. זה מאפשר לצוותים לשתף פעולה בפרויקטי פיתוח תוכנה, לעקוב אחר שינויים ולנהל מאגרי קוד. GitHub משמש כמיקום מרכזי לאחסון, גירסאות וניהול של בסיס קוד ה-ML שלך. זה מבטיח שבסיס קוד ה-ML והצינורות שלך מנוסחים, מתועדים ונגישים על ידי חברי הצוות.

פעולות GitHub הוא כלי אוטומציה רב עוצמה בתוך מערכת האקולוגית של GitHub. היא מאפשרת לך ליצור זרימות עבודה מותאמות אישית המייצרות אוטומציה של תהליכי מחזור החיים של פיתוח התוכנה שלך, כגון בנייה, בדיקה ופריסה של קוד. אתה יכול ליצור זרימות עבודה מונחות אירועים המופעלות על ידי אירועים ספציפיים, כמו כאשר קוד נדחף למאגר או נוצרת בקשת משיכה. בעת יישום MLOps, אתה יכול להשתמש ב-GitHub Actions כדי להפוך שלבים שונים של צינור ה-ML לאוטומטי, כגון:

  • אימות נתונים ועיבוד מקדים
  • הדרכה והערכה של מודלים
  • פריסה וניטור מודלים
  • CI/CD עבור דגמי ML

עם GitHub Actions, אתה יכול לייעל את זרימות העבודה שלך ב-ML ולהבטיח שהמודלים שלך נבנים, נבדקים ופורסים באופן עקבי, מה שמוביל לפריסות ML יעילות ואמינות יותר.

בסעיפים הבאים, אנו מתחילים בהגדרת התנאים המוקדמים הקשורים לחלק מהרכיבים שבהם אנו משתמשים כחלק מארכיטקטורה זו:

  • AWS CloudFormation - AWS CloudFormation יוזם את פריסת המודל ומקים את נקודות הקצה של SageMaker לאחר הפעלת צינור פריסת המודל על ידי אישור המודל המאומן.
  • חיבור AWS CodeStar - אנו משתמשים AWS CodeStar ליצור קישור עם מאגר GitHub ולהשתמש בו כשילוב קוד ריפו עם משאבי AWS, כמו SageMaker Studio.
  • אמזון EventBridge - אמזון EventBridge עוקב אחר כל השינויים ברישום המודלים. הוא גם שומר על כלל שמנחה את פונקציית Lambda לפרוס את צינור הדגם כאשר המצב של גרסת חבילת הדגם משתנה מ- PendingManualApproval ל Approved בתוך רישום הדגמים.
  • AWS למבדה – אנו משתמשים ב- AWS למבדה פונקציה כדי להפעיל את זרימת העבודה של פריסת המודל ב-GitHub Actions לאחר שמודל חדש נרשם ברישום המודל.
  • אמזון SageMaker - אנו מגדירים את רכיבי SageMaker הבאים:
    • צנרת - רכיב זה מורכב מגרף אציקלי מכוון (DAG) שעוזר לנו לבנות את זרימת העבודה האוטומטית של ML עבור שלבי הכנת הנתונים, אימון המודלים והערכת המודל. רישום המודלים שומר רשומות של גרסאות המודל, החפצים המשויכים אליהם, השושלת והמטא נתונים. מוקמת קבוצת חבילות מודל המאכלסת את כל גרסאות הדגמים הקשורות. מרשם המודלים אחראי גם על ניהול מצב האישור של גרסת הדגם לפריסה הבאה.
    • נקודת קצה - רכיב זה מגדיר שתי נקודות קצה של HTTPS בזמן אמת להסקת מסקנות. ניתן להתאים את תצורת האירוח, למשל, עבור טרנספורמציה אצווה או הסקה אסינכרונית. נקודת הסיום של השלב נוצרת כאשר צינור פריסת המודל מופעל על ידי אישור המודל המאומן מ- SageMaker Model Registry. נקודת קצה זו משמשת כדי לאמת את המודל שנפרס על ידי הבטחה שהוא מספק תחזיות העומדות בתקני הדיוק שלנו. כאשר המודל מוכן לפריסת ייצור, נקודת קצה ייצור נפרסת על ידי שלב אישור ידני בזרימת העבודה של GitHub Actions.
    • מאגר קוד - זה יוצר מאגר Git כמשאב בחשבון SageMaker שלך. באמצעות הנתונים הקיימים ממאגר הקודים של GitHub שהזנת במהלך יצירת פרויקט SageMaker שלך, נוצר שיוך לאותו מאגר ב-SageMaker כאשר אתה מתחיל את הפרויקט. זה בעצם יוצר קישור עם מאגר GitHub ב- SageMaker, המאפשר פעולות אינטראקטיביות (משיכה/דחיפה) עם המאגר שלך.
    • רישום דגמים - זה עוקב אחר הגרסאות השונות של המודל והחפצים המתאימים, הכולל שושלת ומטא נתונים. אוסף המכונה א קבוצת חבילות דגם נוצר, דיור גרסאות הקשורות למודל. יתרה מכך, מרשם המודלים מפקח על מצב האישור של גרסת הדגם, ומבטיח את מוכנותה לפריסה הבאה.
  • מנהל סודות AWS - כדי לשמור בצורה מאובטחת את אסימון הגישה האישי שלך ב-GitHub, יש צורך לבסס סוד מנהל סודות AWS ושכן בתוכו את אסימון הגישה שלך.
  • קטלוג השירות של AWS - אנו משתמשים ב- קטלוג השירות של AWS להטמעת פרויקטים של SageMaker, הכוללים רכיבים כמו מאגר קוד של SageMaker, פונקציית Lambda, כלל EventBridge, Artifact S3 bucket וכו', כולם מיושמים באמצעות CloudFormation. זה מאפשר לארגון שלך להשתמש בתבניות פרויקטים שוב ושוב, להקצות פרויקטים לכל משתמש ולייעל את הפעולות.
  • אמזון S3 – אנו משתמשים ב- שירות אחסון פשוט של אמזון (Amazon S3) דלי כדי לשמור על חפצי הדגם המיוצרים על ידי הצינור.

תנאים מוקדמים

אתה צריך להיות בעל הדרישות המוקדמות הבאות:

עליך גם להשלים שלבי הגדרה נוספים לפני יישום הפתרון.

הגדר חיבור AWS CodeStar

אם עדיין אין לך חיבור AWS CodeStar לחשבון GitHub שלך, עיין ב צור חיבור ל-GitHub להוראות ליצירת אחד. חיבור AWS CodeStar שלך ARN ייראה כך:

arn:aws:codestar-connections:us-west-2:account_id:connection/aEXAMPLE-8aad-4d5d-8878-dfcab0bc441f

בדוגמה זו, aEXAMPLE-8aad-4d5d-8878-dfcab0bc441f הוא המזהה הייחודי לחיבור זה. אנו משתמשים במזהה זה כאשר אנו יוצרים את פרויקט SageMaker שלנו מאוחר יותר בדוגמה זו.

הגדר מפתחות גישה סודיים עבור אסימון GitHub שלך

כדי לאחסן בצורה מאובטחת את אסימון הגישה האישי של GitHub, עליך ליצור סוד במנהל הסודות. אם אין לך אסימון גישה אישי עבור GitHub, עיין ב ניהול אסימוני הגישה האישיים שלך להוראות ליצירת אחד.

אתה יכול ליצור אסימון גישה קלאסי או עדין. עם זאת, ודא שלאסימון יש גישה לתוכן ולפעולות של המאגר (זרימות עבודה, ריצות וחפצים).

השלם את השלבים הבאים כדי לאחסן את האסימון שלך במנהל הסודות:

  1. במסוף מנהל הסודות בחר אחסן סוד חדש.
  2. בחר סוג אחר של סוד ל בחר סוג סודי.
  3. ספק שם לסוד שלך ב- מפתח השדה והוסף את אסימון הגישה האישי שלך לאסימון המתאים ערך שדה.
  4. בחרו הַבָּא, הזן שם לסוד שלך ובחר הַבָּא שוב.
  5. בחרו חנות כדי לשמור את הסוד שלך.

על ידי אחסון אסימון הגישה האישי של GitHub ב- Secrets Manager, אתה יכול לגשת אליו בצורה מאובטחת בתוך צינור MLOps שלך תוך הבטחת סודיותו.

צור משתמש IAM עבור פעולות GitHub

כדי לאפשר ל-GitHub Actions לפרוס נקודות קצה של SageMaker בסביבת ה-AWS שלך, עליך ליצור AWS זהות וניהול גישה משתמש (IAM) ולהעניק לו את ההרשאות הנדרשות. להנחיות, עיין ב יצירת משתמש IAM בחשבון AWS שלך. להשתמש ב iam/GithubActionsMLOpsExecutionPolicy.json קובץ (מסופק ב- דוגמת קוד) כדי לספק הרשאות מספיקות למשתמש זה לפרוס את נקודות הקצה שלך.

לאחר יצירת משתמש IAM, ליצור מפתח גישה. אתה תשתמש במפתח זה, המורכב גם ממזהה מפתח גישה וגם ממפתח גישה סודי, בשלב הבא בעת הגדרת סודות GitHub שלך.

הגדר את חשבון GitHub שלך

להלן השלבים להכנת חשבון GitHub שלך להפעלת דוגמה זו.

שיבוט את מאגר GitHub

אתה יכול לעשות שימוש חוזר ב-Repo GitHub קיים עבור דוגמה זו. עם זאת, זה קל יותר אם אתה יוצר מאגר חדש. מאגר זה יכיל את כל קוד המקור הן עבור בניית צנרת של SageMaker והן עבור פריסות.

העתק את התוכן של ספריית קוד ה-Seed אל השורש של מאגר GitHub שלך. למשל, ה .github הספרייה צריכה להיות מתחת לשורש מאגר GitHub שלך.

צור סוד GitHub המכיל את מפתח הגישה למשתמש IAM שלך

בשלב זה, אנו מאחסנים את פרטי מפתח הגישה של המשתמש החדש שנוצר אצלנו סוד GitHub.

  1. באתר GitHub, נווט אל המאגר שלך ובחר הגדרות.
  2. בסעיף האבטחה, בחר סודות ומשתנים ולבחור פעולות.
  3. בחרו סוד מאגר חדש.
  4. בעד שם, להיכנס AWS_ACCESS_KEY_ID
  5. בעד סוד, הזן את מזהה מפתח הגישה המשויך למשתמש IAM שיצרת קודם לכן.
  6. בחרו הוסף סוד.
  7. חזור על אותו הליך עבור AWS_SECRET_ACCESS_KEY

הגדר את סביבות GitHub שלך

כדי ליצור שלב אישור ידני בצינורות הפריסה שלנו, אנו משתמשים ב-a סביבת GitHub. השלם את השלבים הבאים:

  1. נווט אל הגדרות, סביבות תפריט של מאגר GitHub שלך וצור סביבה חדשה בשם הפקה.
  2. בעד כללי הגנת הסביבה, בחר דרושים סוקרים.
  3. הוסף את שמות המשתמש הרצויים של GitHub כסוקרים. עבור דוגמה זו, אתה יכול לבחור שם משתמש משלך.

שים לב שתכונת הסביבה אינה זמינה בחלק מסוגים של תוכניות GitHub. למידע נוסף, עיין ב שימוש בסביבות לפריסה.

פרוס את פונקציית Lambda

בשלבים הבאים, אנו דוחסים lambda_function.py לתוך קובץ .zip, אשר מועלה לאחר מכן לדלי S3.

את דוגמת הקוד הרלוונטית לכך ניתן למצוא בהמשך GitHub ריפו. באופן ספציפי, ה- lambda_function.py ממוקם lambda_functions/lambda_github_workflow_trigger במדריך.

מומלץ ליצור מזלג של דגימת הקוד ולשכפל זאת במקום זאת. זה ייתן לך את החופש לשנות את הקוד ולהתנסות בהיבטים שונים של הדוגמה.

  1. לאחר השגת עותק של הקוד, נווט אל הספרייה המתאימה והשתמש ב- zip פקודה לדחיסה lambda_function.py. גם משתמשי Windows ו-MacOS יכולים להשתמש במערכת ניהול הקבצים המקורית שלהם, סייר הקבצים או Finder, בהתאמה, כדי ליצור קובץ .zip.
cd lambda_functions/lambda_github_workflow_trigger
zip lambda-github-workflow-trigger.zip lambda_function.py

  1. העלה את ה- lambda-github-workflow-trigger.zip לדלי S3.

לדלי זה יהיה גישה מאוחר יותר באמצעות קטלוג השירותים. אתה יכול לבחור כל דלי שיש לך גישה אליו, כל עוד קטלוג השירותים מסוגל לאחזר ממנו נתונים בשלבים הבאים.

משלב זה ואילך, אנו דורשים שה-AWS CLI v2 יותקן ותצורה. אלטרנטיבה תהיה להשתמש ב-AWS CloudShell, שמגיע עם כל הכלים הדרושים מותקנים מראש, ומבטל את הצורך בכל תצורות נוספות.

  1. כדי להעלות את הקובץ ל-S3 bucket, השתמש בפקודה הבאה:
aws s3 cp lambda-github-workflow-trigger.zip s3://your-bucket/

כעת אנו בונים שכבת למבדה עבור התלות הקשורות ל- lambda_function הרגע העלינו.

  1. הגדר סביבה וירטואלית של Python והתקן את התלות:
mkdir lambda_layer
cd lambda_layer
python3 -m venv .env
source .env/bin/activate
pip install pygithub
deactivate

  1. צור את קובץ ה-zip עם הפקודות הבאות:
mv .env/lib/python3.9/site-packages/ python
zip -r layer.zip python

  1. פרסם את השכבה ל-AWS:
aws lambda publish-layer-version --layer-name python39-github-arm64 --description "Python3.9 pygithub" --license-info "MIT" --zip-file fileb://layer.zip --compatible-runtimes python3.9 --compatible-architectures "arm64"

עם פרסום השכבה הזו, כל פונקציות ה-Lambda שלך יכולות כעת להתייחס אליה כדי לענות על התלות שלהן. להבנה מפורטת יותר של שכבות למבדה, עיין עבודה עם שכבות למבדה.

צור תבנית פרויקט מותאמת אישית ב- SageMaker

לאחר השלמת כל השלבים לעיל, יש לנו את כל המשאבים והרכיבים של צנרת ה-CI/CD. לאחר מכן, נדגים כיצד אנו יכולים להפוך את המשאבים הללו לזמינים כפרויקט מותאם אישית בתוך SageMaker Studio נגיש באמצעות פריסה בלחיצה אחת.

כפי שצוין קודם לכן, כאשר התבניות שסופקו על ידי SageMaker אינן עונות על הצרכים שלך (לדוגמה, אתה רוצה שתהיה תזמור מורכב יותר ב-CodePipeline עם שלבים מרובים, שלבי אישור מותאמים אישית או להשתלב עם כלי צד שלישי כגון פעולות GitHub ו-GitHub המודגם בפוסט זה), אתה יכול ליצור תבניות משלך. אנו ממליצים להתחיל עם התבניות המסופקות על ידי SageMaker כדי להבין כיצד לארגן את הקוד והמשאבים שלך ולבנות עליו. לפרטים נוספים, עיין ב צור תבניות פרויקט מותאמות אישית.

שים לב שאתה יכול גם להפוך את השלב הזה לאוטומטי ובמקום זאת להשתמש ב-CloudFormation כדי לפרוס את תיק השירותים ואת המוצר באמצעות קוד. עם זאת, בפוסט זה, לחוויית למידה טובה יותר, אנו מראים לך את פריסת המסוף.

בשלב זה, אנו משתמשים בתבנית CloudFormation המסופקת כדי ליצור תיק קטלוג שירותים שעוזר לנו ליצור פרויקטים מותאמים אישית ב- SageMaker.

אתה יכול ליצור דומיין חדש או לעשות שימוש חוזר בדומיין SageMaker שלך עבור השלבים הבאים. אם אין לך דומיין, עיין ב נכלל ב-Amazon SageMaker Domain באמצעות הגדרה מהירה להוראות התקנה.

לאחר שתאפשר גישת מנהל לתבניות SageMaker, בצע את השלבים הבאים:

  1. במסוף קטלוג השירותים, תחת אדמינסטרציה בחלונית הניווט, בחר תיקים.
  2. בחרו צור תיק עבודות חדש.
  3. תן שם לתיק העבודות "תבניות ארגון של SageMaker".
  4. הורד template.yml קובץ למחשב שלך.

תבנית Cloud Formation זו מספקת את כל משאבי ה-CI/CD שאנו צריכים כתצורה ותשתית כקוד. אתה יכול ללמוד את התבנית ביתר פירוט כדי לראות אילו משאבים פרוסים כחלק ממנה. תבנית זו הותאמה לשילוב עם GitHub ו-GitHub Actions.

  1. ב template.yml קובץ, שנה את S3Bucket ערך לדלי שלך שבו העלית את קובץ Lambda .zip:
GitHubWorkflowTriggerLambda: ... Code: S3Bucket: <your-bucket> S3Key: lambda-github-workflow-trigger.zip ...

  1. בחר את תיק העבודות החדש.
  2. בחרו העלה מוצר חדש.
  3. בעד שם המוצר¸ הזן שם לתבנית שלך. אנחנו משתמשים בשם build-deploy-github.
  4. בעד תיאור, הזן תיאור.
  5. בעד בעלים, הזן את שמך.
  6. תַחַת פרטי גרסה, עבור שִׁיטָה, בחר השתמש בקובץ תבנית.
  7. בחרו העלה תבנית.
  8. העלה את התבנית שהורדת.
  9. בעד כותרת הגרסה, בחר 1.0.
  10. בחרו סקירה.
  11. בדוק את ההגדרות שלך ובחר צור מוצר.
  12. בחרו לרענן לרשימת המוצר החדש.
  13. בחר את המוצר שיצרת זה עתה.
  14. על תגים לשונית, הוסף את התג הבא למוצר:
    • מפתח =sagemaker:studio-visibility
    • ערךtrue

בחזרה לפרטי התיק, אתה אמור לראות משהו דומה לצילום המסך הבא (עם מזהים שונים).

תיק קטלוג שירותים

  1. על אילוצים בחר, בחר צור אילוץ.
  2. בעד המוצר, בחר build-deploy-github (המוצר שיצרת זה עתה).
  3. בעד אילוץ הקלד, בחר לשגר.
  4. תַחַת אילוץ הפעלה, עבור שִׁיטָה, בחר בחר תפקיד IAM.
  5. בחרו AmazonSageMakerServiceCatalogProductsLaunchRole.
  6. בחרו צור.
  7. על קבוצות, תפקידים ומשתמשים בחר, בחר הוסף קבוצות, תפקידים, משתמשים.
  8. על תפקידים בכרטיסייה, בחר את התפקיד שבו השתמשת בעת הגדרת תחום SageMaker Studio שלך. כאן ניתן למצוא את תפקיד התחום של SageMaker.

אילוץ השקת קטלוג שירותים

  1. בחרו הוסף גישה.

פרוס את הפרויקט מ-SageMaker Studio

בסעיפים הקודמים, הכנת את סביבת הפרויקט המותאמת אישית של MLOps. כעת, בואו ניצור פרויקט באמצעות התבנית הזו:

  1. במסוף SageMaker, נווט אל הדומיין שברצונך ליצור את הפרויקט הזה.
  2. על לשגר בתפריט, בחר סטודיו.

אתה תופנה לסביבת SageMaker Studio.

  1. ב-SageMaker Studio, בחלונית הניווט מתחת פריסות, בחר פרויקטים.
  2. בחרו צור פרוייקט.
  3. בראש רשימת התבניות, בחר תבניות ארגון.

אם עברת את כל השלבים הקודמים בהצלחה, אתה אמור להיות מסוגל לראות תבנית פרויקט מותאמת אישית חדשה בשם Build-Deploy-GitHub.

  1. בחר את התבנית ובחר בחר תבנית פרויקט.
  2. הזן תיאור אופציונלי.
  3. בעד שם הבעלים של מאגר GitHub, הזן את הבעלים של מאגר GitHub שלך. לדוגמה, אם המאגר שלך נמצא ב https://github.com/pooyavahidi/my-repo, הבעלים יהיה pooyavahidi.
  4. בעד שם מאגר GitHub, הזן את שם המאגר שאליו העתקת את קוד ה-Seed. זה יהיה רק ​​שם המאגר. לדוגמה, ב https://github.com/pooyavahidi/my-repo, הריפו הוא my-repo.
  5. בעד מזהה ייחודי של חיבור Codestar, הזן את המזהה הייחודי של חיבור AWS CodeStar שיצרת.
  6. בעד שם הסוד במנהל הסודות המאחסן אסימון GitHub, הזן את שם הסוד ב- Secrets Manager שבו יצרת ואחסנת את אסימון GitHub.
  7. בעד קובץ זרימת עבודה של GitHub לפריסה, הזן את השם של קובץ זרימת העבודה של GitHub (בכתובת .github/workflows/deploy.yml) שבו יש לך את הוראות הפריסה. עבור דוגמה זו, אתה יכול לשמור אותה כברירת מחדל, כלומר deploy.yml.
  8. בחרו צור פרוייקט.

SageMaker Studio Project

  1. לאחר יצירת הפרויקט שלך, הקפד לעדכן את ה AWS_REGION ו SAGEMAKER_PROJECT_NAME משתני סביבה בקבצי זרימת העבודה של GitHub בהתאם. קבצי זרימת עבודה נמצאים ב-Repo GitHub שלך (הועתק מקוד ה-Seed), בתוך .github/workflows מַדרִיך. הקפד לעדכן את שניהם build.yml ו deploy.yml קבצים.
...
env: AWS_REGION: <region> SAGEMAKER_PROJECT_NAME: <your project name>
...

עכשיו הסביבה שלך מוכנה לצאת לדרך! אתה יכול להפעיל את הצינורות ישירות, לבצע שינויים ולדחוף את השינויים האלה למאגר GitHub שלך כדי להפעיל את צינור הבנייה האוטומטי ולראות כיצד כל שלבי הבנייה והפריסה אוטומטיים.

לנקות את

כדי לנקות את המשאבים, בצע את השלבים הבאים:

  • מחק את ערימות CloudFormation המשמשות עבור פרויקט SageMaker ונקודות הקצה של SageMaker.
  • מחק את הדומיין של SageMaker.
  • מחק את משאבי קטלוג השירותים.
  • מחק את קישור החיבור של AWS CodeStar עם מאגר GitHub.
  • מחק את משתמש IAM שיצרת עבור פעולות GitHub.
  • מחק את הסוד ב- Secrets Manager המאחסן את פרטי הגישה האישיים של GitHub.

<br> סיכום

בפוסט זה, עברנו על תהליך השימוש בתבנית פרויקט SageMaker MLOps מותאמת אישית כדי לבנות ולארגן באופן אוטומטי צינור CI/CD. צינור זה משלב ביעילות את מנגנוני ה-CI/CD הקיימים שלך עם יכולות SageMaker עבור מניפולציה של נתונים, אימון מודלים, אישור מודלים ופריסה של מודלים. בתרחיש שלנו, התמקדנו בשילוב GitHub Actions עם פרויקטים וצינורות של SageMaker. להבנה מקיפה של פרטי היישום, בקר באתר מאגר GitHub. אל תהסס להתנסות בזה ואל תהססו להשאיר כל שאלה שיש לכם בקטע ההערות.


על הכותבים

ד"ר רומינה שריפפור הוא ארכיטקט בכיר של למידת מכונה ובינה מלאכותית ב-Amazon Web Services (AWS). היא השקיעה למעלה מ-10 שנים בהובלת התכנון והיישום של פתרונות חדשניים מקצה לקצה המאפשרים התקדמות ב-ML ובינה מלאכותית. תחומי העניין של רומינה הם עיבוד שפה טבעית, מודלים של שפה גדולים ו-MLOps.

פויה והידי הוא אדריכל פתרונות בכיר ב-AWS, נלהב ממדעי המחשב, בינה מלאכותית ומחשוב ענן. כמקצוען בינה מלאכותית, הוא חבר פעיל בצוות אזור העומק של AWS AI/ML. עם רקע המשתרע על פני שני עשורים של מומחיות בהובלת הארכיטקטורה וההנדסה של פתרונות בקנה מידה גדול, הוא עוזר ללקוחות במסעות הטרנספורמציה שלהם באמצעות ענן וטכנולוגיות AI/ML.

ספוט_ימג

המודיעין האחרון

ספוט_ימג