Pedoman untuk mengembangkan solusi ML berkualitas tinggi

Last reviewed 2022-02-17 UTC

Dokumen ini adalah kumpulan beberapa pedoman untuk membantu Anda menilai, memastikan, dan mengontrol kualitas dalam solusi machine learning (ML). Pedoman ini menyediakan saran untuk setiap langkah proses, mulai dari mengembangkan model ML, men-deploy sistem pelatihan dan sistem penyajian hingga produksi. Dokumen ini memperluas informasi yang dibahas dalam Pedoman Praktisi untuk MLOps dengan menyoroti dan menyaring aspek kualitas dalam setiap proses siklus MLOps.

Dokumen ini ditujukan bagi siapa saja yang terlibat dalam pembuatan, deployment, dan pengoperasian solusi ML. Dokumen ini mengasumsikan bahwa Anda sudah memahami MLOps secara umum. Hal ini tidak mengasumsikan bahwa Anda memiliki pengetahuan tentang platform ML tertentu.

Ringkasan kualitas solusi machine learning

Dalam rekayasa software, banyak standar, proses, alat, dan praktik yang telah dikembangkan untuk memastikan kualitas software. Tujuannya adalah untuk memastikan bahwa software berfungsi sebagaimana mestinya sesuai produksi, dan memenuhi persyaratan baik fungsional maupun non-fungsional. Praktik ini mencakup topik-topik seperti pengujian software, verifikasi dan validasi, serta software logging dan monitoring. Di DevOps, praktik ini biasanya terintegrasi dan otomatis dalam proses CI/CD.

MLOps adalah serangkaian proses dan kemampuan standar untuk membangun, men-deploy, dan mengoperasikan sistem ML dengan cepat dan andal. Sebagaimana solusi software lainnya, solusi software ML mengharuskan Anda mengintegrasikan praktik kualitas software ini dan menerapkannya di seluruh siklus proses MLOps. Dengan menerapkan praktik ini, Anda membantu memastikan kredibilitas dan prediktabilitas model Anda, dan supaya model tersebut sesuai dengan persyaratan Anda.

Namun, tugas membangun, men-deploy, dan mengoperasikan sistem ML menghadirkan tantangan tambahan yang memerlukan praktik kualitas tertentu yang mungkin tidak relevan dengan sistem software lain. Sebagai tambahan karakteristik dari sebagian besar sistem software lainnya, sistem ML memiliki karakteristik berikut:

  • Sistem yang bergantung pada data. Kualitas model yang dilatih dan prediksinya bergantung pada validitas data yang digunakan untuk pelatihan dan yang dikirimkan untuk permintaan prediksi. Setiap sistem software bergantung pada data yang valid, tetapi sistem ML menyimpulkan logika untuk pengambilan keputusan dari data secara otomatis, sehingga sangat bergantung pada kualitas data.

  • Sistem penayangan pelatihan ganda. Beban kerja ML biasanya terdiri dari dua sistem produksi yang berbeda tetapi terkait: sistem pelatihan dan sistem penayangan. Pipeline pelatihan berkelanjutan menghasilkan model baru yang telah dilatih yang kemudian di-deploy untuk penyaluran prediksi. Setiap sistem membutuhkan serangkaian praktik kualitas berbeda yang menyeimbangkan efektivitas dan efisiensi untuk menghasilkan dan mempertahankan model berperforma tinggi dalam produksi. Selain itu, ketidakkonsistenan antara kedua sistem ini menyebabkan kesalahan dan performa prediktif yang buruk.

  • Kerentanan terhadap masa berlaku. Model sering kali mengalami penurunan performa setelah di-deploy dalam tahap produksi karena model gagal beradaptasi dengan perubahan lingkungan yang diwakilinya, seperti perubahan musiman dalam perilaku pembelian. Model tersebut juga dapat gagal beradaptasi dengan perubahan data, seperti produk dan lokasi baru. Oleh karena itu, melacak efektivitas model dalam produksi merupakan tantangan tambahan bagi sistem ML.

  • Sistem pengambilan keputusan otomatis. Berbeda dari sistem software lainnya, yang menangani kode dengan hati-hati untuk serangkaian persyaratan dan aturan bisnis, model ML mempelajari aturan dari data untuk membuat keputusan. Bias implisit dalam data dapat menyebabkan model untuk menghasilkan hasil yang curang.

