נתח את ההוצאה של Amazon SageMaker וקבע הזדמנויות לאופטימיזציה של עלויות בהתבסס על השימוש, חלק 3: משרות עיבוד ונתונים רנגלר | שירותי האינטרנט של אמזון

נתח את ההוצאה של Amazon SageMaker וקבע הזדמנויות לאופטימיזציה של עלויות בהתבסס על השימוש, חלק 3: משרות עיבוד ונתונים רנגלר | שירותי האינטרנט של אמזון

בשנת 2021, השקנו תמיכה בשירותי AWS פרואקטיביים כחלק מ תמיכה ב-AWS Enterprise לְתַכְנֵן. מאז הצגתו, עזרנו למאות לקוחות לבצע אופטימיזציה של עומסי העבודה שלהם, להגדיר מעקות בטיחות ולשפר את הנראות של העלות והשימוש של עומסי למידת המכונה (ML) שלהם.

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

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

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

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

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

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

עיבוד SageMaker

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

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

אתה יכול לסנן עלויות עיבוד על ידי החלת מסנן על סוג השימוש. השמות של סוגי שימוש אלה הם כדלקמן:

  • REGION-Processing:instanceType (לדוגמה, USE1-Processing:ml.m5.large)
  • REGION-Processing:VolumeUsage.gp2 (לדוגמה, USE1-Processing:VolumeUsage.gp2)

כדי לבדוק את עלות העיבוד של SageMaker ב-Cost Explorer, התחל בסינון עם SageMaker עבור שֵׁרוּת, ועבור סוג שימוש, אתה יכול לבחור את כל מופעי העיבוד שעות ריצה על ידי הזנת processing:ml קידומת ובחירה ברשימה בתפריט.

נתח את ההוצאה של Amazon SageMaker וקבע הזדמנויות לאופטימיזציה של עלויות בהתבסס על השימוש, חלק 3: משרות עיבוד ונתונים רנגלר | Amazon Web Services PlatoBlockchain Data Intelligence. חיפוש אנכי. איי.

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

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

ראשית, אתה יכול לגשת ל- תהליך בעמוד במסוף SageMaker.

נתח את ההוצאה של Amazon SageMaker וקבע הזדמנויות לאופטימיזציה של עלויות בהתבסס על השימוש, חלק 3: משרות עיבוד ונתונים רנגלר | Amazon Web Services PlatoBlockchain Data Intelligence. חיפוש אנכי. איי.

לחלופין, ניתן להשתמש API של list_processing_jobs.

נתח את ההוצאה של Amazon SageMaker וקבע הזדמנויות לאופטימיזציה של עלויות בהתבסס על השימוש, חלק 3: משרות עיבוד ונתונים רנגלר | Amazon Web Services PlatoBlockchain Data Intelligence. חיפוש אנכי. איי.

סטטוס עבודה בעיבוד יכול להיות InProgress, Completed, Failed, Stopping, או Stopped.

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

מטב את העלות הקשורה ל-I/O

משרות SageMaker Processing מציעות גישה לשלושה מקורות נתונים כחלק מהניהול עיבוד קלט: שירות אחסון פשוט של אמזון (אמזון S3), אמזונה אתנה, ו האדום של אמזון. למידע נוסף, עיין ב ProcessingS3Input, AthenaDatasetDefinition, ו RedshiftDatasetDefinition, בהתאמה.

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

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

ביומן העבודה לדוגמה הבא, אנו רואים שעיבוד הסקריפט ארך 15 דקות (בין Start custom script ו End custom script).

נתח את ההוצאה של Amazon SageMaker וקבע הזדמנויות לאופטימיזציה של עלויות בהתבסס על השימוש, חלק 3: משרות עיבוד ונתונים רנגלר | Amazon Web Services PlatoBlockchain Data Intelligence. חיפוש אנכי. איי.

עם זאת, בקונסולת SageMaker אנו רואים שהעבודה ארכה 4 דקות נוספות (כמעט 25% מזמן הריצה הכולל של העבודה).

