Menggunakan logging prediksi online

Untuk model tabular AutoML, model gambar AutoML, dan model yang dilatih khusus, Anda dapat mengaktifkan atau menonaktifkan log prediksi selama deployment model atau pembuatan endpoint. Halaman ini menjelaskan berbagai jenis log prediksi yang tersedia, dan cara mengaktifkan atau menonaktifkan log ini.

Jenis log prediksi

Ada beberapa jenis log prediksi yang dapat Anda gunakan untuk mendapatkan informasi dari node prediksi:

  • Logging container, yang mencatat aliran data stdout dan stderr dari node prediksi Anda ke Cloud Logging. Log ini diperlukan untuk proses debug.

    • Di endpoint layanan v1, logging container diaktifkan secara default. Anda dapat menonaktifkannya saat men-deploy model. Anda juga dapat menonaktifkan atau mengaktifkan logging saat mengubah model yang di-deploy.

    • Di endpoint layanan v1beta1, logging container dinonaktifkan secara default. Anda dapat mengaktifkannya saat men-deploy model. Anda juga dapat menonaktifkan atau mengaktifkan logging saat mengubah model yang di-deploy.

  • Logging akses, yang mencatat informasi seperti stempel waktu dan latensi untuk setiap permintaan ke Cloud Logging.

    Pada endpoint layanan v1 dan v1beta1, logging akses dinonaktifkan secara default. Anda dapat mengaktifkan logging akses saat men-deploy model ke endpoint.

  • Logging permintaan-respons, yang mencatat contoh permintaan dan respons prediksi online ke tabel BigQuery.

    Anda dapat mengaktifkan logging permintaan-respons dengan membuat atau menerapkan patch pada endpoint prediksi.

Anda dapat mengaktifkan atau menonaktifkan setiap jenis log secara terpisah.

Setelan log prediksi

Anda dapat mengaktifkan atau menonaktifkan log prediksi online saat membuat endpoint, men-deploy model ke endpoint, atau mengubah model yang di-deploy.

Untuk memperbarui setelan log akses, Anda harus membatalkan deployment model, lalu men-deploy ulang model dengan setelan baru. Anda dapat memperbarui setelan untuk log container tanpa men-deploy ulang model.

Prediksi online dengan tingkat kueri per detik (QPS) yang tinggi dapat menghasilkan banyak log, sesuai dengan harga Cloud Logging. Untuk memperkirakan harga log prediksi online, lihat Memperkirakan tagihan Anda untuk logging. Untuk mengurangi biaya ini, Anda dapat menonaktifkan logging prediksi.

Mengaktifkan dan menonaktifkan log prediksi

Contoh berikut menyoroti tempat untuk mengubah setelan log default:

Konsol

Saat Anda men-deploy model ke endpoint atau membuat endpoint baru di Konsol Google Cloud, Anda dapat menentukan jenis log prediksi yang akan diaktifkan pada langkah Logging. Centang kotak untuk mengaktifkan Logging akses atau Logging container, atau hapus centang pada kotak untuk menonaktifkan log ini.

Gunakan REST API untuk memperbarui setelan log container.

Gunakan REST API untuk mengaktifkan logging permintaan-respons. Konsol Google Cloud dan gcloud CLI tidak mendukung konfigurasi logging permintaan-respons.

Untuk melihat konteks selengkapnya tentang cara men-deploy model, baca Men-deploy model menggunakan Konsol Google Cloud.

gcloud

Untuk mengubah perilaku default untuk log yang diaktifkan dalam model yang di-deploy, tambahkan flag ke perintah gcloud:

Endpoint layanan v1

Jalankan gcloud ai endpoints deploy-model:

gcloud ai endpoints deploy-model ENDPOINT_ID\
  --region=LOCATION \
  --model=MODEL_ID \
  --display-name=DEPLOYED_MODEL_NAME \
  --machine-type=MACHINE_TYPE \
  --accelerator=count=2,type=nvidia-tesla-t4 \
  --disable-container-logging \
  --enable-access-logging

Endpoint layanan v1beta1

Jalankan gcloud beta ai endpoints deploy-model:

gcloud beta ai endpoints deploy-model ENDPOINT_ID\
  --region=LOCATION \
  --model=MODEL_ID \
  --display-name=DEPLOYED_MODEL_NAME \
  --machine-type=MACHINE_TYPE \
  --accelerator=count=2,type=nvidia-tesla-t4 \
  --enable-access-logging \
  --enable-container-logging

