Mendapatkan inferensi batch TabNet

Halaman ini menunjukkan cara membuat permintaan inferensi batch ke model klasifikasi atau regresi terlatih menggunakan Google Cloud konsol atau Vertex AI API.

Permintaan inferensi batch adalah permintaan asinkron (berkebalikan dengan inferensi online, yang merupakan permintaan sinkron). Anda meminta inferensi batch langsung dari resource model tanpa perlu men-deploy model ke endpoint. Untuk data tabular, gunakan inferensi batch jika Anda tidak memerlukan respons langsung dan ingin memproses data yang terakumulasi menggunakan satu permintaan.

Untuk membuat permintaan inferensi batch, tentukan sumber input dan format output tempat Vertex AI menyimpan hasil inferensi.

Sebelum memulai

Agar dapat membuat permintaan inferensi batch, Anda harus melatih model terlebih dahulu.

Data input

Data input untuk permintaan inferensi batch adalah data yang digunakan model Anda untuk membuat inferensi. Untuk model klasifikasi atau regresi, Anda dapat menyediakan data input dalam salah satu format berikut:

  • Tabel BigQuery
  • Objek CSV di Cloud Storage

Sebaiknya gunakan format data input yang sama seperti yang digunakan untuk melatih model. Misalnya, jika Anda melatih model menggunakan data di BigQuery, sebaiknya gunakan tabel BigQuery sebagai input untuk inferensi batch Anda. Karena Vertex AI memperlakukan semua kolom input CSV sebagai string, menggabungkan format data input dan pelatihan dapat menyebabkan error.

Sumber data Anda harus berisi data tabulasi yang menyertakan semua kolom, dalam urutan apa pun, yang digunakan untuk melatih model. Anda dapat menyertakan kolom yang tidak ada dalam data pelatihan, atau yang ada dalam data pelatihan, tetapi tidak digunakan dalam pelatihan. Kolom tambahan ini disertakan dalam output, tetapi tidak memengaruhi hasil inferensi.

Persyaratan data input

Tabel BigQuery

Jika memilih Tabel BigQuery sebagai input, Anda harus memastikan hal-hal berikut:

  • Tabel sumber data BigQuery tidak boleh berukuran lebih dari 100 GB.
  • Jika tabel berada dalam project yang berbeda, Anda harus memberikan peran BigQuery Data Editor ke akun layanan Vertex AI dalam project tersebut.

File CSV