Ketika model ML yang di-deploy menghasilkan prediksi yang buruk kualitas ML yang buruk dapat disebabkan oleh berbagai masalah. Beberapa masalah ini dapat muncul dari bug yang biasa ada dalam program apa pun. Namun, masalah khusus ML juga dapat mencakup kecondongan dan anomali data, serta tidak adanya prosedur evaluasi dan validasi model yang tepat sebagai bagian dari proses pelatihan. Masalah potensial lainnya adalah format data yang tidak konsisten antara antarmuka bawaan model dan API penayangan. Selain itu, performa model akan menurun seiring waktu meskipun tanpa permasalahan ini, dan model dapat gagal secara tidak terduga jika tidak dipantau dengan benar. Oleh karena itu, Anda harus menyertakan berbagai macam pengujian dan pemantauan untuk model dan sistem ML selama pengembangan, selama deployment, dan dalam produksi.

Pedoman kualitas untuk pengembangan model

Saat mengembangkan model ML selama fase eksperimen, Anda memiliki dua kumpulan metrik target berikut yang dapat digunakan untuk menilai performa model:

  • Metrik pengoptimalan model. Metrik ini menggambarkan efektivitas prediktif model. Metrik tersebut mencakup akurasi dan f-measure dalam tugas klasifikasi, artinya kesalahan persentase absolut dalam tugas regresi dan perkiraan, keuntungan kumulatif yang didiskon dalam memberi peringkat tugas, dan perplexitas dan nilai BLEU dalam model bahasa. Semakin baik nilai metrik ini, semakin baik pula modelnya untuk tugas yang diberikan. Dalam beberapa kasus penggunaan, untuk memastikan keadilan, penting untuk mencapai efektivitas prediktif yang serupa pada berbagai bagian data—misalnya, pada demografi pelanggan yang berbeda.
  • Metrik model yang memuaskan. Metrik ini merefleksikan batasan operasional yang harus dipenuhi model, seperti latensi prediksi. Anda menetapkan nilai minimum latensi ke nilai tertentu, seperti 200 milidetik. Model apa pun yang tidak memenuhi nilai minimum tidak akan diterima. Contoh lain dari metrik yang memuaskan adalah ukuran model, di mana ini penting ketika Anda ingin men-deploy model Anda ke hardware berdaya rendah seperti perangkat seluler dan perangkat tersemat.

Dalam masa eksperimen, Anda mengembangkan, melatih, mengevaluasi, dan men-debug model untuk meningkatkan efektivitasnya dalam kaitannya dengan metrik pengoptimalan, tanpa melanggar batas metrik yang memuaskan.

Panduan untuk eksperimen

  • Memiliki nilai minimum yang telah ditentukan dan tetap untuk mengoptimalkan metrik dan untuk mencapai metrik yang memuaskan.
  • Terapkan rutinitas evaluasi yang disederhanakan yang menggunakan model dan data serta menghasilkan kumpulan metrik evaluasi. Implementasikan rutinitas agar dapat berfungsi apa pun jenis modelnya (misalnya, pohon keputusan atau jaringan neural) atau framework model (misalnya, TensorFlow atau Scikit-learn).
  • Pastikan Anda memiliki model pengukuran dasar untuk dibandingkan. Pengukuran dasar ini dapat terdiri dari heuristik hardcode atau dapat berupa model sederhana yang memprediksi nilai rata-rata atau target mode. Gunakan model dasar pengukuran untuk memeriksa performa model ML. Jika model ML tidak lebih baik daripada model dasar, terdapat masalah mendasar dalam model ML.
  • Lacak setiap eksperimen yang telah dilakukan untuk membantu Anda dengan reproduksi dan peningkatan tambahan. Untuk setiap eksperimen, menyimpan nilai hyperparameter, pemilihan fitur, dan bibit acak.

Pedoman untuk kualitas data

  • Atasi class yang tidak seimbang di awal eksperimen Anda dengan memilih metrik evaluasi yang tepat. Selain itu, terapkan teknik seperti menaikkan bobot instance class minoritas atau melakukan pengurangan sampel pada instance class mayoritas.
  • Pastikan Anda memahami sumber data yang digunakan, dan lakukan pemrosesan data dan rekayasa fitur yang relevan untuk menyiapkan set data pelatihan. Proses semacam ini perlu diulang dan diotomatiskan.
  • Pastikan Anda memiliki pemisahan data pengujian terpisah (pisahan) untuk evaluasi akhir model. Pemisahan pengujian tidak boleh dilihat selama pelatihan, dan jangan menggunakannya untuk penyesuaian hyperparameter.
  • Pastikan bahwa pemisahan pelatihan, validasi, dan pengujian sama-sama mewakili data input Anda. Pengambilan sampel pemisahan pengujian semacam itu bergantung pada sifat data dan tugas ML yang ada. Misalnya, pembagian bertingkat relevan untuk tugas klasifikasi, sedangkan pemisahan kronologis relevan untuk tugas deret waktu.
  • Pastikan pemisahan validasi dan pengujian telah diproses sebelumnya secara terpisah dari pemisahan data pelatihan. Jika bagian tersebut telah diproses sebelumnya dalam bentuk campuran, hal ini akan menyebabkan kebocoran data. Misalnya, jika Anda menggunakan statistik guna mengubah data untuk normalisasi atau untuk mengelompokkan fitur numerik, hitung statistik dari data pelatihan dan terapkan untuk menormalisasi pemisahan pengujian dan validasi.
  • Buat skema set data yang menyertakan jenis data dan beberapa properti statistik dari fitur. YAnda dapat menggunakan skema ini untuk menemukan data anomali atau tidak valid selama eksperimen dan pelatihan.
  • Pastikan data pelatihan Anda diacak dengan benar dalam batch tetapi data tersebut juga masih memenuhi persyaratan pelatihan model. Misalnya, tugas berikut ini dapat digunakan untuk distribusi instance positif dan negatif.
  • Memiliki set data validasi terpisah untuk penyesuaian hyperparameter dan pemilihan model. Anda juga dapat menggunakan set data validasi untuk melakukan pemberhentian awal. Jika tidak, Anda dapat membiarkan model berlatih untuk keseluruhan kumpulan iterasi maksimum tertentu. Namun, simpan snapshot baru dari model saja jika performanya pada set data validasi meningkat secara relatif terhadap snapshot sebelumnya.

Pedoman untuk kualitas model

  • Pastikan model Anda tidak memiliki masalah mendasar yang dapat mencegahnya untuk mempelajari hubungan apa pun antara input dan output. Anda dapat mencapai tujuan ini dengan melatih model dengan contoh yang sangat sedikit. ika model tidak mencapai akurasi tinggi untuk contoh ini, mungkin terdapat bug dalam implementasi model atau rutinitas pelatihan Anda.
  • Saat melatih jaringan neural, pantau nilai NaN pada kerugian dan persentase bobot yang memiliki nilai nol selama pelatihan model Anda. Semua NaN atau nilai nol ini dapat menjadi indikasi bahwa perhitungan aritmetika yang salah, atau gradien yang menghilang atau meledak. Memvisualisasikan perubahan distribusi nilai berat dari waktu ke waktu dapat membantu Anda mendeteksi pergeseran kovariat internal yang memperlambat pelatihan. Anda dapat menerapkan normalisasi batch untuk mengurangi pengurangan kecepatan ini.
  • Bandingkan performa model Anda pada data pelatihan dan pada data pengujian untuk memahami apakah model Anda terlalu pas atau kurang pas. Jika Anda melihat salah satu masalah ini, lakukan peningkatan yang sesuai. Misalnya, jika ada ketidakcocokan, Anda dapat meningkatkan kapasitas pembelajaran model. Jika terdapat overfitting, Anda dapat menerapkan regularisasi.
  • Lakukan analisis pada instance yang salah dikelompokkan, terutama instance yang memiliki keyakinan prediksi tinggi dan class yang paling membingungkan dalam matriks konfusi multi-class. Error ini dapat menjadi indikasi dari contoh pelatihan yang salah dalam pemberian label. Error ini juga dapat mengidentifikasi peluang pra-pemrosesan data, seperti menghapus pencilan, atau membuat fitur baru untuk membantu membedakan antar class tersebut.
  • Lakukan analisis skor kepentingan fitur dan hapus fitur yang tidak meningkatkan kualitas model secara signifikan. Model penghematan lebih diminati daripada model yang kompleks.