Gunakan REST API untuk memperbarui setelan log container.

Gunakan REST API untuk mengaktifkan logging permintaan-respons. Konsol Google Cloud dan gcloud CLI tidak mendukung konfigurasi logging permintaan-respons.

Untuk melihat konteks selengkapnya tentang cara men-deploy model, baca Men-deploy model menggunakan Vertex AI API.

REST

Untuk mengubah perilaku default untuk log yang diaktifkan dalam model yang di-deploy, tetapkan kolom yang relevan ke True:

Endpoint layanan v1

Untuk menonaktifkan logging container, tetapkan kolom disableContainerLogging ke True saat Anda memanggil projects.locations.endpoints.deployModel atau projects.locations.endpoints.mutateDeployedModel.

Untuk mengaktifkan logging akses, tetapkan enableAccessLogging ke True saat men-deploy model Anda dengan projects.locations.endpoints.deployModel.

Endpoint layanan v1beta1

Untuk mengaktifkan logging container, tetapkan kolom enableContainerLogging ke True saat Anda memanggil projects.locations.endpoints.deployModel atau projects.locations.endpoints.mutateDeployedModel.

Untuk mengaktifkan logging akses, tetapkan enableAccessLogging ke True saat men-deploy model Anda dengan projects.locations.endpoints.deployModel.

Untuk melihat konteks selengkapnya tentang cara men-deploy model, baca Men-deploy model menggunakan Vertex AI API.

Logging permintaan-respons

Anda hanya dapat mengaktifkan logging permintaan-respons saat mengirim buat endpoint menggunakan projects.locations.endpoints.create atau menerapkan patch endpoint yang ada menggunakan projects.locations.endpoints.patch.

Logging permintaan-respons dilakukan di tingkat endpoint, sehingga permintaan yang dikirim ke model yang di-deploy pada endpoint yang sama akan dicatat ke dalam log.

Saat Anda membuat atau menerapkan patch endpoint, isi kolom predictRequestResponseLoggingConfig dari Resource endpoint dengan entri berikut:

  • enabled: tetapkan sebagai True untuk mengaktifkan logging permintaan-respons.

  • samplingPercentage: angka antara 0 atau 1 yang menentukan fraksi permintaan yang akan dicatat ke dalam log. Misalnya, tetapkan nilai ini ke 1 untuk mencatat semua permintaan ke dalam log atau ke 0.1 untuk mencatat 10% permintaan ke dalam log.

  • BigQueryDestination: tabel BigQuery yang akan digunakan untuk logging. Jika Anda hanya menentukan nama project, set data baru akan dibuat dengan nama logging_ENDPOINT_DISPLAY_NAME_ENDPOINT_ID, di mana ENDPOINT_DISPLAY_NAME mengikuti aturan penamaan BigQuery. Jika Anda tidak menentukan nama tabel, tabel baru akan dibuat dengan nama request_response_logging.

    Skema untuk tabel BigQuery akan terlihat seperti berikut:

    Nama kolomJenisMode
    endpointSTRINGNULLABLE
    deployed_model_idSTRINGNULLABLE
    logging_timeTIMESTAMPNULLABLE
    request_idNUMERICNULLABLE
    request_payloadSTRINGREPEATED
    response_payloadSTRINGREPEATED

Berikut adalah contoh konfigurasi:

{
   "predict_request_response_logging_config": {
     "enabled": true,
     "sampling_rate": 0.5,
     "bigquery_destination": {
       "output_uri": "bq://PROJECT_ID.DATASET_NAME.TABLE_NAME"
     }
   }
}

Logging permintaan-respons dan Pemantauan Model v1

Logging permintaan-respons dan Pemantauan Model v1 menggunakan tabel BigQuery yang sama di backend untuk mencatat permintaan masuk ke dalam log. Untuk mencegah perubahan tidak terduga pada tabel BigQuery ini, batasan berikut diterapkan saat menggunakan kedua fitur secara bersamaan:

  • Jika endpoint mengaktifkan Pemantauan Model, Anda tidak dapat mengaktifkan logging permintaan-respons untuk endpoint yang sama.

  • Jika Anda mengaktifkan logging permintaan-respons dan Pemantauan Model di endpoint yang sama, Anda tidak akan dapat mengubah konfigurasi logging permintaan-respons.

Langkah berikutnya