Bagikan melalui


Tutorial: Pengembangan model di stasiun kerja cloud

Pelajari cara mengembangkan skrip pelatihan dengan buku catatan di stasiun kerja cloud Azure Pembelajaran Mesin. Tutorial ini mencakup dasar-dasar yang Anda butuhkan untuk memulai:

  • Menyiapkan dan mengonfigurasi stasiun kerja cloud. Stasiun kerja cloud Anda didukung oleh instans komputasi Azure Pembelajaran Mesin, yang telah dikonfigurasi sebelumnya dengan lingkungan untuk mendukung berbagai kebutuhan pengembangan model Anda.
  • Gunakan lingkungan pengembangan berbasis cloud.
  • Gunakan MLflow untuk melacak metrik model Anda, semuanya dari dalam buku catatan.

Prasyarat

Untuk menggunakan Azure Pembelajaran Mesin, Anda memerlukan ruang kerja. Jika Anda tidak memilikinya, selesaikan Buat sumber daya yang Anda perlukan untuk mulai membuat ruang kerja dan pelajari selengkapnya tentang menggunakannya.

Penting

Jika ruang kerja Azure Pembelajaran Mesin Anda dikonfigurasi dengan jaringan virtual terkelola, Anda mungkin perlu menambahkan aturan keluar untuk mengizinkan akses ke repositori paket Python publik. Untuk informasi selengkapnya, lihat Skenario: Mengakses paket pembelajaran mesin publik.

Mulai dengan komputasi

Bagian Komputasi di ruang kerja memungkinkan Anda membuat sumber daya komputasi. Instans komputasi adalah stasiun kerja berbasis cloud yang dikelola sepenuhnya oleh Azure Pembelajaran Mesin. Seri tutorial ini menggunakan instans komputasi. Anda juga dapat menggunakannya untuk menjalankan kode Anda sendiri, dan untuk mengembangkan dan menguji model.

  1. Masuk ke Studio Azure Machine Learning.
  2. Pilih ruang kerja Anda jika belum dibuka.
  3. Di navigasi kiri, pilih Komputasi.
  4. Jika Anda tidak memiliki instans komputasi, Anda akan melihat Baru di tengah layar. Pilih Baru dan isi formulir. Anda dapat menggunakan semua default.
  5. Jika Anda memiliki instans komputasi, pilih instans tersebut dari daftar. Jika dihentikan, pilih Mulai.

Buka Visual Studio Code (VISUAL Code)

Setelah Anda memiliki instans komputasi yang sedang berjalan, Anda dapat mengaksesnya dengan berbagai cara. Tutorial ini menunjukkan penggunaan instans komputasi dari Visual Studio Code. VISUAL Code memberi Anda lingkungan pengembangan terintegrasi penuh (IDE) dengan kekuatan sumber daya Azure Pembelajaran Mesin.

Dalam daftar instans komputasi, pilih tautan Visual Studio Code (Web) atau VISUAL Code (Desktop) untuk instans komputasi yang ingin Anda gunakan. Jika Anda memilih Visual Studio Code (Desktop), Anda mungkin melihat pop-up yang menanyakan apakah Anda ingin membuka aplikasi.

Cuplikan layar memperlihatkan tautan untuk meluncurkan VISUAL Code (Web) atau (Desktop).

Instans Visual Studio Code ini dilampirkan ke instans komputasi dan sistem file ruang kerja Anda. Bahkan jika Anda membukanya di desktop, file yang Anda lihat adalah file di ruang kerja Anda.

Menyiapkan lingkungan baru untuk pembuatan prototipe (opsional)