Pedoman kualitas untuk pelatihan deployment pipeline

Saat Anda mengimplementasikan model dan model pipeline pelatihan, Anda perlu membuat serangkaian pengujian dalam rutinitas CI/CD. Pengujian ini berjalan secara otomatis saat Anda mendorong perubahan kode baru, atau pengujian ini berjalan sebelum Anda men-deploy pipeline pelatihan ke lingkungan target.

Pedoman

  • Lakukan pengujian unit fungsi rekayasa fitur.
  • Lakukan pengujian unit encoding input ke model.
  • Modul model (kustom) yang diimplementasikan pengguna pengujian unit secara independen—misalnya, konvolusi grafik kustom pengujian unit dan lapisan penggabungan, atau lapisan perhatian kustom.
  • Lakukan pengujian unit untuk fungsi evaluasi atau kerugian kustom.
  • Lakukan pengujian unit jenis dan bentuk output model Anda terhadap input yang diharapkan.
  • Lakukan pengujian unit bahwa fungsi fit model dapat bekerja tanpa error apa pun pada beberapa batch kecil data. Pengujian harus dipastikan bahwa erugian akan berkurang dan waktu eksekusi langkah pelatihan sesuai dengan yang diharapkan. Anda melakukan pemeriksaan ini karena perubahan dalam kode model dapat menyebabkan bug yang memperlambat proses pelatihan.
  • Lakukan pengujian unit fungsi simpan dan pemuatan model.
  • Lakukan pengujian unit antarmuka penayangan model yang diekspor terhadap input mentah dan terhadap output yang diharapkan.
  • Uji komponen langkah-langkah pipeline dengan input tiruan dan dengan artefak output.
  • Deploy pipeline ke lingkungan pengujian dan lakukan pengujian integrasi pipeline secara menyeluruh. Untuk proses ini, gunakan beberapa data pengujian untuk memastikan bahwa alur kerja dijalankan dengan benar di sepanjang proses dan menghasilkan artefak yang diharapkan.
  • Gunakan deployment bayangan saat Anda men-deploy versi baru pipeline pelatihan ke lingkungan produksi. Deployment bayangan membantu Anda memastikan bahwa versi pipeline yang baru di-deploy dijalankan pada data live secara paralel dengan versi pipeline sebelumnya.

Pedoman kualitas untuk pelatihan berkelanjutan

Proses pelatihan berkelanjutan bertujuan untuk mengorkestrasi dan mengotomatiskan pengerjaan pipeline pelatihan. Alur kerja pelatihan standar mencakup langkah-langkah seperti penyerapan dan pemisahan data, transformasi data, pelatihan evaluasi, dan pendaftaran model. Beberapa pipeline pelatihan terdiri dari alur kerja yang lebih kompleks. Tugas tambahan dapat mencakup melakukan pelatihan model yang diawasi secara mandiri yang menggunakan data tidak berlabel, atau membuat perkiraan indeks tetangga terdekat untuk penyematan. Input utama setiap pipeline pelatihan adalah data pelatihan baru, dan output utamanya adalah model kandidat baru untuk di-deploy dalam produksi.

