Käivitage automaatne mudeli häälestamine rakendusega Amazon SageMaker JumpStart PlatoBlockchain Data Intelligence. Vertikaalne otsing. Ai.

Käivitage automaatne mudeli häälestamine rakendusega Amazon SageMaker JumpStart

2020. aasta detsembris ilmus AWS teatas - üldine kättesaadavus Amazon SageMaker JumpStart, võime Amazon SageMaker mis aitab teil masinõppega (ML) kiiresti ja lihtsalt alustada. Märtsis 2022 ka meie teatas API-de tugi JumpStartis. JumpStart pakub ühe klõpsuga peenhäälestamist ja paljude eelkoolitatud mudelite juurutamist populaarsete ML-ülesannete jaoks, samuti valikut täislahendusi, mis lahendavad levinud äriprobleeme. Need funktsioonid eemaldavad ML-protsessi iga etapi raskused, muutes kvaliteetsete mudelite väljatöötamise lihtsamaks ja lühendades kasutuselevõtuks kuluvat aega.

Selles postituses näitame, kuidas käivitada JumpStartiga mudeli automaatne häälestamine.

SageMaker automaatne mudeli häälestamine

Traditsiooniliselt kasutavad ML-i insenerid õige hüperparameetrite komplekti leidmiseks katse-eksituse meetodit. Katse-eksituse meetod hõlmab mitme töö järjestikust või paralleelset käitamist, eraldades samal ajal katse käitamiseks vajalikke ressursse.

koos SageMaker automaatne mudeli häälestamine, ML-i insenerid ja andmeteadlased saavad oma mudeli optimeerimise aeganõudva ülesande maha laadida ja lasta SageMakeril katsetada. SageMaker kasutab ära AWS-i platvormi elastsust, et tõhusalt ja samaaegselt käitada andmekogumis mitut treeningsimulatsiooni ning leida mudeli jaoks parimad hüperparameetrid.

SageMakeri automaatne mudeli häälestamine leiab mudeli parima versiooni, käivitades teie andmestikul palju koolitustöid, kasutades algoritmi ja vahemikud teie määratud hüperparameetritest. Seejärel valib see hüperparameetrite väärtused, mille tulemuseks on mudel, mis toimib kõige paremini, mõõdetuna a-ga meetriline et valite.

Automaatne mudeli häälestamine kasutab kas a Bayesi (vaikimisi) või a juhuslik otsingustrateegia, et leida hüperparameetrite jaoks parimad väärtused. Bayesi otsing käsitleb hüperparameetrite häälestamist nagu a regressioon probleem. Järgmiseks treeningtööks parimate hüperparameetrite valimisel arvestab see kõike, mida probleemist seni teab ja võimaldab algoritmil ära kasutada tuntumaid tulemusi.

Selles postituses kasutame Bayesi vaikeotsingustrateegiat, et näidata samme, mis on seotud mudelite automaatse häälestamise käivitamisega JumpStarti abil, kasutades LightGBM mudel.

JumpStart toetab praegu 10 automaatse mudelihäälestusega näidismärkmikku. Samuti toetab see nelja populaarset tabeliandmete modelleerimise algoritmi. Ülesanded ja nende näidismärkmike lingid on kokku võetud järgmises tabelis.

Ülesanne Eelkoolitatud modellid Toetab kohandatud andmekogumit Toetatud raamistikud Näidismärkmikud
Piltide klassifikatsioon jah jah PyTorch, TensorFlow JumpStarti sissejuhatus – piltide klassifitseerimine
Objekti tuvastamine jah jah PyTorch, TensorFlow, MXNet KiirStardi sissejuhatus – objektide tuvastamine
Semantiline segmenteerimine jah jah MX Net KiirStardi sissejuhatus – semantiline segmenteerimine
Teksti liigitus jah jah TensorFlow KiirStardi sissejuhatus – teksti klassifitseerimine
Lausepaaride klassifikatsioon jah jah TensorFlow, kallistav nägu KiirStardi sissejuhatus – lausepaaride klassifikatsioon
Küsimusele vastamine jah jah PyTorch KiirStardi sissejuhatus – küsimustele vastamine
Tabeliline klassifikatsioon jah jah LightGBM, CatBoost, XGBoost, lineaarne õppija JumpStarti sissejuhatus – tabeliklassifikatsioon – LightGBM, CatBoost
JumpStarti sissejuhatus – tabeliline klassifikatsioon – XGBoost, lineaarne õppija
Tabeliline regressioon jah jah LightGBM, CatBoost, XGBoost, lineaarne õppija JumpStarti sissejuhatus – tabeliregressioon – LightGBM, CatBoost
KiirStardi sissejuhatus – tabeliregressioon – XGBoost, lineaarne õppija

Lahenduse ülevaade

See tehniline töövoog annab ülevaate erinevatest Amazon Sagemakeri funktsioonidest ja sammudest, mis on vajalikud JumpStarti mudeli automaatseks häälestamiseks.

Käivitage automaatne mudeli häälestamine rakendusega Amazon SageMaker JumpStart PlatoBlockchain Data Intelligence. Vertikaalne otsing. Ai.

