Ringkasan pemantauan model

Dokumen ini menjelaskan cara BigQuery ML mendukung pemantauan model machine learning (ML) melalui evaluasi dan perbandingan data yang digunakan model. Hal ini mencakup membandingkan data inferensi model dengan data pelatihannya,dan membandingkan data inferensi baru dengan data inferensi yang digunakan sebelumnya.

Memahami data yang digunakan oleh model Anda adalah aspek penting dalam ML, karena data ini memengaruhi performa model. Memahami variasi antara data pelatihan dan inferensi sangat penting untuk memastikan akurasi model Anda dari waktu ke waktu. Model memiliki performa terbaik pada data penayangan yang mirip dengan data pelatihan. Jika data penayangan menyimpang dari data yang digunakan untuk melatih model, performa model dapat menurun, meskipun model itu sendiri tidak berubah.

BigQuery ML menyediakan fungsi untuk membantu Anda menganalisis data pelatihan dan penayangan untuk kemiringan data dan perubahan data:

  • Diferensiasi data terjadi saat distribusi nilai fitur untuk data pelatihan berbeda secara signifikan dengan data penayangan dalam produksi. Statistik pelatihan untuk model disimpan selama pelatihan model, sehingga data pelatihan asli tidak diperlukan agar Anda dapat menggunakan deteksi kecondongan.
  • Penyimpangan data terjadi ketika distribusi data fitur dalam produksi berubah secara signifikan dari waktu ke waktu. Deteksi penyimpangan didukung untuk rentang data berurutan, misalnya, antara hari yang berbeda dalam menyajikan data. Hal ini memungkinkan Anda mendapatkan notifikasi jika data penayangan berubah seiring waktu, sebelum set data terlalu berbeda untuk melatih ulang model.

Gunakan fungsi berikut untuk memantau model di BigQuery ML:

  • ML.DESCRIBE_DATA: menghitung statistik deskriptif untuk sekumpulan data pelatihan atau penayangan.
  • ML.VALIDATE_DATA_SKEW: menghitung statistik untuk sekumpulan data penayangan, lalu membandingkannya dengan statistik data pelatihan yang dihitung saat model BigQuery ML dilatih, untuk mengidentifikasi perbedaan anomali antara kedua set data. Statistik hanya dihitung untuk kolom fitur dalam data penyaluran yang cocok dengan kolom fitur dalam data pelatihan, untuk mencapai performa yang lebih baik dan biaya yang lebih rendah.
  • ML.VALIDATE_DATA_DRIFT: menghitung dan membandingkan statistik untuk dua set data penayangan guna mengidentifikasi perbedaan anomali antara kedua set data tersebut.
  • ML.TFDV_DESCRIBE: menghitung statistik deskriptif terperinci untuk sekumpulan data pelatihan atau penayangan. Fungsi ini memberikan perilaku yang sama dengan TensorFlow tfdv.generate_statistics_from_csv API.
  • ML.TFDV_VALIDATE: bandingkan statistik data pelatihan dan penayangan, atau dua set statistik data penayangan, untuk mengidentifikasi perbedaan anomali antara kedua set data. Fungsi ini memberikan perilaku yang sama dengan TensorFlow validate_statistics API.

Kasus penggunaan pemantauan

Bagian ini menjelaskan cara menggunakan fungsi pemantauan model BigQuery ML dalam kasus penggunaan pemantauan umum.

Pemantauan diferensiasi data dasar

Kasus penggunaan ini cocok jika Anda ingin mengembangkan dan memantau model dengan cepat untuk mengetahui kemiringan data dan tidak memerlukan statistik kemiringan yang terperinci untuk diintegrasikan dengan solusi pemantauan yang ada.

Langkah-langkah umum untuk kasus penggunaan ini adalah sebagai berikut:

  1. Jalankan fungsi ML.DESCRIBE_DATA pada data pelatihan dan penayangan Anda, untuk memastikan kedua set data tersebut dibandingkan dengan tepat satu sama lain dan berada dalam parameter yang diharapkan.
  2. Buat model BigQuery ML dan latih model tersebut pada data pelatihan.
  3. Jalankan fungsi ML.VALIDATE_DATA_SKEW untuk membandingkan statistik data penayangan dengan statistik data pelatihan yang dihitung selama pembuatan model untuk melihat apakah ada kemiringan data.
  4. Jika ada kecondongan data, selidiki penyebab utamanya, sesuaikan data pelatihan dengan tepat, lalu latih ulang model.

Pemantauan penyimpangan data dasar

Kasus penggunaan ini cocok jika Anda ingin mengembangkan dan memantau model dengan cepat untuk mengetahui penyimpangan data dan tidak memerlukan statistik penyimpangan yang terperinci untuk diintegrasikan dengan solusi pemantauan yang ada.

