Tänään Amazon Sage Maker ilmoitti tukevansa SageMaker-koulutusinstanssien varavaihtoehtoja Amazon SageMaker automaattinen mallin viritys (AMT) joiden avulla käyttäjät voivat määrittää vaihtoehtoisia laskentaresurssien määrityksiä.
SageMaker automaattinen mallin viritys löytää mallin parhaan version suorittamalla monia koulutustöitä tietojoukossasi käyttämällä vaihtelee hyperparametreistä, jotka määrität algoritmillesi. Sitten se valitsee hyperparametriarvot, jotka johtavat malliin, joka toimii parhaiten, mitattuna a:lla metrinen että valitset.
Aiemmin käyttäjillä oli mahdollisuus määrittää vain yksi esiintymän kokoonpano. Tämä voi johtaa ongelmiin, kun määritetty ilmentymätyyppi ei ole käytettävissä korkean käyttöasteen vuoksi. Aiemmin koulutustyösi epäonnistuivat InsufficientCapacityError (ICE) -virheen vuoksi. AMT käytti älykkäitä uudelleenyrityksiä välttääkseen nämä viat monissa tapauksissa, mutta se pysyi voimattomana jatkuvan alhaisen kapasiteetin edessä.
Tämä uusi ominaisuus tarkoittaa, että voit määrittää luettelon ilmentymien kokoonpanoista mieltymysjärjestyksessä siten, että AMT-työsi palautuu automaattisesti seuraavaan esiintymään luettelossa, jos kapasiteetti on alhainen.
Seuraavissa osioissa käymme läpi nämä korkean tason vaiheet ICE:n voittamiseksi:
- Määritä HyperParameter Tuning Job Configuration
- Määritä koulutustyön parametrit
- Luo hyperparametrien viritystyö
- Kuvaile koulutustyötä
Määritä HyperParameter Tuning Job Configuration
- HyperParameterTuningJobConfig Objekti kuvaa viritystyötä, mukaan lukien hakustrategian, koulutustöiden arvioimiseen käytetyn tavoitemetriikan, haettavien parametrien alueet ja viritystyön resurssirajat. Tämä näkökohta ei muuttunut tämän päivän ominaisuusjulkaisun myötä. Siitä huolimatta käymme sen läpi antaaksemme täydellisen esimerkin.
- ResourceLimits
objekti määrittää koulutustöiden ja rinnakkaisten koulutustöiden enimmäismäärän tälle viritystyölle. Tässä esimerkissä teemme a satunnainen haku strategiaa ja määrittelee enintään 10 työpaikkaa (MaxNumberOfTrainingJobs
) ja 5 samanaikaista työtä (MaxParallelTrainingJobs
) kerrallaan.
- ParameterRanges
objekti määrittää hyperparametrien alueet, jotka tämä viritystyö etsii. Määritämme etsittävän hyperparametrin nimen sekä minimi- ja maksimiarvon. Tässä esimerkissä määritetään Continuous- ja Integer-parametrialueiden vähimmäis- ja enimmäisarvot sekä hyperparametrin nimi ("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"
}
]
}
}
Määritä koulutustyön parametrit
Harjoitustyön määrittelyssä määritämme koulutustyön suorittamiseen tarvittavan syötteen määrittämämme algoritmin avulla. Kun koulutus on valmis, SageMaker tallentaa tuloksena saadut mallin artefaktit an Amazonin yksinkertainen tallennuspalvelu (Amazon S3) määrittämäsi sijainti.
Aiemmin määritimme esiintymän tyypin, lukumäärän ja tilavuuden koon kohdassa ResourceConfig
parametri. Kun tämän parametrin mukainen ilmentymä ei ollut käytettävissä, annettiin Insufficient Capacity Error (ICE) -virhe.
Tämän välttämiseksi meillä on nyt HyperParameterTuningResourceConfig
-parametrin alla TrainingJobDefinition
, jossa määritämme luettelon tapauksista, joihin palataan. Näiden tapausten muoto on sama kuin kohdassa ResourceConfig
. Työ kulkee luettelon läpi ylhäältä alas löytääkseen käytettävissä olevan ilmentymän kokoonpanon. Jos ilmentymä ei ole käytettävissä, Insufficient Capacity Error (ICE) -virheen sijaan valitaan seuraava esiintymä luettelosta, jolloin ICE voitetaan.
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"
},
}
Suorita hyperparametrien viritystyö
Tässä vaiheessa luomme ja suoritamme hyperparametrien viritystyötä yllä määritetyllä hyperparametrien viritysresurssikokoonpanolla.
Alustamme SageMaker-asiakkaan ja luomme työn määrittämällä virityskokoonpanon, koulutustehtävän määritelmän ja työn nimen.
import boto3
sm = boto3.client('sagemaker')
sm.create_hyper_parameter_tuning_job(
HyperParameterTuningJobName="my-job-name",
HyperParameterTuningJobConfig=AmtTuningJobConfig,
TrainingJobDefinition=TrainingJobDefinition)
Kuvaile koulutustehtäviä
Seuraavassa funktiossa luetellaan kaikki kokeilun aikana käytetyt ilmentymätyypit, ja sitä voidaan käyttää tarkistamaan, onko SageMaker-harjoitusilmentymä automaattisesti pudonnut takaisin seuraavaan esiintymään luettelossa resurssien allokoinnin aikana.
Yhteenveto
Tässä viestissä osoitimme, kuinka voit nyt määrittää joukon tapauksia, joihin AMT-kokeilusi voi palata, jos InsufficientCapacityError
. Näimme kuinka määritellä hyperparametrien viritystyön konfiguraatio sekä määrittää koulutustöiden enimmäismäärä ja rinnakkaisten töiden enimmäismäärä. Lopulta näimme kuinka voittaa InsufficientCapacityError
käyttämällä HyperParameterTuningResourceConfig
parametri, joka voidaan määrittää koulutustehtävän määritelmässä.
Lisätietoja AMT:stä on osoitteessa Amazon SageMaker automaattinen mallin viritys.
Tietoja kirjoittajista
Doug Mbaya on Senior Partner Solution -arkkitehti, joka keskittyy dataan ja analytiikkaan. Doug tekee tiivistä yhteistyötä AWS-kumppaneiden kanssa ja auttaa heitä integroimaan data- ja analytiikkaratkaisuja pilveen.
Kruthi Jayasimha Rao on Partner Solutions -arkkitehti Scale-PSA-tiimissä. Kruthi suorittaa kumppaneille teknisiä validointeja, joiden avulla he voivat edistyä kumppanipolulla.
Bernard Jollans on Amazon SageMakerin automaattisen mallin virityksen ohjelmistokehitysinsinööri.
- AI
- ai taide
- ai taiteen generaattori
- ai robotti
- Amazonin koneoppiminen
- Amazon Sage Maker
- tekoäly
- tekoälyn sertifiointi
- tekoäly pankkitoiminnassa
- tekoäly robotti
- tekoälyrobotit
- tekoälyohjelmisto
- AWS-koneoppiminen
- blockchain
- blockchain-konferenssi ai
- coingenius
- keskustelullinen tekoäly
- kryptokonferenssi ai
- dall's
- syvä oppiminen
- google ai
- koneoppiminen
- Platon
- plato ai
- Platonin tietotieto
- Platon peli
- PlatonData
- platopeliä
- mittakaava ai
- syntaksi
- zephyrnet