השתמש בשיתוף צנרת של Amazon SageMaker כדי להציג או לנהל צינורות בין חשבונות AWS PlatoBlockchain Data Intelligence. חיפוש אנכי. איי.

השתמש בשיתוף צנרת של Amazon SageMaker כדי להציג או לנהל צינורות בין חשבונות AWS

ב-9 באוגוסט 2022, הודענו על הזמינות הכללית של שיתוף חוצה-חשבונות של אמזון SageMaker Pipelines ישויות. כעת תוכל להשתמש בתמיכה חוצת חשבונות עבור צינורות SageMaker של אמזון לשתף ישויות צנרת בין חשבונות AWS ולגשת ישירות לצינורות משותפים אמזון SageMaker קריאות API.

לקוחות יותר ויותר מאמצים ארכיטקטורות מרובות חשבונות לפריסה וניהול של תהליכי עבודה של למידת מכונה (ML) עם SageMaker Pipelines. זה כרוך בבניית זרימות עבודה בחשבונות פיתוח או ניסויים (dev), פריסה ובדיקתם בחשבון בדיקות או טרום ייצור (בדיקה), ולבסוף קידומם לחשבונות ייצור (פרוד) לשילוב עם תהליכים עסקיים אחרים. אתה יכול ליהנות משיתוף חוצה-חשבונות של צינורות SageMaker במקרים השימוש הבאים:

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

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

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

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

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

השתמש בשיתוף צנרת של Amazon SageMaker כדי להציג או לנהל צינורות בין חשבונות AWS PlatoBlockchain Data Intelligence. חיפוש אנכי. איי.

בזרימת העבודה, מדען הנתונים ומהנדס ML מבצעים את השלבים הבאים:

  1. מדען הנתונים (DS) בונה צינור מודל בחשבון המפתח.
  2. מהנדס ML (MLE) מייצר את צינור הדגם ויוצר צינור, (עבור פוסט זה, אנו קוראים לזה sagemaker-pipeline).
  3. sagemaker-pipeline הקוד מחויב ל- an AWS CodeCommit מאגר בחשבון השירותים המשותפים.
  4. מדען הנתונים יוצר שיתוף משאבי RAM של AWS עבור sagemaker-pipeline ומשתף אותו עם חשבון השירותים המשותפים, שמקבל את שיתוף המשאבים.
  5. מחשבון השירותים המשותפים, מהנדסי ML יכולים כעת לתאר, לפקח ולנהל את ריצות הצינור בחשבון הפיתוח באמצעות קריאות לממשק API של SageMaker.
  6. צינור CI/CD המופעל בחשבון השירות המשותף בונה ופורס את הקוד לחשבון הבדיקה באמצעות קוד צינור AWS.
  7. צינור ה-CI/CD יוצר ופועל sagemaker-pipeline בחשבון הבדיקה.
  8. אחרי ריצה sagemaker-pipeline בחשבון הבדיקה, צינור ה-CI/CD יוצר שיתוף משאבים עבור sagemaker-pipeline בחשבון הבדיקה.
  9. נתח משאבים מהבדיקה sagemaker-pipeline עם הרשאות קריאה בלבד נוצר עם חשבון ה-dev, שמקבל את שיתוף המשאבים.
  10. מדען הנתונים מסוגל כעת לתאר ולנטר את סטטוס הפעלת צינור הבדיקה באמצעות קריאות SageMaker API מחשבון המפתח.
  11. נתח משאבים מהבדיקה sagemaker-pipeline עם הרשאות מורחבות נוצר עם חשבון השירותים המשותפים, שמקבל את שיתוף המשאבים.
  12. מהנדס ML מסוגל כעת לתאר, לנטר ולנהל את רצף הניסוי באמצעות קריאות SageMaker API מחשבון השירותים המשותפים.

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

כיצד ליצור ולשתף צנרת של SageMaker בין חשבונות

בסעיף זה, אנו עוברים על השלבים הדרושים ליצירה ושיתוף של צינורות בין חשבונות באמצעות AWS RAM ו- SageMaker API.

הגדר את הסביבה