Järgmistes jaotistes anname samm-sammult ülevaate selle kohta, kuidas käivitada automaatne mudeli häälestamine JumpStartiga, kasutades LightGBM-i algoritmi. Pakume kaasasolevat märkmik selle läbikäigu jaoks.

Läbime järgmised kõrgetasemelised sammud:

  1. Hankige JumpStarti eelkoolitatud mudelite ja piltide konteiner.
  2. Määrake staatilised hüperparameetrid.
  3. Määratlege häälestatavad hüperparameetrite vahemikud.
  4. Käivitage mudeli automaatne häälestamine.
  5. Käivitage häälestustöö.
  6. Juurutage lõpp-punkti parim mudel.

Hankige JumpStarti eelkoolitatud mudelite ja piltide konteiner

Selles jaotises valime peenhäälestamiseks LightGBM-i klassifikatsioonimudeli. Kasutame eksemplari tüüpi ml.m5.xlarge, millel mudelit käitatakse. Seejärel hangime koolituse Dockeri konteineri, koolitusalgoritmi allika ja eelkoolitatud mudeli. Vaadake järgmist koodi:

training_instance_type = "ml.m5.xlarge" # Retrieve the docker image
train_image_uri = image_uris.retrieve(
    region=None,
    framework=None,
    model_id=train_model_id,
    model_version=train_model_version,
    image_scope=train_scope,
    instance_type=training_instance_type,
)
# Retrieve the training script
train_source_uri = script_uris.retrieve(
    model_id=train_model_id, model_version=train_model_version, script_scope=train_scope
)
# Retrieve the pre-trained model tarball to further fine-tune
train_model_uri = model_uris.retrieve(
    model_id=train_model_id, model_version=train_model_version, model_scope=train_scope
)

Määrake staatilised hüperparameetrid

Nüüd hangime selle LightGBM-i mudeli vaikehüperparameetrid, nagu JumpStart on eelkonfigureerinud. Samuti tühistame num_boost_round kohandatud väärtusega hüperparameeter.

# Retrieve the default hyper-parameters for fine-tuning the model
hyperparameters = hyperparameters.retrieve_default(
    model_id=train_model_id, model_version=train_model_version
)
# [Optional] Override default hyperparameters with custom values

Määratlege häälestatavad hüperparameetrite vahemikud

Järgmisena määratleme hüperparameetrite vahemikud optimeeritud automaatse mudeli häälestamisega. Määratleme hüperparameetri nime, nagu mudel eeldab, ja seejärel väärtuste vahemikud, mida selle hüperparameetri jaoks proovitakse. Automaatne mudeli häälestamine tõmbab näidiseid (võrdne max_jobs parameeter) hüperparameetrite ruumist, kasutades tehnikat, mida nimetatakse Bayesi otsinguks. Iga joonistatud hüperparameetri näidise jaoks loob tuuner koolitustöö, et hinnata selle konfiguratsiooniga mudelit. Vaadake järgmist koodi:

hyperparameter_ranges = {
    "learning_rate": ContinuousParameter(1e-4, 1, scaling_type="Logarithmic"),
    "num_boost_round": IntegerParameter(2, 30),
    "early_stopping_rounds": IntegerParameter(2, 30),
    "num_leaves": IntegerParameter(10, 50),
    "feature_fraction": ContinuousParameter(0, 1),
    "bagging_fraction": ContinuousParameter(0, 1),
    "bagging_freq": IntegerParameter(1, 10),
    "max_depth": IntegerParameter(5, 30),
    "min_data_in_leaf": IntegerParameter(5, 50),
}

Käivitage mudeli automaatne häälestamine

Alustame luues an Hindaja objekt koos kõigi vajalike varadega, mis määratlevad koolitustöö, nagu eelkoolitatud mudel, koolituse pilt ja koolituse skript. Seejärel määratleme a Hüperparameetri tuuner objekt suhtlemiseks SageMakeri hüperparameetrite häälestamise API-dega.

. HyperparameterTuner aktsepteerib parameetritena hindaja objekti, sihtmõõdiku, mille põhjal otsustatakse parim hüperparameetrite komplekt, koolitustööde koguarvu (max_jobs), et alustada hüperparameetrite häälestustööd ja käivitada maksimaalsed paralleelsed koolitustööd (max_parallel_jobs). Treeningtöid juhitakse LightGBM-i algoritmi ja minimaalsete hüperparameetrite väärtustega mlogloss mõõdik on valitud. Lisateavet mudeli automaatse häälestamise konfigureerimise kohta vt Hüperparameetrite häälestamise parimad tavad.

