Amazon SageMaker Otomatik Model Ayarlama artık SageMaker Eğitim Örneği Geri Dönüşlerini PlatoBlockchain Veri Zekasını desteklemektedir. Dikey Arama. Ai.

Amazon SageMaker Automatic Model Tuning artık SageMaker Training Instance Fallbacks'i destekliyor

Bugün Amazon Adaçayı Yapıcı için SageMaker eğitim örneği yedeklerinin desteğini duyurdu Amazon SageMaker Otomatik Model Ayarlama (AMT) kullanıcıların alternatif işlem kaynağı yapılandırmaları belirlemesine olanak tanır.

SageMaker otomatik model ayarlama, aşağıdakileri kullanarak veri kümenizde birçok eğitim işi çalıştırarak bir modelin en iyi sürümünü bulur. aralıkları Algoritmanız için belirttiğiniz hiperparametrelerin sayısı. Ardından, en iyi performansı gösteren bir modelle sonuçlanan hiperparametre değerlerini seçer. metrik ki sen seç.

Önceden, kullanıcıların yalnızca tek bir örnek yapılandırması belirleme seçeneği vardı. Bu, yüksek kullanım nedeniyle belirtilen örnek türü kullanılamadığında sorunlara yol açabilir. Geçmişte, eğitim işleriniz bir InsufficientCapacityError (ICE) ile başarısız oluyordu. AMT, birçok durumda bu arızaları önlemek için akıllı yeniden denemeler kullandı, ancak sürekli düşük kapasite karşısında güçsüz kaldı.

Bu yeni özellik, düşük kapasite durumunda AMT işinizin otomatik olarak listedeki bir sonraki örneğe geri dönmesi için tercih sırasına göre bir örnek yapılandırmaları listesi belirtebileceğiniz anlamına gelir.

Aşağıdaki bölümlerde, bir ICE'nin üstesinden gelmek için bu üst düzey adımların üzerinden geçiyoruz:

  1. HyperParameter Tuning İş Yapılandırmasını Tanımlayın
  2. Eğitim İşi Parametrelerini Tanımlayın
  3. Hiperparametre Ayarlama İşini Oluşturun
  4. Eğitim işini tanımlayın

HyperParameter Tuning İş Yapılandırmasını Tanımlayın

The HyperParameterTuningJobConfig nesne, arama stratejisi, eğitim işlerini değerlendirmek için kullanılan nesnel ölçüt, aranacak parametre aralıkları ve ayarlama işi için kaynak sınırları dahil olmak üzere ayarlama işini tanımlar. Bu yön, bugünkü özellik sürümüyle değiştirilmedi. Yine de, tam bir örnek vermek için üzerinden geçeceğiz.

The ResourceLimits nesne, bu ayarlama işi için maksimum eğitim işi ve paralel eğitim işi sayısını belirtir. Bu örnekte, bir rastgele arama strateji ve maksimum 10 iş belirtme (MaxNumberOfTrainingJobs) ve 5 eşzamanlı iş (MaxParallelTrainingJobs) zamanında.

The ParameterRanges nesne, bu ayarlama işinin aradığı hiperparametre aralıklarını belirtir. Aranacak hiperparametrenin adının yanı sıra minimum ve maksimum değerini belirtiriz. Bu örnekte, Sürekli ve Tamsayı parametre aralıkları için minimum ve maksimum değerleri ve hiperparametrenin adını ("eta", "max_depth") tanımlıyoruz.

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"
                }
              ]
            }
          }

Eğitim İşi Parametrelerini Tanımlayın

Eğitim işi tanımında belirttiğimiz algoritmayı kullanarak bir eğitim işi çalıştırmak için gereken girdiyi tanımlarız. Eğitim tamamlandıktan sonra SageMaker, ortaya çıkan model yapılarını bir Amazon Basit Depolama Hizmeti (Amazon S3) belirttiğiniz konum.

Daha önce, altında bulut sunucusu tipini, sayısını ve birim boyutunu belirtmiştik. ResourceConfig parametre. Bu parametre altındaki örnek kullanılamadığında Yetersiz Kapasite Hatası (ICE) atıldı.

