Menyiapkan lingkungan pengembangan dengan Azure Databricks dan AutoML di Azure Machine Learning

Pelajari cara mengonfigurasi lingkungan pengembangan di Azure Machine Learning yang menggunakan Azure Databricks dan ML otomatis.

Azure Databricks cocok untuk menjalankan alur kerja pembelajaran mesin intensif berskala besar di platform Apache Spark yang dapat diskalakan di Azure cloud. Layanan ini menyediakan lingkungan berbasis Notebook kolaboratif dengan kluster komputasi berbasis CPU atau GPU.

Untuk informasi tentang lingkungan pengembangan pembelajaran mesin lainnya, lihat Menyiapkan lingkungan pengembangan Python.

Prasyarat

Ruang kerja Azure Machine Learning. Untuk membuatnya, gunakan langkah-langkah dalam artikel Membuat sumber daya ruang kerja.

Azure Databricks dengan Azure Machine Learning dan AutoML

Azure Databricks terintegrasi dengan Azure Machine Learning dan kemampuan AutoML-nya.

Anda dapat menggunakan Azure Databricks:

Menyiapkan kluster Databricks

Buat kluster Databricks. Beberapa pengaturan hanya berlaku jika Anda menginstal SDK untuk pembelajaran mesin otomatis di Databricks.

Perlu waktu beberapa menit untuk membuat kluster tersebut.

Gunakan pengaturan ini:

Pengaturan Berlaku untuk Nilai
Nama Kluster selalu yourclustername
Versi Runtime Databricks selalu 9.1 LTS
Versi Python selalu 3
Jenis Pekerja
(menentukan jumlah maks. dari perulangan bersamaan)
ML Otomatis
hanya
VM yang dioptimalkan memori yang lebih disukai
Pekerja selalu 2 atau lebih tinggi
Mengaktifkan Penskalaan Otomatis ML Otomatis
hanya
Hapus centang

Tunggu hingga kluster berjalan sebelum memproses lebih lanjut.

Menambahkan Azure Machine Learning SDK ke Databricks

Setelah kluster berjalan, buat pustaka untuk melampirkan paket Azure Machine Learning SDK yang sesuai ke kluster Anda.

Untuk menggunakan ML otomatis, lewati untuk Menambahkan Azure Machine Learning SDK dengan AutoML.

  1. Klik kanan folder Ruang Kerja saat ini tempat Anda ingin menyimpan pustaka. Pilih Buat>Pustaka.

    Tip

    Jika Anda memiliki versi SDK lama, hapus pilihan dari pustaka yang diinstal di kluster dan pindah ke keranjang sampah. Instal versi SDK baru dan hidupkan ulang kluster. Jika ada masalah setelah hidupkan ulang, copot dan pasang kembali kluster Anda.

  2. Pilih opsi berikut (tidak ada penginstalan SDK lain yang didukung)

    Tambahan paket SDK Sumber Nama PyPi
    Untuk Databricks Unggah Python Egg atau PyPI azureml-sdk[databricks]

    Peringatan

    Tidak ada tambahan SDK lain yang dapat diinstal. Pilih hanya opsi [databricks] .

    • Jangan pilih Lampirkan secara otomatis ke semua kluster.
    • Pilih Lampirkan di samping nama kluster Anda.
  3. Pantau kesalahan hingga status berubah menjadi Terlampir, yang mungkin memakan waktu beberapa menit. Jika langkah ini gagal:

    Coba hidupkan ulang kluster Anda dengan:

    1. Di panel sebelah kiri, pilih Kluster.
    2. Dalam tabel, pilih nama kluster Anda.
    3. Di tab Pustaka, Pilih Hidupkan ulang.

    Penginstalan yang berhasil terlihat seperti berikut ini:

Azure Machine Learning SDK untuk Databricks

Menambahkan Azure Machine Learning SDK dengan AutoML ke Databricks