ראשית, עלינו להגדיר סביבה מרובת חשבונות כדי להדגים שיתוף חוצה-חשבונות של צינורות SageMaker:

  1. הגדר שני חשבונות AWS (מפתח ובדיקה). אתה יכול להגדיר זאת כחשבונות חברים בארגון או כחשבונות עצמאיים.
  2. אם אתה מגדיר את החשבונות שלך כחבר בארגון, אתה יכול להפעיל שיתוף משאבים עם הארגון שלך. עם הגדרה זו, כאשר אתה משתף משאבים בארגון שלך, AWS RAM אינו שולח הזמנות למנהלים. מנהלים בארגון שלך מקבלים גישה למשאבים משותפים מבלי להחליף הזמנות.
  3. בחשבון הבדיקה, הפעל סטודיו SageMaker של אמזון ולהפעיל את המחברת רכבת-register-deploy-pipeline-model. זה יוצר צינור לדוגמה בחשבון הבדיקה שלך. כדי לפשט את ההדגמה, אנו משתמשים ב-SageMaker Studio בחשבון הבדיקה כדי להפעיל את הצינור. עבור פרויקטים בחיים האמיתיים, עליך להשתמש ב-Studio רק בחשבון הפיתוח ולהפעיל את SageMaker Pipeline בחשבון הבדיקה באמצעות כלי ה-CI/CD שלך.

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

הגדר שיתוף משאבים בצינור

כדי לשתף את הצינור שלך עם חשבון המפתח, בצע את השלבים הבאים:

  1. במסוף AWS RAM, בחר צור שיתוף משאבים.
  2. בעד בחר סוג משאב, בחר צינורות SageMaker.
  3. בחר את הצינור שיצרת בשלב הקודם.
  4. בחרו הַבָּא.
  5. בעד הרשאות, בחר את ההרשאות המשויכות שלך.
  6. בחרו הַבָּא.
    השתמש בשיתוף צנרת של Amazon SageMaker כדי להציג או לנהל צינורות בין חשבונות AWS PlatoBlockchain Data Intelligence. חיפוש אנכי. איי.לאחר מכן, אתה מחליט כיצד אתה רוצה להעניק גישה למנהלים.
  7. אם אתה צריך לשתף את הצינור רק בתוך חשבונות הארגון שלך, בחר אפשר שיתוף רק בתוך הארגון שלך; אחרת בחר אפשר שיתוף עם כל אחד.
  8. בעד מנהלים, בחר את הסוג העיקרי שלך (תוכל להשתמש בחשבון, ארגון או יחידה ארגונית של AWS, על סמך דרישת השיתוף שלך). עבור פוסט זה, אנו משתפים עם כל אחד ברמת חשבון AWS.
  9. בחר את תעודת הזהות הראשית שלך.
  10. בחרו הַבָּא.
    השתמש בשיתוף צנרת של Amazon SageMaker כדי להציג או לנהל צינורות בין חשבונות AWS PlatoBlockchain Data Intelligence. חיפוש אנכי. איי.
  11. על סקור וצור עמוד, ודא שהמידע שלך נכון ובחר צור שיתוף משאבים.
    השתמש בשיתוף צנרת של Amazon SageMaker כדי להציג או לנהל צינורות בין חשבונות AWS PlatoBlockchain Data Intelligence. חיפוש אנכי. איי.
  12. נווט אל חשבון היעד שלך (עבור פוסט זה, חשבון המפתח שלך).
  13. במסוף AWS RAM, תחת משותף איתי בחלונית הניווט, בחר מניות משאבים.
  14. בחר את חלוקת המשאבים שלך ובחר קבל נתח משאבים.
    השתמש בשיתוף צנרת של Amazon SageMaker כדי להציג או לנהל צינורות בין חשבונות AWS PlatoBlockchain Data Intelligence. חיפוש אנכי. איי.

הרשאות שיתוף משאבים

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

השמיים AWSRAMDefaultPermissionSageMakerPipeline המדיניות מאפשרת את הפעולות הבאות לקריאה בלבד:

"sagemaker:DescribePipeline"
"sagemaker:DescribePipelineDefinitionForExecution"
"sagemaker:DescribePipelineExecution"
"sagemaker:ListPipelineExecutions"
"sagemaker:ListPipelineExecutionSteps"
"sagemaker:ListPipelineParametersForExecution"
"sagemaker:Search"

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

מדיניות ההרשאות של הפעלת צינור המורחבת מאפשרת את הפעולות הבאות:

"sagemaker:DescribePipeline"
"sagemaker:DescribePipelineDefinitionForExecution"
"sagemaker:DescribePipelineExecution"
"sagemaker:ListPipelineExecutions"
"sagemaker:ListPipelineExecutionSteps"
"sagemaker:ListPipelineParametersForExecution"
"sagemaker:StartPipelineExecution"
"sagemaker:StopPipelineExecution"
"sagemaker:RetryPipelineExecution"
"sagemaker:Search"

גישה לישויות צינור משותפות באמצעות קריאות API ישירות

בסעיף זה, נעבור על האופן שבו אתה יכול להשתמש בקריאות שונות של SageMaker Pipeline API כדי לקבל נראות לתוך צינורות הפועלים בחשבונות מרוחקים ששותפו איתך. לבדיקת ממשקי ה-API מול הצינור הפועל בחשבון הבדיקה מחשבון הפיתוח, היכנס לחשבון הפיתוח והשתמש AWS CloudShell.

עבור קריאות חוצות-חשבונות של SageMaker Pipeline API, אתה תמיד צריך להשתמש ב-ARN של הצינור שלך כזיהוי הצינור. זה כולל גם את הפקודות הדורשות את שם הצינור, שבו אתה צריך להשתמש ב-ARN של הצינור כשם הצינור.

כדי לקבל את ARN הצינור שלך, בחשבון הבדיקה שלך, נווט אל פרטי הצינור שלך ב-Studio via משאבי SageMaker.

השתמש בשיתוף צנרת של Amazon SageMaker כדי להציג או לנהל צינורות בין חשבונות AWS PlatoBlockchain Data Intelligence. חיפוש אנכי. איי.

בחרו צינורות ברשימת המשאבים שלך.

השתמש בשיתוף צנרת של Amazon SageMaker כדי להציג או לנהל צינורות בין חשבונות AWS PlatoBlockchain Data Intelligence. חיפוש אנכי. איי.

בחר את הצינור שלך ועבור אל הצינור שלך הגדרות לשונית. אתה יכול למצוא את הצינור ARN עם שלך מידע נוסף מֵידָע. עבור דוגמה זו, ה-ARN שלך מוגדר כ "arn:aws:sagemaker:us-east-1:<account-id>:pipeline/serial-inference-pipeline".

השתמש בשיתוף צנרת של Amazon SageMaker כדי להציג או לנהל צינורות בין חשבונות AWS PlatoBlockchain Data Intelligence. חיפוש אנכי. איי.

ListPipelineExecutions

קריאת ה-API הזו מפרט את הריצות של הצינור שלך. הפעל את הפקודה הבאה, החלפה $SHARED_PIPELINE_ARN עם הצינור שלך ARN מ-CloudShell או באמצעות ממשק שורת הפקודה של AWS (AWS CLI) מוגדר עם המותאם AWS זהות וניהול גישה (אני) תפקיד:

aws sagemaker list-pipeline-executions --pipeline-name $SHARED_PIPELINE_ARN

התגובה מפרטת את כל הריצות של הצינור שלך עם שלהם PipelineExecutionArn, StartTime, PipelineExecutionStatus, ו PipelineExecutionDisplayName:

{
  "PipelineExecutionSummaries": [
    {
      "PipelineExecutionArn": "arn:aws:sagemaker:<region>:<account_id>:pipeline/<pipeline_name>/execution/<execution_id>",
      "StartTime": "2022-08-10T11:32:05.543000+00:00",
      "PipelineExecutionStatus": "Executing",
      "PipelineExecutionDisplayName": "execution-321"
    },
    {
      "PipelineExecutionArn": "arn:aws:sagemaker:<region>:<account_id>:pipeline/<pipeline_name>/execution/<execution_id>",
      "StartTime": "2022-08-10T11:28:03.680000+00:00",
      "PipelineExecutionStatus": "Stopped",
      "PipelineExecutionDisplayName": "test"
    },
    {
      "PipelineExecutionArn": "arn:aws:sagemaker:<region>:<account_id>:pipeline/<pipeline_name>/execution/<execution_id>",
      "StartTime": "2022-08-10T11:03:47.406000+00:00",
      "PipelineExecutionStatus": "Succeeded",
      "PipelineExecutionDisplayName": "execution-123"
    }
  ]
}

תאר Pipeline

קריאת ה-API הזו מתאר את הפירוט של הצינור שלך. הפעל את הפקודה הבאה, החלפה $SHARED_PIPELINE_ARN עם הצינור שלך ARN:

aws sagemaker describe-pipeline --pipeline-name $SHARED_PIPELINE_ARN

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

Output(truncated): 
{
"PipelineArn": "arn:aws:sagemaker:<region>:<account-id>:pipeline/<pipeline_name>",
"PipelineName": "serial-inference-pipeline",
"PipelineDisplayName": "serial-inference-pipeline",
"PipelineDefinition": "{"Version": "2020-12-01", "Metadata": {}, "Parameters": [{"Name": "TrainingInstanceType", "Type": "String", "DefaultValue": "ml.m5.xlarge"}, {"Name": "ProcessingInstanceType", "Type": "String", "DefaultValue": "ml.m5.xlarge"}, {"Name": "ProcessingInstanceCount", "Type": "Integer", "DefaultValue": 1}, {"Name": "InputData", "Type":

..

"PipelineStatus": "Active",
"CreationTime": "2022-08-08T21:33:39.159000+00:00",
"LastModifiedTime": "2022-08-08T21:48:14.274000+00:00",
"CreatedBy": {},
"LastModifiedBy": {}
}

DescribePipelineExecution

קריאת ה-API הזו מתאר את הפירוט של הפעלת הצינור שלך. הפעל את הפקודה הבאה, החלפה $SHARED_PIPELINE_ARN עם הצינור שלך ARN:

aws sagemaker describe-pipeline-execution 
--pipeline-execution-arn $PIPELINE_EXECUTION_ARN

התגובה מספקת פרטים על הפעלת הצינור שלך, כולל PipelineExecutionStatus, ExperimentName, ו TrialName:

{
  "PipelineArn": "arn:aws:sagemaker:<region>:<account_id>:pipeline/<pipeline_name>",
  "PipelineExecutionArn": "arn:aws:sagemaker:<region>:<account_id>:pipeline/<pipeline_name>/execution/<execution_id>",
  "PipelineExecutionDisplayName": "execution-123",
  "PipelineExecutionStatus": "Succeeded",
  "PipelineExperimentConfig": {
  "ExperimentName": "<pipeline_name>",
  "TrialName": "<execution_id>"
},
  "CreationTime": "2022-08-10T11:03:47.406000+00:00",
  "LastModifiedTime": "2022-08-10T11:15:01.102000+00:00",
  "CreatedBy": {},
  "LastModifiedBy": {}
}

StartPipelineExecution

קריאת ה-API הזו התחלות ריצת צינור. הפעל את הפקודה הבאה, החלפה $SHARED_PIPELINE_ARN עם הצינור שלך ARN ו $CLIENT_REQUEST_TOKEN עם מזהה ייחודי, תלוי-רישיות, שאתה יוצר עבור ההרצה הזו. המזהה צריך לכלול בין 32-128 תווים. לדוגמה, אתה יכול ליצור מחרוזת באמצעות ה AWS CLI kms פקודה אקראית.

aws sagemaker start-pipeline-execution 
  --pipeline-name $SHARED_PIPELINE_ARN 
  --client-request-token $CLIENT_REQUEST_TOKEN

כתגובה, קריאת API זו מחזירה את PipelineExecutionArn של הריצה שהתחילה:

{
  "PipelineExecutionArn": "arn:aws:sagemaker:<region>:<account_id>:pipeline/<pipeline_name>/execution/<execution_id>"
}

StopPipelineExecution

קריאת ה-API הזו עוצר ריצת צינור. הפעל את הפקודה הבאה, החלפה $PIPELINE_EXECUTION_ARN עם הפעלת הצינור ARN של הצינור הרץ שלך ו $CLIENT_REQUEST_TOKEN עם מזהה ייחודי, תלוי רישיות, שאתה יוצר עבור ההרצה הזו. המזהה צריך לכלול בין 32-128 תווים. לדוגמה, אתה יכול ליצור מחרוזת באמצעות ה AWS CLI kms פקודה אקראית.

aws sagemaker stop-pipeline-execution 
  --pipeline-execution-arn $PIPELINE_EXECUTION_ARN 
  --client-request-token $CLIENT_REQUEST_TOKEN

כתגובה, קריאת API זו מחזירה את PipelineExecutionArn של הצינור שנפסק:

{
  "PipelineExecutionArn": "arn:aws:sagemaker:<region>:<account_id>:pipeline/<pipeline_name>/execution/<execution_id>"
}

סיכום

שיתוף חוצה-חשבונות של צינורות SageMaker מאפשר לך לשתף בצורה מאובטחת ישויות צינור בין חשבונות AWS ולגשת לצינורות משותפים באמצעות קריאות API ישירות, ללא צורך להיכנס ולצאת ממספר חשבונות.

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

כשלב הבא, תוכל להשתמש בתכונה זו עבור פרויקט ה-ML הבא שלך.

משאבים

כדי להתחיל בעבודה עם SageMaker Pipelines ושיתוף צינורות בין חשבונות, עיין במשאבים הבאים:


על המחברים

השתמש בשיתוף צנרת של Amazon SageMaker כדי להציג או לנהל צינורות בין חשבונות AWS PlatoBlockchain Data Intelligence. חיפוש אנכי. איי.רם ויטל הוא אדריכל פתרונות ML מומחה ב-AWS. יש לו למעלה מ-20 שנות ניסיון באדריכלות ובניית יישומים מבוזרים, היברידיים וענן. הוא נלהב לבנות פתרונות AI/ML ו-Big Data מאובטחים וניתנים להרחבה כדי לעזור ללקוחות ארגוניים באימוץ הענן ובמסע האופטימיזציה שלהם כדי לשפר את התוצאות העסקיות שלהם. בזמנו הפנוי הוא אוהב טניס, צילום וסרטי פעולה.

השתמש בשיתוף צנרת של Amazon SageMaker כדי להציג או לנהל צינורות בין חשבונות AWS PlatoBlockchain Data Intelligence. חיפוש אנכי. איי.מאירה לדירה טנקה הוא אדריכל פתרונות ML מומחה ב-AWS. עם רקע במדעי הנתונים, יש לה 9 שנות ניסיון באדריכלות ובניית יישומי ML עם לקוחות בכל תעשיות. כמובילה טכנית, היא עוזרת ללקוחות להאיץ את השגת הערך העסקי שלהם באמצעות טכנולוגיות מתפתחות ופתרונות חדשניים. בזמנה הפנוי, מאירה נהנית לטייל ולבלות עם משפחתה במקום חמים.

השתמש בשיתוף צנרת של Amazon SageMaker כדי להציג או לנהל צינורות בין חשבונות AWS PlatoBlockchain Data Intelligence. חיפוש אנכי. איי.גבריאל זילקה הוא יועץ שירותים מקצועיים ב-AWS. הוא עובד בשיתוף פעולה הדוק עם לקוחות כדי להאיץ את מסע האימוץ שלהם בענן. מתמחה בתחום MLOps, הוא מתמקד בייצור עומסי עבודה של למידת מכונה על ידי אוטומציה של מחזורי חיים של למידת מכונה מקצה לקצה וסיוע בהשגת תוצאות עסקיות רצויות. בזמנו הפנוי הוא נהנה לטייל ולטייל באלפים הבוואריים.

בול זמן:

עוד מ למידת מכונות AWS