Bundan kaçınmak için, şimdi elimizde HyperParameterTuningResourceConfig altındaki parametre TrainingJobDefinition, geri çekilecek örneklerin bir listesini belirlediğimiz yer. Bu örneklerin formatı aşağıdakilerle aynıdır. ResourceConfig. İş, kullanılabilir bir örnek yapılandırması bulmak için listeyi yukarıdan aşağıya doğru hareket ettirir. Bir örnek kullanılamıyorsa, Yetersiz Kapasite Hatası (ICE) yerine listedeki bir sonraki örnek seçilir ve böylece ICE'nin üstesinden gelinir.

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"
            },
          }

Bir Hiperparametre Ayarlama İşi Çalıştırın

Bu adımda, yukarıda tanımlanan hiperparametre ayarlama kaynak yapılandırmasıyla bir hiperparametre ayarlama işi oluşturuyor ve çalıştırıyoruz.

Bir SageMaker istemcisini başlatıyoruz ve ayar yapılandırmasını, eğitim işi tanımını ve bir iş adını belirterek işi oluşturuyoruz.

import boto3
sm = boto3.client('sagemaker')     
                    
sm.create_hyper_parameter_tuning_job(
    HyperParameterTuningJobName="my-job-name",
    HyperParameterTuningJobConfig=AmtTuningJobConfig,
    TrainingJobDefinition=TrainingJobDefinition) 

SageMaker eğitim örneği yedeklerinin desteğiyle bir AMT işi çalıştırmak, kullanıcının yetersiz kapasiteyi kendi başına aşmasını sağlayarak iş hatası olasılığını azaltır.

Eğitim işlerini tanımlayın

Aşağıdaki işlev, deneme sırasında kullanılan tüm örnek türlerini listeler ve bir SageMaker eğitim örneğinin kaynak tahsisi sırasında otomatik olarak listedeki bir sonraki örneğe düşüp düşmediğini doğrulamak için kullanılabilir.

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")  

Yukarıdaki işlevin çıktısı, AMT işinin denemeyi çalıştırmak için kullandığı tüm örnekleri görüntüler.

Sonuç

Bu gönderide, şu durumlarda AMT denemenizin geri çekilebileceği bir örnek havuzunu şimdi nasıl tanımlayabileceğinizi gösterdik. InsufficientCapacityError. Bir hiperparametre ayarlama işi konfigürasyonunun nasıl tanımlanacağını ve ayrıca maksimum eğitim işi ve maksimum paralel işin nasıl belirleneceğini gördük. Sonunda, nasıl üstesinden gelineceğini gördük. InsufficientCapacityError kullanarak HyperParameterTuningResourceConfig eğitim iş tanımı altında belirtilebilen parametre.

AMT hakkında daha fazla bilgi edinmek için şu adresi ziyaret edin: Amazon SageMaker Otomatik Model Ayarlama.


yazarlar hakkında

Amazon SageMaker Otomatik Model Ayarlama artık SageMaker Eğitim Örneği Geri Dönüşlerini PlatoBlockchain Veri Zekasını desteklemektedir. Dikey Arama. Ai.Doug Mbaya veri ve analitik odaklı bir Kıdemli Ortak Çözüm mimarıdır. Doug, AWS iş ortaklarıyla yakın bir şekilde çalışarak bulutta veri ve analitik çözümlerini entegre etmelerine yardımcı olur.

Amazon SageMaker Otomatik Model Ayarlama artık SageMaker Eğitim Örneği Geri Dönüşlerini PlatoBlockchain Veri Zekasını desteklemektedir. Dikey Arama. Ai.Kruthi Jayasimha Rao Scale-PSA ekibinde Ortak Çözümler Mimarıdır. Kruthi, Ortaklar için Ortak Yolunda ilerlemelerini sağlayan teknik doğrulamalar yürütür.

Amazon SageMaker Otomatik Model Ayarlama artık SageMaker Eğitim Örneği Geri Dönüşlerini PlatoBlockchain Veri Zekasını desteklemektedir. Dikey Arama. Ai.bernard jollans Amazon SageMaker Otomatik Model Ayarlama için Yazılım Geliştirme Mühendisidir.

Zaman Damgası:

Den fazla AWS Makine Öğrenimi