Jika kluster dibuat dengan Databricks Runtime 7.3 LTS (bukan ML), jalankan perintah berikut di sel pertama notebook Anda untuk menginstal Azure Machine Learning SDK.

%pip install --upgrade --force-reinstall -r https://aka.ms/automl_linux_requirements.txt

Pengaturan konfigurasi AutoML

Di konfigurasi AutoML, saat menggunakan Azure Databricks, tambahkan parameter berikut:

  • max_concurrent_iterations didasarkan pada jumlah node pekerja di kluster Anda.
  • spark_context=sc didasarkan pada konteks spark default.

Notebook ML yang berfungsi dengan Azure Databricks

Coba:

Pemecahan Masalah

  • Databricks membatalkan eksekusi pembelajaran mesin otomatis: Saat Anda menggunakan kemampuan pembelajaran mesin otomatis di Azure Databricks, untuk membatalkan eksekusi dan memulai eksperimen baru, hidupkan ulang kluster Azure Databricks Anda.

  • Databricks >10 perulangan untuk pembelajaran mesin otomatis: Dalam pengaturan pembelajaran mesin otomatis, jika Anda memiliki lebih dari 10 perulangan, atur show_output ke False saat Anda mengirimkan proses.

  • Widget Databricks untuk Azure Machine Learning SDK dan pembelajaran mesin otomatis: Widget Azure Machine Learning SDK tidak didukung di notebook Databricks karena notebook tidak dapat mengurai widget HTML. Anda dapat menampilkan widget di portal menggunakan kode Python ini di sel notebook Azure Databricks Anda:

    displayHTML("<a href={} target='_blank'>Azure Portal: {}</a>".format(local_run.get_portal_url(), local_run.id))
    
  • Kegagalan saat menginstal paket

    Penginstalan Azure Machine Learning SDK gagal pada Azure Databricks ketika lebih banyak paket diinstal. Beberapa paket, seperti psutil, dapat menyebabkan konflik. Untuk menghindari kesalahan penginstalan, instal paket dengan membekukan versi pustaka. Masalah ini terkait dengan Databricks dan bukan ke Azure Machine Learning SDK. Anda mungkin juga mengalami masalah ini dengan pustaka lain. Contoh:

    psutil cryptography==1.5 pyopenssl==16.0.0 ipython==2.2.0
    

    Atau, Anda dapat menggunakan skrip init jika terus menghadapi masalah instalasi dengan pustaka Python. Pendekatan ini tidak didukung secara resmi. Untuk informasi selengkapnya, lihat Skrip init yang dicakup kluster.

  • Kesalahan impor: tidak dapat mengimpor nama Timedelta dari pandas._libs.tslibs : Jika Anda melihat kesalahan ini saat Anda menggunakan pembelajaran mesin otomatis, jalankan dua baris berikut di notebook Anda:

    %sh rm -rf /databricks/python/lib/python3.7/site-packages/pandas-0.23.4.dist-info /databricks/python/lib/python3.7/site-packages/pandas
    %sh /databricks/python/bin/pip install pandas==0.23.4
    
  • Kesalahan impor: Tidak ada modul bernama 'pandas.core.indexes' : Jika Anda melihat kesalahan ini saat Anda menggunakan pembelajaran mesin otomatis:

    1. Jalankan perintah ini untuk menginstal dua paket di kluster Azure Databricks Anda:

      scikit-learn==0.19.1
      pandas==0.22.0
      
    2. Copot, lalu pasang kembali kluster ke notebook Anda.

    Jika langkah ini tidak menyelesaikan masalah, coba hidupkan ulang kluster.

  • FailToSendFeather: Jika Anda melihat kesalahan FailToSendFeather saat membaca data di kluster Azure Databricks, lihat solusi berikut:

    • Tingkatkan paket azureml-sdk[automl] ke versi terbaru.
    • Tambahkan azureml-dataprep versi 1.1.8 atau di atasnya.
    • Tambahkan pyarrow versi 0.11 atau di atasnya.

Langkah berikutnya