Bagikan melalui


Penyetelan hyperparameter model (v2)

BERLAKU UNTUK:Ekstensi ml Azure CLI v2 (saat ini)Python SDK azure-ai-ml v2 (saat ini)

Dalam artikel ini, Anda mempelajari cara mengotomatiskan penyetelan hiperparameter yang efisien dengan Azure Machine Learning SDK v2 dan CLI v2 menggunakan kelas SweepJob .

  • Tentukan ruang pencarian parameter
  • Pilih algoritma pengambilan sampel
  • Mengatur tujuan pengoptimalan
  • Mengonfigurasi kebijakan penghentian dini
  • Mengatur batas tugas pembersihan
  • Mengirimkan eksperimen
  • Memvisualisasikan pekerjaan pelatihan
  • Pilih konfigurasi terbaik

Apa itu penyetelan hyperparameter?

Hyperparameters adalah pengaturan-pengaturan yang dapat disesuaikan yang mengontrol pelatihan model. Untuk jaringan neural, misalnya, Anda memilih jumlah lapisan tersembunyi dan jumlah simpul per lapisan. Performa model sangat bergantung pada nilai-nilai ini.

Penyetelan hyperparameter (atau pengoptimalan hyperparameter) adalah proses menemukan konfigurasi hyperparameter yang menghasilkan performa terbaik. Proses ini seringkali mahal secara komputasi dan manual.

Azure Machine Learning memungkinkan Anda mengotomatiskan penyetelan hyperparameter dan menjalankan eksperimen secara paralel untuk mengoptimalkan hyperparameter secara efisien.

Menentukan ruang pencarian

Menyetel hyperparameter dengan mempelajari rentang nilai yang ditentukan untuk setiap hyperparameter.

Hyperparameter dapat diskrit atau berkelanjutan, dan dapat memiliki distribusi nilai yang dinyatakan dengan ekspresi parameter.

Hiperparameter diskrit

Hyperparameter diskret ditentukan sebagai Choice di antara nilai diskret. Choice dapat berupa:

  • satu atau beberapa nilai yang dipisahkan koma
  • objek range
  • objek list arbitrer apa pun
from azure.ai.ml.sweep import Choice

command_job_for_sweep = command_job(
    batch_size=Choice(values=[16, 32, 64, 128]),
    number_of_hidden_layers=Choice(values=range(1,5)),
)

Referensi:

Dalam hal ini, batch_size mengambil salah satu dari [16, 32, 64, 128] dan number_of_hidden_layers mengambil salah satu dari [1, 2, 3, 4].

Hyperparameter diskret berikut juga dapat ditentukan menggunakan distribusi:

  • QUniform(min_value, max_value, q) - Menampilkan nilai seperti round(Uniform(min_value, max_value) / q) * q
  • QLogUniform(min_value, max_value, q) - Menampilkan nilai seperti round(exp(Uniform(min_value, max_value)) / q) * q
  • QNormal(mu, sigma, q) -Menampilkan nilai seperti round(Normal(mu, sigma) / q) * q
  • QLogNormal(mu, sigma, q) - Menampilkan nilai seperti round(exp(Normal(mu, sigma)) / q) * q

Hiperparameter berkelanjutan

Hiperparameter berkelanjutan ditentukan sebagai distribusi atas rentang nilai berkelanjutan:

  • Uniform(min_value, max_value) - Menampilkan nilai yang didistribusikan secara seragam antara min_value dan max_value
  • LogUniform(min_value, max_value) - Menampilkan nilai yang digambarkan menurut exp(Uniform(min_value, max_value)) sehingga logaritma nilai yang ditampilkan didistribusikan secara seragam
  • Normal(mu, sigma) - Mengembalikan nilai riil yang biasanya didistribusikan dengan rata-rata mu dan sigma simpangan baku
  • LogNormal(mu, sigma) - Menampilkan nilai yang digambarkan menurut exp(Normal(mu, sigma)) sehingga logaritma dari nilai yang ditampilkan didistribusikan secara normal

