Productionization

Untuk menyiapkan pipeline ML Anda untuk produksi, Anda harus melakukan hal berikut:

  • Menyediakan resource komputasi untuk pipeline Anda
  • Menerapkan logging, pemantauan, dan pemberitahuan

Menyediakan resource komputasi

Menjalankan pipeline ML memerlukan resource komputasi, seperti RAM, CPU, dan GPU/TPU. Tanpa komputasi yang memadai, Anda tidak dapat menjalankan pipeline. Oleh karena itu, pastikan Anda mendapatkan kuota yang cukup untuk menyediakan resource yang diperlukan agar pipeline Anda dapat berjalan dalam produksi.

  • Pipeline penyajian, pelatihan, dan validasi. Pipeline ini memerlukan TPU, GPU, atau CPU. Bergantung pada kasus penggunaan, Anda dapat melatih dan menayangkan di hardware yang berbeda, atau menggunakan hardware yang sama. Misalnya, pelatihan mungkin terjadi di CPU, tetapi penayangan mungkin menggunakan TPU, atau sebaliknya. Secara umum, model dilatih di hardware yang lebih besar, lalu ditayangkan di hardware yang lebih kecil.

    Saat memilih hardware, pertimbangkan hal berikut:

    • Dapatkah Anda melakukan pelatihan di hardware yang lebih murah?
    • Apakah beralih ke hardware yang berbeda akan meningkatkan performa?
    • Berapa ukuran modelnya dan hardware mana yang akan mengoptimalkan performanya?
    • Hardware apa yang ideal berdasarkan arsitektur model Anda?
  • Pipeline data. Pipeline data memerlukan kuota untuk RAM dan CPU Anda perlu memperkirakan jumlah kuota yang diperlukan pipeline untuk membuat set data pelatihan dan pengujian.

Anda mungkin tidak mengalokasikan kuota untuk setiap pipeline. Sebagai gantinya, Anda dapat mengalokasikan kuota yang digunakan bersama oleh pipeline. Dalam kasus seperti itu, pastikan Anda memiliki kuota yang cukup untuk menjalankan semua pipeline, dan siapkan pemantauan dan pemberitahuan untuk mencegah satu pipeline yang salah menggunakan semua kuota.

Memperkirakan kuota

Untuk memperkirakan kuota yang Anda perlukan untuk pipeline data dan pelatihan, cari project serupa sebagai dasar perkiraan Anda. Untuk memperkirakan kuota penayangan, coba prediksi kueri per detik layanan. Metode ini memberikan dasar. Saat Anda mulai membuat prototipe solusi selama fase eksperimen, Anda akan mulai mendapatkan perkiraan kuota yang lebih akurat.

Saat memperkirakan kuota, ingatlah untuk memperhitungkan kuota tidak hanya untuk pipeline produksi, tetapi juga untuk eksperimen yang sedang berlangsung.

Periksa Pemahaman Anda

Saat memilih hardware untuk menyajikan prediksi, Anda harus selalu memilih hardware yang lebih canggih daripada yang digunakan untuk melatih model.
Salah
Benar. Biasanya, pelatihan memerlukan hardware yang lebih besar daripada penayangan.
Benar

Logging, pemantauan, dan pemberitahuan

Logging dan pemantauan perilaku model produksi sangat penting. Infrastruktur pemantauan yang andal memastikan model Anda memberikan prediksi yang andal dan berkualitas tinggi.

Praktik pencatatan log dan pemantauan yang baik membantu mengidentifikasi masalah secara proaktif dalam pipeline ML dan memitigasi potensi dampak bisnis. Jika masalah terjadi, pemberitahuan akan memberi tahu anggota tim Anda, dan log yang komprehensif akan mempermudah diagnosis akar masalah.

Anda harus menerapkan logging dan pemantauan untuk mendeteksi masalah berikut pada pipeline ML:

Pipeline Memantau
Tayang
  • Diferensiasi atau penyimpangan dalam data penayangan dibandingkan dengan data pelatihan
  • Ketidakseimbangan atau penyimpangan dalam prediksi
  • Masalah jenis data, seperti nilai yang tidak ada atau rusak
  • Penggunaan kuota
  • Metrik kualitas model
Data
  • Kecondongan dan penyimpangan dalam nilai fitur
  • Penyimpangan dan pergeseran dalam nilai label
  • Masalah jenis data, seperti nilai yang tidak ada atau rusak
  • Tingkat penggunaan kuota
  • Batas kuota akan segera tercapai
Pelatihan
  • Waktu pelatihan
  • Kegagalan pelatihan
  • Penggunaan kuota
Validasi
  • Ketidakseimbangan atau penyimpangan dalam set data pengujian

Anda juga memerlukan logging, pemantauan, dan pemberitahuan untuk hal berikut:

  • Latensi. Berapa lama waktu yang diperlukan untuk memberikan prediksi?
  • Gangguan. Apakah model telah berhenti memberikan prediksi?

Periksa Pemahaman Anda

Manakah dari berikut ini yang menjadi alasan utama untuk mencatat dan memantau pipeline ML Anda?
Mendeteksi masalah secara proaktif sebelum memengaruhi pengguna
Melacak penggunaan kuota dan resource
Mengidentifikasi potensi masalah keamanan
Semua yang di atas
Benar. Logging dan pemantauan pipeline ML membantu mencegah dan mendiagnosis masalah sebelum menjadi serius.

Men-deploy model

Untuk deployment model, Anda harus mendokumentasikan hal berikut:

  • Persetujuan diperlukan untuk memulai deployment dan meningkatkan peluncuran.
  • Cara menempatkan model ke dalam produksi.
  • Tempat model di-deploy, misalnya, jika ada lingkungan staging atau canary.
  • Tindakan yang harus dilakukan jika deployment gagal.
  • Cara me-roll back model yang sudah dalam produksi.

Setelah mengotomatiskan pelatihan model, Anda perlu mengotomatiskan validasi dan deployment. Mengotomatiskan deployment mendistribusikan tanggung jawab dan mengurangi kemungkinan deployment terhambat oleh satu orang. Hal ini juga mengurangi potensi kesalahan, meningkatkan efisiensi dan keandalan, serta memungkinkan rotasi petugas yang bertugas dan dukungan SRE.

Biasanya, Anda men-deploy model baru ke sebagian pengguna untuk memeriksa apakah model tersebut berperilaku seperti yang diharapkan. Jika sudah benar, lanjutkan deployment. Jika tidak, Anda akan melakukan roll back deployment dan mulai mendiagnosis serta men-debug masalah.