Amazon SageMaker Automatic Model Tuning תומך כעת ב- SageMaker Training Instance Fallbacks PlatoBlockchain Data Intelligence. חיפוש אנכי. איי.

אמזון SageMaker Automatic Model Tuning תומך כעת ב-SageMaker Training Instance Fallbacks

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

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

בעבר, למשתמשים הייתה רק אפשרות לציין תצורת מופע בודד. זה יכול להוביל לבעיות כאשר סוג המופע שצוין אינו זמין עקב ניצול גבוה. בעבר, עבודות ההדרכה שלך היו נכשלות עם שגיאת InsufficientCapacity (ICE). AMT השתמשה בניסיונות חוזרים חכמות כדי להימנע מכשלים אלה במקרים רבים, אך היא נותרה חסרת אונים מול קיבולת נמוכה מתמשכת.

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

בסעיפים הבאים, אנו עוברים על השלבים הגבוהים הללו להתגברות על ICE:

  1. הגדר תצורת משימת כוונון HyperParameter
  2. הגדר את פרמטרי עבודת ההדרכה
  3. צור את עבודת כוונון היפרפרמטרים
  4. תאר את עבודת ההדרכה

הגדר תצורת משימת כוונון 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) 

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

תאר משרות הדרכה

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

def list_instances(name):
    job_list = []
    instances = []
    def _get_training_jobs(name, next=None):
        if next:
            list = sm.list_training_jobs_for_hyper_parameter_tuning_job(
            HyperParameterTuningJobName=name, NextToken=next)
        else:
            list = sm.list_training_jobs_for_hyper_parameter_tuning_job(
            HyperParameterTuningJobName=name)
        for jobs in list['TrainingJobSummaries']:
            job_list.append(jobs['TrainingJobName'])
        next = list.get('NextToken', None)
        if next:
            _get_training_jobs(name, next=next)
            pass
        else:
            pass
    _get_training_jobs(name)


    for job_name in job_list:
        ec2 = sm.describe_training_job(
        TrainingJobName=job_name
        )
        instances.append(ec2['ResourceConfig'])
    return instances

list_instances("my-job-name")  

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

סיכום

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

למידע נוסף על AMT, בקר אמזון SageMaker כוונון דגם אוטומטי.


על המחברים

Amazon SageMaker Automatic Model Tuning תומך כעת ב- SageMaker Training Instance Fallbacks PlatoBlockchain Data Intelligence. חיפוש אנכי. איי.דאג מבאיה הוא ארכיטקט פתרונות שותפים בכיר עם התמקדות בנתונים וניתוחים. דאג עובד בשיתוף פעולה הדוק עם שותפי AWS, ועוזר להם לשלב פתרונות נתונים וניתוח בענן.

Amazon SageMaker Automatic Model Tuning תומך כעת ב- SageMaker Training Instance Fallbacks PlatoBlockchain Data Intelligence. חיפוש אנכי. איי.קרותי ג'ייסימה ראו הוא אדריכל פתרונות שותפים בצוות Scale-PSA. Kruthi עורך אימותים טכניים עבור שותפים המאפשרים להם להתקדם בנתיב השותפים.

Amazon SageMaker Automatic Model Tuning תומך כעת ב- SageMaker Training Instance Fallbacks PlatoBlockchain Data Intelligence. חיפוש אנכי. איי.ברנרד ג'ולנס הוא מהנדס פיתוח תוכנה עבור אמזון SageMaker כוונון דגמים אוטומטי.

בול זמן:

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