Hiperparaméter-finomhangolási feladat futtatása a parancssori felülettel (v2)
Végezzen hiperparaméter-finomhangolást az Azure Machine Tanulás munkaterületen egy takarítási feladat elküldésével a parancssori felülettel (v2).
Az ügyfélváltozási modellt létrehozó adattudós azon gondolkodik, hogy a modell még pontosabb lehet-e. Mivel a modellt egy személyes számítógépen képezték be, az adatelemzőnek nem volt ideje vagy számítási teljesítménye több, eltérő modellparaméter-értékkel rendelkező modell betanítására. Most, hogy betaníthatja az ügyfélváltozási modellt egy számítási fürt használatával, párhuzamossá teheti a modell betanítását, hogy gyorsan iteráljon a hiperparaméter-értékeken keresztül.
A hiperparamétereket Python-szkripttel fogja hangolni az Azure Machine Tanulás parancssori felülettel (v2).
Hiperparaméterek hangolása
A parancssori felület (v2) használatával konfigurálhat és küldhet el hiperparaméter-finomhangolási feladatot.
A legjobb modell megtalálásához egy adatelemző több modellt tanít be. A hiperparaméterek finomhangolása lehetővé teszi, hogy az adatelemzők több modellt képezhessenek be ugyanazokkal az algoritmusokkal és betanítási adatokkal, de különböző hiperparaméter-értékekkel. Minden iteráció esetében nyomon kell követni a teljesítménymetrikát annak kiértékeléséhez, hogy melyik konfiguráció eredményezte a legjobb modellt.
Az alapszintű Python-betanítási feladathoz hasonlóan a takarítási feladat konfigurációja egy YAML-fájlban sweep-job.yml
van tárolva:
$schema: https://azuremlschemas.azureedge.net/latest/sweepJob.schema.json
type: sweep
sampling_algorithm: grid
trial:
code:
local_path: src
command: >-
python main.py
--learning-rate ${{search_space.learning_rate}}
environment: azureml:basic-env-scikit:1
inputs:
diabetes:
data: azureml:diabetes-data:1
compute: azureml:aml-cluster
search_space:
learning_rate:
type: choice
values: [0.01, 0.1, 1.0]
objective:
primary_metric: training_roc_auc_score
goal: maximize
limits:
max_total_trials: 6
max_concurrent_trials: 3
timeout: 3600
experiment_name: customer-churn-sweep-example
description: Run a hyperparameter sweep job for classification on customer churn dataset.
Takarítási feladat létrehozásához adja hozzá a következő paramétereket:
type
: A feladat típusa, amely ebben az esetben asweep_job
.algorithm
: A keresési terület értékeinek kiválasztására használt mintavételezési módszer.bayesian
Lehet ,grid
vagyrandom
.search_space
: A hiperparaméter finomhangolása során kipróbált értékek halmaza. Minden hiperparaméterhez konfigurálhatja a keresési terület típusát (choice
) és értékeit (0.01
,0.1
, ).1.0
objective
: Annak a naplózott metrikanak a neve, amely annak eldöntésére szolgál, hogy melyik modell a legjobb (primary_metric
). És hogy ez a metrika a legjobb-e , ha teljes vagy kis méretű (goal
).max_total_trials
: Az összesen betanítani kívánt modellek száma.max_concurrent_trials
: Számítási fürt használata esetén a modelleket párhuzamosan taníthatja be. Az egyidejű kísérletek maximális száma nem lehet magasabb, mint a számítási fürt számára kiépített csomópontok száma.
A feladat elküldéséhez és a Studióban való megnyitásához használja a következő parancsot:
az ml job create -f job-sweep.yml --web
A Studio megnyílik a Hyperdrive-kísérlet futtatásának és részleteinek megjelenítéséhez. Az egyes betanított modellek részleteinek és metrikáinak megismeréséhez bontsa ki a Gyermekfuttatások lapot.
Tipp.
További információ arról, hogyan taníthat be modelleket a cli (v2) használatával a hivatalos dokumentációban. További példákat talál a githubon futó CLI(v2) betanítási modelljeire.