צינורות SageMaker של אמזון הוא שירות AWS מנוהל במלואו לבנייה ותזמור של תהליכי עבודה של למידת מכונה (ML). SageMaker Pipelines מציעה למפתחי יישומי ML את היכולת לתזמן שלבים שונים של זרימת העבודה של ML, כולל טעינת נתונים, שינוי נתונים, הדרכה, כוונון ופריסה. אתה יכול להשתמש ב- SageMaker Pipelines כדי לתזמן עבודות ML ב- SageMaker, ושלו אינטגרציה עם מערכת האקולוגית הגדולה יותר של AWS גם מאפשר לך להשתמש במשאבים כמו AWS למבדה פונקציות, אמזון EMR מקומות עבודה ועוד. זה מאפשר לך לבנות צינור מותאם וניתן לשחזור עבור דרישות ספציפיות בזרימות העבודה שלך ב-ML.
בפוסט זה, אנו מספקים כמה שיטות עבודה מומלצות כדי למקסם את הערך של SageMaker Pipelines ולהפוך את חווית הפיתוח לחלקה. אנו גם דנים בכמה תרחישים ותבניות עיצוב נפוצים בעת בניית צינורות SageMaker ומספקים דוגמאות לטיפול בהם.
שיטות עבודה מומלצות עבור SageMaker Pipelines
בסעיף זה, אנו דנים בכמה שיטות עבודה מומלצות שניתן לבצע בעת עיצוב זרימות עבודה באמצעות SageMaker Pipelines. אימוץ שלהם יכול לשפר את תהליך הפיתוח ולייעל את הניהול התפעולי של SageMaker Pipelines.
השתמש ב-Pipeline Session לטעינה עצלנית של הצינור
מושב צינור מאפשר אתחול עצלן של משאבי צינור (העבודות לא מתחילות עד לזמן הריצה של הצינור). ה PipelineSession
ההקשר יורש את סשן של SageMaker ומיישם שיטות נוחות לאינטראקציה עם ישויות ומשאבים אחרים של SageMaker, כגון עבודות הדרכה, נקודות קצה, מערכי נתונים שירות אחסון פשוט של אמזון (Amazon S3), וכן הלאה. בעת הגדרת SageMaker Pipelines, עליך להשתמש PipelineSession
במהלך הפגישה הרגילה של SageMaker:
הפעל צינורות במצב מקומי עבור איטרציות חסכוניות ומהירות במהלך הפיתוח
אתה יכול להפעיל א צינור במצב מקומי באמצעות LocalPipelineSession
הֶקשֵׁר. במצב זה, הצינור והעבודות מופעלות באופן מקומי באמצעות משאבים במחשב המקומי, במקום משאבים מנוהלים של SageMaker. מצב מקומי מספק דרך חסכונית לחזור על קוד הצינור עם תת-קבוצה קטנה יותר של נתונים. לאחר שהצינור נבדק באופן מקומי, ניתן לשנות את קנה המידה להפעלה באמצעות ה- PipelineSession ההקשר.
נהל צנרת של SageMaker באמצעות ניהול גרסאות
גירסאות של חפצים והגדרות צינור היא דרישה נפוצה במחזור החיים של הפיתוח. אתה יכול ליצור גרסאות מרובות של הצינור על ידי מתן שם לאובייקטי צינור עם קידומת או סיומת ייחודית, הנפוצה ביותר היא חותמת זמן, כפי שמוצג בקוד הבא:
ארגן ועקוב אחר ריצות צנרת של SageMaker על ידי שילוב עם SageMaker Experiments
ניתן לשלב בקלות עם צינורות SageMaker SageMaker ניסויים לארגון ו מעקב אחר ריצות צינור. זה מושג על ידי ציון PipelineExperimentConfig בזמן יצירת א אובייקט צינור. עם אובייקט תצורה זה, אתה יכול לציין שם ניסוי ושם ניסוי. פרטי הריצה של צינור SageMaker מתארגנים תחת הניסוי והניסוי שצוינו. אם אינך מציין במפורש שם ניסוי, שם צינור ישמש לשם הניסוי. באופן דומה, אם אינך מציין במפורש שם ניסיון, ישמש מזהה הפעלת צינור עבור שם קבוצת הניסיון או ההפעלה. ראה את הקוד הבא:
הפעל בצורה מאובטחת צינורות SageMaker בתוך VPC פרטי
כדי לאבטח את עומסי העבודה של ML, שיטת העבודה הטובה ביותר היא לפרוס את העבודות המתוזמרות על ידי SageMaker Pipelines בתצורת רשת מאובטחת בתוך VPC פרטי, רשתות משנה פרטיות וקבוצות אבטחה. כדי להבטיח ולאכוף את השימוש בסביבה מאובטחת זו, תוכל ליישם את הדברים הבאים AWS זהות וניהול גישה (IAM) מדיניות עבור תפקיד ביצוע של SageMaker (זהו התפקיד שנוטל על עצמו הצינור במהלך הריצה שלו). אתה יכול גם להוסיף את המדיניות כדי להפעיל את העבודות שמתוזמרות על ידי SageMaker Pipelines במצב בידוד רשת.
לדוגמא של יישום צינור עם בקרות אבטחה אלה במקום, עיין ב תזמור משרות, רישום דגמים ופריסה רציפה עם Amazon SageMaker בסביבה מאובטחת.
עקוב אחר עלות ריצות הצינור באמצעות תגים
השימוש בצנרת של SageMaker כשלעצמו הוא בחינם; אתה משלם עבור משאבי המחשוב והאחסון שאתה מגבש כחלק משלבי הצינור הבודדים כמו עיבוד, הדרכה והסקת אצווה. כדי לצבור את העלויות לכל הפעלת צינור, אתה יכול לכלול תיוגים בכל שלב בצינור שיוצר משאב. לאחר מכן ניתן להפנות לתגים אלה בסייר העלויות כדי לסנן ולצבור את עלות הפעלת הצינור הכוללת, כפי שמוצג בדוגמה הבאה:
מסייר העלויות, כעת תוכל לסנן את העלות באמצעות התג:
עיצוב דפוסים עבור כמה תרחישים נפוצים
בחלק זה, אנו דנים בדפוסי עיצוב עבור כמה מקרי שימוש נפוצים עם SageMaker Pipelines.
הפעל פונקציית Python קלת משקל באמצעות צעד Lambda
פונקציות Python נמצאות בכל מקום בזרימות עבודה של ML; הם משמשים בעיבוד מקדים, לאחר עיבוד, הערכה ועוד. Lambda הוא שירות מחשוב ללא שרתים המאפשר לך להריץ קוד מבלי להקצות או לנהל שרתים. עם Lambda, אתה יכול להריץ קוד בשפה המועדפת עליך הכולל את Python. אתה יכול להשתמש בזה כדי להפעיל קוד Python מותאם אישית כחלק מהצינור שלך. צעד למבדה מאפשר לך להפעיל פונקציות Lambda כחלק מצינור SageMaker שלך. התחל עם הקוד הבא:
צור את פונקציית Lambda באמצעות ה- עוזר Lambda של SageMaker Python SDK:
קרא לשלב למבדה:
העבר נתונים בין שלבים
נתוני קלט עבור שלב צינור הם מיקום נתונים נגיש או נתונים שנוצרו על ידי אחד מהשלבים הקודמים בצינור. אתה יכול לספק מידע זה בתור א ProcessingInput
פָּרָמֶטֶר. בואו נסתכל על כמה תרחישים של איך אתה יכול להשתמש ProcessingInput.
תרחיש 1: העבר את הפלט (סוגי נתונים פרימיטיביים) של שלב למבדה לשלב עיבוד
סוגי נתונים פרימיטיביים מתייחסים לסוגי נתונים סקלרים כמו מחרוזת, מספר שלם, בוליאנית וצוף.
קטע הקוד הבא מגדיר פונקציית Lambda שמחזירה מילון של משתנים עם סוגי נתונים פרימיטיביים. קוד פונקציית Lambda שלך יחזיר JSON של צמדי מפתח-ערך כאשר יופעל משלב Lambda בתוך צינור SageMaker.
בהגדרת הצינור, לאחר מכן תוכל להגדיר פרמטרים של צינור של SageMaker שהם מסוג נתונים ספציפי ולהגדיר את המשתנה לפלט של פונקציית Lambda:
תרחיש 2: העברת הפלט (סוגי נתונים לא פרימיטיביים) של שלב למבדה לשלב עיבוד
סוגי נתונים לא פרימיטיביים מתייחסים לסוגי נתונים לא סקלאריים (לדוגמה, NamedTuple
). ייתכן שיש לך תרחיש שבו עליך להחזיר סוג נתונים לא פרימיטיבי מפונקציית Lambda. כדי לעשות זאת, עליך להמיר את סוג הנתונים הלא-פרימיטיביים שלך למחרוזת:
לאחר מכן תוכל להשתמש במחרוזת זו כקלט לשלב הבא בצנרת. כדי להשתמש ב-tuple עם השם בקוד, השתמש eval()
לנתח את ביטוי Python במחרוזת:
תרחיש 3: העבר את הפלט של שלב דרך קובץ מאפיין
אתה יכול גם לאחסן את הפלט של שלב עיבוד ב-a קובץ JSON מאפיין לצריכה במורד הזרם ב א ConditionStep
או אחר ProcessingStep
. אתה יכול להשתמש ב- פונקציית JSONGet לשאול א קובץ רכוש. ראה את הקוד הבא:
נניח שתוכן קובץ הנכסים היה הבא:
במקרה זה, ניתן לבקש ממנו ערך ספציפי ולהשתמש בו בשלבים הבאים באמצעות הפונקציה JsonGet:
פרמטר משתנה בהגדרת צינור
פרמטר של משתנים כך שניתן יהיה להשתמש בהם בזמן ריצה רצוי לעתים קרובות - לדוגמה, כדי לבנות URI S3. אתה יכול להגדיר פרמטרים למחרוזת כך שתוערך בזמן ריצה באמצעות ה- Join
פוּנקצִיָה. קטע הקוד הבא מראה כיצד להגדיר את המשתנה באמצעות ה- Join
פונקציה והשתמש בזה כדי להגדיר את מיקום הפלט בשלב עיבוד:
הרץ קוד מקביל על איטרנס
זרימות עבודה מסוימות של ML מרצות קוד במקביל for-loops על קבוצה סטטית של פריטים (an חובה). זה יכול להיות אותו קוד שמופעל על נתונים שונים או קטע קוד אחר שצריך להפעיל עבור כל פריט. לדוגמה, אם יש לך מספר גדול מאוד של שורות בקובץ ואתה רוצה להאיץ את זמן העיבוד, אתה יכול להסתמך על התבנית הקודמת. אם ברצונך לבצע טרנספורמציות שונות על תת-קבוצות ספציפיות בנתונים, ייתכן שתצטרך להריץ פיסת קוד שונה עבור כל תת-קבוצה בנתונים. שני התרחישים הבאים ממחישים כיצד ניתן לתכנן צנרת של SageMaker למטרה זו.
תרחיש 1: הטמעת היגיון עיבוד על חלקים שונים של נתונים
אתה יכול להפעיל עבודת עיבוד עם מספר מופעים (על ידי הגדרה instance_count
לערך גדול מ-1). זה מפיץ את נתוני הקלט מאמזון S3 לכל מופעי העיבוד. לאחר מכן תוכל להשתמש בסקריפט (process.py) כדי לעבוד על חלק מסוים מהנתונים בהתבסס על מספר המופע והאלמנט המתאים ברשימת הפריטים. ניתן לכתוב את היגיון התכנות ב-process.py כך שמודול או קטע קוד אחר יופעל בהתאם לרשימת הפריטים שהוא מעבד. הדוגמה הבאה מגדירה מעבד שניתן להשתמש בו בשלב ProcessingStep:
תרחיש 2: הפעל רצף של שלבים
כאשר יש לך רצף של שלבים שצריך להפעיל במקביל, אתה יכול להגדיר כל רצף כצנרת עצמאית של SageMaker. לאחר מכן ניתן להפעיל את הריצה של צינורות SageMaker אלה מפונקציית Lambda שהיא חלק מ-a LambdaStep
בצנרת האב. קטע הקוד הבא ממחיש את התרחיש שבו מופעלות שתי ריצות צנרת שונות של SageMaker:
סיכום
בפוסט זה, דנו בכמה שיטות עבודה מומלצות לשימוש ותחזוקה יעילים של צינורות SageMaker. סיפקנו גם דפוסים מסוימים שתוכלו לאמץ בזמן עיצוב זרימות עבודה עם SageMaker Pipelines, בין אם אתם יוצרים צינורות חדשים ובין אם אתם מעבירים זרימות עבודה של ML מכלי תזמור אחרים. כדי להתחיל עם SageMaker Pipelines עבור תזמור זרימת עבודה של ML, עיין ב- דוגמאות קוד ב-GitHub ו אמזון SageMaker מודלים לבניית צינורות.
על הכותבים
פינאק פניגרהי עובד עם לקוחות לבניית פתרונות מונעי למידת מכונה לפתרון בעיות עסקיות אסטרטגיות ב-AWS. כאשר אינו עוסק בלמידת מכונה, ניתן למצוא אותו מטייל, קורא ספר או צופה בספורט.
Meenakshisundaram Thandavarayan עובד עבור AWS כמומחה AI/ML. יש לו תשוקה לעצב, ליצור ולקדם חוויות נתונים וחוויות ניתוח הממוקדות באדם. Meena מתמקדת בפיתוח מערכות בנות קיימא המספקות יתרונות מדידים ותחרותיים ללקוחות האסטרטגיים של AWS. Meena היא מחברת, הוגה עיצוב, ושואפת להניע עסקים לדרכים חדשות של עבודה באמצעות חדשנות, דגירה ודמוקרטיזציה.
- הפצת תוכן ויחסי ציבור מופעל על ידי SEO. קבל הגברה היום.
- PlatoData.Network Vertical Generative Ai. העצים את עצמך. גישה כאן.
- PlatoAiStream. Web3 Intelligence. הידע מוגבר. גישה כאן.
- PlatoESG. רכב / רכבים חשמליים, פחמן, קלינטק, אנרגיה, סביבה, שמש, ניהול פסולת. גישה כאן.
- PlatoHealth. מודיעין ביוטכנולוגיה וניסויים קליניים. גישה כאן.
- ChartPrime. הרם את משחק המסחר שלך עם ChartPrime. גישה כאן.
- BlockOffsets. מודרניזציה של בעלות על קיזוז סביבתי. גישה כאן.
- מקור: https://aws.amazon.com/blogs/machine-learning/best-practices-and-design-patterns-for-building-machine-learning-workflows-with-amazon-sagemaker-pipelines/
- :יש ל
- :הוא
- :לֹא
- :איפה
- $ למעלה
- 1
- 100
- 11
- 13
- 15%
- 150
- 16
- 17
- 19
- 20
- 22
- 28
- 7
- 8
- 9
- a
- יכולת
- גישה
- נגיש
- הושג
- פעולה
- להוסיף
- פְּנִיָה
- לְאַמֵץ
- אימוץ
- יתרונות
- לאחר
- לְקַבֵּץ
- תעשיות
- מאפשר
- גם
- אמזון בעברית
- אמזון SageMaker
- צינורות SageMaker של אמזון
- אמזון שירותי אינטרנט
- an
- ניתוח
- ו
- אחר
- API
- בקשה
- מתאים
- ARE
- AS
- לְהַנִיחַ
- להניח
- At
- מחבר
- זמין
- AWS
- מבוסס
- BE
- להיות
- הטוב ביותר
- שיטות עבודה מומלצות
- בֵּין
- ספר
- לִבנוֹת
- בִּניָן
- עסקים
- by
- CAN
- מקרה
- מקרים
- מסוים
- לקוחות
- קוד
- אוספים
- Common
- תחרותי
- לחשב
- מצב
- תְצוּרָה
- לבנות
- צְרִיכָה
- תוכן
- הקשר
- רציף
- בקרות
- נוֹחַ
- להמיר
- תוֹאֵם
- עלות
- עלות תועלת
- עלויות
- לִיצוֹר
- יוצר
- יוצרים
- מנהג
- לקוחות
- אישית
- נתונים
- מערכי נתונים
- לפענח
- לְהַגדִיר
- מגדיר
- הגדרה
- הגדרה
- הגדרות
- למסור
- דמוקרטיזציה
- תלוי
- לפרוס
- פריסה
- עיצוב
- תבניות עיצוב
- תכנון
- פרטים
- מפתחים
- מתפתח
- צעצועי התפתחות
- אחר
- ממדים
- לדון
- נָדוֹן
- do
- לא
- נהיגה
- מונע
- בְּמַהֲלָך
- כל אחד
- בקלות
- השפעה
- יעיל
- או
- אלמנט
- מאפשר
- סוף
- לאכוף
- לְהַבטִיחַ
- ישויות
- סביבה
- העריך
- הערכה
- אירוע
- כל
- דוגמה
- דוגמאות
- הוצאת להורג
- ניסיון
- חוויות
- לְנַסוֹת
- חוקר
- ביטוי
- תמצית
- מעטים
- שלח
- לסנן
- לָצוּף
- בעקבות
- הבא
- בעד
- לשעבר
- מצא
- חופשי
- החל מ-
- לגמרי
- פונקציה
- פונקציות
- נוצר
- לקבל
- יותר
- קְבוּצָה
- קבוצה
- יש
- he
- טיול
- איך
- איך
- HTML
- http
- HTTPS
- ID
- זהות
- if
- מדגים
- ליישם
- הפעלה
- מיישמים
- לייבא
- לשפר
- in
- לכלול
- כולל
- כולל
- דגירה
- עצמאי
- בנפרד
- מידע
- חדשנות
- קלט
- למשל
- במקום
- משולב
- שילוב
- אינטראקציה
- אל תוך
- הופעל
- בדידות
- IT
- פריטים
- איטרציות
- שֶׁלָה
- עצמו
- עבודה
- מקומות תעסוקה
- ג'סון
- מפתח
- שפה
- גָדוֹל
- גדול יותר
- למידה
- מאפשר לי
- מעגל החיים
- קַל מִשְׁקָל
- כמו
- רשימה
- טוען
- מקומי
- באופן מקומי
- מיקום
- הגיון
- נראה
- מכונה
- למידת מכונה
- תחזוקה
- לעשות
- הצליח
- ניהול
- ניהול
- לְהַגדִיל
- מאי..
- שיטות
- יכול
- נודד
- ML
- מצב
- מודל
- מודול
- אחת לחודש
- יותר
- רוב
- מספר
- שם
- שם
- שמות
- צורך
- צרכי
- רשת
- חדש
- עַכשָׁיו
- מספר
- אובייקט
- אובייקטים
- להשיג
- of
- המיוחדות שלנו
- לעתים קרובות
- on
- ONE
- מבצעי
- or
- מתוזמר
- תזמור
- מאורגן
- ארגון
- אחר
- תפוקה
- יותר
- זוגות
- מקביל
- פרמטר
- פרמטרים
- חלק
- לעבור
- תשוקה
- תבנית
- דפוסי
- תשלום
- עבור
- לְבַצֵעַ
- לְחַבֵּר
- צינור
- מקום
- אפלטון
- מודיעין אפלטון
- אפלטון נתונים
- מדיניות
- חלק
- הודעה
- תרגול
- פרקטיקות
- מועדף
- קודם
- פרימיטיבי
- פְּרָטִי
- בעיות
- תהליך
- תהליכים
- תהליך
- מעבד
- תכנות
- לקדם
- נכסים
- רכוש
- לספק
- ובלבד
- מספק
- מטרה
- פיתון
- מָהִיר
- קריאה
- להתייחס
- הַרשָׁמָה
- רגיל
- לסמוך
- דרישה
- דרישות
- משאב
- משאבים
- תגובה
- לַחֲזוֹר
- חוזר
- החזרות
- תפקיד
- הפעלה
- פועל
- s
- בעל חכמים
- צינורות SageMaker
- אותו
- תרחיש
- תרחישים
- תסריט
- בצורה חלקה
- סעיף
- לבטח
- אבטחה
- לִרְאוֹת
- רצף
- ללא שרת
- שרתים
- שרות
- שירותים
- מושב
- סט
- הצבה
- צריך
- הראה
- הופעות
- באופן דומה
- פָּשׁוּט
- קטן יותר
- קטע
- So
- פתרונות
- לפתור
- כמה
- מומחה
- ספציפי
- מפורט
- מְהִירוּת
- לְסוֹבֵב
- ספורט
- התחלה
- החל
- הצהרה
- שלב
- צעדים
- אחסון
- חנות
- אסטרטגי
- עסק אסטרטגי
- לייעל
- מחרוזת
- שואף
- מִבְנֶה
- רשתות משנה
- לאחר מכן
- כזה
- בר קיימא
- מערכות
- תָג
- נטילת
- נבדק
- מֵאֲשֶׁר
- זֶה
- השמיים
- אותם
- אז
- שם.
- אלה
- הֵם
- הוגה
- זֶה
- דרך
- זמן
- חותם
- ל
- כלים
- סה"כ
- לעקוב
- רכבת
- הדרכה
- טרנספורמציה
- טרנספורמציות
- מִשׁפָּט
- להפעיל
- מופעל
- נָכוֹן
- שתיים
- סוג
- סוגים
- תחת
- ייחודי
- עד
- נוֹהָג
- להשתמש
- מְשׁוּמָשׁ
- שימושים
- באמצעות
- ערך
- ערכים
- משתנה
- גרסה
- גירסאות
- מאוד
- רוצה
- צופה
- דֶרֶך..
- דרכים
- we
- אינטרנט
- שירותי אינטרנט
- היו
- מתי
- אם
- בזמן
- יצטרך
- עם
- בתוך
- לְלֹא
- תיק עבודות
- זרימת עבודה
- זרימות עבודה
- עובד
- עובד
- עוֹלָם
- כתוב
- אתה
- זפירנט