Pelacakan dan pengamatan eksperimen

Penting

Fitur ini ada di Pratinjau Umum.

Runtime AI terintegrasi secara asli dengan MLflow untuk pelacakan eksperimen dan menyertakan panel sumber daya GPU bawaan untuk memantau pemanfaatan, memori, dan suhu. Gunakan MLflow untuk mencatat metrik dan eksekusi, melihat output pelatihan di notebook dan UI MLflow, menyimpan titik pemeriksaan model ke volume Unity Catalog, dan melacak kesehatan GPU saat kode Anda berjalan.

Integrasi MLflow

Runtime AI terintegrasi secara asli dengan MLflow untuk pelacakan eksperimen, pengelogan model, dan visualisasi metrik.

Rekomendasi pengaturan:

  • Tingkatkan MLflow ke versi 3.7 atau yang lebih baru dan ikuti pola alur kerja pembelajaran mendalam.

  • Aktifkan autologging untuk PyTorch Lightning:

    import mlflow
    mlflow.pytorch.autolog()
    
  • Sesuaikan nama eksekusi MLflow Anda dengan merangkum kode pelatihan model Anda dalam mlflow.start_run() cakupan API. Ini memberi Anda kontrol atas nama eksekusi dan memungkinkan Anda memulai ulang dari eksekusi sebelumnya. Anda dapat menyesuaikan nama eksekusi menggunakan run_name parameter di mlflow.start_run(run_name="your-custom-name") atau di pustaka pihak ketiga yang mendukung MLflow (misalnya, Hugging Face Transformers). Jika tidak, nama eksekusi defaultnya adalah jobTaskRun-xxxxx.

    from transformers import TrainingArguments
    args = TrainingArguments(
        report_to="mlflow",
        run_name="llama7b-sft-lr3e5",  # <-- MLflow run name
        logging_steps=50,
    )
    
  • Saat menggunakan API GPU Tanpa Server, setiap panggilan untuk .distributed() secara otomatis membuat eksperimen MLflow yang dijalankan. Jika dipanggil dalam run MLflow yang aktif, child run bertingkat akan dibuat di bawah parent aktif sebagai gantinya.

    import mlflow
    
    with mlflow.start_run() as outer_run:
        ...
        run_train.distributed()  # creates a nested child run under outer_run
    
  • Untuk menyesuaikan eksperimen yang digunakan oleh .distributed(), panggil mlflow.set_experiment() sebelum memanggil .distributed(), atau atur MLFLOW_EXPERIMENT_NAME variabel lingkungan. Nama eksperimen default adalah /Users/{WORKSPACE_USER}/{notebook-name}. Selalu gunakan jalur absolut.

    import mlflow
    mlflow.set_experiment("/Users/<username>/my-experiment")
    run_train.distributed()
    

    Alternatively:

    import os
    os.environ["MLFLOW_EXPERIMENT_NAME"] = "/Users/<username>/my-experiment"
    
  • Untuk melanjutkan eksekusi MLflow sebelumnya, gunakan mlflow.start_run(run_id="<previous-run-id>").

  • Untuk melanjutkan eksekusi MLflow sebelumnya dengan .distributed(), atur MLFLOW_RUN_ID sebelum memanggilnya:

    os.environ["MLFLOW_RUN_ID"] = "<previous-run-id>"
    run_train.distributed()
    
  • Atur parameter step di MLFlowLogger menjadi nomor batch yang wajar. MLflow memiliki batas 10 juta langkah metrik, sehingga mencatat setiap batch dalam proses pelatihan berskala besar dapat mencapai batas ini. Lihat Batas sumber daya.

Menampilkan log

  • Keluaran notebook: Keluaran standar dan galat dari kode pelatihan Anda akan muncul di keluaran sel notebook.
  • Log MLflow: UI eksperimen MLflow menampilkan metrik pelatihan, parameter, dan artefak.

Titik pemeriksaan model

Untuk pelatihan terdistribusi, simpan status model dan optimizer ke volume Unity Catalog menggunakan API Torch Distributed Checkpoint (DCP) dengan serverless_gpu.data.UCVolumeWriter backend dan serverless_gpu.data.UCVolumeReader storage. Simpan secara asinkron sehingga pelatihan berlanjut saat checkpoint diunggah, dan checkpoint cukup sering untuk membatasi kehilangan pekerjaan setelah gangguan. Karena checkpoint model tidak menangkap posisi data pipeline, juga checkpoint data pipeline Anda sehingga run yang dilanjutkan berlanjut pada data yang benar.

Untuk pola checkpoint lengkap, lihat Tingkatkan performa pelatihan dan ketahanan pada AI Runtime.

Memantau sumber daya GPU

Gunakan panel sumber daya GPU untuk memantau kesehatan dan pemanfaatan GPU saat kode Anda berjalan pada Runtime AI. Panel ini mendukung beban kerja baik pada simpul tunggal maupun multi-simpul.

Untuk membuka panel, sambungkan buku catatan Anda ke Runtime AI, lalu klik ikon Chip.Sumber daya GPU di panel sisi kanan.

Panel sumber daya GPU memperlihatkan pemanfaatan, memori, dan metrik suhu untuk setiap GPU.

Panel menampilkan metrik berikut untuk setiap GPU:

  • Persentase pemanfaatan GPU
  • Penggunaan memori GPU
  • Suhu

Panel mengambil metrik setiap 10 detik dan menyimpan riwayat hingga 2 jam. Klik ikon Refresh.Refresh untuk segera mengambil nilai terbaru. Setelah 5 menit tidak aktif, panel berhenti sementara; buka kembali untuk melanjutkan pemantauan.

Kolaborasi multi-pengguna

  • Untuk memastikan semua pengguna dapat mengakses kode bersama (misalnya, modul pembantu atau file YAML lingkungan), simpan di /Workspace/Shared alih-alih folder khusus pengguna seperti /Workspace/Users/<your_email>/.
  • Untuk kode yang sedang dalam pengembangan aktif, gunakan folder Git di folder /Workspace/Users/<your_email>/ khusus pengguna dan dorong ke repositori Git jarak jauh. Ini memungkinkan beberapa pengguna untuk memiliki klon dan cabang khusus pengguna, sambil masih menggunakan repositori Git jarak jauh untuk kontrol versi. Lihat praktik terbaik untuk menggunakan Git di Databricks.
  • Kolaborator dapat berbagi dan mengomentari buku catatan.

Batas global di Azure Databricks

Lihat Batas sumber daya.