Contoh definisi ruang parameter:

from azure.ai.ml.sweep import Normal, Uniform

command_job_for_sweep = command_job(   
    learning_rate=Normal(mu=10, sigma=3),
    keep_probability=Uniform(min_value=0.05, max_value=0.1),
)

Referensi:

Kode ini mendefinisikan ruang pencarian dengan dua parameter - learning_rate dan keep_probability. learning_rate memiliki distribusi normal dengan nilai rata-rata 10 dan simpangan baku 3. keep_probability memiliki distribusi seragam dengan nilai minimum 0,05 dan nilai maksimum 0,1.

Untuk CLI, gunakan skema YAML pekerjaan pembersihan untuk menentukan ruang pencarian:

    search_space:
        conv_size:
            type: choice
            values: [2, 5, 7]
        dropout_rate:
            type: uniform
            min_value: 0.1
            max_value: 0.2

Mengambil sampel ruang hyperparameter

Tentukan metode pengambilan sampel untuk ruang hiperparameter. Azure Machine Learning mendukung:

  • Pengambilan sampel acak
  • Pengambilan sampel kisi
  • Pengambilan sampel Bayesian

Pengambilan sampel acak

Pengambilan sampel acak mendukung hiperparameter diskrit dan berkelanjutan, dan mendukung penghentian awal pekerjaan berkinerja rendah. Banyak pengguna mulai dengan pengambilan sampel acak untuk mengidentifikasi wilayah yang menjanjikan, lalu menyempurnakan.

Dalam pengambilan sampel acak, nilai digambar secara seragam (atau melalui aturan acak yang ditentukan) dari ruang pencarian yang ditentukan. Setelah membuat pekerjaan perintah Anda, gunakan sweep untuk menentukan algoritma pengambilan sampel.

from azure.ai.ml.entities import CommandJob
from azure.ai.ml.sweep import RandomSamplingAlgorithm, SweepJob, SweepJobLimits

   command_job = CommandJob(
       inputs=dict(kernel="linear", penalty=1.0),
       compute=cpu_cluster,
       environment=f"{job_env.name}:{job_env.version}",
       code="./scripts",
       command="python scripts/train.py --kernel $kernel --penalty $penalty",
       experiment_name="sklearn-iris-flowers",
   )

   sweep = SweepJob(
       sampling_algorithm=RandomSamplingAlgorithm(seed=999, rule="sobol", logbase="e"),
       trial=command_job,
       search_space={"ss": Choice(type="choice", values=[{"space1": True}, {"space2": True}])},
       inputs={"input1": {"file": "top_level.csv", "mode": "ro_mount"}},  # type:ignore
       compute="top_level",
       limits=SweepJobLimits(trial_timeout=600),
   )

Referensi:

Sobol

Sobol adalah urutan kuasi-acak yang meningkatkan pengisian ruang dan reproduksi. Sediakan benih dan atur rule="sobol" pada RandomSamplingAlgorithm.

from azure.ai.ml.sweep import  RandomSamplingAlgorithm

sweep_job = command_job_for_sweep.sweep(
    compute="cpu-cluster",
    sampling_algorithm = RandomSamplingAlgorithm(seed=123, rule="sobol"),
    ...
)

Referensi: RandomSamplingAlgorithm

Pengambilan sampel kisi

Pengambilan sampel kisi mendukung hyperparameter diskrit. Menggunakan pengambilan sampel kisi jika Anda dapat menganggarkan untuk mencari ruang pencarian secara menyeluruh. Mendukung penghentian awal dari pekerjaan berperforma rendah.

Pengambilan sampel kisi melakukan pencarian kisi sederhana atas semua nilai yang memungkinkan. Pengambilan sampel kisi hanya dapat digunakan dengan hyperparameter choice. Misalnya, ruang berikut memiliki enam sampel:

