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!.