Pipeline pelatihan berjalan dalam produksi secara otomatis, berdasarkan jadwal (misalnya, harian atau mingguan) atau berdasarkan pemicu (misalnya, saat data berlabel baru tersedia). Oleh karena itu, Anda perlu menambahkan langkah-langkah kontrol kualitas ke alur kerja pelatihan, khususnya langkah validasi data dan langkah validasi model. Langkah-langkah ini memvalidasi input dan output pipeline.

Anda menambahkan langkah validasi data setelah langkah penyerapan data dalam alur kerja pelatihan. Langkah validasi data membuat profil data pelatihan input baru yang diserap ke dalam pipeline. Selama pembuatan profil, pipeline menggunakan skema data yang telah ditetapkan, yang dibuat selama proses pengembangan ML, untuk mendeteksi anomali. Tergantung pada kasus pemakaian, Anda dapat mengabaikan atau menghapus beberapa data yang tidak valid dari rangkaian data. Namun, masalah lain dalam data yang baru diserap mungkin akan menghentikan eksekusi pipeline pelatihan, sehingga Anda harus mengidentifikasi dan mengatasi masalah tersebut.

Pedoman untuk validasi data

  • Pastikan fitur data pelatihan yang diekstrak sudah lengkap dan cocok dengan skema yang diharapkan. Artinya, tidak ada fitur yang hilang dan tidak ada fitur yang ditambahkan. Pastikan juga bahwa fitur sesuai dengan volume yang diproyeksikan.
  • Validasi tipe data dan bentuk fitur dalam rangkaian data yang diserap ke dalam pipeline pelatihan.
  • Pastikan format fitur tertentu (misalnya, tanggal, waktu, URL, kode pos, dan alamat IP) sesuai dengan ekspresi reguler yang diharapkan. Verifikasi juga bahwa fitur-fitur tersebut berada dalam rentang yang valid.
  • Validasi fraksi maksimum dari nilai yang hilang untuk setiap fitur. Sebagian besar nilai yang hilang dalam fitur tertentu dapat memengaruhi pelatihan model. Nilai yang hilang biasanya menunjukkan sumber fitur yang tidak dapat diandalkan.
  • Validasi domain dari fitur input. Misalnya, periksa apakah ada perubahan dalam kosakata fitur kategoris atau perubahan dalam rentang fitur numerik, dan sesuaikan pra-pemrosesan data dengan semestinya. Sebagai contoh lainnya, rentang untuk fitur numerik dapat berubah jika update di sistem hulu yang mengisi fitur menggunakan unit pengukuran yang berbeda. Misalnya, sistem upstream dapat mengubah mata uang dari dolar ke yen, atau mungkin mengubah jarak dari kilometer ke meter.
  • Pastikan bahwa distribusi setiap fitur sesuai dengan harapan Anda. Misalnya, Anda dapat menguji bahwa nilai fitur yang paling umum untuk jenis pembayaran adalah cash dan jenis pembayaran semacam ini menyumbang 50% dari semua nilai. Namun, pengujian ini bisa gagal jika ada perubahan pada jenis pembayaran yang paling umum pada credit_card. Perubahan eksternal seperti ini mungkin memerlukan perubahan pada model Anda.

Tambahkan langkah validasi model sebelum langkah pendaftaran model untuk memastikan bahwa hanya model yang lulus kriteria validasi yang terdaftar untuk deployment produksi.

Pedoman untuk validasi model

  • Untuk evaluasi model akhir, gunakan pemisahan pengujian terpisah yang belum digunakan untuk pelatihan model atau untuk menyesuaikan hyperparameter.
  • Berikan skor untuk model kandidat terhadap pemisahan data pengujian, hitung metrik evaluasi yang relevan, dan pastikan bahwa model kandidat melampaui batas kualitas yang telah ditetapkan.
  • Pastikan pemisahan data pengujian mewakili data secara keseluruhan untuk memperhitungkan berbagai pola data. Untuk data deret waktu, pastikan pemisahan pengujian berisi data yang lebih baru daripada pemisahan pelatihan.
  • Lakukan uji kualitas model pada bagian data penting seperti pengguna berdasarkan negara atau film berdasarkan genre. Dengan menguji data terpisah, Anda dapat menghindari masalah di mana masalah performa yang mendetail disamarkan oleh metrik ringkasan global.
  • Evaluasi model (juara) saat ini terhadap pembagian data pengujian, lalu bandingkan dengan model kandidat (penantang) yang dihasilkan pipeline pelatihan.
  • Validasi model terhadap indikator keadilan untuk mendeteksi bias implisit —misalnya, bias implisit mungkin disebabkan oleh keberagaman yang tidak memadai dalam data pelatihan. Indikator keadilan dapat mengungkap masalah utama yang harus Anda atasi sebelum men-deploy model ke produksi.

Selama pelatihan berkelanjutan, Anda dapat memvalidasi model berdasarkan pengoptimalan metrik dan metrik yang memuaskan. Atau, Anda dapat memvalidasi model hanya terhadap metrik pengoptimalan dan menunda validasi terhadap metrik yang memuaskan hingga fase deployment model. Jika Anda berencana men-deploy variasi model yang sama ke lingkungan atau beban kerja penayangan yang berbeda, mungkin lebih cocok untuk menunda validasi terhadap metrik yang memuaskan. Lingkungan atau beban kerja layanan yang berbeda (seperti lingkungan cloud versus lingkungan di perangkat atau lingkungan real-time versus lingkungan penayangan batch) mungkin memerlukan batas metrik yang memuaskan. Jika Anda men-deploy ke beberapa lingkungan, pipeline pelatihan berkelanjutan Anda dapat melatih dua model atau lebih, dengan masing-masing model dioptimalkan untuk lingkungan deployment targetnya. Untuk mengetahui informasi selengkapnya dan contoh, lihat Deployment ganda di Vertex AI.

Seiring dengan lebih banyak pipeline pelatihan berkelanjutan dengan alur kerja yang kompleks ke dalam produksi, Anda harus melacak metadata dan artefak yang dihasilkan oleh pipeline tersebut. Dengan melacak informasi ini, Anda dapat melacak dan men-debug masalah apa pun yang mungkin muncul dalam produksi. Melacak informasi ini juga membantu Anda mereproduksi output pipeline, sehingga Anda dapat meningkatkan implementasi mereka dalam iterasi pengembangan ML berikutnya.

Pedoman untuk melacak metadata dan artefak ML

  • Melacak silsilah kode sumber, pipeline yang di-deploy, komponen pipeline, pipeline berjalan, rangkaian data digunakan, dan artefak yang dihasilkan.
  • Lacak hyperparameter dan konfigurasi berjalannya pipeline.
  • Lacak input dan artefak output utama dari langkah-langkah pipeline, seperti statistik set data, anomali rangkaian data (jika ada), data dan skema yang ditransformasi, titik pemeriksaan model, serta hasil evaluasi model.
  • Lacak bahwa langkah-langkah pipeline bersyarat yang dijalankan sebagai respons terhadap kondisi, dan pastikan kemampuan observasi dengan menambahkan mekanisme yang dapat diubah jika langkah-langkah utama tidak berjalan atau jika terdapat kegagalan.

Pedoman kualitas untuk model deployment

Asumsikan bahwa Anda memiliki model terlatih yang telah divalidasi dari perspektif metrik pengoptimalan, dan model tersebut disetujui dari perspektif tata kelola model (seperti yang akan dijelaskan nanti dalam bagian tata kelola model). Model disimpan di registry model dan siap di-deploy ke produksi. Pada tahap ini, Anda perlu mengimplementasikan serangkaian pengujian untuk memverifikasi bahwa model cocok untuk ditayangkan di lingkungan targetnya. Anda juga perlu mengotomatiskan pengujian ini dalam rutinitas CI/CD model.