from azure.ai.ml.sweep import Choice

command_job_for_sweep = command_job(
    batch_size=Choice(values=[16, 32]),
    number_of_hidden_layers=Choice(values=[1,2,3]),
)

sweep_job = command_job_for_sweep.sweep(
    compute="cpu-cluster",
    sampling_algorithm = "grid",
    ...
)

Referensi: Pilihan

Pengambilan sampel Bayesian

Pengambilan sampel Bayesian (pengoptimalan Bayesian) memilih sampel baru berdasarkan hasil sebelumnya untuk meningkatkan metrik utama secara efisien.

Pengambilan sampel bayes disarankan jika Anda memiliki anggaran yang cukup untuk menjelajahi ruang hyperparameter. Untuk hasil terbaik, kami merekomendasikan jumlah maksimum pekerjaan yang lebih besar dari atau sama dengan 20 kali jumlah hyperparameter yang disetel.

Jumlah pekerjaan serentak berdampak pada efektivitas proses penyetelan. Jumlah pekerjaan serentak yang lebih kecil dapat menyebabkan konvergensi pengambilan sampel yang lebih baik, karena tingkat paralelisme yang lebih kecil meningkatkan jumlah pekerjaan yang mendapat keuntungan dari eksekusi yang telah selesai sebelumnya.

Sampling Bayesian mendukung distribusi choice, uniform, dan quniform.

from azure.ai.ml.sweep import Uniform, Choice

command_job_for_sweep = command_job(   
    learning_rate=Uniform(min_value=0.05, max_value=0.1),
    batch_size=Choice(values=[16, 32, 64, 128]),
)

sweep_job = command_job_for_sweep.sweep(
    compute="cpu-cluster",
    sampling_algorithm = "bayesian",
    ...
)

Referensi:

Menentukan tujuan pembersihan

Tentukan tujuan pekerjaan pembersihan Anda dengan menetapkan metrik utama dan sasaran yang ingin dioptimalkan oleh penyetelan hyperparameter. Setiap pekerjaan pelatihan dievaluasi untuk metrik utama. Kebijakan penghentian awal menggunakan metrik utama untuk mengidentifikasi eksekusi berperforma rendah.

  • primary_metric: Nama metrik utama harus sama persis dengan nama metrik yang telah dicatat di log oleh skrip pelatihan
  • goal: Hal tersebut dapat berupa Maximize atau Minimize dan menentukan apakah metrik utama akan dimaksimalkan atau diminimalkan saat mengevaluasi pekerjaan tersebut.
from azure.ai.ml.sweep import Uniform, Choice

command_job_for_sweep = command_job(   
    learning_rate=Uniform(min_value=0.05, max_value=0.1),
    batch_size=Choice(values=[16, 32, 64, 128]),
)

sweep_job = command_job_for_sweep.sweep(
    compute="cpu-cluster",
    sampling_algorithm = "bayesian",
    primary_metric="accuracy",
    goal="Maximize",
)

Referensi:

Sampel ini memaksimalkan "accuracy".

Membuat log metrik untuk penyetelan hyperparameter

Skrip pelatihan Anda harus mencatat metrik utama dengan nama yang tepat yang diharapkan oleh pekerjaan pembersihan.

Buat log metrik utama dalam skrip pelatihan Anda dengan cuplikan sampel berikut:

import mlflow
mlflow.log_metric("accuracy", float(val_accuracy))

Referensi: mlflow.log_metric

Skrip pelatihan menghitung val_accuracy dan membuat log sebagai metrik utama "accuracy". Setiap kali metrik dicatat di log, metrik diterima oleh layanan penyetelan hyperparameter. Anda dapat menentukan frekuensi pelaporan sesuai keinginan Anda.

