היום אמזון SageMaker הודיעה על התמיכה של מופעי אימון של SageMaker אמזון SageMaker כוונון דגמים אוטומטי (AMT) המאפשרים למשתמשים לציין תצורות חלופיות של משאבי מחשוב.
כוונון מודל אוטומטי של SageMaker מוצא את הגרסה הטובה ביותר של מודל על ידי הפעלת עבודות הדרכה רבות במערך הנתונים שלך באמצעות טווחים של היפרפרמטרים שאתה מציין עבור האלגוריתם שלך. לאחר מכן, הוא בוחר את ערכי ההיפרפרמטר שמביאים למודל שמבצע את הביצועים הטובים ביותר, כפי שנמדד ב-a מטרי שאתה בוחר.
בעבר, למשתמשים הייתה רק אפשרות לציין תצורת מופע בודד. זה יכול להוביל לבעיות כאשר סוג המופע שצוין אינו זמין עקב ניצול גבוה. בעבר, עבודות ההדרכה שלך היו נכשלות עם שגיאת InsufficientCapacity (ICE). AMT השתמשה בניסיונות חוזרים חכמות כדי להימנע מכשלים אלה במקרים רבים, אך היא נותרה חסרת אונים מול קיבולת נמוכה מתמשכת.
תכונה חדשה זו פירושה שאתה יכול לציין רשימה של תצורות מופעים לפי סדר העדפה, כך שעבודת AMT שלך תחזור אוטומטית למופע הבא ברשימה במקרה של קיבולת נמוכה.
בסעיפים הבאים, אנו עוברים על השלבים הגבוהים הללו להתגברות על ICE:
- הגדר תצורת משימת כוונון HyperParameter
- הגדר את פרמטרי עבודת ההדרכה
- צור את עבודת כוונון היפרפרמטרים
- תאר את עבודת ההדרכה
הגדר תצורת משימת כוונון HyperParameter
השמיים HyperParameterTuningJobConfig אובייקט מתאר את עבודת הכוונון, כולל אסטרטגיית החיפוש, המדד האובייקטיבי המשמש להערכת עבודות הכשרה, טווחי הפרמטרים לחיפוש ומגבלות המשאבים עבור עבודת הכוונון. היבט זה לא השתנה עם מהדורת הפיצ'רים של היום. עם זאת, נעבור על זה כדי לתת דוגמה מלאה.
השמיים ResourceLimits
אובייקט מציין את המספר המרבי של עבודות אימון ועבודות הכשרה מקבילות עבור עבודת כוונון זו. בדוגמה זו, אנו עושים א חיפוש אקראי אסטרטגיה וציון מקסימום 10 משרות (MaxNumberOfTrainingJobs
) ו-5 משרות במקביל (MaxParallelTrainingJobs
) בכל פעם.
השמיים ParameterRanges
אובייקט מציין את טווחי ההיפרפרמטרים שהכוונן הזה מחפש עבודה. אנו מציינים את השם, כמו גם את הערך המינימלי והמקסימלי של ההיפרפרמטר לחיפוש. בדוגמה זו, אנו מגדירים את ערכי המינימום והמקסימום עבור טווחי הפרמטרים Continuous ו-Integer ואת שם הפרמטר ההיפר ("eta", "max_depth").
AmtTuningJobConfig={
"Strategy": "Random",
"ResourceLimits": {
"MaxNumberOfTrainingJobs": 10,
"MaxParallelTrainingJobs": 5
},
"HyperParameterTuningJobObjective": {
"MetricName": "validation:rmse",
"Type": "Minimize"
},
"ParameterRanges": {
"CategoricalParameterRanges": [],
"ContinuousParameterRanges": [
{
"MaxValue": "1",
"MinValue": "0",
"Name": "eta"
}
],
"IntegerParameterRanges": [
{
"MaxValue": "6",
"MinValue": "2",
"Name": "max_depth"
}
]
}
}
הגדר את פרמטרי עבודת ההדרכה
בהגדרת עבודת הדרכה, אנו מגדירים את הקלט הדרוש להפעלת עבודת הדרכה באמצעות האלגוריתם שאנו מציינים. לאחר סיום ההכשרה, SageMaker שומר את חפצי הדגם המתקבלים ב-an שירות אחסון פשוט של אמזון (Amazon S3) מיקום שאתה מציין.
בעבר, ציינו את סוג המופע, ספירה וגודל נפח תחת ה ResourceConfig
פָּרָמֶטֶר. כאשר המופע תחת פרמטר זה לא היה זמין, הושלכה שגיאת קיבולת לא מספיקה (ICE).
כדי להימנע מכך, יש לנו כעת את HyperParameterTuningResourceConfig
פרמטר מתחת ל- TrainingJobDefinition
, שבו אנו מציינים רשימה של מקרים לחזור עליהם. הפורמט של מופעים אלה זהה לפורמט ResourceConfig
. העבודה תעבור את הרשימה מלמעלה למטה כדי למצוא תצורת מופע זמינה. אם מופע אינו זמין, אז במקום שגיאת קיבולת לא מספיקה (ICE), המופע הבא ברשימה נבחר, ובכך מתגבר על ה-ICE.
TrainingJobDefinition={
"HyperParameterTuningResourceConfig": {
"InstanceConfigs": [
{
"InstanceType": "ml.m4.xlarge",
"InstanceCount": 1,
"VolumeSizeInGB": 5
},
{
"InstanceType": "ml.m5.4xlarge",
"InstanceCount": 1,
"VolumeSizeInGB": 5
}
]
},
"AlgorithmSpecification": {
"TrainingImage": "433757028032.dkr.ecr.us-west-2.amazonaws.com/xgboost:latest",
"TrainingInputMode": "File"
},
"InputDataConfig": [
{
"ChannelName": "train",
"CompressionType": "None",
"ContentType": "json",
"DataSource": {
"S3DataSource": {
"S3DataDistributionType": "FullyReplicated",
"S3DataType": "S3Prefix",
"S3Uri": "s3://<bucket>/test/"
}
},
"RecordWrapperType": "None"
}
],
"OutputDataConfig": {
"S3OutputPath": "s3://<bucket>/output/"
},
"RoleArn": "arn:aws:iam::340308762637:role/service-role/AmazonSageMaker-ExecutionRole-20201117T142856",
"StoppingCondition": {
"MaxRuntimeInSeconds": 259200
},
"StaticHyperParameters": {
"training_script_loc": "q2bn-sagemaker-test_6"
},
}
הפעל עבודת כוונון היפרפרמטרים
בשלב זה, אנו יוצרים ומריצים עבודת כוונון היפרפרמטרים עם תצורת משאב כוונון ההיפרפרמטרים שהוגדרה לעיל.
אנו מאתחלים לקוח של SageMaker ויוצרים את העבודה על ידי ציון תצורת הכוונון, הגדרת תפקיד ההדרכה ושם העבודה.
import boto3
sm = boto3.client('sagemaker')
sm.create_hyper_parameter_tuning_job(
HyperParameterTuningJobName="my-job-name",
HyperParameterTuningJobConfig=AmtTuningJobConfig,
TrainingJobDefinition=TrainingJobDefinition)
תאר משרות הדרכה
הפונקציה הבאה מפרטת את כל סוגי המופעים ששימשו במהלך הניסוי וניתן להשתמש בהם כדי לוודא אם מופע אימון של SageMaker ירד אוטומטית למופע הבא ברשימה במהלך הקצאת משאבים.
סיכום
בפוסט זה, הדגמנו כיצד כעת אתה יכול להגדיר מאגר של מקרים שבהם ניסוי AMT שלך יכול ליפול לאחור במקרה של InsufficientCapacityError
. ראינו כיצד להגדיר תצורת עבודת כוונון היפרפרמטר, כמו גם לציין את המספר המרבי של עבודות הדרכה ומקסימום עבודות מקבילות. לבסוף, ראינו איך להתגבר על InsufficientCapacityError
באמצעות HyperParameterTuningResourceConfig
פרמטר, שניתן לציין תחת הגדרת תפקיד ההדרכה.
למידע נוסף על AMT, בקר אמזון SageMaker כוונון דגם אוטומטי.
על המחברים
דאג מבאיה הוא ארכיטקט פתרונות שותפים בכיר עם התמקדות בנתונים וניתוחים. דאג עובד בשיתוף פעולה הדוק עם שותפי AWS, ועוזר להם לשלב פתרונות נתונים וניתוח בענן.
קרותי ג'ייסימה ראו הוא אדריכל פתרונות שותפים בצוות Scale-PSA. Kruthi עורך אימותים טכניים עבור שותפים המאפשרים להם להתקדם בנתיב השותפים.
ברנרד ג'ולנס הוא מהנדס פיתוח תוכנה עבור אמזון SageMaker כוונון דגמים אוטומטי.
- AI
- איי אמנות
- מחולל אמנות ai
- איי רובוט
- למידת מכונת אמזון
- אמזון SageMaker
- בינה מלאכותית
- הסמכת בינה מלאכותית
- בינה מלאכותית בבנקאות
- רובוט בינה מלאכותית
- רובוטים של בינה מלאכותית
- תוכנת בינה מלאכותית
- למידת מכונות AWS
- blockchain
- blockchain conference ai
- קוינגניוס
- בינה מלאכותית של שיחה
- קריפטו כנס ai
- של דאל
- למידה עמוקה
- גוגל איי
- למידת מכונה
- אפלטון
- plato ai
- מודיעין אפלטון
- משחק אפלטון
- אפלטון נתונים
- פלטוגיימינג
- סולם ai
- תחביר
- זפירנט