Pedoman

  • Pastikan artefak model dapat dimuat dan dipanggil dengan sukses bersama dependensi runtime-nya. Anda dapat melakukan verifikasi ini dengan melakukan staging model di lingkungan penayangan dalam sandbox. Verifikasi ni membantu Anda memastikan bahwa operasi dan biner yang digunakan oleh model ada di lingkungan.
  • Validasi metrik model yang memuaskan (jika ada) di lingkungan staging, seperti ukuran model dan latensi.
  • Lakukan pengujian unit antarmuka penayangan artefak model di lingkungan staging terhadap input mentah dan terhadap output yang diharapkan.
  • Lakukan pengujian unit artefak model di lingkungan staging untuk serangkaian kasus standar dan ekstrem dari permintaan prediksi. Misalnya, pengujian unit untuk instance permintaan dengan semua fitur dirangkai pada None.
  • Lakukan pengujian smoke pada API layanan model setelah di-deploy ke lingkungan targetnya. Untuk melakukan pengujian ini, kirim satu instance atau sekumpulan instance ke layanan model dan validasi respons layanan.
  • Melakukan pengujian versi Canary terhadap versi model yang baru di-deploy pada aliran kecil data penayangan langsung. Pengujian ini memastikan bahwa layanan model baru tidak menghasilkan error sebelum model diekspos ke sejumlah besar pengguna.
  • Lakukan pengujian di lingkungan staging yang dapat melakukan roll back ke versi model penayangan sebelumnya dengan cepat dan aman.
  • Melakukan eksperimen online untuk menguji model yang baru dilatih menggunakan sebagian kecil populasi penayangan. Pengujian ini mengukur performa model baru dibandingkan dengan model saat ini. Setelah membandingkan performa model baru dengan performa model saat ini, Anda dapat memutuskan untuk sepenuhnya merilis model baru guna menayangkan semua permintaan prediksi langsung Anda. Teknik eksperimen online mencakup pengujian A/B dan Multi-Armed Bandit (MAB).

Pedoman kualitas untuk penayangan model

Performa prediktif model ML yang di-deploy dan menayangkan dalam produksi biasanya menurun seiring waktu. Penurunan ini dapat disebabkan oleh inkonsistensi yang terjadi antara fitur penayangan dan fitur yang diharapkan oleh model. Inkonsistensi ini disebut kemiringan penayangan pelatihan. Misalnya, model rekomendasi mungkin mengharapkan nilai input alfanumerik untuk fitur seperti kode produk yang baru dilihat. Namun, sebagai gantinya, nama produk, bukan kode produk, diteruskan selama penayangan, karena adanya pembaruan pada aplikasi yang menggunakan layanan model.

Selain itu, model dapat menjadi usang karena properti statistik data penayangan berubah seiring waktu, dan pola yang dipelajari oleh model yang di-deploy tidak lagi akurat pada saat ini. Pada kedua kasus tersebut, model tidak bisa lagi memberikan prediksi yang akurat.

Untuk menghindari penurunan performa prediktif model ini, Anda harus melakukan pemantauan efektivitas model secara berkelanjutan. Dengan pemantauan, Anda dapat memverifikasi secara rutin dan proaktif bahwa performa model tidak menurun.

Pedoman

  • Catat contoh payload respons permintaan penyaluran di penyimpanan data untuk analisis rutin. Permintaan adalah instance input, dan responsnya adalah prediksi yang dihasilkan oleh model untuk instance data tersebut.
  • Terapkan proses otomatis yang membuat profil data respons permintaan yang tersimpan dengan menghitung statistik deskriptif. Hitung dan simpan statistik penyaluran ini secara berkala.
  • Identifikasi kemiringan penayangan pelatihan yang disebabkan oleh pergeseran dan penyimpangan data dengan membandingkan statistik data penayangan dengan statistik dasar pengukuran data pelatihan. Selain itu, analisis bagaimana statistik data penayangan berubah dari waktu ke waktu.
  • Identifikasi penyimpangan konsep dengan menganalisis bagaimana atribusi fitur untuk perubahan prediksi dari waktu ke waktu.
  • Identifikasi instance data penyaluran yang dianggap sebagai pencilan terkait data pelatihan. Untuk menemukan pencilan ini, gunakan teknik deteksi kebaruan dan pantau perubahan persentase pencilan dalam data penayangan dari waktu ke waktu.
  • Terapkan pemberitahuan saat model mencapai nilai minimum skor kemiringan pada fitur prediktif utama dalam set data Anda.
  • Jika label tersedia (yaitu, kebenaran dasar), gabungkan label sebenarnya dengan label yang diprediksi dari instance penayangan untuk melakukan evaluasi berkelanjutan. Pendekatan ini mirip dengan sistem evaluasi yang Anda terapkan sebagai pengujian A/B selama eksperimen online. Evaluasi berkelanjutan tidak hanya dapat mengidentifikasi kemampuan prediktif model Anda dalam produksi, tetapi juga mengidentifikasi jenis permintaan yang memiliki performa baik dan performa buruk.
  • Tetapkan tujuan untuk metrik sistem yang penting bagi Anda, dan ukur performa model sesuai dengan tujuan tersebut.
  • Pantau efisiensi layanan untuk memastikan model Anda dapat berfungsi pada tahap produksi dalam skala besar. Pemantauan ini juga membantu Anda memprediksi dan mengelola kapasitas, dan membantu memperkirakan biaya infrastruktur penyaluran Anda. Pantau metrik efisiensi, termasuk pemakaian CPU, pemakaian GPU, pemakaian memori, latensi layanan, throughput, dan tingkat error.

