Menyebarkan model untuk inferensi dan prediksi batch
Artikel ini menjelaskan cara menyebarkan model MLflow untuk inferensi offline (batch dan streaming). Databricks merekomendasikan agar Anda menggunakan MLflow untuk menyebarkan model pembelajaran mesin untuk inferensi batch atau streaming. Untuk informasi umum tentang bekerja dengan model MLflow, lihat Mencatat, memuat, mendaftarkan, dan menyebarkan model MLflow.
Untuk informasi tentang penyajian model real-time di Azure Databricks, lihat Model yang melayani dengan Azure Databricks.
Menggunakan MLflow untuk inferensi model
MLflow membantu Anda menghasilkan kode untuk inferensi batch atau streaming.
- Di Registri Model MLflow, Anda dapat secara otomatis membuat buku catatan untuk inferensi batch atau streaming melalui Tabel Langsung Delta.
- Di halaman Eksekusi MLflow untuk model Anda, Anda dapat menyalin cuplikan kode yang dihasilkan untuk inferensi pada pandas atau Apache Spark DataFrames.
Anda juga dapat menyesuaikan kode yang dihasilkan oleh salah satu opsi di atas. Lihat notebook berikut untuk contoh:
- Contoh inferensi model menggunakan model yang dilatih dengan scikit-learn dan sebelumnya masuk ke MLflow untuk menunjukkan cara memuat model dan menggunakannya untuk membuat prediksi pada data dalam format yang berbeda. Notebook ini mengilustrasikan cara menerapkan model sebagai model scikit-learn ke DataFrame pandas, dan cara menerapkan model sebagai UDF PySpark ke Spark DataFrame.
- Contoh MLflow Model Registry menunjukkan cara membuat, mengelola, dan menyebarkan model dengan Model Registry. Di halaman tersebut, Anda dapat menelusuri
.predict
untuk mengidentifikasi contoh prediksi offline (batch).
Membuat pekerjaan Azure Databricks
Untuk menjalankan prediksi batch atau streaming sebagai pekerjaan, buat notebook atau JAR yang menyertakan kode yang digunakan untuk melakukan prediksi. Kemudian, jalankan notebook atau JAR sebagai pekerjaan Azure Databricks. Pekerjaan dapat segera dijalankan atau sesuai jadwal.
Inferensi streaming
Dari MLflow Model Registry, Anda dapat secara otomatis membuat notebook yang mengintegrasikan UDF inferensi MLflow PySpark dengan Tabel Langsung Delta.
Anda juga dapat memodifikasi notebook inferensi yang dihasilkan untuk menggunakan API Streaming Terstruktur Apache Spark.
Inferensi dengan model pembelajaran mendalam
Untuk informasi tentang dan contoh inferensi model pembelajaran mendalam di Azure Databricks, lihat artikel berikut:
- Alur kerja inferensi model pembelajaran mendalam
- Panduan penyetelan performa inferensi model pembelajaran mendalam
- Solusi referensi untuk pembelajaran mesin
Inferensi dengan model MLlib dan XGBoost4J
Untuk inferensi model yang dapat diskalakan dengan model MLlib dan XGBoost4J, gunakan metode asli transform
untuk melakukan inferensi langsung pada Spark DataFrames. Buku catatan contoh MLlib menyertakan langkah-langkah inferensi.
Menyesuaikan dan mengoptimalkan inferensi model
Saat Anda menggunakan MLflow API untuk menjalankan inferensi pada Spark DataFrames, Anda dapat memuat model sebagai Spark UDF dan menerapkannya dalam skala besar menggunakan komputasi terdistribusi.
Anda dapat menyesuaikan model Anda untuk menambahkan pra-pemrosesan atau pasca-pemrosesan dan untuk mengoptimalkan performa komputasi untuk model besar. Opsi yang baik untuk menyesuaikan model adalah MLflow pyfunc API, yang memungkinkan Anda menggabungkan model dengan logika kustom.
Jika Anda perlu melakukan penyesuaian lebih lanjut, Anda dapat membungkus model pembelajaran mesin secara manual dalam Pandas UDF atau pandas Iterator UDF. Lihat contoh pembelajaran mendalam.
Untuk himpunan data yang lebih kecil, Anda juga dapat menggunakan rutinitas inferensi model asli yang disediakan oleh pustaka.
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk