Astăzi Amazon SageMaker a anunțat suportul pentru instanța de instruire SageMaker Amazon SageMaker Automatic Model Tuning (AMT) care permit utilizatorilor să specifice configurații alternative ale resurselor de calcul.
Reglarea automată a modelului SageMaker găsește cea mai bună versiune a unui model rulând multe lucrări de instruire pe setul dvs. de date folosind game de hiperparametri pe care îi specificați pentru algoritmul dvs. Apoi, alege valorile hiperparametrului care rezultă într-un model care are cele mai bune performanțe, măsurate de un metric pe care o alegi tu.
Anterior, utilizatorii aveau doar opțiunea de a specifica o singură configurație de instanță. Acest lucru poate duce la probleme atunci când tipul de instanță specificat nu este disponibil din cauza utilizării ridicate. În trecut, joburile dvs. de formare ar fi eșuat cu o InsufficientCapacityError (ICE). AMT a folosit reîncercări inteligente pentru a evita aceste defecțiuni în multe cazuri, dar a rămas neputincioasă în fața capacității scăzute susținute.
Această nouă caracteristică înseamnă că puteți specifica o listă de configurații de instanță în ordinea preferințelor, astfel încât jobul dvs. AMT va reveni automat la următoarea instanță din listă în cazul unei capacități reduse.
În următoarele secțiuni, parcurgem acești pași de nivel înalt pentru a depăși un ICE:
- Definiți configurația jobului de ajustare a hiperparametrului
- Definiți parametrii jobului de formare
- Creați lucrarea de ajustare a hiperparametrului
- Descrie meseria de formare
Definiți configurația jobului de ajustare a hiperparametrului
HyperParameterTuningJobConfig obiectul descrie jobul de reglare, inclusiv strategia de căutare, metrica obiectivă utilizată pentru a evalua joburile de instruire, intervalele parametrilor de căutat și limitele de resurse pentru jobul de reglare. Acest aspect nu a fost schimbat cu lansarea de astăzi a caracteristicii. Cu toate acestea, vom trece peste el pentru a da un exemplu complet.
ResourceLimits
obiect specifică numărul maxim de joburi de instruire și joburi de formare paralele pentru acest job de reglare. În acest exemplu, facem o căutare aleatorie strategie si specificarea a maximum 10 locuri de munca (MaxNumberOfTrainingJobs
) și 5 locuri de muncă simultane (MaxParallelTrainingJobs
) la un moment dat.
ParameterRanges
obiect specifică intervalele de hiperparametri pe care le caută acest job de reglare. Specificăm numele, precum și valoarea minimă și maximă a hiperparametrului de căutat. În acest exemplu, definim valorile minime și maxime pentru intervalele de parametri Continuous și Integer și numele hiperparametrului („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"
}
]
}
}
Definiți parametrii jobului de formare
În definirea jobului de antrenament, definim intrarea necesară pentru a rula un job de antrenament utilizând algoritmul pe care îl specificăm. După finalizarea antrenamentului, SageMaker salvează artefactele modelului rezultate într-un Serviciul Amazon de stocare simplă (Amazon S3) locația pe care o specificați.
Anterior, am specificat tipul instanței, numărul și dimensiunea volumului sub ResourceConfig
parametru. Când instanța din acest parametru nu era disponibilă, a fost generată o eroare de capacitate insuficientă (ICE).
Pentru a evita acest lucru, acum avem HyperParameterTuningResourceConfig
parametru sub TrainingJobDefinition
, unde specificăm o listă de instanțe la care să apelăm. Formatul acestor instanțe este același ca și în ResourceConfig
. Lucrarea va parcurge lista de sus în jos pentru a găsi o configurație de instanță disponibilă. Dacă o instanță nu este disponibilă, atunci în locul unei erori de capacitate insuficientă (ICE), se alege următoarea instanță din listă, depășind astfel 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"
},
}
Rulați o lucrare de ajustare a hiperparametrului
În acest pas, creăm și rulăm un job de reglare hiperparametru cu configurația resursei de reglare hiperparametru definită mai sus.
Inițializam un client SageMaker și creăm jobul specificând configurația de reglare, definiția jobului de antrenament și numele jobului.
import boto3
sm = boto3.client('sagemaker')
sm.create_hyper_parameter_tuning_job(
HyperParameterTuningJobName="my-job-name",
HyperParameterTuningJobConfig=AmtTuningJobConfig,
TrainingJobDefinition=TrainingJobDefinition)
Descrieți locurile de muncă de formare
Următoarea funcție listează toate tipurile de instanțe utilizate în timpul experimentului și poate fi utilizată pentru a verifica dacă o instanță de antrenament SageMaker a revenit automat la următoarea instanță din listă în timpul alocării resurselor.
Concluzie
În această postare, am demonstrat cum puteți defini acum un grup de instanțe la care experimentul dvs. AMT se poate retrage în cazul InsufficientCapacityError
. Am văzut cum să definim o configurație a jobului de reglare hiperparametrică, precum și cum să specificăm numărul maxim de joburi de antrenament și joburi paralele maxime. În cele din urmă, am văzut cum să depășim InsufficientCapacityError
folosind HyperParameterTuningResourceConfig
parametru, care poate fi specificat în definiția postului de formare.
Pentru a afla mai multe despre AMT, vizitați Reglarea automată a modelelor Amazon SageMaker.
Despre autori
Doug Mbaya este un arhitect Senior Partner Solution cu accent pe date și analiză. Doug lucrează îndeaproape cu partenerii AWS, ajutându-i să integreze soluția de date și analiză în cloud.
Kruthi Jayasimha Rao este arhitect de soluții partener în echipa Scale-PSA. Kruthi efectuează validări tehnice pentru parteneri, permițându-le să progreseze în Calea partenerilor.
Bernard Jollans este inginer de dezvoltare software pentru Amazon SageMaker Automatic Model Tuning.
- AI
- ai art
- ai art generator
- ai robot
- Învățare automată Amazon
- Amazon SageMaker
- inteligență artificială
- certificare de inteligență artificială
- inteligența artificială în domeniul bancar
- robot cu inteligență artificială
- roboți cu inteligență artificială
- software de inteligență artificială
- Învățare automată AWS
- blockchain
- conferință blockchain ai
- coingenius
- inteligența artificială conversațională
- criptoconferință ai
- dall-e
- învățare profundă
- google ai
- masina de învățare
- Plato
- platoul ai
- Informații despre date Platon
- Jocul lui Platon
- PlatoData
- platogaming
- scara ai
- sintaxă
- zephyrnet