Hiperparaméter-finomhangolási feladat futtatása a parancssori felülettel (v2)

Befejeződött

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.ymlvan 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 a sweep_job.
  • algorithm: A keresési terület értékeinek kiválasztására használt mintavételezési módszer. bayesianLehet , gridvagy random.
  • 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.