Jika memilih objek CSV di Cloud Storage sebagai input, Anda harus memastikan hal-hal berikut:

  • Sumber data harus dimulai pada baris header dengan nama kolom.
  • Setiap objek sumber data tidak boleh berukuran lebih dari 10 GB. Anda dapat menyertakan beberapa file, dengan total ukuran maksimum 100 GB.
  • Jika bucket Cloud Storage berada dalam project yang berbeda, Anda harus memberikan peran Storage Object Creator ke akun layanan Vertex AI dalam project tersebut.
  • Anda harus menyertakan semua string dalam tanda kutip ganda (").

Format output

Format output permintaan inferensi batch Anda tidak harus sama dengan format input. Misalnya, jika Anda menggunakan tabel BigQuery sebagai input, Anda dapat menampilkan hasilnya dalam bentuk objek CSV di Cloud Storage.

Membuat permintaan inferensi batch ke model Anda

Untuk membuat permintaan inferensi batch, Anda dapat menggunakan konsol Google Cloud atau Vertex AI API. Sumber data input dapat berupa objek CSV yang disimpan di bucket Cloud Storage atau Tabel BigQuery. Bergantung pada jumlah data yang Anda kirimkan sebagai input, tugas inferensi batch dapat memerlukan waktu beberapa saat untuk diselesaikan.

Google Cloud console

Gunakan konsol Google Cloud untuk meminta prediksi batch.

  1. Di konsol Google Cloud , di bagian Vertex AI, buka halaman Inferensi batch.

    Buka halaman Inferensi batch

  2. Klik Buat untuk membuka jendela Inferensi batch baru.
  3. Di bagian Tentukan inferensi batch Anda, selesaikan langkah-langkah berikut:
    1. Masukkan nama untuk inferensi batch.
    2. Untuk Nama model, pilih nama model yang akan digunakan untuk inferensi batch ini.
    3. Untuk Version, pilih versi model yang akan digunakan untuk inferensi batch ini.
    4. Untuk Pilih sumber, pilih apakah data input sumber Anda berupa file CSV di Cloud Storage atau tabel di BigQuery.
      • Untuk file CSV, tentukan lokasi Cloud Storage tempat file input CSV Anda berada.
      • Untuk Tabel BigQuery, tentukan project ID tempat tabel berada, ID set data BigQuery, dan tabel BigQuery atau ID tampilan.
    5. Untuk Output, pilih CSV atau BigQuery.
      • Untuk CSV, tentukan bucket Cloud Storage tempat Vertex AI menyimpan output Anda.
      • Untuk BigQuery, Anda dapat menentukan project ID atau set data yang sudah ada:
        • Untuk menentukan project ID, masukkan project ID di kolom Google Cloud project ID. Vertex AI membuat set data output baru untuk Anda.
        • Untuk menentukan set data yang ada, masukkan jalur BigQuery-nya di kolom project ID Google Cloud, seperti bq://projectid.datasetid.
  4. Opsional: Analisis Pemantauan Model untuk inferensi batch tersedia di Pratinjau. Lihat Prasyarat untuk menambahkan konfigurasi deteksi skew ke tugas inferensi batch Anda.
    1. Klik untuk mengaktifkan Enable model monitoring for this batch inference.
    2. Pilih Sumber data pelatihan. Masukkan jalur data atau lokasi untuk sumber data pelatihan yang Anda pilih.
    3. Opsional: Di bagian Nilai minimum pemberitahuan, tentukan nilai minimum untuk memicu pemberitahuan.
    4. Di bagian Email notifikasi, masukkan satu atau beberapa alamat email, dengan dipisahkan koma, yang akan menerima pemberitahuan saat model melebihi nilai minimum pemberitahuan.
    5. Opsional: Di bagian Saluran notifikasi, tambahkan saluran Cloud Monitoring untuk menerima pemberitahuan saat model melebihi nilai minimum pemberitahuan. Anda dapat memilih saluran Cloud Monitoring yang sudah ada atau membuat yang baru dengan mengklik Kelola saluran notifikasi. Konsol mendukung saluran notifikasi PagerDuty, Slack, dan Pub/Sub.
  5. Klik Create.

API: BigQuery

REST

Anda menggunakan metode batchPredictionJobs.create untuk meminta prediksi batch.

Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

  • LOCATION_ID: Region tempat Model disimpan dan tugas inferensi batch dijalankan. Misalnya, us-central1.
  • PROJECT_ID: Project ID Anda
  • BATCH_JOB_NAME: Nama tampilan untuk tugas batch
  • MODEL_ID: ID yang digunakan oleh model untuk membuat inferensi
  • INPUT_URI: Referensi ke sumber data BigQuery. Di dalam formulir:
    bq://bqprojectId.bqDatasetId.bqTableId
    
  • OUTPUT_URI: Referensi ke tujuan BigQuery (tempat inferensi ditulis). Tentukan project ID dan, secara opsional, ID set data yang ada. Jika Anda hanya menentukan project ID, Vertex AI akan membuat set data output baru untuk Anda. Gunakan formulir berikut:
    bq://bqprojectId.bqDatasetId
    
  • MACHINE_TYPE: Resource mesin yang akan digunakan untuk tugas inferensi batch ini. Pelajari lebih lanjut.
  • STARTING_REPLICA_COUNT: Jumlah awal node untuk tugas inferensi batch ini. Jumlah node dapat ditambah atau dikurangi sesuai kebutuhan beban, hingga jumlah maksimum node, tetapi tidak akan pernah kurang dari jumlah ini.
  • MAX_REPLICA_COUNT: Jumlah maksimum node untuk tugas inferensi batch ini. Jumlah node dapat ditambah atau dikurangi sesuai kebutuhan beban, tetapi tidak akan pernah melebihi jumlah maksimum. Opsional, default ke 10.

Metode HTTP dan URL:

POST https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/batchPredictionJobs

Isi JSON permintaan:

{
  "displayName": "BATCH_JOB_NAME",
  "model": "MODEL_ID",
  "inputConfig": {
    "instancesFormat": "bigquery",
    "bigquerySource": {
      "inputUri": "INPUT_URI"
    }
  },
  "outputConfig": {
    "predictionsFormat": "bigquery",
    "bigqueryDestination": {
      "outputUri": "OUTPUT_URI"
    }
  },
  "dedicatedResources": {
    "machineSpec": {
      "machineType": "MACHINE_TYPE",
      "acceleratorCount": "0"
    },
    "startingReplicaCount": STARTING_REPLICA_COUNT,
    "maxReplicaCount": MAX_REPLICA_COUNT
  },

}

Untuk mengirim permintaan Anda, pilih salah satu opsi berikut:

curl

Simpan isi permintaan dalam file bernama request.json, dan jalankan perintah berikut:

curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/batchPredictionJobs"

PowerShell

Simpan isi permintaan dalam file bernama request.json, dan jalankan perintah berikut:

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/batchPredictionJobs" | Select-Object -Expand Content

Anda akan menerima respons JSON yang mirip dengan yang berikut ini:

{
  "name": "projects/PROJECT_ID/locations/LOCATION_ID/batchPredictionJobs/67890",
  "displayName": "batch_job_1 202005291958",
  "model": "projects/12345/locations/us-central1/models/5678",
  "state": "JOB_STATE_PENDING",
  "inputConfig": {
    "instancesFormat": "bigquery",
    "bigquerySource": {
      "inputUri": "INPUT_URI"
    }
  },
  "outputConfig": {
    "predictionsFormat": "bigquery",
    "bigqueryDestination": {
        "outputUri": bq://12345
    }
  },
  "dedicatedResources": {
    "machineSpec": {
      "machineType": "n1-standard-32",
      "acceleratorCount": "0"
    },
    "startingReplicaCount": 2,
    "maxReplicaCount": 6
  },
  "manualBatchTuningParameters": {
    "batchSize": 4
  },
  "generateExplanation": false,
  "outputInfo": {
    "bigqueryOutputDataset": "bq://12345.reg_model_2020_10_02_06_04
  }
  "state": "JOB_STATE_PENDING",
  "createTime": "2020-09-30T02:58:44.341643Z",
  "updateTime": "2020-09-30T02:58:44.341643Z",
}

Java

Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Java di panduan memulai Vertex AI menggunakan library klien. Untuk mengetahui informasi selengkapnya, lihat Dokumentasi referensi API Java Vertex AI.

Untuk melakukan autentikasi ke Vertex AI, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.

Pada contoh berikut, ganti INSTANCES_FORMAT dan PREDICTIONS_FORMAT dengan `bigquery`. Untuk mempelajari cara mengganti placeholder lain, lihat tab `REST & CMD LINE` di bagian ini.
import com.google.cloud.aiplatform.v1.BatchPredictionJob;
import com.google.cloud.aiplatform.v1.BigQueryDestination;
import com.google.cloud.aiplatform.v1.BigQuerySource;
import com.google.cloud.aiplatform.v1.JobServiceClient;
import com.google.cloud.aiplatform.v1.JobServiceSettings;
import com.google.cloud.aiplatform.v1.LocationName;
import com.google.cloud.aiplatform.v1.ModelName;
import com.google.gson.JsonObject;
import com.google.protobuf.Value;
import com.google.protobuf.util.JsonFormat;
import java.io.IOException;

public class CreateBatchPredictionJobBigquerySample {

  public static void main(String[] args) throws IOException {
    // TODO(developer): Replace these variables before running the sample.
    String project = "PROJECT";
    String displayName = "DISPLAY_NAME";
    String modelName = "MODEL_NAME";
    String instancesFormat = "INSTANCES_FORMAT";
    String bigquerySourceInputUri = "BIGQUERY_SOURCE_INPUT_URI";
    String predictionsFormat = "PREDICTIONS_FORMAT";
    String bigqueryDestinationOutputUri = "BIGQUERY_DESTINATION_OUTPUT_URI";
    createBatchPredictionJobBigquerySample(
        project,
        displayName,
        modelName,
        instancesFormat,
        bigquerySourceInputUri,
        predictionsFormat,
        bigqueryDestinationOutputUri);
  }

  static void createBatchPredictionJobBigquerySample(
      String project,
      String displayName,
      String model,
      String instancesFormat,
      String bigquerySourceInputUri,
      String predictionsFormat,
      String bigqueryDestinationOutputUri)
      throws IOException {
    JobServiceSettings settings =
        JobServiceSettings.newBuilder()
            .setEndpoint("us-central1-aiplatform.googleapis.com:443")
            .build();
    String location = "us-central1";

    // Initialize client that will be used to send requests. This client only needs to be created
    // once, and can be reused for multiple requests. After completing all of your requests, call
    // the "close" method on the client to safely clean up any remaining background resources.
    try (JobServiceClient client = JobServiceClient.create(settings)) {
      JsonObject jsonModelParameters = new JsonObject();
      Value.Builder modelParametersBuilder = Value.newBuilder();
      JsonFormat.parser().merge(jsonModelParameters.toString(), modelParametersBuilder);
      Value modelParameters = modelParametersBuilder.build();
      BigQuerySource bigquerySource =
          BigQuerySource.newBuilder().setInputUri(bigquerySourceInputUri).build();
      BatchPredictionJob.InputConfig inputConfig =
          BatchPredictionJob.InputConfig.newBuilder()
              .setInstancesFormat(instancesFormat)
              .setBigquerySource(bigquerySource)
              .build();
      BigQueryDestination bigqueryDestination =
          BigQueryDestination.newBuilder().setOutputUri(bigqueryDestinationOutputUri).build();
      BatchPredictionJob.OutputConfig outputConfig =
          BatchPredictionJob.OutputConfig.newBuilder()
              .setPredictionsFormat(predictionsFormat)
              .setBigqueryDestination(bigqueryDestination)
              .build();
      String modelName = ModelName.of(project, location, model).toString();
      BatchPredictionJob batchPredictionJob =
          BatchPredictionJob.newBuilder()
              .setDisplayName(displayName)
              .setModel(modelName)
              .setModelParameters(modelParameters)
              .setInputConfig(inputConfig)
              .setOutputConfig(outputConfig)
              .build();
      LocationName parent = LocationName.of(project, location);
      BatchPredictionJob response = client.createBatchPredictionJob(parent, batchPredictionJob);
      System.out.format("response: %s\n", response);
      System.out.format("\tName: %s\n", response.getName());
    }
  }
}

Python

Untuk mempelajari cara menginstal atau mengupdate Vertex AI SDK untuk Python, lihat Menginstal Vertex AI SDK untuk Python. Untuk mengetahui informasi selengkapnya, lihat Dokumentasi referensi API Python.

Pada contoh berikut, tetapkan parameter `instances_format` dan `predictions_format` ke `"bigquery"`. Untuk mempelajari cara menetapkan parameter lainnya, lihat tab `REST & CMD LINE` di bagian ini.
from google.cloud import aiplatform_v1beta1
from google.protobuf import json_format
from google.protobuf.struct_pb2 import Value


def create_batch_prediction_job_bigquery_sample(
    project: str,
    display_name: str,
    model_name: str,
    instances_format: str,
    bigquery_source_input_uri: str,
    predictions_format: str,
    bigquery_destination_output_uri: str,
    location: str = "us-central1",
    api_endpoint: str = "us-central1-aiplatform.googleapis.com",
):
    # The AI Platform services require regional API endpoints.
    client_options = {"api_endpoint": api_endpoint}
    # Initialize client that will be used to create and send requests.
    # This client only needs to be created once, and can be reused for multiple requests.
    client = aiplatform_v1beta1.JobServiceClient(client_options=client_options)
    model_parameters_dict = {}
    model_parameters = json_format.ParseDict(model_parameters_dict, Value())

    batch_prediction_job = {
        "display_name": display_name,
        # Format: 'projects/{project}/locations/{location}/models/{model_id}'
        "model": model_name,
        "model_parameters": model_parameters,
        "input_config": {
            "instances_format": instances_format,
            "bigquery_source": {"input_uri": bigquery_source_input_uri},
        },
        "output_config": {
            "predictions_format": predictions_format,
            "bigquery_destination": {"output_uri": bigquery_destination_output_uri},
        },
        # optional
        "generate_explanation": True,
    }
    parent = f"projects/{project}/locations/{location}"
    response = client.create_batch_prediction_job(
        parent=parent, batch_prediction_job=batch_prediction_job
    )
    print("response:", response)

API: Cloud Storage

REST

Anda menggunakan metode batchPredictionJobs.create untuk meminta inferensi batch.

Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

  • LOCATION_ID: Region tempat Model disimpan dan tugas inferensi batch dijalankan. Misalnya, us-central1.
  • PROJECT_ID: Project ID Anda
  • BATCH_JOB_NAME: Nama tampilan untuk tugas batch
  • MODEL_ID: ID yang digunakan oleh model untuk membuat inferensi
  • URI: Jalur (URI) ke bucket Cloud Storage yang berisi data pelatihan. Bisa lebih dari satu. Setiap URI memiliki format:
    gs://bucketName/pathToFileName
    
  • OUTPUT_URI_PREFIX: Jalur ke tujuan Cloud Storage tempat inferensi ditulis. Vertex AI menulis inferensi batch ke subdirektori dengan stempel waktu dari jalur ini. Tetapkan nilai ini ke string dengan format berikut:
    gs://bucketName/pathToOutputDirectory
    
  • MACHINE_TYPE: Resource mesin yang akan digunakan untuk tugas inferensi batch ini. Pelajari lebih lanjut.
  • STARTING_REPLICA_COUNT: Jumlah awal node untuk tugas inferensi batch ini. Jumlah node dapat ditambah atau dikurangi sesuai kebutuhan beban, hingga jumlah maksimum node, tetapi tidak akan pernah kurang dari jumlah ini.
  • MAX_REPLICA_COUNT: Jumlah maksimum node untuk tugas inferensi batch ini. Jumlah node dapat ditambah atau dikurangi sesuai kebutuhan beban, tetapi tidak akan pernah melebihi jumlah maksimum. Opsional, default ke 10.

Metode HTTP dan URL:

POST https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/batchPredictionJobs

Isi JSON permintaan:

{
  "displayName": "BATCH_JOB_NAME",
  "model": "MODEL_ID",
  "inputConfig": {
    "instancesFormat": "csv",
    "gcsSource": {
      "uris": [
        URI1,...
      ]
    },
  },
  "outputConfig": {
    "predictionsFormat": "csv",
    "gcsDestination": {
      "outputUriPrefix": "OUTPUT_URI_PREFIX"
    }
  },
  "dedicatedResources": {
    "machineSpec": {
      "machineType": "MACHINE_TYPE",
      "acceleratorCount": "0"
    },
    "startingReplicaCount": STARTING_REPLICA_COUNT,
    "maxReplicaCount": MAX_REPLICA_COUNT
  },

}

Untuk mengirim permintaan Anda, pilih salah satu opsi berikut:

curl

Simpan isi permintaan dalam file bernama request.json, dan jalankan perintah berikut:

curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/batchPredictionJobs"

PowerShell

Simpan isi permintaan dalam file bernama request.json, dan jalankan perintah berikut:

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/batchPredictionJobs" | Select-Object -Expand Content

Anda akan melihat respons JSON seperti berikut:

{
  "name": "projects/PROJECT__ID/locations/LOCATION_ID/batchPredictionJobs/67890",
  "displayName": "batch_job_1 202005291958",
  "model": "projects/12345/locations/us-central1/models/5678",
  "state": "JOB_STATE_PENDING",
  "inputConfig": {
    "instancesFormat": "csv",
    "gcsSource": {
      "uris": [
        "gs://bp_bucket/reg_mode_test"
      ]
    }
  },
  "outputConfig": {
    "predictionsFormat": "csv",
    "gcsDestination": {
      "outputUriPrefix": "OUTPUT_URI_PREFIX"
    }
  },
  "dedicatedResources": {
    "machineSpec": {
      "machineType": "n1-standard-32",
      "acceleratorCount": "0"
    },
    "startingReplicaCount": 2,
    "maxReplicaCount": 6
  },
  "manualBatchTuningParameters": {
    "batchSize": 4
  }
  "outputInfo": {
    "gcsOutputDataset": "OUTPUT_URI_PREFIX/prediction-batch_job_1 202005291958-2020-09-30T02:58:44.341643Z"
  }
  "state": "JOB_STATE_PENDING",
  "createTime": "2020-09-30T02:58:44.341643Z",
  "updateTime": "2020-09-30T02:58:44.341643Z",
}

Mengambil hasil inferensi batch

Vertex AI mengirimkan output inferensi batch ke tujuan yang Anda tentukan, yang dapat berupa BigQuery atau Cloud Storage.

BigQuery

Set data output

Jika Anda menggunakan BigQuery, output inferensi batch disimpan dalam set data output. Jika Anda telah menyediakan set data ke Vertex AI, nama set data (BQ_DATASET_NAME) adalah nama yang telah Anda berikan sebelumnya. Jika Anda tidak menyediakan set data output, Vertex AI akan membuatnya untuk Anda. Anda dapat menemukan namanya (BQ_DATASET_NAME) dengan langkah-langkah berikut:

  1. Di konsol Google Cloud , buka halaman Prediksi batch Vertex AI.

    Buka halaman Inferensi batch

  2. Pilih inferensi yang Anda buat.
  3. Set data output diberikan di Lokasi ekspor. Nama set data diformat sebagai berikut: prediction_MODEL_NAME_TIMESTAMP
Tabel output

Set data output berisi satu atau beberapa dari tiga tabel output berikut:

  • Tabel prediksi

    Tabel ini berisi baris untuk setiap baris dalam data input Anda, tempat inferensi diminta (yaitu, dengan TARGET_COLUMN_NAME = null).

  • Tabel error

    Tabel ini berisi baris untuk setiap error non-kritis yang ditemukan selama inferensi batch. Setiap error non-kritis berkaitan dengan baris dalam data input yang perkiraannya tidak dapat ditampilkan oleh Vertex AI.

Tabel prediksi

Nama tabel (BQ_PREDICTIONS_TABLE_NAME) dibuat dengan menambahkan `predictions_` dengan stempel waktu saat tugas inferensi batch dimulai: predictions_TIMESTAMP

Untuk mengambil inferensi, buka halaman BigQuery.

Buka BigQuery

Format kueri bergantung pada jenis model Anda:

Klasifikasi:

SELECT predicted_TARGET_COLUMN_NAME.classes AS classes,
predicted_TARGET_COLUMN_NAME.scores AS scores
FROM BQ_DATASET_NAME.BQ_PREDICTIONS_TABLE_NAME

classes adalah daftar kemungkinan kelas, dan scores adalah skor keyakinan yang sesuai.

Regresi:

SELECT predicted_TARGET_COLUMN_NAME.value
FROM BQ_DATASET_NAME.BQ_PREDICTIONS_TABLE_NAME

Jika model Anda menggunakan inferensi probabilistik, predicted_TARGET_COLUMN_NAME.value berisi minimizer dari tujuan pengoptimalan. Misalnya, jika tujuan pengoptimalan Anda adalah minimize-rmse, predicted_TARGET_COLUMN_NAME.value berisi nilai rata-rata. Jika minimize-mae, predicted_TARGET_COLUMN_NAME.value berisi nilai median.

Jika model Anda menggunakan inferensi probabilistik dengan kuantil, Vertex AI akan memberikan nilai dan inferensi kuantil selain minimizer tujuan pengoptimalan. Nilai kuantil ditetapkan selama pelatihan model. Inferensi kuantil adalah nilai inferensi yang terkait dengan nilai kuantil.

Anda juga dapat menemukan tingkat kepentingan fitur di dalam tabel inferensi. Untuk mengakses tingkat kepentingan fitur BQ_FEATURE_NAME, jalankan kueri berikut:

SELECT predicted_TARGET_COLUMN_NAME.feature_importance.BQ_FEATURE_NAME FROM BQ_DATASET_NAME.BQ_PREDICTIONS_TABLE_NAME
  

Tabel error

Nama tabel (BQ_ERRORS_TABLE_NAME) dibuat dengan menambahkan errors_ dengan stempel waktu saat tugas inferensi batch dimulai: errors_TIMESTAMP Untuk mengambil tabel validasi error:
  1. Di konsol, buka halaman BigQuery.

    Buka BigQuery

  2. Jalankan kueri berikut:
    SELECT * FROM BQ_DATASET_NAME.BQ_ERRORS_TABLE_NAME
          
Error akan disimpan di kolom berikut:
  • errors_TARGET_COLUMN_NAME.code
  • errors_TARGET_COLUMN_NAME.message

Cloud Storage

Jika Anda menentukan Cloud Storage sebagai tujuan output, hasil permintaan inferensi batch akan ditampilkan sebagai objek CSV di folder baru dalam bucket yang Anda tentukan. Nama folder adalah nama model Anda, yang diawali dengan "prediction-" dan ditambah dengan stempel waktu saat tugas inferensi batch dimulai. Anda dapat menemukan nama folder Cloud Storage di tab Batch predictions untuk model Anda.

Folder Cloud Storage berisi dua jenis objek:
  • Objek prediksi

    Objek inferensi diberi nama `predictions_1.csv`, `predictions_2.csv`, dan seterusnya. Objek tersebut berisi baris header dengan nama kolom, dan baris untuk setiap inferensi yang ditampilkan. Dalam objek inferensi, Vertex AI menampilkan data inferensi Anda dan membuat satu atau beberapa kolom baru untuk hasil inferensi berdasarkan jenis model Anda:

    • Klasifikasi: Untuk setiap nilai potensial dari kolom target, kolom bernama TARGET_COLUMN_NAME_VALUE_score akan ditambahkan ke hasil. Kolom ini berisi skor, atau estimasi keyakinan, untuk nilai tersebut.
    • Regresi: Prediksi nilai untuk baris tersebut ditampilkan dalam kolom bernama predicted_TARGET_COLUMN_NAME. Interval prediksi tidak ditampilkan untuk output CSV.
  • Objek error

    Objek yang berisi error tersebut diberi nama `errors_1.csv`, `errors_2.csv`, dan seterusnya. Objek ini berisi baris header, dan satu baris untuk setiap baris dalam data input Anda yang inferensinya tidak dapat ditampilkan oleh Vertex AI (misalnya, jika fitur non-nullable bernilai null).

Catatan: Jika hasilnya besar, hasil akan dibagi menjadi beberapa objek.

Tingkat kepentingan fitur tidak tersedia untuk hasil inferensi batch yang ditampilkan di Cloud Storage.

Menafsirkan hasil prediksi

Klasifikasi

Model klasifikasi menampilkan skor keyakinan.

Skor keyakinan mencerminkan seberapa kuat model Anda mengaitkan setiap kelas atau label dengan item pengujian. Makin tinggi angkanya, makin tinggi keyakinan model bahwa label harus diterapkan ke item tersebut. Anda yang menentukan seberapa tinggi skor keyakinan agar dapat menerima hasil model.

Regresi

Model regresi menampilkan nilai inferensi.

Jika model Anda menggunakan inferensi probabilistik, kolom value berisi minimizer tujuan pengoptimalan. Misalnya, jika tujuan pengoptimalan Anda adalah minimize-rmse, kolom value berisi nilai rata-rata. Jika minimize-mae, kolom value berisi nilai median.

Jika model Anda menggunakan inferensi probabilistik dengan kuantil, Vertex AI akan memberikan nilai dan inferensi kuantil selain minimizer tujuan pengoptimalan. Nilai kuantil ditetapkan selama pelatihan model. Inferensi kuantil adalah nilai inferensi yang terkait dengan nilai kuantil.

Untuk hasil inferensi batch yang disimpan di BigQuery, TabNet memberikan penafsiran model yang melekat dengan memberi pengguna insight tentang fitur yang digunakannya untuk membantu membuat keputusannya. Algoritma ini menggunakan attention, yang mempelajari cara meningkatkan pengaruh beberapa fitur secara selektif sekaligus mengurangi pengaruh fitur lain melalui rata-rata tertimbang. Untuk keputusan tertentu, TabNet memutuskan secara bertahap berapa tingkat kepentingan yang perlu ditetapkan ke masing-masing fitur. Kemudian, alat ini menggabungkan setiap langkah untuk membuat prediksi akhir. Attention bersifat multiplikatif, dengan nilai yang lebih besar menunjukkan bahwa fitur tersebut memiliki peran yang lebih besar dalam prediksi, dan nilai nol berarti bahwa fitur tersebut tidak memiliki peran dalam pembuatan keputusan tersebut. Karena TabNet menggunakan beberapa langkah keputusan, attention yang ditetapkan pada fitur di semua langkah tersebut digabungkan secara linear setelah penskalaan yang sesuai. Kombinasi linear ini, yang diperoleh dari semua langkah keputusan TabNet, adalah total tingkat kepentingan fitur yang disediakan TabNet untuk Anda.

Langkah selanjutnya