Vertex AI SDK menyertakan class prediksi berikut. Satu class adalah untuk prediksi batch. Class lainnya terkait dengan prediksi online atau prediksi Vektor Search. Untuk mengetahui informasi selengkapnya, lihat Ringkasan mendapatkan prediksi di Vertex AI.
Class prediksi batch
Prediksi batch adalah grup permintaan prediksi asinkron. Anda meminta prediksi batch dari resource model tanpa harus men-deploy model ke endpoint. Prediksi batch cocok digunakan saat Anda tidak memerlukan respons langsung dan ingin memproses data dengan satu permintaan.
BatchPredictionJob
adalah satu class di
Vertex AI SDK yang khusus untuk prediksi batch.
BatchPredictionJob
Class BatchPredictionJob
mewakili
grup permintaan prediksi asinkron. Ada dua cara untuk membuat tugas prediksi batch:
Cara yang direkomendasikan untuk membuat tugas prediksi batch adalah dengan menggunakan metode
batch_predict
padaModel
terlatih Anda. Metode ini memerlukan parameter berikut:instances_format
: Format file permintaan prediksi batch:jsonl
,csv
,bigquery
,tf-record
,tf-record-gzip
, ataufile-list
.prediction_format
: Format file respons prediksi batch:jsonl
,csv
,bigquery
,tf-record
,tf-record-gzip
, ataufile-list
.gcs_source:
Daftar satu atau beberapa jalur Cloud Storage ke permintaan prediksi batch Anda.gcs_destination_prefix
: Jalur Cloud Storage tempat Vertex AI menulis prediksi.
Kode berikut adalah contoh cara Anda memanggil
Model.batch_predict
:batch_prediction_job = model.batch_predict( instances_format="jsonl", predictions_format="jsonl", job_display_name="your_job_display_name_string", gcs_source=['gs://path/to/my/dataset.csv'], gcs_destination_prefix='gs://path/to/my/destination', model_parameters=None, starting_replica_count=1, max_replica_count=5, machine_type="n1-standard-4", sync=True )
Cara kedua untuk membuat tugas prediksi batch adalah dengan memanggil metode
BatchPredictionJob.create
. MetodeBatchPredictionJob.create
memerlukan empat parameter:job_display_name
: Nama yang Anda tetapkan ke tugas prediksi batch. Perhatikan bahwa meskipunjob_display_name
diperlukan untukBatchPredictionJob.create
, ini opsional untukModel.batch_predict
.model_name
: Nama atau ID yang sepenuhnya memenuhi syarat dariModel
terlatih yang Anda gunakan untuk tugas prediksi batch.instances_format
: Format file permintaan prediksi batch:jsonl
,csv
,bigquery
,tf-record
,tf-record-gzip
, ataufile-list
.predictions_format
: Format file respons prediksi batch:jsonl
,csv
,bigquery
,tf-record
,tf-record-gzip
, ataufile-list
.
Class prediksi online
Prediksi online adalah permintaan sinkron yang dibuat ke endpoint model. Anda harus men-deploy model ke endpoint sebelum dapat membuat permintaan prediksi online. Gunakan prediksi online jika Anda menginginkan prediksi yang dihasilkan berdasarkan input aplikasi, atau saat Anda memerlukan respons prediksi yang cepat.
Endpoint
Sebelum bisa mendapatkan prediksi online dari model, Anda harus men-deploy model ke endpoint. Saat men-deploy model ke endpoint, Anda menghubungkan resource mesin fisik dengan model sehingga dapat memberikan prediksi online.
Anda dapat men-deploy lebih dari satu model ke satu endpoint. Anda juga dapat men-deploy satu model ke lebih dari satu endpoint. Untuk mengetahui informasi selengkapnya, lihat Pertimbangan untuk men-deploy model.
Untuk membuat resource Endpoint
, deploy model Anda. Saat Anda memanggil
metode Model.deploy
, metode tersebut akan membuat dan menampilkan Endpoint
.
Berikut adalah contoh cuplikan kode yang menunjukkan cara membuat tugas pelatihan kustom, membuat dan melatih model, lalu men-deploy model ke endpoint.
# Create your custom training job
job = aiplatform.CustomTrainingJob(
display_name="my_custom_training_job",
script_path="task.py",
container_uri="us-docker.pkg.dev/vertex-ai/training/tf-cpu.2-8:latest",
requirements=["google-cloud-bigquery>=2.20.0", "db-dtypes"],
model_serving_container_image_uri="us-docker.pkg.dev/vertex-ai/prediction/tf2-cpu.2-8:latest"
)
# Start the training and create your model
model = job.run(
dataset=dataset,
model_display_name="my_model_name",
bigquery_destination=f"bq://{project_id}"
)
# Create an endpoint and deploy your model to that endpoint
endpoint = model.deploy(deployed_model_display_name="my_deployed_model")
# Get predictions using test data in a DataFrame named 'df_my_test_data'
predictions = endpoint.predict(instances=df_my_test_data)
PrivateEndpoint
Endpoint pribadi mirip dengan resource Endpoint
,
kecuali prediksi dikirim melalui jaringan yang aman ke layanan
prediksi online Vertex AI. Gunakan endpoint pribadi jika organisasi Anda ingin membuat semua traffic tetap bersifat pribadi.
Untuk menggunakan endpoint pribadi, Anda harus mengonfigurasi Vertex AI untuk melakukan peering dengan Virtual Private Cloud (VPC). VPC diperlukan untuk endpoint prediksi pribadi agar dapat terhubung langsung dengan Vertex AI. Untuk mengetahui informasi selengkapnya, baca Menyiapkan peering jaringan VPC dan Menggunakan endpoint pribadi untuk prediksi online.
ModelDeploymentMonitoringJob
Gunakan resource ModelDeploymentMonitoringJob
untuk memantau model dan menerima pemberitahuan jika resource tersebut menyimpang dengan cara yang dapat memengaruhi kualitas prediksi model Anda.
Saat data input menyimpang dari data yang digunakan untuk melatih model Anda, performa model dapat menurun, meskipun model belum berubah. Pemantauan model menganalisis tanggal input untuk fitur skew dan drift:
- Skew terjadi saat distribusi data fitur produksi menyimpang dari data fitur yang digunakan untuk melatih model.
- Drift terjadi ketika data fitur produksi berubah secara signifikan dari waktu ke waktu.
Untuk mengetahui informasi selengkapnya, lihat Pengantar pemantauan model Vertex AI. Untuk mengetahui contoh cara mengimplementasikan pemantauan Vertex AI dengan Vertex AI SDK, lihat notebook Pemantauan model Vertex AI dengan atribusi fitur AI yang dapat dijelaskan di GitHub.
Class prediksi Vector Search
Vector Search adalah layanan terkelola yang membuat indeks kesamaan, atau vektor, untuk melakukan pencocokan kesamaan. Ada dua langkah tingkat tinggi untuk melakukan pencocokan kesamaan:
Buat representasi vektor dari data Anda. Data dapat berupa teks, gambar, video, audio, atau data tabulasi.
Vector Search menggunakan endpoint vektor yang Anda buat untuk melakukan penelusuran skala tinggi dengan latensi rendah untuk vektor serupa.
Untuk mengetahui informasi selengkapnya, lihat Ringkasan Vector Search dan notebook Membuat indeks Vector Search di GitHub.
MatchingEngineIndex
Class MatchingEngineIndex
merepresentasikan
indeks, atau vektor, yang Anda buat yang digunakan Vector Search untuk
melakukan penelusuran kesamaan.
Ada dua algoritma penelusuran yang dapat Anda gunakan untuk indeks:
TreeAhConfig
menggunakan algoritma tree-AH yang dangkal (pohon dangkal menggunakan hashing asimetris). GunakanMatchingEngineIndex.create_tree_ah_index
untuk membuat indeks yang menggunakan algoritma tree-AH.BruteForceConfig
menggunakan penelusuran linear standar) GunakanMatchingEngineIndex.create_brute_force_index
untuk membuat indeks yang menggunakan penelusuran linear standar.
Untuk mengetahui informasi selengkapnya tentang cara mengonfigurasi indeks, lihat Mengonfigurasi indeks.
Kode berikut adalah contoh pembuatan indeks yang menggunakan algoritma tree-AH:
my_tree_ah_index = aiplatform.Index.create_tree_ah_index(
display_name="my_display_name",
contents_delta_uri="gs://my_bucket/embeddings",
dimensions=1,
approximate_neighbors_count=150,
distance_measure_type="SQUARED_L2_DISTANCE",
leaf_node_embedding_count=100,
leaf_nodes_to_search_percent=50,
description="my description",
labels={ "label_name": "label_value" }
)
Kode berikut adalah contoh pembuatan indeks yang menggunakan algoritma brute force:
my_brute_force_index = aiplatform.Index.create_brute_force_index(
display_name="my_display_name",
contents_delta_uri="gs://my_bucket/embeddings",
dimensions=1,
approximate_neighbors_count=150,
distance_measure_type="SQUARED_L2_DISTANCE",
description="my description",
labels={ "label_name": "label_value" }
)
MatchingEngineIndexEndpoint
Gunakan
class MatchingEngineIndexEndpoint
untuk membuat dan mengambil endpoint. Setelah men-deploy model ke endpoint, Anda akan mendapatkan alamat IP yang digunakan untuk menjalankan kueri.
Kode berikut adalah contoh pembuatan endpoint indeks mesin yang cocok, lalu men-deploy indeks mesin yang cocok ke endpoint tersebut:
my_index_endpoint = aiplatform.MatchingEngineIndexEndpoint.create(
display_name="sample_index_endpoint",
description="index endpoint description",
network="projects/123456789123/global/networks/my_vpc"
)
my_index_endpoint = my_index_endpoint.deploy_index(
index=my_tree_ah_index, deployed_index_id="my_matching_engine_index_id"
)
Langkah selanjutnya
- Pelajari Vertex AI SDK.