נתח את ההוצאה של Amazon SageMaker וקבע הזדמנויות לאופטימיזציה של עלויות בהתבסס על השימוש, חלק 3: משרות עיבוד ונתונים רנגלר | Amazon Web Services PlatoBlockchain Data Intelligence. חיפוש אנכי. איי.

זאת בשל העובדה שבנוסף לזמן שלקח סקריפט העיבוד שלנו, הורדה והעלאה של נתונים בניהול SageMaker ארכו גם זמן (4 דקות). אם זה מתגלה כחלק גדול מהעלות, שקול דרכים חלופיות להאיץ את זמן ההורדה, כגון שימוש ב-Boto3 API עם ריבוי עיבודים להורדת קבצים במקביל, או שימוש בספריות של צד שלישי כמו WebDataset או s5cmd להורדה מהירה יותר מאמזון S3 . למידע נוסף, עיין ב מקביל לעומסי עבודה S3 עם s5cmd. שים לב ששיטות כאלה עשויות להכניס חיובים באמזון S3 עקב העברת נתונים.

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

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

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

מופעי עבודות עיבוד בגודל נכון

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

כדי לכוונן את בחירת המופעים, אנו מתחילים בניתוח מדדי עבודת עיבוד ב-CloudWatch. למידע נוסף, עיין ב עקוב אחר אמזון SageMaker עם אמזון CloudWatch.

CloudWatch אוספת נתונים גולמיים מ- SageMaker ומעבדת אותם למדדים קריאים, כמעט בזמן אמת. למרות שהסטטיסטיקה הזו נשמרת למשך 15 חודשים, קונסולת CloudWatch מגבילה את החיפוש למדדים שעודכנו בשבועיים האחרונים (זה מבטיח שרק משרות נוכחיות מוצגות). ניתן למצוא מדדי עיבוד משימות במרחב השמות /aws/sagemaker/ProcessingJobs והמדדים שנאספו הם CPUUtilization, MemoryUtilization, GPUUtilization, GPUMemoryUtilization, ו DiskUtilization.

צילום המסך הבא מציג דוגמה ב-CloudWatch של עבודת העיבוד שראינו קודם לכן.

נתח את ההוצאה של Amazon SageMaker וקבע הזדמנויות לאופטימיזציה של עלויות בהתבסס על השימוש, חלק 3: משרות עיבוד ונתונים רנגלר | Amazon Web Services PlatoBlockchain Data Intelligence. חיפוש אנכי. איי.

בדוגמה זו, אנו רואים את ערכי המעבד והזיכרון הממוצעים (שהיא ברירת המחדל ב-CloudWatch): השימוש הממוצע במעבד הוא 0.04%, זיכרון 1.84% ושימוש בדיסק 13.7%. על מנת להתאים את הגודל הנכון, שקול תמיד את השימוש המרבי במעבד ובזיכרון (בדוגמה זו, ניצול המעבד המרבי היה 98% ב-3 הדקות הראשונות). ככלל, אם השימוש המקסימלי במעבד ובזיכרון שלך נמוך מ-40% באופן עקבי, אתה יכול בבטחה לחתוך את המכונה לשניים. לדוגמה, אם השתמשת במופע ml.c5.4xlarge, תוכל לעבור ל-ml.c5.2xlarge, מה שיכול להוזיל את העלות שלך ב-50%.

משרות Data Wrangler

Data Wrangler הוא מאפיין של סטודיו SageMaker של אמזון המספק פתרון שניתן לחזור עליו וניתן להרחבה לחקר ועיבוד נתונים. אתה משתמש בממשק Data Wrangler כדי לייבא, לנתח, לשנות ולהציג את הנתונים שלך באופן אינטראקטיבי. השלבים האלה נלכדים במתכון (קובץ .flow) שבו תוכל להשתמש לאחר מכן בעבודת Data Wrangler. זה עוזר לך להחיל מחדש את אותן טרנספורמציות נתונים על הנתונים שלך וגם לשנות את קנה המידה לעבודת עיבוד נתונים אצווה מבוזרת, בין אם כחלק מצינור ML או באופן עצמאי.