# Create SageMaker Estimator instance
tabular_estimator = Estimator(
    role=aws_role,
    image_uri=train_image_uri,
    source_dir=train_source_uri,
    model_uri=train_model_uri,
    entry_point="transfer_learning.py",
    instance_count=1,
    instance_type=training_instance_type,
    max_run=360000,
    hyperparameters=hyperparameters,
    output_path=s3_output_location,
) tuner = HyperparameterTuner(
    estimator=tabular_estimator,
    objective_metric_name="multi_logloss",
    hyperparameter_ranges=hyperparameter_ranges,
    metric_definitions=[{"Name": "multi_logloss", "Regex": "multi_logloss: ([0-9\.]+)"}],
    strategy="Bayesian",
    max_jobs=10,
    max_parallel_jobs=2,
    objective_type="Minimize",
    base_tuning_job_name=training_job_name,
)

Eelmises koodis käsime tuuneril käitada kuni 10 katset (max_jobs) ja ainult kaks samaaegset katset korraga (max_parallel_jobs). Mõlemad parameetrid hoiavad teie kulud ja treeninguaja kontrolli all.

Käivitage häälestustöö

SageMakeri häälestustöö käivitamiseks kutsume välja hüperparameetrilise tuuneri objekti sobitusmeetodi ja edastame Amazoni lihtne salvestusteenus (Amazon S3) treeningandmete tee:

tuner.fit({"training": training_dataset_s3_path}, logs=True)

Kuigi automaatne mudeli häälestamine otsib parimaid hüperparameetreid, saate nende edenemist jälgida kas SageMakeri konsoolil või Amazon CloudWatch. Kui treening on lõppenud, laaditakse parima mudeli peenhäälestatud artefaktid üles treeningkonfiguratsioonis määratud Amazon S3 väljundi asukohta.

Juurutage lõpp-punkti parim mudel

Kui häälestustöö on lõppenud, on parim mudel välja valitud ja Amazon S3-sse salvestatud. Nüüd saame selle mudeli juurutada, kutsudes välja juurutusmeetodi HyperparameterTuner objekt ja edastab vajalikud parameetrid, nagu loodud lõpp-punkti jaoks kasutatavate eksemplaride arv, nende tüüp, juurutav pilt ja käivitatav skript:

tuner.deploy(
    initial_instance_count=1,
    instance_type=inference_instance_type,
    entry_point="inference.py",
    image_uri=deploy_image_uri,
    source_dir=deploy_source_uri,
    endpoint_name=endpoint_name,
    enable_network_isolation=True
)

Nüüd saame testida loodud lõpp-punkti, tehes järeldustaotlusi. Ülejäänud protsessi saate jälgida lisatud dokumendist märkmik.

Järeldus

SageMakeri automaatse mudeli häälestamise abil saate leida oma mudeli parima versiooni, käivitades koolitustöid pakutavas andmekogumis ühe toetatud algoritmiga. Mudeli automaatne häälestamine võimaldab teil lühendada mudeli häälestamiseks kuluvat aega, otsides automaatselt teie määratud hüperparameetrite vahemikes parimat hüperparameetri konfiguratsiooni.

Selles postituses näitasime mudeli automaatse häälestamise väärtust JumpStarti eelkoolitatud mudelil, kasutades SageMaker API-sid. Kasutasime LightGBM-i algoritmi ja määratlesime maksimaalselt 10 koolitustööd. Esitasime ka lingid näidismärkmikutele, mis tutvustavad ML-raamistikke, mis toetavad JumpStart mudeli optimeerimist.

Lisateavet KiirStardi mudeli optimeerimise kohta automaatse mudeli häälestamisega leiate meie näitest märkmik.


Teave Autor

Käivitage automaatne mudeli häälestamine rakendusega Amazon SageMaker JumpStart PlatoBlockchain Data Intelligence. Vertikaalne otsing. Ai.Doug Mbaya on vanempartnerlahenduste arhitekt, kes keskendub andmetele ja analüüsidele. Doug teeb tihedat koostööd AWS-i partneritega, aidates neil andmeid ja analüüsilahendusi pilve integreerida.

Käivitage automaatne mudeli häälestamine rakendusega Amazon SageMaker JumpStart PlatoBlockchain Data Intelligence. Vertikaalne otsing. Ai.Kruthi Jayasimha Rao on Scale-PSA meeskonna partnerlahenduste arhitekt. Kruthi viib partnerite jaoks läbi tehnilisi valideerimisi, mis võimaldavad neil partneriteel edasi liikuda.

Käivitage automaatne mudeli häälestamine rakendusega Amazon SageMaker JumpStart PlatoBlockchain Data Intelligence. Vertikaalne otsing. Ai.Giannis Mitropoulos on SageMakeri tarkvaraarenduse insener Automaatne mudeli häälestamine.

Käivitage automaatne mudeli häälestamine rakendusega Amazon SageMaker JumpStart PlatoBlockchain Data Intelligence. Vertikaalne otsing. Ai.Dr Ashish Khetan on vanemrakendusteadlane Amazon SageMaker JumpStart ja Amazon SageMakeri sisseehitatud algoritmid ja aitab välja töötada masinõppe algoritme. Ta on aktiivne masinõppe ja statistiliste järelduste uurija ning avaldanud palju artikleid NeurIPS-i, ICML-i, ICLR-i, JMLR-i ja ACL-i konverentsidel.

Ajatempel:

Veel alates AWS-i masinõpe