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

הגדר הקצאת עלויות ברמת הארגון עבור סביבות ML ועומסי עבודה באמצעות תיוג משאבים באמזון SageMaker

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

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

תיוג הקצאת עלויות

הקצאת עלויות ב-AWS היא תהליך בן שלושה שלבים:

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

לאחר יצירת וצירוף תגים למשאבים, הם מופיעים במסוף החיוב של AWS תגיות הקצאת עלויות סעיף תחת תגיות הקצאת עלויות בהגדרת משתמש. עשויות לחלוף עד 24 שעות עד שתגים יופיעו לאחר יצירתם. לאחר מכן עליך להפעיל את התגים הללו עבור AWS כדי להתחיל לעקוב אחר המשאבים שלך. בדרך כלל, לאחר הפעלת תג, נדרשות כ-24-48 שעות עד שהתגים יופיעו ב-Cost Explorer. הדרך הקלה ביותר לבדוק אם התגים שלך עובדים היא לחפש את התג החדש שלך במסנן התגים ב-Cost Explorer. אם זה קיים, אז אתה מוכן להשתמש בתגים עבור דיווח הקצאת העלויות שלך. לאחר מכן תוכל לבחור לקבץ את התוצאות שלך לפי מפתחות תג או לסנן לפי ערכי תג, כפי שמוצג בצילום המסך הבא.

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

יש לשים לב לדבר אחד: אם אתה משתמש ארגוני AWS ויש להם חשבונות AWS מקושרים, ניתן להפעיל תגים רק בחשבון המשלם הראשי. לחלופין, אתה יכול גם להפעיל CURs עבור חשבונות AWS המאפשרים דוחות הקצאת עלויות כקובץ CSV עם השימוש והעלויות שלך מקובצות לפי התגים הפעילים שלך. זה נותן לך מעקב מפורט יותר של העלויות שלך ומקל על הגדרת פתרונות דיווח מותאמים אישית משלך.

תיוג ב- SageMaker

ברמה גבוהה, ניתן לקבץ את משאבי התיוג של SageMaker לשני דליים:

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

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

תיוג תחומים ומשתמשים של SageMaker Studio

Studio היא סביבת פיתוח משולבת מבוססת אינטרנט (IDE) עבור ML המאפשרת לך לבנות, לאמן, לנפות באגים, לפרוס ולנטר את דגמי ה-ML שלך. אתה יכול להפעיל את מחברות Studio במהירות, ולבצע חיוג דינמי למעלה או למטה את משאבי המחשוב הבסיסיים מבלי להפריע לעבודתך.

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

להלן דוגמה להקצאת תגים לפרופיל במהלך היצירה.

aws sagemaker create-user-profile --domain-id  --user-profile-name data-scientist-full --tags Key=studiouserid,Value= --user-settings ExecutionRole=arn:aws:iam:::role/SageMakerStudioExecutionRole_datascientist-full

כדי לתייג דומיינים ומשתמשים קיימים, השתמש ב- add-tags ממשק API. התגים מוחלים לאחר מכן על כל מחברת חדשה. כדי להחיל את התגים האלה על המחברות הקיימות שלך, עליך להפעיל מחדש את אפליקציית Studio (Kernel Gateway ו-Jupyter Server) השייכת לפרופיל משתמש זה. זה לא יגרום לאובדן של נתוני מחברת. עיין בזה כבה ועדכן את SageMaker Studio ו-Studio Apps כדי ללמוד כיצד למחוק ולהפעיל מחדש את יישומי Studio שלך.

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

תיוג מופעי מחברת SageMaker

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

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

תיוג משרות ומשאבים מנוהלים של SageMaker

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

from sagemaker import get_execution_role
from sagemaker.sklearn.processing import SKLearnProcessor