להדרכה על אופטימיזציה של אפליקציית Data Wrangler בסטודיו, עיין בחלק 2 בסדרה זו.

בחלק זה, אנו מתמקדים באופטימיזציה של משרות Data Wrangler.

נתונים ש-Wrangler משתמש SageMaker Spark משרות עיבוד עם קונטיינר בניהול Data Wrangler. מיכל זה מריץ את ההנחיות מקובץ ה-.flow בעבודה. כמו כל עבודות עיבוד, Data Wrangler גובה ממך תשלום עבור המקרים שתבחר, בהתבסס על משך השימוש והאחסון המסופק המצורף לאותו מופע.

ב-Cost Explorer, אתה יכול לסנן עלויות משרות Data Wrangler על ידי החלת מסנן על סוג השימוש. השמות של סוגי שימוש אלה הם:

  • REGION-processing_DW:instanceType (לדוגמה, USE1-processing_DW:ml.m5.large)
  • REGION-processing_DW:VolumeUsage.gp2 (לדוגמה, USE1-processing_DW:VolumeUsage.gp2)

כדי להציג את עלות Data Wrangler שלך ב-Cost Explorer, סנן את השירות לשימוש ב- SageMaker, ועבורו סוג שימוש, בחר את processing_DW קידומת ובחר את הרשימה בתפריט. זה יראה לך את העלויות הקשורות לשימוש במופע (שעות) ונפח אחסון (GB). (אם אתה רוצה לראות את עלויות Studio Data Wrangler אתה יכול לסנן את סוג השימוש לפי Studio_DW קידומת.)

נתח את ההוצאה של Amazon SageMaker וקבע הזדמנויות לאופטימיזציה של עלויות בהתבסס על השימוש, חלק 3: משרות עיבוד ונתונים רנגלר | Amazon Web Services PlatoBlockchain Data Intelligence. חיפוש אנכי. איי.

גודל נכון ותזמן מופעי עבודה של Data Wrangler

נכון לעכשיו, Data Wrangler תומך רק במופעי m5 עם גדלי המופעים הבאים: ml.m5.4xlarge, ml.m5.12xlarge ו-ml.m5.24xlarge. אתה יכול להשתמש בתכונת העבודה המבוזרת כדי לכוונן את עלות העבודה שלך. לדוגמה, נניח שאתה צריך לעבד מערך נתונים הדורש 350 GiB ב-RAM. ייתכן שה-4xlarge (128 GiB) ו-12xlarge (256 GiB) לא יוכלו לעבד ויובילו אותך להשתמש במופע m5.24xlarge (768 GiB). עם זאת, אתה יכול להשתמש בשני מופעים m5.12xlarge (2 * 256 GiB = 512 GiB) ולהפחית את העלות ב-40% או שלושה מופעים m5.4xlarge (3 * 128 GiB = 384 GiB) ולחסוך 50% מה-m5.24xlarge עלות דוגמה. כדאי לשים לב שאלו הערכות ושעיבוד מבוזר עשוי להכניס תקורה מסוימת שתשפיע על זמן הריצה הכולל.

בעת שינוי סוג המופע, הקפד לעדכן את ה תצורת Spark בהתאם לכך. לדוגמה, אם יש לך עבודת מופע ראשונית של ml.m5.4xlarge המוגדרת עם מאפיינים spark.driver.memory מוגדר ל- 2048 ו- spark.executor.memory מוגדר ל-55742, ובהמשך קנה מידה ל-ml.m5.12xlarge, יש להגדיל את ערכי התצורה הללו, אחרת הם יהיו צוואר הבקבוק בעבודת העיבוד. אתה יכול לעדכן משתנים אלה בממשק המשתמש של Data Wrangler או בקובץ תצורה שצורף לנתיב התצורה (ראה את הדוגמאות הבאות).

