Produksi

Untuk menyiapkan pipeline ML untuk produksi, Anda perlu melakukan hal-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 mendapatkan kuota yang cukup guna menyediakan resource yang diperlukan untuk pipeline Anda yang diperlukan untuk beroperasi dalam lingkungan produksi.

  • Pipeline penayangan, pelatihan, dan validasi. Pipeline ini memerlukan TPU, GPU, atau CPU. Bergantung pada kasus penggunaan, Anda dapat melatih dan menyajikan pada perangkat keras yang berbeda, atau menggunakan perangkat keras yang sama. Misalnya, pelatihan mungkin terjadi pada CPU tetapi penyaluran mungkin menggunakan TPU, atau sebaliknya. Secara umum, umumnya dilatih pada perangkat keras yang lebih besar dan kemudian disajikan pada perangkat keras yang lebih kecil.

    Saat memilih hardware, pertimbangkan hal berikut:

    • Dapatkah Anda melatih perangkat keras yang lebih murah?
    • Apakah beralih ke hardware lain 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 harus memperkirakan seberapa banyak kuota yang dibutuhkan pipeline Anda untuk membuat set data pelatihan dan pengujian.

Anda mungkin tidak mengalokasikan kuota untuk setiap pipeline. Sebagai gantinya, Anda mungkin mengalokasikan kuota yang digunakan bersama oleh pipeline. Dalam kasus tersebut, verifikasi Anda memiliki cukup kuota untuk menjalankan semua {i>pipelines<i} Anda, dan mengatur mengubahnya untuk mencegah satu pipeline yang salah memakai semua kuota.

Memperkirakan kuota

Untuk memperkirakan kuota yang diperlukan untuk pipeline data dan pelatihan, proyek serupa sebagai dasar estimasi Anda. Untuk memperkirakan kuota penayangan, coba memprediksi kueri layanan per detik. Metode ini memberikan dasar pengukuran. Sebagai saat membuat prototipe solusi selama fase eksperimen, Anda akan memulai untuk mendapatkan perkiraan kuota yang lebih tepat.

Saat memperkirakan kuota, ingatlah untuk memperhitungkan kuota tidak hanya untuk produksi Anda pipeline, tetapi juga untuk eksperimen berkelanjutan.

Memeriksa Pemahaman Anda

Ketika memilih perangkat keras untuk menyajikan prediksi, Anda harus selalu perangkat keras yang lebih kuat daripada yang digunakan untuk melatih model.
Salah
Benar. Biasanya, pelatihan memerlukan hardware yang lebih besar daripada inferensi.
Benar

Logging, pemantauan, dan pemberitahuan

Logging dan pemantauan perilaku model produksi sangatlah penting. Robust Infrastruktur pemantauan akan mengonfirmasi bahwa model Anda menyajikan prediksi berkualitas tinggi.

Praktik logging dan pemantauan yang baik membantu mengidentifikasi masalah di ML secara proaktif jaringan perusahaan dan memitigasi potensi dampak bisnis. Saat masalah terjadi, peringatan akan terjadi memberi tahu anggota tim Anda, dan log yang komprehensif memudahkan dalam mendiagnosis akar penyebab masalahnya.

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

Pipeline Memantau
Tayang
  • Kemiringan atau penyimpangan dalam data penayangan dibandingkan dengan data pelatihan
  • Kemiringan atau penyimpangan dalam prediksi
  • Masalah jenis data, seperti nilai yang hilang atau rusak
  • Penggunaan kuota
  • Metrik kualitas model
Data
  • Kemiringan dan penyimpangan dalam nilai fitur
  • Kemiringan dan penyimpangan pada nilai label
  • Masalah jenis data, seperti nilai yang hilang atau rusak
  • Tingkat penggunaan kuota
  • Batas kuota akan tercapai
Pelatihan
  • Waktu pelatihan
  • Kegagalan pelatihan
  • Penggunaan kuota
Validasi
  • Kemiringan atau penyimpangan dalam set data pengujian

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

  • Latensi. Berapa lama waktu yang diperlukan untuk menghasilkan prediksi?
  • Penghentian. Apakah model telah berhenti mengirimkan prediksi?

Memeriksa Pemahaman Anda

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

Men-deploy model

Untuk deployment model, sebaiknya dokumentasikan hal berikut:

  • Persetujuan diperlukan untuk memulai deployment dan meningkatkan peluncuran.
  • Cara menerapkan model ke dalam produksi.
  • Tempat model di-deploy, misalnya, jika ada staging atau canary lingkungan fleksibel App Engine.
  • Tindakan yang harus dilakukan jika deployment gagal.
  • Cara melakukan rollback model yang sudah ada dalam produksi.

Setelah mengotomatiskan pelatihan model, Anda dapat mengotomatisasi validasi dan deployment. Mengotomatiskan deployment mendistribusikan tanggung jawab dan mengurangi kemungkinan terhambatnya suatu deployment oleh kepada satu orang. Langkah ini juga mengurangi potensi kesalahan, meningkatkan efisiensi dan keandalan, dan memungkinkan rotasi on-call dan dukungan SRE.

Biasanya Anda men-deploy model baru ke sebagian pengguna untuk memeriksa apakah model tersebut sudah berperilaku seperti yang diharapkan. Jika ya, lanjutkan dengan deployment. Jika tidak, Anda melakukan rollback deployment dan mulai mendiagnosis dan men-debug masalah.