processing_tags = [{' Key':"cost-center','Value':'TF2WorkflowProcessing'}]
sklearn_processorl = SKLearnProcessor(framework_version='0.23-1' ,
									 role=get_execution_role(),
									 instance_type='ml.m5.xlarge',
									 instance_count=2,
									 tags=processing_tags)

תיוג צינורות SageMaker

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

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

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

pipeline_tags = [ {'Key': 'pipeline-type', 'Value': 'TF2WorkflowPipeline'}]
pipeline.upsert(role_arn=role, tags=pipeline_tags)
execution = pipeline.start()

אכיפת תיוג באמצעות מדיניות IAM

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

אתה יכול להשיג זאת באמצעות AWS זהות וניהול גישה מדיניות (IAM). הקוד הבא הוא דוגמה למדיניות המונעת פעולות של SageMaker כגון CreateDomain or CreateNotebookInstance אם הבקשה אינה מכילה את מפתח הסביבה ואחד מערכי הרשימה. ה ForAllValues משנה עם ה aws:TagKeys מפתח תנאי מציין שרק המפתח environment מותר בבקשה. זה מונע מהמשתמשים לכלול מפתחות אחרים, כגון שימוש בטעות Environment במקום environment.

"sagemaker:CreateTrainingJob"
      ],
      "{
      "Sid": "SageMakerEnforceEnvtOnCreate",
      "Action": [
        "sagemaker:CreateDomain",
        "sagemaker:CreateEndpoint",
        "sagemaker:CreateNotebookInstance",
        Effect": "Allow",
      "Resource": "*",
  "Condition": {
            "StringEquals": {
                "aws:RequestTag/environment": [
                    "dev","staging","production"
                ]
            },
            "ForAllValues:StringEquals": {"aws:TagKeys": "environment"}
        }
      }

מדיניות תגים ו מדיניות בקרת שירות (SCPs) יכול להיות גם דרך טובה לסטנדרטיזציה של יצירה ותיוג של משאבי ה-ML שלך. למידע נוסף על איך ליישם אסטרטגיית תיוג האוכפת ומאמתת תיוג ברמת הארגון, עיין ב סדרת בלוג הקצאת עלויות מס' 3: אכיפה ואימות תגיות משאבי AWS.

דיווח על הקצאת עלויות

אתה יכול להציג את התגים על ידי סינון התצוגות ב-Cost Explorer, הצגת א דוח הקצאת עלויות חודשי, או על ידי בחינת ה-CUR.

הדמיית תגים ב-Cost Explorer

Cost Explorer הוא כלי המאפשר לך להציג ולנתח את העלויות והשימוש שלך. אתה יכול לחקור את השימוש והעלויות שלך באמצעות הגרף הראשי: דוחות העלות והשימוש של סייר המחירים. לסרטון מהיר על איך להשתמש ב-Cost Explorer, בדוק כיצד אוכל להשתמש ב-Cost Explorer כדי לנתח את ההוצאות והשימוש שלי?

עם Cost Explorer, אתה יכול לסנן את האופן שבו אתה מציג את עלויות ה-AWS שלך לפי תגים. לפי קבוצה מאפשר לנו לסנן תוצאות לפי מפתחות תגים כגון Environment, Deployment, או Cost Center. מסנן התגים עוזר לנו לבחור את הערך שאנו רוצים ללא קשר למפתח. דוגמאות מכילות Production ו Staging. זכור שעליך להפעיל את המשאבים לאחר הוספה והפעלה של תגים; אחרת, ל-Cost Explorer לא יהיו נתוני שימוש וערך התג לא יוצג כמסנן או כקבוצה לפי אפשרות.

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

צילום המסך הבא הוא דוגמה לסינון לפי כל הערכים של BusinessUnit תָג.

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

בחינת תגיות ב-CUR

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

צילום המסך הבא מראה כיצד מפתחות תג המוגדרים על ידי המשתמש מופיעים ב-CUR. למפתחות תג המוגדרים על ידי המשתמש יש את הקידומת user, כמו user:Department ו user:CostCenter. למפתחות תג שנוצרו על ידי AWS יש את הקידומת aws.

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

דמיין את ה-CUR באמצעות Amazon Athena ו- Amazon QuickSight

אמזונה אתנה הוא שירות שאילתות אינטראקטיבי המקל על ניתוח נתונים באמזון S3 באמצעות SQL רגיל. Athena היא ללא שרת, כך שאין תשתית לניהול, ואתה משלם רק עבור השאילתות שאתה מריץ. לשילוב אתנה עם CURs, עיין ב שאילתת דוחות עלויות ושימוש באמצעות Amazon Athena. לאחר מכן תוכל לבנות שאילתות מותאמות אישית כדי לבצע שאילתות בנתוני CUR באמצעות SQL רגיל. צילום המסך הבא הוא דוגמה לשאילתה לסינון כל המשאבים בעלי הערך TF2WorkflowTraining עבור cost-center תָג.

select * from {$table_name} where resource_tags_user_cost-center= 'TF2WorkflowTraining'

בדוגמה הבאה, אנו מנסים להבין באילו משאבים חסרים ערכים תחת cost-center תָג.

SELECT
 bill_payer_account_id, line_item_usage_account_id, DATE_FORMAT((line_item_usage_start_date), '%Y-%m-%d') AS day_line_item_usage_start_date, line_item_resource_id, line_item_usage_type, resource_tags_user_cost-center
FROM
{$table_name} 
WHERE
 resource_tags_user_cost-center IS NULL
AND line_item_product_code = 'AmazonSageMaker'

מידע נוסף ושאילתות לדוגמה ניתן למצוא ב- ספריית שאילתות AWS CUR.

אתה יכול גם להזין נתוני CUR לתוך אמזון קוויקסייט, שבו אתה יכול לחתוך ולחתוך אותו בכל דרך שתרצה למטרות דיווח או הדמיה. להוראות על הכנסת נתוני CUR לתוך QuickSight, ראה כיצד אוכל להטמיע ולדמיין את דוח העלות והשימוש של AWS (CUR) לתוך Amazon QuickSight.

ניטור תקציב באמצעות תגים

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

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

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

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

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

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

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

לאחר הגדרת תצורה זו, אתה אמור לקבל הודעת דוא"ל דומה להלן.

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

סיכום

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

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


על המחברים

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

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

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

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

בול זמן:

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