Heden Amazon Sage Maker kondigde de ondersteuning aan van SageMaker-trainingsinstances die terugvallen op: Amazon SageMaker automatische modelafstemming (AMT) waarmee gebruikers alternatieve computerresourceconfiguraties kunnen opgeven.
SageMaker automatische modelafstemming vindt de beste versie van een model door veel trainingstaken op uw dataset uit te voeren met behulp van de ranges van hyperparameters die u opgeeft voor uw algoritme. Vervolgens kiest het de hyperparameterwaarden die resulteren in een model dat het beste presteert, zoals gemeten door a metriek dat je kiest.
Voorheen hadden gebruikers alleen de mogelijkheid om een โโconfiguratie voor รฉรฉn instantie op te geven. Dit kan tot problemen leiden wanneer het opgegeven exemplaartype niet beschikbaar is vanwege een hoog gebruik. In het verleden mislukten uw trainingstaken met een InsufficientCapacityError (ICE). AMT gebruikte in veel gevallen slimme nieuwe pogingen om deze storingen te voorkomen, maar bleef machteloos bij een aanhoudend lage capaciteit.
Deze nieuwe functie houdt in dat u een lijst met instantieconfiguraties kunt specificeren in de volgorde van voorkeur, zodat uw AMT-taak automatisch terugvalt naar de volgende instantie in de lijst in het geval van een lage capaciteit.
In de volgende paragrafen doorlopen we deze stappen op hoog niveau om een โโICE te overwinnen:
- Definiรซren van HyperParameter Tuning-taakconfiguratie
- Definieer de trainingstaakparameters
- De taak voor het afstemmen van hyperparameters maken
- Beschrijf trainingsbaan
Definiรซren van HyperParameter Tuning-taakconfiguratie
De HyperParameterTuningJobConfig object beschrijft de afstemmingstaak, inclusief de zoekstrategie, de objectieve metriek die wordt gebruikt om trainingstaken te evalueren, het bereik van de te zoeken parameters en de resourcelimieten voor de afstemmingstaak. Dit aspect is niet veranderd met de functie-release van vandaag. Desalniettemin zullen we het bespreken om een โโvolledig voorbeeld te geven.
De ResourceLimits
object specificeert het maximum aantal trainingstaken en parallelle trainingstaken voor deze afstemmingstaak. In dit voorbeeld doen we a willekeurig zoeken strategie en het specificeren van maximaal 10 banen (MaxNumberOfTrainingJobs
) en 5 gelijktijdige banen (MaxParallelTrainingJobs
) tegelijk.
De ParameterRanges
object specificeert de bereiken van hyperparameters die door deze afstemmingstaak worden gezocht. We specificeren de naam, evenals de minimum- en maximumwaarde van de te zoeken hyperparameter. In dit voorbeeld definiรซren we de minimum- en maximumwaarden voor de parameterreeksen Continu en Integer en de naam van de hyperparameter (โetaโ, โmax_diepteโ).
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"
}
]
}
}
Definieer de trainingstaakparameters
In de trainingstaakdefinitie definiรซren we de invoer die nodig is om een โโtrainingstaak uit te voeren met behulp van het algoritme dat we specificeren. Nadat de training is voltooid, slaat SageMaker de resulterende modelartefacten op in een Eenvoudige opslagservice van Amazon (Amazon S3) locatie die u opgeeft.
Eerder specificeerden we het instantietype, het aantal en de volumegrootte onder de ResourceConfig
parameter. Wanneer het exemplaar onder deze parameter niet beschikbaar was, werd een Insufficient Capacity Error (ICE) gegenereerd.
Om dit te voorkomen, hebben we nu de HyperParameterTuningResourceConfig
parameter onder de TrainingJobDefinition
, waar we een lijst met instanties specificeren waarop we kunnen terugvallen. Het formaat van deze instanties is hetzelfde als in de ResourceConfig
. De taak doorloopt de lijst van boven naar beneden om een โโbeschikbare instantieconfiguratie te vinden. Als een instantie niet beschikbaar is, wordt in plaats van een Insufficient Capacity Error (ICE) de volgende instantie in de lijst gekozen, waardoor de ICE wordt overwonnen.
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"
},
}
Een taak voor het afstemmen van hyperparameters uitvoeren
In deze stap maken en voeren we een taak voor het afstemmen van hyperparameters uit met de hierboven gedefinieerde configuratie voor het afstemmen van hyperparameters.
We initialiseren een SageMaker-client en maken de taak door de afstemmingsconfiguratie, de trainingstaakdefinitie en een taaknaam op te geven.
import boto3
sm = boto3.client('sagemaker')
sm.create_hyper_parameter_tuning_job(
HyperParameterTuningJobName="my-job-name",
HyperParameterTuningJobConfig=AmtTuningJobConfig,
TrainingJobDefinition=TrainingJobDefinition)
Beschrijf trainingstaken
De volgende functie geeft een overzicht van alle instantietypen die tijdens het experiment zijn gebruikt en kan worden gebruikt om te controleren of een SageMaker-trainingsinstantie tijdens het toewijzen van bronnen automatisch is teruggevallen naar de volgende instantie in de lijst.
Conclusie
In dit bericht hebben we laten zien hoe u nu een pool van instanties kunt definiรซren waarop uw AMT-experiment kan terugvallen in het geval van InsufficientCapacityError
. We hebben gezien hoe u een configuratie voor het afstemmen van hyperparameter-taken definieert, en hoe u het maximale aantal trainingstaken en maximale parallelle taken specificeert. Eindelijk zagen we hoe we de InsufficientCapacityError
door gebruik te maken van de HyperParameterTuningResourceConfig
parameter, die kan worden opgegeven onder de definitie van de trainingstaak.
Ga voor meer informatie over AMT naar: Amazon SageMaker automatische modelafstemming.
Over de auteurs
Doug Mbaya is een Senior Partner Solution architect met een focus op data en analytics. Doug werkt nauw samen met AWS-partners en helpt hen data- en analyseoplossingen in de cloud te integreren.
Kruthi Jayasimha Rao is Partner Solutions Architect in het Scale-PSA-team. Kruthi voert technische validaties uit voor Partners, waardoor ze vooruitgang kunnen boeken in het Partner Path.
Bernard Jollans is een Software Development Engineer voor Amazon SageMaker Automatic Model Tuning.
- AI
- ai kunst
- ai kunst generator
- je hebt een robot
- Amazon machinaal leren
- Amazon Sage Maker
- kunstmatige intelligentie
- certificering van kunstmatige intelligentie
- kunstmatige intelligentie in het bankwezen
- kunstmatige intelligentie robot
- kunstmatige intelligentie robots
- kunstmatige intelligentiesoftware
- AWS-machine learning
- blockchain
- blockchain conferentie ai
- vindingrijk
- conversatie kunstmatige intelligentie
- crypto conferentie ai
- van dall
- diepgaand leren
- google ai
- machine learning
- Plato
- plato ai
- Plato gegevensintelligentie
- Plato-spel
- PlatoData
- platogamen
- schaal ai
- syntaxis
- zephyrnet