Agar skrip Anda berjalan, Anda harus bekerja di lingkungan yang dikonfigurasi dengan dependensi dan pustaka yang diharapkan kode. Bagian ini membantu Anda membuat lingkungan yang disesuaikan dengan kode Anda. Untuk membuat kernel Jupyter baru yang tersambung dengan notebook Anda, Anda akan menggunakan file YAML yang menentukan dependensi.

  • Unggah file.

    File yang Anda unggah disimpan dalam berbagi file Azure, dan file-file ini dipasang ke setiap instans komputasi dan dibagikan dalam ruang kerja.

    1. Unduh file lingkungan conda ini, workstation_env.yml ke komputer Anda dengan menggunakan tombol Unduh file mentah di kanan atas.

    2. Seret file dari komputer Anda ke jendela Visual Studio Code. File diunggah ke ruang kerja Anda.

    3. Pindahkan file di bawah folder nama pengguna Anda.

      Cuplikan layar memperlihatkan cara mengunggah file.

    4. Pilih file ini untuk mempratinjaunya, dan lihat dependensi apa yang ditentukannya. Anda akan melihat konten seperti ini:

    name: workstation_env
    # This file serves as an example - you can update packages or versions to fit your use case
    dependencies:
      - python=3.8
      - pip=21.2.4
      - scikit-learn=0.24.2
      - scipy=1.7.1
      - pandas>=1.1,<1.2
      - pip:
        - mlflow-skinny 
        - azureml-mlflow
        - psutil>=5.8,<5.9
        - ipykernel~=6.0
        - matplotlib
    
  • Buat kernel.

    Sekarang gunakan terminal untuk membuat kernel Jupyter baru, berdasarkan file workstation_env.yml .

    1. Pada bilah menu atas, pilih Terminal >Terminal Baru.

      Cuplikan layar memperlihatkan alat terminal terbuka di toolbar buku catatan.

    2. Lihat lingkungan conda Anda saat ini. Lingkungan aktif ditandai dengan *.

      conda env list
      
    3. cd ke folder tempat Anda mengunggah file workstation_env.yml . Misalnya, jika Anda mengunggahnya ke folder pengguna Anda:

      cd Users/myusername
      
    4. Pastikan workstation_env.yml ada di folder ini.

      ls
      
    5. Buat lingkungan berdasarkan file conda yang disediakan. Dibutuhkan beberapa menit untuk membangun lingkungan ini.

      conda env create -f workstation_env.yml
      
    6. Aktifkan lingkungan baru.

      conda activate workstation_env
      

      Catatan

      Jika Anda melihat CommandNotFoundError, ikuti instruksi untuk menjalankan conda init bash, tutup terminal, dan buka yang baru. Kemudian coba lagi perintah.conda activate workstation_env

    7. Validasi lingkungan yang benar aktif, lagi cari lingkungan yang ditandai dengan *.

      conda env list
      
    8. Buat kernel Jupyter baru berdasarkan lingkungan aktif Anda.

      python -m ipykernel install --user --name workstation_env --display-name "Tutorial Workstation Env" 
      
    9. Tutup jendela terminal.

Anda sekarang memiliki kernel baru. Selanjutnya Anda akan membuka buku catatan dan menggunakan kernel ini.

Membuat notebook

  1. Di bilah menu atas, pilih File > File Baru.
  2. Beri nama file baru Anda develop-tutorial.ipynb (atau masukkan nama pilihan Anda). Pastikan Anda menggunakan ekstensi .ipynb .

Mengatur kernel

  1. Di kanan atas, pilih Pilih kernel.
  2. Pilih instans komputasi Azure ML (computeinstance-name).
  3. Pilih kernel yang Anda buat, Tutorial Workstation Env. Jika Anda tidak melihatnya, pilih alat Refresh di kanan atas.

Mengembangkan skrip pelatihan

Di bagian ini, Anda mengembangkan skrip pelatihan Python yang memprediksi pembayaran default kartu kredit, menggunakan himpunan data pengujian dan pelatihan yang disiapkan dari himpunan data UCI.