נתח את ההוצאה של Amazon SageMaker וקבע הזדמנויות לאופטימיזציה של עלויות בהתבסס על השימוש, חלק 3: משרות עיבוד ונתונים רנגלר | Amazon Web Services PlatoBlockchain Data Intelligence. חיפוש אנכי. איי.

נתח את ההוצאה של Amazon SageMaker וקבע הזדמנויות לאופטימיזציה של עלויות בהתבסס על השימוש, חלק 3: משרות עיבוד ונתונים רנגלר | Amazon Web Services PlatoBlockchain Data Intelligence. חיפוש אנכי. איי.

תכונה משכנעת נוספת ב-Data Wrangler היא היכולת להגדיר עבודה מתוזמנת. אם אתה מעבד נתונים מעת לעת, תוכל ליצור לוח זמנים להפעלת עבודת העיבוד באופן אוטומטי. לדוגמה, אתה יכול ליצור לוח זמנים שמפעיל עבודת עיבוד באופן אוטומטי כאשר אתה מקבל נתונים חדשים (לדוגמאות, ראה ייצוא לאמזון S3 or ייצוא לחנות התכונות של אמזון SageMaker). עם זאת, עליך לשים לב שכאשר אתה יוצר לוח זמנים, Data Wrangler יוצר eventRule ב-EventBridge. המשמעות היא שתחויב גם עבור כללי האירוע שאתה יוצר (כמו גם המופעים ששימשו להפעלת עבודת העיבוד). למידע נוסף, ראה תמחור אמזון EventBridge.

סיכום

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

נתונים באמצעות SageMaker Processing ו-Data Wrangler עבודות. בדומה לעיבוד מקדים, קיימות אפשרויות רבות והגדרות תצורה בבנייה, הדרכה והרצה של מודלים של ML שעלולים להוביל לעלויות מיותרות. לכן, מכיוון שלמידת מכונה מבססת את עצמה ככלי רב עוצמה בין תעשיות, עומסי העבודה של ML צריכים להישאר חסכוניים.

SageMaker מציעה מערך תכונות רחב ועמוק להקלת כל שלב בצינור ה-ML.

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


על הכותבים

נתח את ההוצאה של Amazon SageMaker וקבע הזדמנויות לאופטימיזציה של עלויות בהתבסס על השימוש, חלק 3: משרות עיבוד ונתונים רנגלר | Amazon Web Services PlatoBlockchain Data Intelligence. חיפוש אנכי. איי.דיפאלי רג'אלה הוא מומחה בכיר בינה מלאכותית/ML ב-AWS. היא עובדת עם לקוחות ארגוניים המספקים הדרכה טכנית עם שיטות עבודה מומלצות לפריסה ותחזוקה של פתרונות AI/ML באקוסיסטם של AWS. היא עבדה עם מגוון רחב של ארגונים על מקרי שימוש שונים של למידה עמוקה הכוללים NLP וראייה ממוחשבת. היא נלהבת להעצים ארגונים למנף AI גנרטיבי כדי לשפר את חווית השימוש שלהם. בזמנה הפנוי היא נהנית מסרטים, מוזיקה וספרות.

נתח את ההוצאה של Amazon SageMaker וקבע הזדמנויות לאופטימיזציה של עלויות בהתבסס על השימוש, חלק 3: משרות עיבוד ונתונים רנגלר | Amazon Web Services PlatoBlockchain Data Intelligence. חיפוש אנכי. איי.אורי רוזנברג הוא המנהל הטכני מומחה AI ו-ML לאירופה, המזרח התיכון ואפריקה. בהתבסס מישראל, אורי פועל להעצמת לקוחות ארגוניים בכל הקשור ל-ML לתכנן, לבנות ולהפעיל בקנה מידה. בזמנו הפנוי, הוא נהנה מרכיבה על אופניים, טיולים רגליים וצפייה בשקיעות (לפחות פעם ביום).

בול זמן:

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