Ditulis oleh:Lukasz Cmielowski, PhD, Trent Gray-Donald
Hari ini, kami akan menjalankan eksperimen IBM AutoAI dari Microsoft Azure Machine Learning Studio dan kemudian menerapkannya ke Azure Kubernetes Service (AKS). Baca ceritanya untuk melihat pengalaman lintas cloud dan hasil akhirnya.
Eksperimen IBM Watson AutoAI dijalankan
Untuk menjalankan eksperimen IBM Watson AutoAI kami telah menggunakan Microsoft Azure Machine Learning Studio dan lingkungan notebook.
Kami mulai dengan memperbarui paket runtime ke versi yang cocok dengan AutoAI. Paket-paket berikut perlu diinstal dan diperbarui (perintah pip):
pip install ibm-watson-machine-learning
pip install snapml
pip install scikit-learn==1.0.2
pip install xgboost==1.5.1
pip install lightgbm==3.3.1
pip install gensim==4.1.2
Sekarang, runtime notebook kami siap menjalankan eksperimen AutoAI dan menemukan model klasifikasi terbaik untuk kasus penggunaan risiko kredit Jerman. Gunakan contoh notebook ini (yang disiapkan untuk IBM Watson Studio) untuk menyiapkan mesin virtual IBM Watson Machine Learning dan API python (kredensial, ruang, dan otorisasi). Selanjutnya, mari kita tentukan pengoptimal AutoAI dan model pelatihan.
Definisi pengoptimal & panggilan yang sesuai
Mirip dengan API scikit-learn, panggilan fit
memulai proses pencarian dan pelatihan. Komputasi terjadi di layanan IBM Watson Machine Learning (buka di sini untuk mendapatkan contoh). Kemajuannya ditampilkan di buku catatan di Microsoft Azure.
Papan peringkat saluran
Daftar model terbaik yang ditemukan oleh IBM Watson Studio AutoAI diberi peringkat berdasarkan skor pengoptimalan roc_auc
. Skor (metrik) dihitung pada kumpulan data pelatihan (validasi silang dengan 3 kali lipat) dan ketidaksepakatan.
Dapatkan model terbaik
Metode get_pipeline
mengunduh dan memuat model acar menggunakan paket joblib
. Modelnya adalah model pipeline scikit-learn dengan transformasi khusus yang tersedia dalam paket autoai-libs
. Anda juga dapat menampilkan matriks kebingungan atau kepentingan fitur menggunakan metode get_pipeline_details
.
Dapatkan kode sumber model (definisi alur)
AutoAI menghadirkan transparansi saluran penuh — Anda dapat melihat pratinjau definisi saluran (kode sumber) dengan memanggil metode pretty_print
.
Dapatkan prediksinya
Model ini dapat digunakan di lingkungan apa pun — tidak ada ketergantungan pada IBM Cloud. Seperti menggunakan model saluran scikit-learnbiasa, panggil metode predict
untuk mendapatkan prediksi kembali. Model ini beroperasi pada array numpy.
Seperti yang bisa kita lihat, memanggil AutoAI API di Microsoft Azure tidak berbeda dengan memanggilnya di IBM Cloud.
Menyebarkan layanan web ke Azure Kubernetes Service (AKS)
Di bagian ini kami akan menjelaskan semua langkah yang diperlukan untuk menerapkan model IBM Watson AutoAI terbaik pada Layanan Microsoft Azure Kubernetes. Seperti yang akan Anda lihat di bawah, selain menentukan dependensi python tambahan (bagian Buat lingkungan) tidak ada yang istimewa (langkah selanjutnya adalah langkah penerapan AKS standar).
Pertama, kita perlu mendapatkan ruang kerja dan mendaftarkan model AutoAI.
Untuk mendaftarkan model, best_pipeline
(model terbaik AutoAI) diambil menggunakan paket joblib. Selanjutnya, kita menggunakan metode register() dari modul azureml.core.model untuk mendaftarkan model untuk penerapan layanan web. Dengan menggunakan modul Environment dan CondaDependencies, kami menentukan lingkungan penerapan yang akan digunakan untuk melayani model AutoAI. Daftar
Setelah membuat lingkungan, kita perlu menulis skrip penyajian yang terdiri dari dua fungsi init
dan run.
Fungsi init
memuat model menggunakan paket joblib. run
mengonversi json payload menjadi array numpy dan meneruskannya ke model yang dimuat untuk mendapatkan prediksi kembali.
Pada langkah selanjutnya kita perlu membuat Cluster AKS. InferenceConfig
yang menghubungkan skrip penyajian dan nama cluster kami harus disediakan.
Akhirnya, cluster AKS kita sudah siap. Dengan menggunakan metode Model.deploy
kita dapat membuat layanan web (layanan AKS).
Pengoperasian layanan AKS selesai, status layanan Sehat. Mari kita uji model yang diterapkan menggunakan metode run
yang ditawarkan oleh objek aks_service
. Layanan ini juga dapat diuji menggunakan GUI dan tab Test (seperti yang ditunjukkan pada gambar di bawah). Ujiannya berhasil.
Sekarang, kita dapat menggunakan model AutoAI yang kami terapkan melalui permintaan http dari aplikasi apa pun. Permintaan tersebut memerlukan url
, api_key
(dapat disalin dari tab Konsumsi) dan payload dengan sampel baru.
Seperti yang Anda lihat, menyimpulkan model AutoAI di Azure Kubernetes Service sangatlah mudah. Nikmati penilaiannya!.