Kode ini digunakan sklearn untuk pelatihan dan MLflow untuk mencatat metrik.

  1. Mulailah dengan kode yang mengimpor paket dan pustaka yang akan Anda gunakan dalam skrip pelatihan.

    import os
    import argparse
    import pandas as pd
    import mlflow
    import mlflow.sklearn
    from sklearn.ensemble import GradientBoostingClassifier
    from sklearn.metrics import classification_report
    from sklearn.model_selection import train_test_split
  2. Selanjutnya, muat dan proses data untuk eksperimen ini. Dalam tutorial ini, Anda membaca data dari file di internet.

    # load the data
    credit_df = pd.read_csv(
        "https://azuremlexamples.blob.core.windows.net/datasets/credit_card/default_of_credit_card_clients.csv",
        header=1,
        index_col=0,
    )
    
    train_df, test_df = train_test_split(
        credit_df,
        test_size=0.25,
    )
  3. Siapkan data untuk pelatihan:

    # Extracting the label column
    y_train = train_df.pop("default payment next month")
    
    # convert the dataframe values to array
    X_train = train_df.values
    
    # Extracting the label column
    y_test = test_df.pop("default payment next month")
    
    # convert the dataframe values to array
    X_test = test_df.values
  4. Tambahkan kode untuk mulai pencatatan otomatis dengan MLflow, sehingga Anda dapat melacak metrik dan hasilnya. Dengan sifat iteratif pengembangan model, MLflow membantu Anda mencatat parameter dan hasil model. Lihat kembali eksekusi tersebut untuk membandingkan dan memahami performa model Anda. Log juga menyediakan konteks saat Anda siap untuk berpindah dari fase pengembangan ke fase pelatihan alur kerja Anda dalam Azure Pembelajaran Mesin.

    # set name for logging
    mlflow.set_experiment("Develop on cloud tutorial")
    # enable autologging with MLflow
    mlflow.sklearn.autolog()
  5. Melatih model.

    # Train Gradient Boosting Classifier
    print(f"Training with data of shape {X_train.shape}")
    
    mlflow.start_run()
    clf = GradientBoostingClassifier(n_estimators=100, learning_rate=0.1)
    clf.fit(X_train, y_train)
    
    y_pred = clf.predict(X_test)
    
    print(classification_report(y_test, y_pred))
    # Stop logging for this model
    mlflow.end_run()

    Catatan

    Anda dapat mengabaikan peringatan mlflow. Anda masih akan mendapatkan semua hasil yang perlu Anda lacak.

Iterate

Sekarang setelah Anda memiliki hasil model, Anda mungkin ingin mengubah sesuatu dan mencoba lagi. Misalnya, coba teknik pengklasifikasi yang berbeda:

# Train  AdaBoost Classifier
from sklearn.ensemble import AdaBoostClassifier

print(f"Training with data of shape {X_train.shape}")

mlflow.start_run()
ada = AdaBoostClassifier()

ada.fit(X_train, y_train)

y_pred = ada.predict(X_test)

print(classification_report(y_test, y_pred))
# Stop logging for this model
mlflow.end_run()

Catatan

Anda dapat mengabaikan peringatan mlflow. Anda masih akan mendapatkan semua hasil yang perlu Anda lacak.

Memeriksa hasil

Sekarang setelah Anda mencoba dua model yang berbeda, gunakan hasil yang dilacak oleh MLFfow untuk memutuskan model mana yang lebih baik. Anda dapat mereferensikan metrik seperti akurasi, atau indikator lain yang paling penting untuk skenario Anda. Anda dapat menyelami hasil ini secara lebih rinci dengan melihat pekerjaan yang dibuat oleh MLflow.

  1. Kembali ke ruang kerja Anda di studio Azure Pembelajaran Mesin.

  2. Di navigasi kiri, pilih Pekerjaan.

    Cuplikan layar memperlihatkan cara memilih Pekerjaan di navigasi.

  3. Pilih tautan untuk Tutorial kembangkan di cloud.

  4. Ada dua pekerjaan berbeda yang ditampilkan, satu untuk setiap model yang Anda coba. Nama-nama ini dibuat secara otomatis. Saat Anda mengarahkan mouse ke atas nama, gunakan alat pensil di samping nama jika Anda ingin mengganti namanya.

  5. Pilih tautan untuk pekerjaan pertama. Nama muncul di bagian atas. Anda juga dapat mengganti namanya di sini dengan alat pensil.

  6. Halaman menunjukkan detail pekerjaan, seperti properti, output, tag, dan parameter. Di bawah Tag, Anda akan melihat estimator_name, yang menjelaskan jenis model.

  7. Pilih tab Metrik untuk melihat metrik yang dicatat oleh MLflow. (Harapkan hasil Anda berbeda, karena Anda memiliki set pelatihan yang berbeda.)

    Cuplikan layar memperlihatkan metrik untuk pekerjaan.

  8. Pilih tab Gambar untuk melihat gambar yang dihasilkan oleh MLflow.

    Cuplikan layar memperlihatkan gambar untuk pekerjaan.

  9. Kembali dan tinjau metrik dan gambar untuk model lain.

Membuat skrip Python