Untuk informasi selengkapnya tentang nilai pengelogan untuk pekerjaan pelatihan, lihat Mengaktifkan pengelogan di Azure Pembelajaran Mesin pekerjaan pelatihan.

Tentukan kebijakan penghentian dini

Akhiri pekerjaan yang berkinerja buruk lebih awal untuk meningkatkan efisiensi.

Anda dapat mengonfigurasi parameter berikut yang mengontrol kapan kebijakan diterapkan:

  • evaluation_interval: frekuensi penerapan kebijakan. Setiap kali skrip pelatihan membuat log metrik utama dihitung sebagai satu interval. evaluation_interval 1 akan menerapkan kebijakan setiap kali skrip pelatihan melaporkan metrik utama. evaluation_interval 2 akan menerapkan kebijakan setiap waktu lain. Jika tidak ditentukan, evaluation_interval diatur ke 0 secara default.
  • delay_evaluation: menunda evaluasi kebijakan pertama untuk jumlah interval yang ditentukan. Parameter ini adalah parameter opsional yang menghindari penghentian awal dari job pelatihan dengan mengizinkan semua konfigurasi berjalan untuk jumlah interval minimum. Jika ditentukan, kebijakan ini menerapkan setiap kelipatan evaluation_interval yang lebih besar dari atau sama dengan delay_evaluation. Jika tidak ditentukan, delay_evaluation diatur ke 0 secara default.

Azure Machine Learning mendukung kebijakan penghentian dini berikut:

Kebijakan bandit

Kebijakan bandit menggunakan faktor kelemah atau jumlah ditambah interval evaluasi. Ini mengakhiri pekerjaan ketika metrik utamanya berada di luar toleransi yang diizinkan dari pekerjaan terbaik saat ini.

Menentukan parameter konfigurasi berikut:

  • slack_factor atau slack_amount: Perbedaan yang diizinkan dari pekerjaan terbaik. slack_factor adalah rasio; slack_amount adalah nilai absolut.

    Misalnya, pertimbangkan kebijakan Bandit yang diterapkan pada interval 10. Asumsikan bahwa pekerjaan berperforma terbaik pada interval 10 yang melaporkan metrik utama adalah 0,8 dengan sasaran untuk memaksimalkan metrik utama. Jika kebijakan menentukan slack_factor 0,2, setiap pekerjaan pelatihan yang metrik terbaiknya pada interval 10 kurang dari 0,66 (0,8/(1+slack_factor)) akan dihentikan.

  • evaluation_interval: (opsional) frekuensi penerapan kebijakan

  • delay_evaluation: (opsional) menunda evaluasi kebijakan pertama untuk jumlah interval yang ditentukan

from azure.ai.ml.sweep import BanditPolicy
sweep_job.early_termination = BanditPolicy(slack_factor = 0.1, delay_evaluation = 5, evaluation_interval = 1)

Referensi: BanditPolicy

