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 termasuk membandingkan data penyaluran model dengan data pelatihannya,dan membandingkan data penayangan baru dengan data penayangan yang digunakan sebelumnya.

Memahami data yang digunakan oleh model Anda merupakan aspek penting dari ML, karena data ini memengaruhi performa model. Memahami setiap variasi antara data pelatihan dan penayangan sangat penting untuk memastikan bahwa model Anda tetap akurat dari waktu ke waktu. Model memiliki performa terbaik dalam menyalurkan data yang mirip dengan data pelatihan. Saat data penyaluran menyimpang dari data yang digunakan untuk melatih model, performa model dapat menurun, meskipun model itu sendiri tidak berubah.

BigQuery ML menyediakan beberapa fungsi untuk membantu Anda menganalisis pelatihan dan penyajian data untuk distorsi data dan penyimpangan data:

  • Kemiringan data terjadi ketika distribusi nilai fitur untuk data pelatihan berbeda secara signifikan dengan data penayangan dalam produksi. Statistik pelatihan untuk model disimpan selama pelatihan model, sehingga Anda tidak memerlukan data pelatihan asli untuk menggunakan deteksi kemiringan.
  • Penyimpangan data terjadi ketika distribusi data fitur dalam produksi berubah secara signifikan dari waktu ke waktu. Deteksi penyimpangan didukung untuk rentang data yang berurutan, misalnya, antara hari penayangan data yang berbeda. Ini memungkinkan Anda mendapatkan notifikasi jika data penayangan berubah dari waktu ke waktu, sebelum set data membagi terlalu banyak untuk melatih ulang model.

Gunakan fungsi berikut untuk memantau model di BigQuery ML:

  • ML.DESCRIBE_DATA: menghitung statistik deskriptif untuk serangkaian data pelatihan atau inferensi.
  • ML.VALIDATE_DATA_SKEW: menghitung statistik untuk sekumpulan data penyaluran, lalu membandingkannya dengan statistik data pelatihan yang dikomputasi saat model BigQuery ML dilatih untuk mengidentifikasi perbedaan anomali di antara kedua set data tersebut. Statistik hanya dihitung untuk kolom fitur dalam data penayangan 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 bagi dua set data penayangan untuk mengidentifikasi perbedaan anomali antara kedua set data.
  • ML.TFDV_DESCRIBE: menghitung statistik deskriptif yang mendetail untuk sekumpulan data pelatihan atau inferensi. Fungsi ini memberikan perilaku yang sama dengan TensorFlow tfdv.generate_statistics_from_csv API.
  • ML.TFDV_VALIDATE: membandingkan statistik untuk melatih dan menyajikan statistik data, atau dua kumpulan statistik data penyaluran untuk mengidentifikasi perbedaan yang tidak wajar di antara kedua set data tersebut. Fungsi ini memberikan perilaku yang sama dengan TensorFlow validate_statistics API.

Memantau kasus penggunaan

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

Pemantauan distorsi data dasar

Kasus penggunaan ini cocok jika Anda ingin mengembangkan dan memantau model dengan cepat untuk data yang condong ke arah tertentu dan tidak memerlukan statistik kemiringan yang terperinci untuk berintegrasi 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 inferensi Anda, untuk memastikan kedua set data dibandingkan satu sama lain dengan tepat dan dalam parameter yang diharapkan.
  2. Buat model ML BigQuery 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 ketidaksesuaian data.
  4. Jika ada data yang tidak akurat, selidiki akar masalahnya, sesuaikan data pelatihan dengan tepat, lalu latih ulang modelnya.

Pemantauan penyimpangan data dasar

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

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

  1. Jalankan fungsi ML.DESCRIBE_DATA pada data pelatihan dan inferensi Anda untuk memastikan kedua set data dibandingkan satu sama lain dengan tepat dan dalam parameter yang diharapkan.
  2. Buat model ML BigQuery dan latih model tersebut pada data pelatihan.
  3. Jalankan fungsi ML.VALIDATE_DATA_DRIFT untuk membandingkan statistik dari dua set data penayangan yang berbeda untuk melihat apakah terdapat penyimpangan data. Misalnya, Anda mungkin ingin membandingkan data penayangan saat ini dengan data penayangan historis dari snapshot tabel, atau dengan fitur yang disalurkan pada titik waktu tertentu, yang dapat diperoleh dengan menggunakan fungsi ML.FEATURES_AT_TIME.
  4. Jika terjadi penyimpangan data, selidiki akar masalahnya, sesuaikan data pelatihan dengan tepat, lalu latih ulang model.

Pemantauan penyimpangan atau penyimpangan data lanjutan

Kasus penggunaan ini tepat jika Anda menginginkan statistik kemiringan atau penyimpangan yang mendetail 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 penyaluran pada interval yang sesuai dengan solusi pemantauan Anda, dan simpan hasil kueri. Langkah ini memungkinkan Anda membandingkan data penayangan di masa 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 masing-masing kecondongan data atau penyimpangan fitur. Data pelatihan dan inferensi harus disediakan sebagai buffering protokol DatasetFeatureStatisticsList TensorFlow dalam format JSON. Anda dapat membuat buffering protokol dalam format yang benar dengan menjalankan fungsi ML.TFDV_DESCRIBE, atau Anda dapat memuatnya dari luar BigQuery. Contoh berikut menunjukkan cara mengevaluasi kecenderungan fitur:

    DECLARE stats1 JSON;
    DECLARE stats2 JSON;
    
    SET stats1 = (
      SELECT * FROM ML.TFDV_DESCRIBE(TABLE `myproject.mydataset.training`)
    );
    SET stats2 = (
      SELECT * 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 kecondongan data atau penyimpangan data, selidiki akar masalahnya, sesuaikan data pelatihan dengan tepat, lalu latih ulang model tersebut.

Otomatisasi pemantauan

Anda dapat mengotomatiskan pemantauan 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.