Tata kelola model

Tata kelola model adalah fungsi inti di perusahaan yang memberikan panduan dan proses untuk membantu karyawan menerapkan prinsip AI perusahaan. Prinsip ini dapat mencakup menghindari model yang menciptakan atau memunculkan bias, dan dapat membenarkan keputusan yang dibuat AI. Fungsi tata kelola model memastikan bahwa ada interaksi manusia secara berkesinambungan. Menerapkan peninjauan manual sangat penting untuk beban kerja yang sensitif dan berdampak tinggi (sering kali yang kerap dihadapi pengguna). Beban kerja seperti ini dapat mencakup skor risiko kredit, pemberian peringkat kandidat karyawan, menyetujui kebijakan asuransi, dan menyebarluaskan informasi di media sosial.

Pedoman

  • Siapkan matriks penugasan tanggung jawab untuk setiap model berdasarkan tugas. Matriks harus mempertimbangkan tim lintas fungsi (jalur bisnis, data engineering, data science, rekayasa ML, risiko dan kepatuhan, dan sebagainya) di sepanjang hierarki organisasi.
  • Pelihara pelaporan dan dokumentasi model di registry model yang tertaut ke versi model—misalnya, dengan menggunakan kartu model. Metadata tersebut mencakup informasi tentang data yang digunakan untuk melatih model, tentang performa model, dan tentang batasan umum.
  • Terapkan proses peninjauan model sebelum Anda menyetujuinya untuk deployment ke tahap produksi. Dalam tipe proses ini, Anda menyimpan versi checklist model, dokumentasi tambahan, dan informasi tambahan apa pun yang mungkin diminta pemangku kepentingan.
  • Evaluasi model pada set data benchmark (juga dikenal sebagai set data golden), yang mencakup kasus standar dan kasus ekstrem. Selain itu, validasikan model terhadap indikator keadilan untuk membantu mendeteksi bias implisit.
  • Menjelaskan kepada pengguna model perilaku prediktif model secara keseluruhan dan pada sampel instance input tertentu. Memberikan informasi ini akan membantu Anda memahami fitur penting dan kemungkinan perilaku yang tidak diinginkan dari model.
  • Lakukan analisis perilaku prediktif model menggunakan alat analisis bagaimana-jika untuk memahami pentingnya berbagai fitur data. Analisis ini juga dapat membantu Anda memvisualisasikan perilaku model di beberapa model dan subkumpulan data input.
  • Lakukan uji model terhadap serangan jahat untuk membantu memastikan bahwa model tersebut andal melawan eksploitasi dalam produksi.
  • Melacak pemberitahuan tentang performa prediktif model yang berada dalam produksi, saat set data berpindah, dan saat menyimpang. Konfigurasi pemberitahuan untuk memberi tahu pemangku kepentingan model.
  • Kelola eksperimen online, peluncuran, dan rollback model.

Langkah selanjutnya