2020 decemberében az AWS bejelentés - a Amazon SageMaker JumpStart, képessége Amazon SageMaker amely segít gyorsan és egyszerűen elkezdeni a gépi tanulást (ML). 2022 márciusában mi is bejelentés az API-k támogatása a JumpStartban. A JumpStart az előre betanított modellek széles skálájának egy kattintással történő finomhangolását és telepítését biztosítja a népszerű ML-feladatok között, valamint a gyakori üzleti problémákat megoldó végpontok közötti megoldások választékát. Ezek a funkciók eltávolítják az ML folyamat minden egyes lépéséből adódó nehézségeket, így egyszerűbbé válik a kiváló minőségű modellek fejlesztése, és lerövidül a telepítéshez szükséges idő.
Ebben a bejegyzésben bemutatjuk, hogyan futtatható az automatikus modellhangolás a JumpStart segítségével.
SageMaker automatikus modelltuning
Hagyományosan az ML mérnökei próba és hiba módszert alkalmaznak a megfelelő hiperparaméterkészlet megtalálásához. A próba és hiba során több feladatot kell futtatni egymás után vagy párhuzamosan, miközben a kísérlet futtatásához szükséges erőforrásokat ki kell építeni.
A SageMaker automatikus modelltuning, az ML mérnökök és adattudósok tehermentesíthetik a modell optimalizálásának időigényes feladatát, és hagyhatják, hogy a SageMaker futtassa a kísérletet. A SageMaker kihasználja az AWS platform rugalmasságát, hogy hatékonyan és egyidejűleg futtasson több képzési szimulációt egy adatkészleten, és megtalálja a modell legjobb hiperparamétereit.
A SageMaker automatikus modellhangolása megtalálja a modell legjobb verzióját azáltal, hogy számos képzési feladatot futtat az adatkészleten az algoritmus és tartományok az Ön által megadott hiperparaméterek közül. Ezután kiválasztja azokat a hiperparaméter-értékeket, amelyek a legjobban teljesítő modellt eredményezik, a mérése szerint metrikus hogy te választod.
Az automatikus modellhangolás vagy a bayesi (alapértelmezett) vagy a véletlen keresési stratégia a hiperparaméterek legjobb értékeinek megtalálásához. A Bayes-keresés a hiperparaméter-hangolást úgy kezeli, mint a regresszió probléma. A legjobb hiperparaméterek kiválasztásakor a következő képzési munkához mindent figyelembe vesz, amit a problémáról eddig tud, és lehetővé teszi az algoritmus számára, hogy a legismertebb eredményeket használja ki.
Ebben a bejegyzésben az alapértelmezett Bayes-féle keresési stratégiát használjuk annak bemutatására, hogy milyen lépések szükségesek az automatikus modellhangoláshoz a JumpStart segítségével a LightGBM modell.
A JumpStart jelenleg 10 példa notebookot támogat automatikus modellhangolással. Támogatja a táblázatos adatmodellezés négy népszerű algoritmusát is. A feladatokat és a mintafüzetekre mutató hivatkozásokat a következő táblázat foglalja össze.
Megoldás áttekintése
Ez a technikai munkafolyamat áttekintést nyújt az Amazon Sagemaker különféle funkcióiról és lépéseiről, amelyek a JumpStart modellek automatikus hangolásához szükségesek.
A következő szakaszokban lépésről lépésre bemutatjuk, hogyan futtassunk automatikus modellhangolást a JumpStart segítségével a LightGBM algoritmus használatával. Kísérőt biztosítunk jegyzetfüzet ehhez a végigjátszáshoz.
A következő magas szintű lépéseken megyünk keresztül:
- Töltse le a JumpStart előre betanított modell- és képtárolót.
- Állítson be statikus hiperparamétereket.
- Határozza meg a hangolható hiperparaméter-tartományokat.
- Inicializálja az automatikus modellhangolást.
- Futtassa a hangolási feladatot.
- Telepítse a legjobb modellt egy végponton.
Töltse le a JumpStart előre betanított modell- és képtárolót
Ebben a részben a LightGBM osztályozási modellt választjuk a finomhangoláshoz. Az ml.m5.xlarge példánytípust használjuk, amelyen a modell fut. Ezután lekérjük a betanító Docker-tárolót, a betanító algoritmus forrását és az előre betanított modellt. Lásd a következő kódot:
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
)
Állítson be statikus hiperparamétereket
Most lekérjük ennek a LightGBM-modellnek az alapértelmezett hiperparamétereit, a JumpStart által előre beállítottak szerint. Felülírjuk a num_boost_round
hiperparaméter egyéni értékkel.
# 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
Határozza meg a hangolható hiperparaméter-tartományokat
Ezután meghatározzuk a hiperparaméter tartományokat automatikus modellhangolással optimalizálva. Meghatározzuk a hiperparaméter nevét, ahogy azt a modell elvárja, majd az ehhez a hiperparaméterhez kipróbálandó értéktartományokat. Az automatikus modellhangolás mintákat vesz (egyenlő a max_jobs
paraméter) a hiperparaméterek teréből, a Bayes-keresés nevű technikával. Minden megrajzolt hiperparaméter-mintához a tuner létrehoz egy betanítási feladatot, hogy kiértékelje az adott konfigurációval rendelkező modellt. Lásd a következő kódot:
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),
}
Inicializálja az automatikus modellhangolást
Kezdjük azzal, hogy létrehozunk egy Becslő objektumot a képzési munkát meghatározó összes szükséges eszközzel, például az előre betanított modellel, a képzési képpel és a képzési szkripttel. Ezután meghatározzuk a HyperparameterTuner objektum a SageMaker hiperparaméter-hangoló API-kkal való interakcióhoz.
A HyperparameterTuner
paraméterként elfogadja az Estimator objektumot, a cél metrikát, amely alapján a hiperparaméterek legjobb halmaza dönt, a betanítási feladatok teljes számát (max_jobs
) a hiperparaméter-hangolási feladat elindításához, és a maximális párhuzamos betanítási feladatok futtatásához (max_parallel_jobs
). A képzési feladatok a LightGBM algoritmussal és a minimális hiperparaméterértékekkel futnak mlogloss
mérőszám van kiválasztva. Az automatikus modellhangolás konfigurálásával kapcsolatos további információkért lásd: A hiperparaméter-hangolás legjobb gyakorlatai.
# 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,
)
Az előző kódban azt mondjuk a tunernek, hogy legfeljebb 10 kísérletet futtasson (max_jobs
) és egyszerre csak két párhuzamos kísérlet (max_parallel_jobs
). Mindkét paraméter ellenőrzése alatt tartja költségeit és edzési idejét.
Futtassa a hangolási feladatot
A SageMaker hangolási feladat elindításához meghívjuk a hiperparaméteres tuner objektum illeszkedési metódusát, és átadjuk a Amazon egyszerű tárolási szolgáltatás (Amazon S3) a képzési adatok útvonala:
tuner.fit({"training": training_dataset_s3_path}, logs=True)
Míg az automatikus modellhangolás megkeresi a legjobb hiperparamétereket, nyomon követheti azok fejlődését a SageMaker konzolon vagy a amazonfelhőóra. Amikor az edzés befejeződött, a legjobb modell finomhangolt műtermékei feltöltődnek a képzési konfigurációban megadott Amazon S3 kimeneti helyre.
Telepítse a legjobb modellt egy végponton
Amikor a hangolási munka befejeződött, a legjobb modellt kiválasztottuk és eltároltuk az Amazon S3-ban. Most már telepíthetjük ezt a modellt a telepítési metódus meghívásával HyperparameterTuner
objektumot, és átadja a szükséges paramétereket, például a létrehozott végponthoz használandó példányok számát, típusát, a telepítendő lemezképet és a futtatandó szkriptet:
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
)
Most már tesztelhetjük a létrehozott végpontot következtetéskérésekkel. A folyamat többi részét a mellékelt dokumentumban követheti nyomon jegyzetfüzet.
Következtetés
A SageMaker automatikus modellhangolásával megtalálhatja modelljének legjobb verzióját, ha oktatási feladatokat futtat a megadott adatkészleten az egyik támogatott algoritmussal. Az automatikus modellhangolás lehetővé teszi, hogy csökkentse a modell hangolásához szükséges időt azáltal, hogy automatikusan megkeresi a legjobb hiperparaméter-konfigurációt a megadott hiperparaméter-tartományokon belül.
Ebben a bejegyzésben bemutattuk az automatikus modellhangolás értékét egy JumpStart előre betanított modellen SageMaker API-k segítségével. A LightGBM algoritmust használtuk, és maximum 10 képzési feladatot határoztunk meg. A JumpStart modelloptimalizálást támogató ML keretrendszereket bemutató notebook-példák hivatkozásait is megadtuk.
A JumpStart modell automatikus modellhangolással történő optimalizálásával kapcsolatos további részletekért tekintse meg példánkat jegyzetfüzet.
A szerzőről
Doug Mbaya Senior Partner Solution építész, aki az adatokra és az elemzésekre összpontosít. A Doug szorosan együttműködik az AWS-partnerekkel, segítve őket az adatok és az elemzési megoldások felhőbe való integrálásában.
Kruthi Jayasimha Rao a Scale-PSA csapatában partner megoldások építésze. A Kruthi technikai ellenőrzéseket végez a Partnerek számára, lehetővé téve számukra a Partner Path útján való előrehaladást.
Giannis Mitropoulos a SageMaker szoftverfejlesztő mérnöke Automatikus modellhangolás.
Dr. Ashish Khetan vezető alkalmazott tudós Amazon SageMaker JumpStart és a Amazon SageMaker beépített algoritmusok és segít a gépi tanulási algoritmusok fejlesztésében. A gépi tanulás és a statisztikai következtetések aktív kutatója, és számos közleményt publikált NeurIPS, ICML, ICLR, JMLR és ACL konferenciákon.
- Coinsmart. Európa legjobb Bitcoin- és kriptográfiai tőzsdéje.
- Platoblockchain. Web3 metaverzum intelligencia. Felerősített tudás. SZABAD HOZZÁFÉRÉS.
- CryptoHawk. Altcoin radar. Ingyenes próbaverzió.
- Forrás: https://aws.amazon.com/blogs/machine-learning/run-automatic-model-tuning-with-amazon-sagemaker-jumpstart/
- "
- 10
- 100
- 2020
- 2022
- Rólunk
- át
- aktív
- Előny
- algoritmus
- algoritmusok
- Minden termék
- amazon
- analitika
- API-k
- Eszközök
- Automatikus
- elérhetőség
- AWS
- BEST
- beépített
- üzleti
- hívás
- A pop-art design, négy időzóna kijelzése egyszerre és méretének arányai azok az érvek, amelyek a NeXtime Time Zones-t kiváló választássá teszik. Válassza a
- választott
- besorolás
- felhő
- kód
- Közös
- konferenciák
- Configuration
- úgy véli,
- Konzol
- Konténer
- ellenőrzés
- teremt
- készítette
- teremt
- létrehozása
- Jelenleg
- szokás
- dátum
- határozott
- bizonyítani
- telepíteni
- telepített
- bevetés
- részletek
- Fejleszt
- Fejlesztés
- különböző
- Dokkmunkás
- könnyen
- eredményesen
- lehetővé téve
- Endpoint
- mérnök
- Mérnökök
- értékelni
- minden
- példa
- várható
- kísérlet
- Exploit
- Jellemzők
- leletek
- megfelelő
- Összpontosít
- következik
- következő
- további
- általános
- magasság
- segít
- segít
- jó minőségű
- Hogyan
- How To
- HTTPS
- kép
- végre
- információ
- integrálni
- részt
- IT
- Munka
- Állások
- indít
- tanulás
- emelő
- linkek
- elhelyezkedés
- gép
- gépi tanulás
- Gyártás
- március
- ML
- modell
- modellek
- monitor
- több
- a legtöbb
- többszörös
- szám
- optimalizálás
- Optimalizálja
- optimalizálása
- partner
- partnerek
- Múló
- emelvény
- Népszerű
- Probléma
- problémák
- folyamat
- ad
- biztosít
- kérdés
- gyorsan
- csökkenteni
- csökkentő
- kéri
- kötelező
- Tudástár
- REST
- Eredmények
- futás
- futás
- Tudós
- tudósok
- Keresés
- kiválasztott
- készlet
- kirakatba
- Egyszerű
- So
- szoftver
- szoftverfejlesztés
- megoldások
- Megoldások
- SOLVE
- Hely
- kezdet
- kezdődött
- statisztikai
- tárolás
- Stratégia
- támogatás
- Támogatott
- Támogatja
- cél
- feladatok
- csapat
- Műszaki
- teszt
- Keresztül
- idő
- időigényes
- Cím
- Képzések
- próba
- használ
- érték
- fajta
- míg
- belül
- művek