Sekarang buat skrip Python dari buku catatan Anda untuk pelatihan model.

  1. Di jendela Visual Studio Code Anda, klik kanan pada nama file buku catatan dan pilih Impor Buku Catatan ke Skrip.

  2. Gunakan menu Simpan File > untuk menyimpan file skrip baru ini. Sebut saja train.py.

  3. Lihat file ini dan hapus kode yang tidak Anda inginkan dalam skrip pelatihan. Misalnya, simpan kode untuk model yang ingin Anda gunakan, dan hapus kode untuk model yang tidak Anda inginkan.

    • Pastikan Anda menyimpan kode yang mulai melakukan autologging (mlflow.sklearn.autolog()).
    • Saat Anda menjalankan skrip Python secara interaktif (seperti yang Anda lakukan di sini), Anda dapat menyimpan baris yang menentukan nama eksperimen (mlflow.set_experiment("Develop on cloud tutorial")). Atau bahkan beri nama yang berbeda untuk melihatnya sebagai entri yang berbeda di bagian Pekerjaan . Tetapi ketika Anda menyiapkan skrip untuk pekerjaan pelatihan, baris tersebut tidak berlaku dan harus dihilangkan - definisi pekerjaan menyertakan nama eksperimen.
    • Saat Anda melatih satu model, garis untuk memulai dan mengakhiri eksekusi (mlflow.start_run() dan mlflow.end_run()) juga tidak diperlukan (tidak akan berpengaruh), tetapi dapat dibiarkan jika Anda mau.
  4. Setelah selesai dengan pengeditan, simpan file.

Anda sekarang memiliki skrip Python untuk digunakan untuk melatih model pilihan Anda.

Menjalankan skrip Python

Untuk saat ini, Anda menjalankan kode ini pada instans komputasi, yang merupakan lingkungan pengembangan Azure Pembelajaran Mesin Anda. Tutorial: Melatih model menunjukkan kepada Anda cara menjalankan skrip pelatihan dengan cara yang lebih dapat diskalakan pada sumber daya komputasi yang lebih kuat.

  1. Pilih lingkungan yang Anda buat sebelumnya dalam tutorial ini sebagai versi Python Anda (workstations_env). Di sudut kanan bawah notebook, Anda akan melihat nama lingkungan. Pilih, lalu pilih lingkungan di tengah layar.

    Cuplikan layar memperlihatkan memilih lingkungan baru.

  2. Sekarang jalankan skrip Python. Gunakan alat Jalankan File Python di kanan atas.

    Cuplikan layar memperlihatkan alat Jalankan File Python di kanan atas layar.

Catatan

Anda dapat mengabaikan peringatan mlflow. Anda masih akan mendapatkan semua metrik dan gambar dari autologging.

Memeriksa hasil skrip

Kembali ke Pekerjaan di ruang kerja Anda di studio Azure Pembelajaran Mesin untuk melihat hasil skrip pelatihan Anda. Perlu diingat bahwa data pelatihan berubah dengan setiap pemisahan, sehingga hasilnya juga berbeda antara eksekusi.

Membersihkan sumber daya

Jika Anda berencana untuk melanjutkan sekarang ke tutorial lain, lewati ke Langkah berikutnya.

Menghentikan instans komputasi

Jika Anda tidak akan menggunakannya sekarang, hentikan instans komputasi:

  1. Di studio, di area navigasi kiri, pilih Komputasi.
  2. Di tab atas, pilih Instans komputasi
  3. Pilih instans komputasi dalam daftar.
  4. Di toolbar atas, pilih Hentikan.

Menghapus semua sumber daya

Penting

Sumber daya yang Anda buat sebagai prasyarat untuk tutorial dan artikel cara penggunaan Azure Machine Learning lainnya.

Jika Anda tidak berencana menggunakan sumber daya yang sudah Anda buat, hapus sehingga Anda tidak dikenakan biaya apa pun:

  1. Di portal Azure, di kotak pencarian, masukkan Grup sumber daya dan pilih dari hasil.

  2. Dari daftar, pilih grup sumber daya yang Anda buat.

  3. Di halaman Gambaran Umum , pilih Hapus grup sumber daya.

    Cuplikan layar pilihan untuk menghapus grup sumber daya di portal Microsoft Azure.

  4. Masukkan nama grup sumber daya. Kemudian pilih Hapus.

Langkah berikutnya

Pelajari lebih lanjut tentang:

Tutorial ini menunjukkan kepada Anda langkah-langkah awal pembuatan model, membuat prototipe pada komputer yang sama tempat kode berada. Untuk pelatihan produksi Anda, pelajari cara menggunakan skrip pelatihan tersebut pada sumber daya komputasi jarak jauh yang lebih kuat: