SageMaker Projects לתת לארגונים את היכולת להגדיר ולתקן בקלות סביבות מפתחים עבור מדעני נתונים ומערכות CI/CD עבור מהנדסי MLOps. עם SageMaker Projects, מהנדסי MLOps או מנהלי ארגונים יכולים להגדיר תבניות אשר מאתחלות את זרימת העבודה של ML עם בקרת גרסאות מקור, צינורות ML אוטומטיים ומערכת קוד כדי להתחיל במהירות איטרציה על מקרי שימוש ב-ML. עם Projects, ניהול תלות, ניהול מאגר קודים, יכולת בנייה, שיתוף וניהול של חפצים הופכים קלים להקמת ארגונים. פרויקטים של SageMaker מסופקים באמצעות קטלוג השירות של AWS מוצרים. תבניות פרויקט משמשות ארגונים כדי לספק פרויקטים עבור כל אחד מהמשתמשים שלהם.
פוסט זה מתאר כיצד ניתן להתאים אישית תבניות של SageMaker Project כך שיתאימו למקרה השימוש של כל ארגון. מאגר GitHub זה מכיל דוגמאות לתבניות מותאמות אישית.
SageMaker Projects
לכל ארגון יש סט סטנדרטים ופרקטיקות משלו המספקים אבטחה וממשל עבור סביבת ה-AWS שלו. SageMaker מספקת קבוצה של תבניות צד ראשון לארגונים שרוצים להתחיל במהירות עם זרימות עבודה של ML ו-CI/CD. כלולים בתבניות פרויקטים המשתמשים בשירותים מקוריים של AWS עבור CI/CD כגון בניית קוד AWS, קוד צינור AWS, ו AWS CodeCommit וגם פרויקטים המשתמשים בכלי צד שלישי כמו Jenkins ו-GitHub.
לעתים קרובות ארגונים זקוקים לשליטה הדוקה על משאבי ה-MLOps שמסופקים, מוגבלים ומנוהלים; זה כולל - הגדרת תפקידים/מדיניות IAM, אכיפת תגי משאבים, אכיפת הצפנה וניתוק משאבים על פני מספר חשבונות. כדי לתת לארגונים את הגמישות לעשות זאת, SageMaker Projects תומכים בתבניות מותאמות אישית שבהן ארגונים משתמשים בסקריפטים של AWS CloudFormation כדי להגדיר את המשאבים הדרושים לזרימת עבודה של ML. תבניות מותאמות אישית אלו נוצרות כ קטלוג השירות של AWS מוצרים ומסופקים כתבניות ארגון בממשק המשתמש של SageMaker Studio. זה המקום שבו מדעני נתונים יבחרו תבנית וזרימת העבודה של ה-ML שלהם תהיה מאתחול ומוגדר מראש. AWS Service Catalog הוא שירות AWS המאפשר לארגונים ליצור ולנהל קטלוגים של מוצרים שאושרו לשימוש ב-AWS. מוצרים אלה נוצרים באמצעות CloudFormation תבניות.
הבנת תבניות SageMaker 1P
כדי לעזור ללקוחותינו להתחיל עם פרדיגמות נפוצות של בניית מודל ופריסה, SageMaker Projects מציעה קבוצה של תבניות 1P. תבניות 1P מתמקדות בדרך כלל ביצירת משאבים לבניית מודלים והכשרת מודלים.
כדי להבין את SageMaker Projects בפירוט, זה עוזר לחלק אותם לשני מרכיבים - משאבי AWS וקוד סיד של פרויקט.
הסעיפים הבאים יתייחסו "תבנית MLOps לבניית מודלים, הדרכה ופריסה".
משאבי AWS
- שני מאגרי CodeCommit מאוכלסים בקוד סיד. מאגר אחד לבניית מודלים ואחר לפריסת מודלים.
- שני שלבי CodeBuild המופעלים על ידי CodePipeline -
- בניית מודלים - זה בונה את הקוד במאגר בניית המודלים.
- פריסת מודל - זה בונה את הקוד במאגר הפריסה.
- שני צינורות CodePipeline -
- מודל בניית צינור
צינור זה יתזמר את השלבים לבניית מודלים. זה כולל שליפת הקוד העדכני ביותר מ-CodeCommit והתחלת ביצוע ה-CodeBuild. - צינור פריסת מודל
צינור זה יתזמן את השלבים לפריסת המודל. זה כולל משיכת קוד מ-CodeCommit, התחלת ביצוע CodeBuild וכל שלב אחר המוגדר בתבנית המודל.
- מודל בניית צינור
- שלוש אמזון EventBridge חוקים-
- הפעל את צינור בניית המודלים בהתבסס על שינויים במאגר "בניית מודלים".
- הפעל צינור פריסת מודלים המבוסס על שינויים במאגר "פריסה של מודלים".
- הפעל צינור פריסת מודל כאשר מודל "אושר" ברישום המודלים המשויך לפרויקט זה. כאשר נקודת קצה כבר פרוסה, שינוי הסטטוס מ"אושרה" ל"נדחה", נקודת הקצה תוסר וה"אושרה" האחרונה לפני כן תיפרס.
- An אמזון S3 דלי עבור הפרויקט.
קוד זרע
מאגרי CodeCommit שנוצרו על ידי התבנית מאוכלסים מראש בקוד ראשי לבניית מודל ופריסה של מודל.
- קוד בניית מודל
קוד ה-Seed עבור צינור בניית המודל כולל צינור SageMaker שמעבד מראש את אָבָּלוֹנֶה מערך נתונים, מאמן מודל XGBoost, מעריך את הביצועים של מודל באמצעות שלב עיבוד, ורושם את המודל לרישום מודל על סמך ביצועי המודל. קובץ בשםcodebuild-buildspec.yml
הוא חלק מקוד ה-Seed במאגר. קובץ זה מתאר את השלבים ב-CodeBuild להפעלת ה-SageMaker Pipeline. מדעני נתונים יבצעו שינויים בקוד במאגר זה כדי לשקף את מקרי השימוש שלהם. קוד ה-Seed מסופק כנקודת התחלה כדי לעזור במהירות להטמיע מקרי שימוש חדשים ב-ML. - קוד פריסת מודל
קוד ה-Seed לפריסת המודל כולל שלב CodeBuild כדי למצוא את המודל העדכני ביותר שאושר ברישום המודלים וליצור קובצי תצורה לפריסת תבניות CloudFormation. תבנית CloudFormation פורסת את המודל לשלב ה"סטינג" או "הפרוד". קובץ בשםbuildspec.yml
הוא חלק ממאגר זה המתאר את הצעדים שננקטו כדי למצוא את המודל העדכני ביותר לפריסה ויצירת סקריפטים של CloudFormation ליצירת נקודת הקצה של SageMaker. מהנדסי MLOps יעדכנו את הקוד במאגר זה כדי לשנות את לוגיקת הפריסה הספציפית. שימו לב ששינויים בשלבי הפריסה (סטייג'ינג, פרוד וכו') ידרשו תבנית מותאמת אישית, מכיוון שמדובר בשינוי ב-CodePipeline, לא בקוד ה-Seed.
הפעלת הצינור
תהליך בניית מודל
- מדעני נתונים מעדכנים את הלוגיקה של בניית המודל (כלומר, עיבוד מקדים, תסריטי אימון וכו') ודוחפים commit למאגר מס' 1 ב- CodeCommit.
- כלל EventBridge מפעיל את צינור CodePipeline של בניית המודלים.
- בצינור, פרויקט CodeBuild בונה צנרת של SageMaker (ניתן להחליף את זה בכל קוד אימון מודל) ומבצע את זרימת העבודה, כלומר מאמן מודל ורושם את המודל לרישום המודל של SageMaker.
לאחר מכן ניתן לאשר או לדחות את המודל ברישום. ארגונים צריכים לקבוע כיצד אישור המודל שלהם מתרחש ולקיים תהליכים שקובעים אילו משתמשים רשאים לאשר מודלים ברישום.
תהליך פריסת מודל
- מהנדסי MLOps מעדכנים את קוד פריסת המודל ודוחפים commit למאגר מס' 2 ב- CodeCommit, או שמודל מאושר ברישום המודלים.
- כללי EventBridge מפעילים את צינור פריסת המודל CodePipeline.
- פרויקט CodeBuild יוצר תצורות עבור Staging והפקה לשימוש על ידי תבניות CloudFormation.
- בשלב "DeployStaging" -
- נקודת קצה של SageMaker נוצרת ב-"Staging" דרך CloudFormation
- פרויקט CodeBuild בודק את נקודת הקצה עבור סטטוס 'InService'.
- אם המבחן עובר, יופעל שלב אישור ידני.
- המשתמש המיועד בארגון יאשר באופן ידני את המודל ב-CodePipeline
- בשלב "DeployProd", נקודת הקצה של SageMaker נפרסת ל-"Production". שימו לב שעבור תבנית 1P, שתי נקודות הקצה פרוסות באותו אזור, עם סיומות שונות (Staging או Prod).
אם המודל נדחה, לא ננקטת כל פעולה.
כאשר פרויקט 1P SageMaker זה נוצר לראשונה, כל צינור פועל באופן אוטומטי כאשר קוד ה-Seed נדחף למאגרים אלה בפעם הראשונה. ככל שמשתמשים מעדכנים לאחר מכן את הקוד בכל אחד מהמאגרים כדי לענות על מקרה השימוש שלהם, הצינורות יופעלו מחדש. מקרי שימוש מסוימים מתאימים לפרדיגמה המוצעת על ידי תבניות הצד הראשון, מה שהופך את התבניות הללו לדרך מצוינת ליצירת פרויקטי ML. לדוגמה, הוספת שלבים נוספים לצינור, שינוי מערך הנתונים, עדכון המאפיינים של נקודת הקצה הפרוסה כמו הוספת DataCaptureConfig, שימוש ב-GitHub או Jenkins במקום בעמיתים המקומיים של AWS כולם ניתנים להשגה באמצעות תבניות הצד הראשון. למידע נוסף על תבניות SageMaker Project של צד ראשון, בקר באתר תיעוד SageMaker Projects.
למה ליצור תבניות מותאמות אישית
ייתכן שארגונים ירצו להרחיב את תבניות הצד הראשון כדי לתמוך במקרים של שימוש מעבר למודל הדרכה ופריסה פשוט. תבניות פרויקט מותאמות אישית הם דרך לארגונים ליצור זרימת עבודה סטנדרטית עבור פרויקטים של Machine Learning. הארגון יכול ליצור מספר תבניות ולהשתמש במדיניות IAM כדי לנהל את הגישה לתבניות אלו ב- SageMaker Studio, תוך הבטחת שכל אחד מהמשתמשים שלהם ניגש לפרויקטים ייעודיים למקרי השימוש שלו.
להלן כמה תרחישים נפוצים שבהם הארגון יצטרך ליצור תבנית פרויקט מותאמת אישית:
תַרחִישׁ | היצע 1P נוכחי | מקרה השימוש של הארגון |
שימוש במערכות SVC שאינן נתמכות בתבניות הצד הראשון | תבניות צד ראשון משתמשות ב-AWS CodeStar Connections כדי לבצע אימות עם המאגר המגביל את תבניות הצד הראשון ל-CodeCommit, GitHub, BitBucket ו-GitHub Enterprise. | לארגונים עשויים להיות מערכות בקרת גרסאות אחרות מאלה המוצעות כעת על ידי תבניות 1P. |
שימוש באסטרטגיה מרובת חשבונות להדרכה ופריסה של מודלים. | נכון לעכשיו, תבניות 1P עושות הדרכה ופריסה של מודלים, הכל באותו חשבון. | ייתכן שארגונים ירצו להשתמש באסטרטגיה מרובת חשבונות כדרך מומלצת עם חשבונות הדרכה ייעודיים וחשבונות היערכות/הפקה לפריסות. |
זרימות עבודה מותאמות אישית עבור פריסת מודלים. | לתבניות 1P יש 2 שלבי אישור - אישור ברישום הדגמים ואישור ידני ב-CI/CD Pipeline | לארגונים עשויים להיות שלבי אישור מרובים שצריכים להתבצע לפני שניתן יהיה לפרוס מודל. |
שלבי פריסה מרובים | תבניות 1P פורסות מודלים בשני שלבים - הבמה והפקה. שתי נקודות הקצה פרוסות באותו חשבון. | לארגונים עשויים להיות יותר מ-2 שלבים (שלבים, קדם-ייצור, ייצור) לפריסה. |
ענפי קוד מרובים לניסוי | תבניות 1P מניחות רק ענף בודד במאגר המשמש | לארגונים עשויים להיות משתמשים מרובים שעובדים על אותו מאגר כאשר כל אחד מהם עובד בסניפים בודדים לצורך ניסוי עם הענף הראשי בעל הגרסה הטובה ביותר של צינור ההדרכה |
אפשרויות אירוח מותאמות אישית | תבניות 1P משתמשות בנקודות קצה מתארחות של SageMaker בלבד | ארגונים עשויים לרצות למנף מגוון אפשרויות אירוח של SageMaker - MME, Edge וכו'. |
צינור יחיד למקרי שימוש מרובים | תבניות 1P משתמשות בצנרת אחת של SageMaker שמכשירה מודל | ייתכן שארגונים יצטרכו להשתמש ב-SageMaker Pipeline כדי להכשיר ולרשום דגמים מרובים, כל אחד עם קריטריוני הערכה משלו כדי להגביל את מספר הצינורות לניהול |
צינורות פיתוח וייצור | תבניות 1P השתמשו בצינור יחיד לפיתוח וייצור | ייתכן שארגונים ירצו לבדוק תחילה את הצינור שלהם בסביבת פיתוח ולאחר מכן להשתמש בתהליך CI/CD כדי ליצור ולהפעיל את הצינור בסביבת ייצור |
שימוש בקוד זריעה מותאם אישית | לתבניות 1P יש קוד ראשי סטנדרטי לבניית מודלים ופריסה | ייתכן שארגונים ירצו לספק למפתחים שלהם קבוצה של קוד זריעה מותאם אישית לשימוש במקרים שהם עובדים עליהם |
שימוש ב-SageMaker Studio ב-VPC | תבניות 1P משתמשות ב- SageMaker במצב אינטרנט | ייתכן שהארגון משתמש ב-SageMaker במצב vpc בלבד |
שיטות עבודה מומלצות לעיצוב תבנית פרויקט מותאמת אישית
בחלק זה, ארגונים יראו כיצד הם יכולים לבנות תבניות מותאמות אישית משלהם ואת השיקולים שיש לקחת בחשבון בעת עיצוב תבניות משלהם.
שילוב בקרת גרסאות מקור
תבניות 1P משתמשות AWS CodeStar Connections לנהל את האימות בין הפרויקט למאגר כך שניתן לדחוף אליו את קוד ה-Seed. שיטה זו תתמוך ב-GitHub, GitHub Enterprise ו-BitBucket בנוסף למאגר המקורי של AWS, CodeCommit. אם ארגונים רוצים להשתמש במאגרים שונים צריך לספק מנגנון אימות אחר בפרויקט. גישה מומלצת היא להשתמש ב- AWS למבדה לתפקד עם מנהל סודות AWS כדי לאמת עם המאגר ולדחוף את קוד ה-Seed. לאחר שקוד ה-Seed נדחף, האימות עם המאגר ב-SageMaker Studio מתבצע באמצעות שם משתמש וסיסמה של המאגר. השיטה עם Lambda ו- Secrets Manger מיועדת לקוד ה-Seed שנדחף לריפו כאשר הפרויקט נוצר. ניתן לחקור אסטרטגיות חלופיות לדחיפת קוד ראשי למאגר בהתבסס על המאגר של הארגון, מנגנון האימות, מקרה שימוש וכו'.
קוד ה-Seed שנדחף למאגר צריך להיות מותאם אישית כדי לתמוך במקרה השימוש של הפרויקט.
הפעלת CI/CD
בפרויקט SageMaker, כלי ה-CI/CD המשמש יהיה אחראי להפעלת תהליך ההדרכה והפריסה של המודל. כאשר הסטטוס של דגם משתנה ב-Model Registry, נשלחת הודעת EventBridge שיכולה להתריע לכלי ה-CI/CD להתחיל בפריסה. באופן דומה, כלי ה-CI/CD יצטרך להשתמש בממשק ה-API של SageMaker כדי להתחיל את הביצוע של SageMaker Pipeline כאשר יבוצע שינוי במאגר בניית המודלים. בתבנית 1P המשתמשת Jenkins עבור CI/CD, ה-Jenkins Pipeline מופעל על ידי דחיפה למאגר SVC. ה-CI/CD Pipeline משתמש בפקודות AWS CLI כדי להפעיל SageMaker Pipeline לאימון מודלים ולהפעיל סקריפטים של CloudFormation לפריסת המודל לנקודת הקצה.
במקרים שבהם ארגונים רוצים להשתמש בכלי CI/CD שאינם נתמכים בתבניות 1P (Jenkins, CodePipeline), עליהם לוודא שהמאגר שלהם יכול להפעיל את CI/CD Pipeline שלהם ושניתן להפעיל את פקודות ה-AWS CLI עבור ה-CI/CD צינור כך שניתן יהיה לקרוא לשירותי ה-AWS הרלוונטיים (SageMaker Pipelines, CloudFormation וכו'). בתבנית 1P, פונקציית Lambda משמשת להפעלת צינור Jenkins/CodePipeline כאשר מודל ב-Model Registry מאושר, ניתן לעשות את אותו הדבר בעת שימוש בכלי CI/CD אחרים.
זיהוי תפקידים ושחקנים של IAM
פרויקטים של SageMaker דורשים קבוצה של תפקידי IAM הנכללים בשתי קטגוריות:
- תפקידי השקה - משמש להגדרת אילוץ בקטלוג השירותים מאלץ לספק את המוצר הבסיסי באמצעות ה-LaunchRole המיועד. זה מאפשר למפתחים ליצור פרויקטים באמצעות תבניות מבלי להזדקק לתפקיד הביצוע של SageMaker כדי לקבל את כל המדיניות הדרושה להפעלת הפרויקט. קטלוג השירות לוקח על עצמו את תפקיד אילוצי ההשקה בזמן יצירת הפרויקט, כך שהמפתחים המשתמשים בפרויקט יוכלו להגביל את תפקידיהם למדיניות הספציפית שהם צריכים.
- השתמש בתפקידים - משמש בתוך התבנית על ידי כל משאב עבור הפעולות הנדרשות. עבור כל פעולה בתבנית המוצר, את תפקיד השימוש מקבל מנהל השירות של AWS בהתאמה.
תפקידים בתבניות 1P:
תבניות 1P משתמשות בתפקידים המנוהלים הבאים של AWS.
- הפעל תפקידים – המדיניות המנוהלת של אמזון
AmazonSageMakerServiceCatalogProductsLaunchRoleis
בשימוש על ידי תבניות הצד הראשון עבור אילוץ ההשקה של קטלוג השירותים. - השתמש בתפקיד -
AmazonSageMakerServiceCatalogProductsUseRole
משמש את המשאבים שנוצרו ב-1st תבניות מסיבה.
תפקידים בתבנית המותאמת אישית:
במקרה של תבניות מותאמות אישית, ה LaunchRole
צריך להתעדכן כדי לקבל מספיק הרשאות לפרוס את כל המשאבים בתבנית CloudFormation; וה UseRole
צריך לקבל את כל השירותים הקשורים במדיניות האמון שלו כדי שהשירותים יוכלו לקחת את התפקיד הנכון. לקוחות יכולים להגדיר א UseRole
עבור כל שירות במקום תפקיד יחיד עבור כל השירותים.
כדי להתחיל, זהה את דמות המשתמשים המשויכות לאפליקציה בנוסף למנהל המערכת, כלומר מדעני נתונים, צוות MLOps וכו', ועצב את מדיניות IAM עם גישה לפחות הרשאות לכל משתמש, ושירותים כגון SageMaker Studio ו-Service קָטָלוֹג. לִרְאוֹת פעולות, משאבים ומפתחות תנאים עבור שירותי AWS לרשימה ממצה של מדיניות IAM. קבוצה לדוגמה של תפקידי IAM היא:
- מנהל: משתמש זה יהיה אחראי ליצירת התבנית המותאמת אישית ולהקצאתה עבור המשתמשים של מדעני הנתונים. ההרשאות הנדרשות כוללות גישה לקטלוג השירותים, IAM (ליצירת תפקידים ומדיניות) ול-SageMaker לכל הפחות.
- מדען נתונים: משתמש זה ישיק את SageMaker Studio, יצור מחברות ופריסה של תבניות פרויקטים, הפעלת עיבוד, עבודות הדרכה וכו'. לצורך בידוד הרשאות, תפקיד משתמש זה צריך רק גישה לפתיחת פרופיל משתמש של SageMaker Studio, וניתן לטפל בשאר ההרשאות באמצעות תפקיד הביצוע של המחברת.
- מדען נתונים מוביל: משתמש זה יהיה אחראי על אישור פריסת משאבים ב-Production. תפקיד זה יכול להיות בדרך כלל ראש הצוות, שיאמת את משאבי ההיערכות, יוודא שכל התנאים מתקיימים ויאשר את השינויים בייצור. משתמש נוסף זה מספק יכולת ביקורת ומוסיף בדיקה ידנית לפני ביצוע שינויים כלשהם בסביבה החיה.
- תפקיד ביצוע מחברת סטודיו: זהו תפקיד השירות שנוטל על עצמו משתמש הסטודיו של SageMaker. זה בדרך כלל כולל הרשאה ברמה גבוהה יותר ל- SageMaker, עם גישה נוספת ל- Elastic Container Registry, דלי S3 ספציפיים, CodePipeline, CodeBuild, יומני CloudWatch וכו' לפי הצורך. כדי להיות מסוגל לרשום וליצור פרויקט SageMaker, התפקיד צריך גם גישה לקטלוג השירותים.
- תפקיד השקת תבנית מותאמת אישית ותפקיד משתמש: תפקידים שנטל על עצמו SageMaker בעת השקת תבנית הפרויקט המותאמת אישית, וליצירת המשאבים שנפרסו על ידי התבנית. הוספת הבחנה בין תפקיד המחברת לבין תפקיד ההשקה של התבנית מאפשרת למנהלי המערכת להגביל את הרשאת משתמשי הקצה למינימום הנדרש עבור כל מוצר. לִרְאוֹת אילוצי השקת קטלוג השירותים של AWS לתיעוד מפורט.
אסטרטגיות פריסת מודלים
בהתבסס על אפשרות האירוח המתאימה למקרה השימוש, יש לעדכן את רכיבי הפריסה של התבנית כדי להשתמש באפשרות אירוח זו. למשל. אם יש צורך לפרוס את המודל לנקודת קצה מרובת דגמים, יש לעדכן את הסקריפטים של CloudFormation כדי לשקף זאת. לחלופין, אם נעשה שימוש ב-Serial Inference Pipeline, יש לרשום PipelineModel ל-Model Registry על-ידי צינור ההדרכה ו-CloudFormation משמש לפריסת ה-PipelineModel לנקודת קצה של SageMaker. באופן דומה, ניתן לשנות את התבנית כדי לתמוך בהידור מודל עבור פריסת Edge באמצעות SageMaker ניאו.
בנוסף לאפשרות האירוח, יש לקודד את אסטרטגיית האישור בתבנית המותאמת אישית. בתבניות 1P כמתואר לעיל, תהליך האישור לפריסה מתרחש בשני שלבים. הראשון הוא אישור המודל ב-Model Registry, השני הוא שלב אישור ידני ב-CodePipeline או Jenkins. ייתכן שהדבר לא יתאים למנגנוני ניהול האישורים הקיימים עבור ארגונים כאשר הם פורסים מודלים. דוגמה למנגנון אישור אחר יכולה להיות הגבלת המשתמשים שיכולים לעדכן את סטטוס המודל של רישום הדגמים, כך שרק מהנדסי MLOps יוכלו לעדכן את הסטטוס ל"אושר". לאחר האישור, צינור ה-CI/CD יכול לכלול שלב שבודק בדיקות אינטגרציה מסוימות שיושלמו יחד עם אישור ידני ממנהל חשבון לפני פריסת המודל. ניתן לעצב זרימות עבודה כאלה של אישור בתבנית המותאמת אישית כדי להגדיר נוהג סטנדרטי לפריסה ברחבי הארגון.
לבסוף, תבניות ה- 1P פועלות בתוך חשבון יחיד בהתאם לשיטות העבודה המומלצות של CI/CD, לארגונים עשויה להיות אסטרטגיה מרובת חשבונות עם חשבונות מפתח, בימוי ו-Prod ייעודיים. במקרה זה, לקוחות יכולים לעשות שימוש ארגוני AWS לנהל את החשבונות האלה ולמנף ערימות CloudFormation חוצות חשבונות כדי לטפל בפריסה. התרשים הבא ממחיש כיצד ניתן להגדיר זאת.
להנחיות מפורטות כיצד להגדיר פריסה מרובת חשבונות באמצעות SageMaker Projects, עיין ב זֶה בלוג.
אבטחה, הצפנה ותיוג
- אבטחה והצפנה
האבטחה נמצאת בראש סדר העדיפויות ב-AWS. בזמן יצירת זרימות עבודה של CI/CD עבור למידת מכונה, הכרחי להבין כיצד לאבטח נתונים סודיים המשמשים להדרכה. AWS ממליצה על הצפנת AWS KMS-CMK של אחסון, כלומר, דלי S3, אובייקטים, נפח SageMaker Studio וכו'. ניהול גרסאות S3 מאפשר שחזור של אובייקטים במקרה של מחיקה בשוגג, ורישום S3 מספק יומני גישה עבור הדלי לדלי יעד. צור את הדומיין של SageMaker Studio ב-VPC מאובטח והשתמש בנקודות קצה של VPC כדי להימנע מהעברת נתונים דרך האינטרנט הציבורי. ראה את הספר הלבן בנה פלטפורמת למידת מכונה ארגונית מאובטחת ב-AWSלשיטות עבודה מומלצות. - תיוג
תגיות משמשות לארגון משאבים על ידי משתמשים, צוותים, פרויקטים או מחלקות, ולעקוב אחר עלויות ה-AWS שלך ברמה מפורטת. בנוסף, ניתן להשתמש בתגים כדי לאכוף מדיניות IAM, למשל, בידוד משאבים בין שני צוותים כמתואר בפוסט בבלוג קביעת תצורה של אמזון SageMaker Studio עבור צוותים וקבוצות עם בידוד מלא של משאבים. מסיבות כאלה, אתה יכול לאכוף תיוג על כל פרויקט SageMaker שנוצר על ידי משתמש באמצעות מדיניות IAM. לתפקיד מדען הנתונים, הוסף את הצהרת המדיניות הבאה של IAM:
כאשר אתה יוצר מוצר מותאם אישית, אתה יכול גם להשתמש ב- ספריית TagOption כדי לאכוף את הערכים עבור כל תג. כאשר מצוין תג עבור פרויקט, SageMaker מפיץ את התגים לכל המשאבים שלו.
בסביבה ארגונית, אתה יכול גם ליצור תבניות פרויקט מרובות (מוצרי קטלוג שירותים) עבור צוותים שונים, ולהגביל את הגישה של כל צוות לתבנית המתאימה לו באמצעות מדיניות IAM.
יישום שיטות עבודה מומלצות אלה על מקרה שימוש
טבלה זו מתארת כיצד שיטות העבודה המומלצות המתוארות לעיל יכולות לסייע בפתרון מגוון מקרי שימוש שבהם נוצרות תבניות פרויקט מותאמות אישית.
תַרחִישׁ | פיתרון מוצע |
שימוש במערכות SVC שאינן נתמכות בתבניות הצד הראשון | ניתן להתאים את תבניות הצד הראשון לשימוש במנגנוני אימות מותאמים אישית כמו פונקציות Lambda עם AWS Secrets Manager או כל דרך אחרת לגשת לקוד במאגר. עיין בקרת גרסאות מקור בסעיף שיטות עבודה מומלצות לעיצוב תבנית פרויקט מותאמת אישית. כאן הוא דוגמה לכך. |
שימוש באסטרטגיה מרובת חשבונות להדרכה ופריסה של מודלים. | השתמש בארגון AWS לניהול חשבונות מרובים ובערימות CloudFormation חוצות חשבונות לניהול פריסת מודלים במספר חשבונות. עיין ב"אסטרטגיות פריסת מודל" בסעיף שיטות עבודה מומלצות לעיצוב תבנית פרויקט מותאמת אישית. |
זרימות עבודה מותאמות אישית עבור פריסת מודלים. | הוסף מבחני יחידה, מבחני אינטגרציה, שלבי אישור ידני נוספים, שלבי הערכה מרובים בצנרת ההדרכה וכו' כדי לקבל אסטרטגיית אישור מודל חזקה. עיין ב"אסטרטגיות פריסת מודל" בסעיף שיטות עבודה מומלצות לעיצוב תבנית פרויקט מותאמת אישית. |
שלבי פריסה מרובים | יש לעדכן את CI/CD Pipeline (CodePipeline, Jenkins וכו') עם כל שלבי הפריסה הנדרשים. שלב אחד לכל שלב של פריסה. עיין ב"אסטרטגיות פריסת מודל" בסעיף שיטות עבודה מומלצות לעיצוב תבנית פרויקט מותאמת אישית. |
ענפי קוד מרובים לניסוי | ניתן ליצור תבנית מותאמת אישית שבה בכל פעם שנדחף סניף חדש ב-SVC לניסוי, נוצר ומבוצע צינור SageMaker עבור אותו ענף. כאן הוא דוגמה לתבנית מותאמת אישית להפעלת אסטרטגיה זו. |
אפשרויות אירוח מותאמות אישית | ניתן ליצור תבנית מותאמת אישית שמשנה את הסקריפטים של CloudFormation המשמשים לפריסת נקודות קצה וניתן לעדכן את שלבי הפריסה כך שיתאימו לאפשרות האירוח שנבחרה. עיין ב"אסטרטגיות פריסת מודל" בסעיף שיטות עבודה מומלצות לעיצוב תבנית פרויקט מותאמת אישית. |
צינור יחיד למקרי שימוש מרובים | ניתן לעדכן את קוד ה-seed של הפרויקט כך ש-SageMaker Pipeline יחיד יאמן מספר דגמים המשרתים מקרי שימוש מרובים. מקרים שבהם זה שימושי יכולים להיות כאשר נעשה שימוש במערך נתונים בודד לאימון מודלים מרובים, כל מודל מאומן על קבוצות משנה שונות של נתונים. זה מונע את הצורך בניהול צינורות מרובים ומפחית את מספר שלבי הכנת הנתונים הדרושים. |
צינורות פיתוח וייצור | ניתן ליצור תבנית מותאמת אישית שיוצרת SageMaker Pipeline באמצעות הגדרת Pipeline היא סביבת ייצור כאשר ההגדרה נדחפת למאגר SVC. בדרך זו, מדעני נתונים יכולים לבדוק את הצינור שלהם בסביבת פיתוח, לחזור עליו עד שהצינור מגיע למצב הרצוי, לדחוף את קובץ הגדרות הצינור למאגר, לגרום לצינור ה-CI/CD ליצור צינור חדש באמצעות אותה הגדרה ב- סביבת ייצור, ולהתחיל בביצועה. |
שימוש בקוד זריעה מותאם אישית | ניתן ליצור תבנית מותאמת אישית השואבת קוד ממיקום המארח את קוד ה-Seed המותאם אישית עבור הפרויקט. זה יכול להיות דלי S3 מנוהל על ידי ארגון או מאגר שניתן למשוך ממנו קוד. עיין בקרת גרסאות מקור בסעיף שיטות עבודה מומלצות לעיצוב תבנית פרויקט מותאמת אישית. |
שימוש ב-SageMaker Studio ב-VPC | ניתן ליצור תבנית מותאמת אישית שיש לה גישה לדלי עם קוד סיד דרך נקודת קצה VPC. בלי זה, כאשר הפרויקט נוצר, קוד ה-Seed לא יהיה זמין לאכלוס המאגר. עיין אבטחה, הצפנה ותיוג בסעיף שיטות עבודה מומלצות לעיצוב תבנית פרויקט מותאמת אישית. |
סיכום
באמצעות הפרקטיקה וההנחיות המומלצות המתוארות כאן, ארגונים יכולים לאפשר למשתמשים שלהם זרימות עבודה סטנדרטיות עבור ML שעוזרים להגביר את הפרודוקטיביות ולהבטיח עמידה בתקני הארגון.
לְבַקֵר מאגר GitHub זה לדוגמא על בניית תבנית משלך ותרום למאגר עם תבניות מותאמות אישית משלך!
על הכותבים
קירית תדאקה הוא אדריכל ML Solutions העובד בצוות SageMaker Service SA. לפני שהצטרפה ל-AWS, קירית בילתה זמן בעבודה בסטארטאפים של בינה מלאכותית בשלבים מוקדמים ולאחריה זמן מה בייעוץ בתפקידים שונים במחקר AI, MLOps ומנהיגות טכנית.
דורגה סורי הוא מדען נתונים בצוות אספקת אנרגיה בשירותים מקצועיים. לפני AWS, היא אפשרה למלכ"רים ולסוכנויות ממשלתיות להפיק תובנות מהנתונים שלהם כדי לשפר את תוצאות החינוך. ב-AWS, היא מתמקדת בעיבוד שפה טבעית וב-MLOps.
- '
- &
- 100
- 11
- 7
- 9
- גישה
- חֶשְׁבּוֹן
- פעולה
- נוסף
- מנהל
- AI
- ai מחקר
- תעשיות
- אמזון בעברית
- אמזון SageMaker
- API
- בקשה
- אימות
- אוטומטי
- AWS
- הטוב ביותר
- שיטות עבודה מומלצות
- בלוג
- ענפים
- לִבנוֹת
- בִּניָן
- מקרים
- שינוי
- תשלום
- בדיקות
- קוד
- Common
- הענות
- חיבורי
- ייעוץ
- מכולה
- עלויות
- יוצרים
- לקוחות
- נתונים
- מדען נתונים
- מערך נתונים
- מסירה
- עיצוב
- פרט
- dev
- מפתח
- מפתחים
- צעצועי התפתחות
- אדג '
- חינוך
- הצף
- נקודת קצה
- אנרגיה
- מהנדסים
- מִפְעָל
- סביבה
- וכו '
- הוצאת להורג
- ראשון
- firsttime
- מתאים
- גמישות
- פונקציה
- GitHub
- ממשל
- ממשלה
- גדול
- כאן
- אירוח
- איך
- איך
- HTTPS
- IAM
- ICS
- לזהות
- מידע
- תובנות
- השתלבות
- אינטרנט
- בדידות
- IT
- מקומות תעסוקה
- מפתחות
- שפה
- האחרון
- לשגר
- עוֹפֶרֶת
- מנהיגות
- למידה
- רמה
- תנופה
- מוגבל
- רשימה
- מיקום
- למידת מכונה
- עשייה
- ניהול
- ML
- MLOps
- מודל
- שפה טבעית
- עיבוד שפה טבעית
- ללא כוונת רווח
- מחשבים ניידים
- הודעה
- המיוחדות שלנו
- לפתוח
- תפעול
- אפשרות
- אפשרויות
- ארגון
- ארגונים
- אחר
- פרדיגמה
- סיסמה
- ביצועים
- פלטפורמה
- מדיניות
- מדיניות
- מנהל
- המוצר
- הפקה
- פִּריוֹן
- מוצרים
- פּרוֹפִיל
- פּרוֹיֶקט
- פרויקטים
- ציבורי
- מושך
- סיבות
- התאוששות
- מחקר
- משאב
- משאבים
- כללי
- הפעלה
- ריצה
- בעל חכמים
- מדענים
- אבטחה
- זרע
- נבחר
- שירותים
- הגשה
- סט
- הצבה
- So
- פתרונות
- לפתור
- התמחות
- תקנים
- התחלה
- החל
- חברות סטארט
- מדינה
- הצהרה
- מצב
- אחסון
- אִסטרָטֶגִיָה
- תמיכה
- נתמך
- מערכות
- יעד
- טכני
- מבחן
- בדיקות
- זמן
- לעקוב
- הדרכה
- רכבות
- סומך
- ui
- עדכון
- משתמשים
- בקרת גרסאות
- כֶּרֶך
- סקירה טכנית
- מי
- בתוך
- תיק עבודות
- זרימת עבודה
- עובד