I dag Amazon SageMaker kunngjorde støtte fra SageMaker treningsforekomst fallbacks for Amazon SageMaker Automatic Model Tuning (AMT) som lar brukere spesifisere alternative dataressurskonfigurasjoner.
SageMaker automatisk modellinnstilling finner den beste versjonen av en modell ved å kjøre mange treningsjobber på datasettet ditt ved å bruke serier av hyperparametre som du spesifiserer for algoritmen din. Deretter velger den hyperparameterverdiene som resulterer i en modell som yter best, målt med a metrisk som du velger.
Tidligere hadde brukere kun muligheten til å spesifisere en enkelt forekomstkonfigurasjon. Dette kan føre til problemer når den angitte forekomsttypen ikke er tilgjengelig på grunn av høy utnyttelse. Tidligere ville treningsjobbene dine mislykkes med en InsufficientCapacityError (ICE). AMT brukte smarte forsøk for å unngå disse feilene i mange tilfeller, men den forble maktesløs i møte med vedvarende lav kapasitet.
Denne nye funksjonen betyr at du kan spesifisere en liste over forekomstkonfigurasjoner i prioritert rekkefølge, slik at AMT-jobben automatisk faller tilbake til neste forekomst i listen ved lav kapasitet.
I de følgende delene går vi gjennom disse trinnene på høyt nivå for å overvinne en ICE:
- Definer konfigurasjon av HyperParameter Tuning Job Configuration
- Definer treningsjobbparametrene
- Opprett Hyperparameter Tuning Job
- Beskriv treningsjobben
Definer konfigurasjon av HyperParameter Tuning Job Configuration
De HyperParameterTuningJobConfig objektet beskriver tuning-jobben, inkludert søkestrategien, den objektive beregningen som brukes til å evaluere treningsjobber, rekkevidden av parameterne som skal søkes, og ressursgrensene for tuning-jobben. Dette aspektet ble ikke endret med dagens funksjonsutgivelse. Ikke desto mindre vil vi gå over det for å gi et fullstendig eksempel.
De ResourceLimits
objektet angir maksimalt antall treningsjobber og parallelle treningsjobber for denne tuningjobben. I dette eksemplet gjør vi en tilfeldig søk strategi og spesifisere maksimalt 10 jobber (MaxNumberOfTrainingJobs
) og 5 samtidige jobber (MaxParallelTrainingJobs
) om gangen.
De ParameterRanges
objektet spesifiserer områdene av hyperparametere som denne justeringen søker etter. Vi spesifiserer navnet, samt minimums- og maksimumsverdien til hyperparameteren som skal søkes. I dette eksemplet definerer vi minimums- og maksimumsverdiene for parameterområdene Continuous og Integer og navnet på hyperparameteren ("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"
}
]
}
}
Definer treningsjobbparametrene
I treningsjobbdefinisjonen definerer vi inndataene som trengs for å kjøre en treningsjobb ved å bruke algoritmen som vi spesifiserer. Etter at treningen er fullført, lagrer SageMaker de resulterende modellartefaktene til en Amazon Simple Storage Service (Amazon S3) plassering som du angir.
Tidligere spesifiserte vi forekomsttype, antall og volumstørrelse under ResourceConfig
parameter. Når forekomsten under denne parameteren ikke var tilgjengelig, ble en feil med utilstrekkelig kapasitet (ICE) kastet.
For å unngå dette har vi nå HyperParameterTuningResourceConfig
parameter under TrainingJobDefinition
, der vi spesifiserer en liste over forekomster å falle tilbake på. Formatet på disse forekomstene er det samme som i ResourceConfig
. Jobben vil gå gjennom listen fra topp til bunn for å finne en tilgjengelig forekomstkonfigurasjon. Hvis en forekomst er utilgjengelig, velges den neste forekomsten i listen i stedet for en feil med utilstrekkelig kapasitet (ICE), og dermed overvinnes 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"
},
}
Kjør en Hyperparameter Tuning Job
I dette trinnet oppretter og kjører vi en hyperparameterjusteringsjobb med ressurskonfigurasjonen for hyperparameterinnstilling definert ovenfor.
Vi initialiserer en SageMaker-klient og oppretter jobben ved å spesifisere tuning-konfigurasjonen, treningsjobbdefinisjonen og et jobbnavn.
import boto3
sm = boto3.client('sagemaker')
sm.create_hyper_parameter_tuning_job(
HyperParameterTuningJobName="my-job-name",
HyperParameterTuningJobConfig=AmtTuningJobConfig,
TrainingJobDefinition=TrainingJobDefinition)
Beskriv treningsjobber
Følgende funksjon viser alle forekomsttyper brukt under eksperimentet og kan brukes til å verifisere om en SageMaker-treningsforekomst automatisk har falt tilbake til neste forekomst i listen under ressursallokering.
konklusjonen
I dette innlegget demonstrerte vi hvordan du nå kan definere en pool av forekomster som AMT-eksperimentet ditt kan falle tilbake på i tilfelle av InsufficientCapacityError
. Vi så hvordan man definerer en konfigurasjon for tuning av hyperparameter, samt spesifiserer maksimalt antall treningsjobber og maksimalt parallelljobber. Til slutt så vi hvordan vi kan overvinne InsufficientCapacityError
ved å bruke HyperParameterTuningResourceConfig
parameter, som kan spesifiseres under treningsjobbdefinisjonen.
For å lære mer om AMT, besøk Amazon SageMaker Automatisk modellinnstilling.
Om forfatterne
Doug Mbaya er en Senior Partner Solution arkitekt med fokus på data og analyse. Doug jobber tett med AWS-partnere, og hjelper dem med å integrere data- og analyseløsninger i skyen.
Kruthi Jayasimha Rao er en Partner Solutions Architect i Scale-PSA-teamet. Kruthi utfører tekniske valideringer for partnere, slik at de kan komme videre i partnerbanen.
Bernard Jollans er en programvareutviklingsingeniør for Amazon SageMaker Automatic Model Tuning.
- AI
- ai kunst
- ai art generator
- du har en robot
- Amazon maskinlæring
- Amazon SageMaker
- kunstig intelligens
- sertifisering av kunstig intelligens
- kunstig intelligens i bankvirksomhet
- kunstig intelligens robot
- kunstig intelligens roboter
- programvare for kunstig intelligens
- AWS maskinlæring
- blockchain
- blockchain konferanse ai
- coingenius
- samtale kunstig intelligens
- kryptokonferanse ai
- dall sin
- dyp læring
- google det
- maskinlæring
- plato
- plato ai
- Platon Data Intelligence
- Platon spill
- PlatonData
- platogaming
- skala ai
- syntaks
- zephyrnet