Dalam contoh ini, kebijakan penghentian dini diterapkan pada setiap interval ketika metrik dilaporkan, dimulai pada interval evaluasi 5. Setiap eksekusi yang metrik terbaiknya kurang dari (1/(1+0,1) atau 91% dari pekerjaan berperforma terbaik akan dihentikan.

Kebijakan penghentian median

Penghentian median adalah kebijakan penghentian awal berdasarkan eksekusi rata-rata metrik utama yang dilaporkan oleh pekerjaan tersebut. Kebijakan ini menghitung eksekusi rata-rata di semua pekerjaan pelatihan dan menghentikan pekerjaan yang nilai metrik utamanya lebih buruk dibandingkan median rata-rata.

Kebijakan ini mengambil parameter konfigurasi berikut:

  • evaluation_interval: frekuensi penerapan kebijakan (parameter opsional).
  • delay_evaluation: menunda evaluasi kebijakan pertama untuk jumlah interval yang ditentukan (parameter opsional).
from azure.ai.ml.sweep import MedianStoppingPolicy
sweep_job.early_termination = MedianStoppingPolicy(delay_evaluation = 5, evaluation_interval = 1)

Referensi: MedianStoppingPolicy

Dalam contoh ini, kebijakan penghentian dini diterapkan pada setiap interval mulai dari interval evaluasi 5. Pekerjaan dihentikan pada interval 5 jika metrik utama terbaiknya lebih buruk dibandingkan median rata-rata eksekusi selama interval 1:5 di semua pekerjaan pelatihan.

Kebijakan pemilihan pemotongan

Pemilihan pemotongan membatalkan persentase pekerjaan berperforma terendah yang dijalankan pada setiap interval evaluasi. Pekerjaan dibandingkan menggunakan metrik utama.

Kebijakan ini mengambil parameter konfigurasi berikut:

  • truncation_percentage: persentase pekerjaan berperforma untuk berhenti pada setiap interval evaluasi. Nilai bilangan bulat antara 1 dan 99.
  • evaluation_interval: (opsional) frekuensi penerapan kebijakan
  • delay_evaluation: (opsional) menunda evaluasi kebijakan pertama untuk jumlah interval yang ditentukan
  • exclude_finished_jobs: menentukan apakah akan mengecualikan pekerjaan yang sudah selesai saat menerapkan kebijakan
from azure.ai.ml.sweep import TruncationSelectionPolicy
sweep_job.early_termination = TruncationSelectionPolicy(evaluation_interval=1, truncation_percentage=20, delay_evaluation=5, exclude_finished_jobs=true)

Referensi: TruncationSelectionPolicy

Dalam contoh ini, kebijakan penghentian dini diterapkan pada setiap interval mulai dari interval evaluasi 5. Pekerjaan akan berhenti pada interval 5 jika performanya pada interval 5 berada di 20% performa terendah di semua pekerjaan pada interval 5 dan akan mengecualikan pekerjaan yang selesai saat menerapkan kebijakan.

Tidak ada kebijakan penghentian (default)

Jika tidak ada kebijakan yang ditentukan, layanan penyetelan hiperparameter memungkinkan semua pekerjaan pelatihan dijalankan hingga selesai.

sweep_job.early_termination = None

Referensi: SweepJob

Memilih kebijakan penghentian awal

  • Untuk kebijakan konservatif yang menyediakan penghematan tanpa mengakhiri pekerjaan yang menjanjikan, pertimbangkan Policy Penghentian Median dengan evaluation_interval 1 dan delay_evaluation 5. Ini adalah pengaturan konservatif yang dapat memberikan penghematan sekitar 25%-35% tanpa kehilangan metrik utama (berdasarkan data evaluasi kami).
  • Untuk penghematan yang lebih agresif, gunakan Kebijakan Bandit dengan kelonggaran yang lebih kecil atau Policy Pemilihan Pemotongan dengan persentase pemotongan yang lebih besar.

Menetapkan batasan untuk pekerjaan pembersihan Anda

Mengontrol anggaran sumber daya dengan menetapkan batasan untuk pekerjaan pembersihan Anda.

  • max_total_trials: Jumlah pekerjaan percobaan maksimum. Harus bilangan bulat antara 1 dan 1000.
  • max_concurrent_trials: (opsional) Jumlah maksimum pekerjaan percobaan yang dapat berjalan serentak. Jika tidak ditentukan, max_total_trials jumlah pekerjaan yang diluncurkan secara paralel. Jika ditentukan, harus berupa bilangan bulat antara 1 dan 1000.
  • timeout: Waktu maksimum dalam detik seluruh pekerjaan pembersihan diizinkan untuk dijalankan. Setelah batas ini tercapai, sistem membatalkan pekerjaan pembersihan, termasuk semua uji cobanya.
  • trial_timeout: Waktu maksimum dalam detik yang diizinkan untuk dijalankan pada setiap pekerjaan percobaan. Setelah batas ini tercapai, sistem membatalkan uji coba.

Catatan

Jika max_total_trials dan batas waktu ditentukan, eksperimen penyetelan hiperparameter berakhir ketika yang pertama dari dua ambang batas ini tercapai.

Catatan

Jumlah pekerjaan percobaan serentak dibatasi pada sumber daya yang tersedia dalam target komputasi tertentu. Pastikan bahwa target komputasi memiliki sumber daya yang tersedia untuk konkurensi yang diinginkan.

sweep_job.set_limits(max_total_trials=20, max_concurrent_trials=4, timeout=1200)

Referensi: SweepJob.set_limits

Kode ini mengonfigurasi eksperimen penyetelan hyperparameter untuk menggunakan maksimum 20 total pekerjaan uji coba, menjalankan empat pekerjaan percobaan pada satu waktu dengan batas waktu 1.200 detik untuk seluruh pekerjaan pembersihan.

Mengonfigurasi eksperimen penyetelan hyperparameter

Untuk mengonfigurasi eksperimen penyetelan hyperparameter Anda, berikan hal berikut:

  • Ruang pencarian hyperparameter yang ditentukan
  • Algoritma pengambilan sampel Anda
  • Kebijakan penghentian dini Anda
  • Tujuan Anda
  • Batas Sumber Daya
  • CommandJob atau CommandComponent
  • SweepJob

SweepJob dapat menjalankan pembersihan hyperparameter pada Komponen Perintah atau Perintah.

Catatan

Target komputasi yang digunakan di sweep_job harus memiliki sumber daya yang cukup untuk tingkat konkurensi Anda. Untuk informasi selengkapnya tentang target komputasi, lihat Target komputasi.

Mengonfigurasi eksperimen penyetelan hyperparameter:

from azure.ai.ml import MLClient
from azure.ai.ml import command, Input
from azure.ai.ml.sweep import Choice, Uniform, MedianStoppingPolicy
from azure.identity import DefaultAzureCredential

# Create your base command job
command_job = command(
    code="./src",
    command="python main.py --iris-csv ${{inputs.iris_csv}} --learning-rate ${{inputs.learning_rate}} --boosting ${{inputs.boosting}}",
    environment="AzureML-lightgbm-3.2-ubuntu18.04-py37-cpu@latest",
    inputs={
        "iris_csv": Input(
            type="uri_file",
            path="https://azuremlexamples.blob.core.windows.net/datasets/iris.csv",
        ),
        "learning_rate": 0.9,
        "boosting": "gbdt",
    },
    compute="cpu-cluster",
)

# Override your inputs with parameter expressions
command_job_for_sweep = command_job(
    learning_rate=Uniform(min_value=0.01, max_value=0.9),
    boosting=Choice(values=["gbdt", "dart"]),
)

# Call sweep() on your command job to sweep over your parameter expressions
sweep_job = command_job_for_sweep.sweep(
    compute="cpu-cluster",
    sampling_algorithm="random",
    primary_metric="test-multi_logloss",
    goal="Minimize",
)

# Specify your experiment details
sweep_job.display_name = "lightgbm-iris-sweep-example"
sweep_job.experiment_name = "lightgbm-iris-sweep-example"
sweep_job.description = "Run a hyperparameter sweep job for LightGBM on Iris dataset."

# Define the limits for this sweep
sweep_job.set_limits(max_total_trials=20, max_concurrent_trials=10, timeout=7200)

# Set early stopping on this one
sweep_job.early_termination = MedianStoppingPolicy(
    delay_evaluation=5, evaluation_interval=2
)

Referensi:

command_job dipanggil sebagai fungsi sehingga Anda dapat menerapkan ekspresi parameter. Fungsi sweep dikonfigurasi dengan trial, algoritma pencuplikan, objektif, batasan, dan komputasi. Cuplikan kode berasal dari contoh notebook Jalankan pemindaian hyperparameter pada Command atau Komponen Komando. Dalam sampel ini, learning_rate dan boosting disetel. Penghentian awal didorong oleh MedianStoppingPolicy, yang menghentikan pekerjaan yang metrik utamanya lebih buruk dari median rata-rata yang berjalan di semua pekerjaan (lihat referensi MedianStoppingPolicy).

Untuk melihat cara nilai parameter diterima, diurai, dan diteruskan ke skrip pelatihan untuk disetel, lihat sampel kode ini

Penting

Setiap pekerjaan pembersihan parameter memulai ulang pelatihan dari awal, termasuk membangun ulang model dan semua pemuat data. Anda dapat meminimalkan biaya ini dengan menggunakan Azure Machine Learning atau proses manual untuk melakukan persiapan data sebanyak mungkin sebelum pekerjaan pelatihan.

Mengirimkan eksperimen penyetelan hyperparameter

Setelah Anda menentukan konfigurasi penyetelan hyperparameter, kirimkan pekerjaan:

# submit the sweep
returned_sweep_job = ml_client.create_or_update(sweep_job)
# get a URL for the status of the job
returned_sweep_job.services["Studio"].endpoint

Referensi:

Memvisualisasikan pekerjaan penyetelan hyperparameter

Visualisasikan pekerjaan penyetelan hiperparameter di studio Azure Machine Learning. Untuk detailnya, lihat Menampilkan rekaman pekerjaan di studio.

  • Bagan metrik: Visualisasi ini melacak metrik yang dicatat untuk setiap pekerjaan turunan hyperdrive selama durasi penyetelan hyperparameter. Setiap baris mewakili pekerjaan turunan, dan setiap titik mengukur nilai metrik utama pada iterasi runtime.

    Bagan metrik penyetelan hyperparameter

  • Bagan Koordinat Paralel: Visualisasi ini menunjukkan korelasi antara performa metrik utama dan nilai hyperparameter individu. Bagan interaktif melalui pergerakan sumbu (pilih dan seret oleh label sumbu), dan dengan menyoroti nilai di seluruh sumbu tunggal (pilih dan seret secara vertikal di sepanjang sumbu tunggal untuk menyoroti rentang nilai yang diinginkan). Bagan koordinat paralel menyertakan sumbu pada bagian paling kanan bagan yang memplot nilai metrik terbaik yang sesuai dengan hiperparameter yang ditetapkan untuk instans pekerjaan tersebut. Sumbu ini diberikan untuk memproyeksikan legenda gradien bagan ke data dengan cara yang lebih mudah dibaca.

    Bagan koordinat paralel penyetelan hyperparameter

  • Bagan Sebar 2 Dimensi: Visualisasi ini menunjukkan korelasi antara dua hyperparameter individu bersama dengan nilai metrik utama terkait.

    Bagan sebar penyetelan Hyparameter 2 dimensi

  • Bagan Sebar 3 Dimensi:Visualisasi ini sama dengan 2D tetapi memungkinkan tiga dimensi korelasi hyperparameter dengan nilai metrik utama. Anda juga dapat memilih dan menyeret untuk mengorientasikan ulang bagan untuk melihat korelasi yang berbeda dalam ruang 3D.

    Hyparameter menyetel bagan sebar 3 dimensi

Menemukan pekerjaan percobaan terbaik

Setelah semua pekerjaan penyetelan selesai, ambil output uji coba terbaik:

# Download best trial model output
ml_client.jobs.download(returned_sweep_job.name, output_name="model")

Referensi:

Anda dapat menggunakan CLI untuk mengunduh semua output default dan bernama dari pekerjaan percobaan terbaik dan log pekerjaan pembersihan.

az ml job download --name <sweep-job> --all

Secara opsional, unduh hanya output uji coba terbaik:

az ml job download --name <sweep-job> --output-name model

Referensi

Langkah berikutnya