Langkah-langkah umum untuk kasus penggunaan ini adalah sebagai berikut:

  1. Jalankan fungsi ML.DESCRIBE_DATA pada data pelatihan dan penayangan Anda untuk memastikan kedua set data tersebut dibandingkan dengan tepat satu sama lain dan berada dalam parameter yang diharapkan.
  2. Buat model BigQuery ML dan latih model tersebut pada data pelatihan.
  3. Jalankan fungsi ML.VALIDATE_DATA_DRIFT untuk membandingkan statistik untuk dua set data penayangan yang berbeda guna melihat apakah ada pergeseran data. Misalnya, Anda mungkin ingin membandingkan data penayangan saat ini dengan data penayangan historis dari snapshot tabel, atau dengan fitur yang ditayangkan pada waktu tertentu, yang bisa Anda dapatkan dengan menggunakan fungsi ML.FEATURES_AT_TIME.
  4. Jika terjadi penyimpangan data, selidiki penyebab utamanya, sesuaikan data pelatihan dengan tepat, lalu latih ulang model.

Pemantauan penyimpangan atau diferensiasi performa data tingkat lanjut

Kasus penggunaan ini sesuai jika Anda menginginkan statistik kemiringan atau penyimpangan terperinci untuk diintegrasikan dengan solusi pemantauan yang ada atau untuk tujuan lain.

Langkah-langkah umum untuk kasus penggunaan ini adalah sebagai berikut:

  1. Jalankan fungsi ML.TFDV_DESCRIBE pada data pelatihan dan penayangan Anda secara berkala yang sesuai dengan solusi pemantauan Anda, dan simpan hasil kueri. Langkah ini memungkinkan Anda membandingkan data penayangan mendatang dengan data pelatihan dan penayangan dari titik waktu sebelumnya.
  2. Jalankan fungsi ML.TFDV_VALIDATE pada statistik data pelatihan dan penayangan, atau pada dua set statistik data penayangan, untuk mengevaluasi kemiringan data atau penyimpangan fitur. Data pelatihan dan penayangan harus disediakan sebagai buffer protokol DatasetFeatureStatisticsList TensorFlow dalam format JSON. Anda dapat membuat buffer protokol dalam format yang benar dengan menjalankan fungsi ML.TFDV_DESCRIBE, atau Anda dapat memuatnya dari luar BigQuery. Contoh berikut menunjukkan cara mengevaluasi kemiringan fitur:

    DECLARE stats1 JSON;
    DECLARE stats2 JSON;
    
    SET stats1 = (
      SELECT * FROM ML.TFDV_DESCRIBE(TABLE `myproject.mydataset.training`)
    );
    SET stats2 = (
      SELECT * FROM ML.TFDV_DESCRIBE(TABLE `myproject.mydataset.serving`)
    );
    
    SELECT ML.TFDV_VALIDATE(stats1, stats2, 'SKEW');
    
    INSERT `myproject.mydataset.serve_stats`
      (t, dataset_feature_statistics_list)
    SELECT CURRENT_TIMESTAMP() AS t, stats1;
  3. Jika ada kemiringan data atau pergeseran data, selidiki penyebab utamanya, sesuaikan data pelatihan dengan tepat, lalu latih ulang model.

Visualisasi pemantauan

Beberapa fungsi pemantauan menawarkan integrasi dengan Vertex AI Model Monitoring, sehingga Anda dapat menggunakan diagram dan grafik untuk menganalisis output fungsi pemantauan model.

Penggunaan visualisasi Vertex AI memberikan manfaat berikut:

  • Visualisasi interaktif: pelajari distribusi data, metrik kecondongan, dan metrik penyimpangan menggunakan diagram dan grafik di konsol Vertex AI.
  • Analisis historis: melacak hasil pemantauan model dari waktu ke waktu menggunakan visualisasi Vertex AI. Dengan begitu, Anda dapat mengidentifikasi tren dan pola perubahan data sehingga Anda dapat memperbarui dan memelihara model secara proaktif.
  • Pengelolaan terpusat: kelola pemantauan untuk semua model BigQuery ML dan Vertex AI di dasbor Vertex AI terpadu.

Anda dapat mengaktifkan visualisasi output fungsi ML.VALIDATE_DATA_DRIFT dengan menggunakan argumen MODEL fungsi tersebut. Anda dapat mengaktifkan visualisasi output fungsi ML.VALIDATE_DATA_SKEW menggunakan argumen enable_visualization_link fungsi tersebut.

Anda hanya dapat menggunakan visualisasi pemantauan dengan model yang terdaftar di Vertex AI. Anda dapat mendaftarkan model yang ada menggunakan pernyataan ALTER MODEL.

Otomatisasi pemantauan

Anda dapat mengotomatiskan pemantauan dengan menggunakan kueri terjadwal untuk menjalankan fungsi pemantauan, mengevaluasi output, dan melatih ulang model jika anomali terdeteksi. Anda harus mengaktifkan notifikasi email sebagai bagian dari penyiapan kueri terjadwal.

Untuk contoh yang menunjukkan cara mengotomatiskan fungsi ML.VALIDATE_DATA_SKEW, lihat Mengotomatiskan deteksi kemiringan.