Dengan Vertex ML Metadata, Anda dapat melacak dan menganalisis metadata yang dihasilkan oleh alur kerja machine learning (ML). Jika Anda baru mengenal Vertex ML Metadata, baca pengantar Vertex ML Metadata untuk mempelajari lebih lanjut tentang melacak dan menganalisis metadata alur kerja ML Anda.
Panduan ini menunjukkan cara mencatat metadata ke dalam log menggunakan proses berikut:
- Buat Eksekusi yang mewakili langkah dalam alur kerja ML Anda.
- Cari Artefak yang ada untuk menemukan artefak input yang sudah ditulis ke penyimpanan metadata Anda.
- Buat artefak untuk input eksekusi Anda yang belum ditulis ke penyimpanan metadata Anda, dan output apa pun yang dihasilkan oleh eksekusi ini.
- Buat Peristiwa untuk merepresentasikan hubungan antara eksekusi Anda, serta artefak input dan output-nya.
Jika ingin, tambahkan eksekusi dan artefak ke Konteks. Gunakan konteks untuk mengelompokkan kumpulan eksekusi dan artefak. Misalnya, jika Anda bereksperimen untuk menemukan kumpulan hyperparameter terbaik untuk melatih model, setiap eksperimen dapat menjadi eksekusi yang berbeda dengan kumpulan parameter dan metriknya sendiri. Anda dapat membandingkan eksekusi dalam konteks untuk menemukan eksperimen yang menghasilkan model terbaik.
Sebelum dapat menambahkan eksekusi dan artefak ke konteks, Anda harus membuat konteks.
Ada dua cara untuk membuat aset Vertex ML Metadata. Anda dapat menggunakan perintah REST atau Vertex AI SDK untuk Python. Python SDK menyederhanakan pembuatan dan penemuan berbagai jenis aset. Saat membuat eksekusi menggunakan Python, payload tidak harus dibuat secara manual.
Sebelum memulai
Saat pertama kali menggunakan Vertex ML Metadata di project Google Cloud, Vertex AI membuat penyimpanan Metadata Vertex ML project Anda.
Jika ingin metadata Anda dienkripsi menggunakan kunci enkripsi yang dikelola pelanggan (CMEK), Anda harus membuat penyimpanan metadata menggunakan CMEK sebelum menggunakan Vertex ML Metadata untuk melacak atau menganalisis metadata. Gunakan petunjuk membuat penyimpanan metadata yang menggunakan CMEK untuk mengonfigurasi penyimpanan metadata project Anda.
Membuat eksekusi
Eksekusi mewakili satu langkah dalam alur kerja ML Anda. Gunakan petunjuk berikut untuk membuat eksekusi.
REST
Sebelum menggunakan data permintaan mana pun, lakukan penggantian berikut:
- LOCATION_ID: Region Anda.
- PROJECT_ID: Project ID Anda.
- METADATA_STORE: ID penyimpanan metadata tempat eksekusinya dibuat.
Penyimpanan metadata default diberi nama
default
. - EXECUTION_ID: ID data eksekusi. Jika ID eksekusi tidak ditentukan, Vertex ML Metadata akan membuat ID unik untuk eksekusi ini.
- DISPLAY_NAME: Nama tampilan eksekusi. Kolom ini dapat berisi hingga 128 karakter Unicode.
- EXECUTION_STATE: (Opsional) Nilai dari Enumerasi status yang mewakili status eksekusi saat ini. Kolom ini dikelola oleh aplikasi klien. Vertex ML Metadata tidak memeriksa validitas transisi status.
- METADATA_SCHEMA_TITLE: Judul skema yang mendeskripsikan kolom metadata. Judul
skema harus memenuhi format `
. `. Namespace harus diawali dengan huruf kecil, dapat berisi karakter huruf kecil dan angka, serta panjangnya dua hingga dua puluh karakter. Nama skema harus dimulai dengan huruf besar, dapat berisi huruf dan angka, dan dapat berisi dua hingga empat puluh sembilan karakter. - METADATA_SCHEMA_VERSION: (Opsional) Versi skema yang mendeskripsikan
kolom metadata.
schema_version
harus berupa string berisi tiga angka yang dipisahkan titik, misalnya 1.0.0, 1.0.1. Format ini membantu mengurutkan dan membandingkan versi. - METADATA: (Opsional) Properti yang mendeskripsikan eksekusi, seperti parameter eksekusi.
- DESCRIPTION: (Opsional) String yang dapat dibaca manusia, yang menjelaskan tujuan eksekusi yang akan dibuat.
- LABELS: Opsional. Metadata yang ditentukan pengguna untuk mengatur eksekusi Anda.
Metode HTTP dan URL:
POST https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/metadataStores/METADATA_STORE/executions?executionId=EXECUTION_ID
Meminta isi JSON:
{ "displayName": "DISPLAY_NAME", "state": "EXECUTION_STATE", "schemaTitle": "METADATA_SCHEMA_TITLE", "schemaVersion": "METADATA_SCHEMA_VERSION", "metadata": { METADATA }, "labels": {"LABEL_1":"LABEL_2"}, "description": "DESCRIPTION" }
Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:
Anda akan melihat respons JSON seperti berikut:
{ "name": "projects/PROJECT_ID/locations/LOCATION_ID/metadataStores/METADATA_STORE/executions/EXECUTION_ID", "displayName": "Example Execution", "etag": "67891011", "labels": { "test_label": "test_label_value" }, "createTime": "2021-05-18T00:04:49.659Z", "updateTime": "2021-05-18T00:04:49.659Z", "schemaTitle": "system.Run", "schemaVersion": "0.0.1", "metadata": {}, "description": "Description of the example execution." }
Python
Python
display_name
: Nama tampilan eksekusi. Kolom ini dapat berisi hingga 128 karakter Unicode.input_artifacts
: Daftar dari satu atau beberapa instance aiplatform.Artifact yang mewakili artefak input.output_artifacts
:Daftar satu atau beberapa instance aiplatform.Artifact yang mewakili Artefak output.project
: Project ID Anda. Anda dapat menemukan ID ini di halaman sambutan Konsol Google Cloud.location
: Lihat Daftar lokasi yang tersedia.execution_id
: ID data eksekusi. Jika ID eksekusi tidak ditentukan, Vertex ML Metadata akan membuat ID unik untuk eksekusi ini.metadata
: Properti yang mendeskripsikan eksekusi, seperti parameter eksekusi.schema_version
:Versi skema yang mendeskripsikan kolom metadata.description
: (Opsional) String yang dapat dibaca manusia, yang menjelaskan tujuan eksekusi yang akan dibuat.
Mencari artefak yang ada
Artefak mewakili data yang digunakan atau dihasilkan oleh alur kerja ML Anda, seperti set data dan model. Gunakan petunjuk berikut untuk mencari artefak yang ada.
REST
Sebelum menggunakan data permintaan mana pun, lakukan penggantian berikut:
- LOCATION_ID: Region Anda.
- PROJECT_ID: Project ID Anda.
- METADATA_STORE: ID penyimpanan metadata tempat artefaknya dibuat.
Penyimpanan metadata default diberi nama
default
. - PAGE_SIZE: (Opsional) Jumlah maksimum artefak yang akan ditampilkan. Jika nilai ini tidak ditentukan, maka layanan akan menampilkan maksimum 100 data.
- PAGE_TOKEN: (Opsional) Token halaman dari panggilan MetadataService.ListArtifacts sebelumnya. Tentukan token ini untuk mendapatkan halaman hasil berikutnya.
FILTER: Menentukan kondisi yang diperlukan untuk menyertakan artefak dalam kumpulan hasil.
Metode HTTP dan URL:
GET https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/metadataStores/METADATA_STORE/artifacts?pageSize=PAGE_SIZE&pageToken=PAGE_TOKEN&filter=FILTER
Untuk mengirim permintaan, perluas salah satu opsi berikut:
Anda akan melihat output yang mirip dengan berikut ini. ARTIFACT_ID adalah ID dari kumpulan data artefak.
{ "artifacts": [ { "name": "projects/PROJECT_ID/locations/LOCATION_ID/metadataStores/default/artifacts/ARTIFACT_ID", "displayName": "Example artifact", "uri": "gs://your_bucket_name/artifacts/dataset.csv", "etag": "67891011", "createTime": "2021-05-18T00:33:13.833Z", "updateTime": "2021-05-18T00:33:13.833Z", "state": "LIVE", "schemaTitle": "system.Dataset", "schemaVersion": "0.0.1", "metadata": { "payload_format": "CSV" }, "description": "Description of the example artifact." }, { "name": "projects/PROJECT_ID/locations/LOCATION/metadataStores/METADATA_STORE/artifacts/ARTIFACT_ID", "displayName": "Another example artifact", "uri": "gs://your_bucket_name/artifacts/dataset-2.csv", "etag": "67891012", "createTime": "2021-05-18T00:29:24.344Z", "updateTime": "2021-05-18T00:29:24.344Z", "state": "LIVE", "schemaTitle": "system.Dataset", "schemaVersion": "0.0.1", "metadata": { "payload_format": "CSV" }, "description": "Description of the other example artifact." } ] }
Python
Python
project
: Project ID Anda. Anda dapat menemukan ID ini di halaman sambutan Konsol Google Cloud.location
: Lihat Daftar lokasi yang tersedia.display_name_filter
: Filter yang akan diterapkan ke nama tampilan pada saat mencantumkan resource dengan format "display_name=\"my_filter\"" .create_date_filter
: Filter yang akan diterapkan ke nama create_date saat mencantumkan resource dengan format "create_time>\"2022-06-11T12:30:00-08:00\"",.
Membuat artefak
Gunakan petunjuk berikut untuk membuat artefak.
REST
Sebelum menggunakan data permintaan mana pun, lakukan penggantian berikut:
- LOCATION_ID: Region Anda.
- PROJECT_ID: Project ID Anda.
- METADATA_STORE: ID penyimpanan metadata tempat artefaknya dibuat.
Penyimpanan metadata default diberi nama
default
. - ARTIFACT_ID: (Opsional) ID catatan artefak. Jika ID artefak tidak ditentukan, Vertex ML Metadata akan membuat ID unik untuk artefak ini.
- DISPLAY_NAME: (Opsional) Nama artefak yang ditentukan pengguna.
- URI: (Opsional) Lokasi tempat artefak disimpan
- ARTIFACT_STATE: (Opsional) Nilai dari Enumerasi status yang mewakili status artefak saat ini. Kolom ini dikelola oleh aplikasi klien. Vertex ML Metadata tidak memeriksa validitas transisi status.
- METADATA_SCHEMA_TITLE: Judul skema yang mendeskripsikan kolom metadata. Judul
skema harus memenuhi format `
. `. Namespace harus diawali dengan huruf kecil, dapat berisi karakter huruf kecil dan angka, serta panjangnya dua hingga dua puluh karakter. Nama skema harus dimulai dengan huruf besar, dapat berisi huruf dan angka, dan dapat berisi dua hingga empat puluh sembilan karakter. - METADATA_SCHEMA_VERSION: (Opsional) Versi skema yang mendeskripsikan
kolom metadata.
schema_version
harus berupa string berisi tiga angka yang dipisahkan titik, misalnya 1.0.0, 1.0.1. Format ini membantu mengurutkan dan membandingkan versi. - METADATA: (Opsional.) Properti yang mendeskripsikan artefak, seperti jenis set data.
- DESCRIPTION: (Opsional) String yang dapat dibaca manusia, yang menjelaskan tujuan eksekusi yang akan dibuat.
- LABELS:Opsional. Metadata yang ditentukan pengguna untuk mengatur artefak Anda.
Metode HTTP dan URL:
POST https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/metadataStores/METADATA_STORE/artifacts?artifactId=ARTIFACT_ID
Meminta isi JSON:
{ "displayName": "DISPLAY_NAME", "uri": "URI", "state": "ARTIFACT_STATE", "schemaTitle": "METADATA_SCHEMA_TITLE", "schemaVersion": "METADATA_SCHEMA_VERSION", "metadata": { METADATA }, "labels": {"LABEL_1":"LABEL_2"}, "description": "DESCRIPTION" }
Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:
Anda akan melihat respons JSON seperti berikut:
{ "name": "projects/PROJECT_ID/locations/LOCATION_ID/metadataStores/default/artifacts/ARTIFACT_ID", "displayName": "Example artifact", "uri": "gs://your_bucket_name/artifacts/dataset.csv", "etag": "67891011", "labels": { "test_label": "test_label_value" }, "createTime": "2021-05-18T00:29:24.344Z", "updateTime": "2021-05-18T00:29:24.344Z", "state": "LIVE", "schemaTitle": "system.Dataset", "schemaVersion": "0.0.1", "metadata": { "payload_format": "CSV" }, "description": "Description of the example artifact." }
Python
Python
project
: Project ID Anda. Anda dapat menemukan ID ini di halaman sambutan Konsol Google Cloud.location
: Lihat Daftar lokasi yang tersedia.uri
: (Opsional) Uniform Resource Identifier untuk file artefak jika ada. Dapat kosong jika tidak ada file artefak yang sebenarnya.artifact_id
: (Opsional) ID catatan artefak. Jika ID artefak tidak ditentukan, Vertex ML Metadata akan membuat ID unik untuk artefak ini.display_name
: (Opsional) Nama artefak yang ditentukan pengguna.schema_version
: Versi skema yang mendeskripsikan kolom metadata.description
: (Opsional) String yang dapat dibaca manusia, yang menjelaskan tujuan artefak yang akan dibuat.metadata
: Properti yang mendeskripsikan artefak, seperti parameter artefak.
Membuat peristiwa untuk menautkan artefak ke eksekusi
Peristiwa merepresentasikan hubungan antara eksekusi dengan artefak input dan output-nya. Gunakan petunjuk berikut untuk membuat peristiwa guna menautkan artefak ke eksekusi.
REST
Sebelum menggunakan data permintaan mana pun, lakukan penggantian berikut:
- LOCATION_ID: Region Anda.
- PROJECT_ID: Project ID Anda.
- METADATA_STORE: ID penyimpanan metadata tempat eksekusinya dibuat.
Penyimpanan metadata default diberi nama
default
. - EXECUTION_ID: ID data eksekusi tersebut.
ARTIFACT: Nama resource artefak. Nama resource diformat sebagai berikut:
projects/PROJECT_ID/locations/LOCATION_ID/metadataStores/METADATA_STORE/artifacts/ARTIFACT_ID
- EVENT_TYPE: (Opsional) Nilai dari Enumerasi EventType yang menentukan apakah artefak merupakan input atau output eksekusi.
Metode HTTP dan URL:
POST https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/metadataStores/METADATA_STORE/executions/EXECUTION_ID:addExecutionEvents
Meminta isi JSON:
{ "events": [ { "artifact": "projects/PROJECT_ID/locations/LOCATION_ID/metadataStores/METADATA_STORE/artifacts/ARTIFACT_ID", "type": "EVENT_TYPE" } ] }
Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:
Anda akan menerima kode status yang berhasil (2xx) dan respons kosong.
Python
Python
input_artifacts
: Daftar dari satu atau beberapa instance aiplatform.Artifact yang mewakili artefak input.output_artifacts
: Daftar dari satu atau beberapa instance aiplatform.Artifact yang mewakili Artefak output.project
: Project ID Anda. Anda dapat menemukan ID ini di halaman sambutan Konsol Google Cloud.location
: Lihat Daftar lokasi yang tersedia.execution_id
: ID data eksekusi. Jika ID eksekusi tidak ditentukan, Vertex ML Metadata akan membuat ID unik untuk eksekusi ini.metadata
Properti yang mendeskripsikan eksekusi, seperti parameter eksekusi.schema_version
: Versi skema yang mendeskripsikan kolom metadata.description
: (Opsional) String yang dapat dibaca manusia, yang menjelaskan tujuan eksekusi yang akan dibuat.
Membuat konteks
Konteks memungkinkan Anda mengelompokkan kumpulan artefak dan eksekusi. Gunakan petunjuk berikut untuk membuat konteks. Perhatikan bahwa Vertex AI Experiments membuat konteks yang secara otomatis mencatat artefak dan eksekusi terhadap konteks tersebut, (lihat Membuat atau menghapus eksperimen).
REST
Sebelum menggunakan data permintaan mana pun, lakukan penggantian berikut:
- LOCATION_ID: Region Anda.
- PROJECT_ID: Project ID Anda.
- METADATA_STORE:ID penyimpanan metadata tempat eksekusinya dibuat.
Penyimpanan metadata default diberi nama
default
. - CONTEXT_ID: (Opsional) ID data konteks. Jika ID konteks tidak ditentukan, Vertex ML Metadata akan membuat ID unik untuk konteks ini
- DISPLAY_NAME: Nama tampilan konteks. Kolom ini dapat berisi hingga 128 karakter Unicode.
- PARENT_CONTEXT: Menentukan nama resource untuk konteks induk apa pun. Konteks tidak boleh memiliki lebih dari 10 konteks induk.
- METADATA_SCHEMA_TITLE: Judul skema yang mendeskripsikan kolom metadata. Judul
skema harus memenuhi format `
. `. Namespace harus diawali dengan huruf kecil, dapat berisi karakter huruf kecil dan angka, serta panjangnya dua hingga dua puluh karakter. Nama skema harus dimulai dengan huruf besar, dapat berisi huruf dan angka, dan dapat berisi dua hingga empat puluh sembilan karakter. - METADATA_SCHEMA_VERSION: (Opsional) Versi skema yang mendeskripsikan
kolom metadata.
schema_version
harus berupa string berisi tiga angka yang dipisahkan titik, misalnya 1.0.0, 1.0.1. Format ini membantu mengurutkan dan membandingkan versi. - METADATA: Properti yang mendeskripsikan konteks, seperti parameter konteks.
- DESCRIPTION:(Opsional) String yang dapat dibaca manusia, yang menjelaskan tujuan eksekusi yang akan dibuat.
- LABELS: Opsional. Metadata yang ditentukan pengguna untuk mengatur konteks Anda.
Metode HTTP dan URL:
POST https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/metadataStores/METADATA_STORE/contexts?contextId=CONTEXT_ID
Meminta isi JSON:
{ "displayName": "DISPLAY_NAME:", "parentContexts": [ "PARENT_CONTEXT_1", "PARENT_CONTEXT_2" ], "schemaTitle": "METADATA_SCHEMA_TITLE", "schemaVersion": "METADATA_SCHEMA_VERSION", "metadata": { METADATA }, "labels": {"LABEL_1":"LABEL_2"}, "description": "DESCRIPTION" }
Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:
Anda akan melihat output yang mirip dengan berikut ini. CONTEXT_ID adalah ID data konteks.
{ "name": "projects/PROJECT_ID/locations/LOCATION_ID/metadataStores/METADATA_STORE/contexts/CONTEXT_ID", "displayName": "Example context:", "etag": "67891011", "labels": { "test_label": "test_label_value" }, "createTime": "2021-05-18T01:52:51.642Z", "updateTime": "2021-05-18T01:52:51.642Z", "schemaTitle": "system.Experiment", "schemaVersion": "0.0.1", "metadata": {}, "description": "Description of the example context." }
Python
Python
display_name
: Nama tampilan konteks. Kolom ini dapat berisi hingga 128 karakter Unicode.project
: Project ID Anda. Anda dapat menemukan ID ini di halaman sambutan Konsol Google Cloud.location
: Lihat Daftar lokasi yang tersedia.context_id
: (Opsional) ID data konteks tersebut.metadata
Properti yang mendeskripsikan konteks, seperti parameter konteks.schema_version
: Versi skema yang mendeskripsikan kolom metadata.description
: (Opsional) String yang dapat dibaca manusia, yang menjelaskan tujuan konteks dibuat.
Menambahkan artefak dan eksekusi ke konteks
Gunakan petunjuk berikut untuk menambahkan artefak dan eksekusi ke konteks.
REST
Sebelum menggunakan data permintaan mana pun, lakukan penggantian berikut:
- LOCATION_ID: Region Anda.
- PROJECT_ID: Project ID Anda.
- METADATA_STORE: ID penyimpanan metadata tempat eksekusinya dibuat.
Penyimpanan metadata default diberi nama
default
. - CONTEXT: (Opsional) ID data konteks tersebut.
Tentukan nama resource ARTIFACT untuk artefak yang ingin Anda tambahkan ke konteks ini Nama resource diformat seperti berikut:
projects/PROJECT_ID/locations/location/metadataStores/metadata-store/artifacts/artifact
Tentukan nama resource EXECUTION untuk setiap eksekusi yang ingin Anda tambahkan ke konteks ini. Nama resource diformat seperti berikut:
projects/PROJECT_ID/locations/location/metadataStores/metadata-store/executions/execution
Metode HTTP dan URL:
POST https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/metadataStores/METADATA_STORE/contexts/CONTEXT:addContextArtifactsAndExecutions
Meminta isi JSON:
{ "artifacts": [ "projects/PROJECT_ID/locations/LOCATION_ID/metadataStores/METADATA_STORE/artifacts/ARTIFACT_ID" ], "executions": [ "projects/PROJECT_ID/locations/LOCATION_ID/metadataStores/METADATA_STORE/executions/EXECUTION_ID" ] }
Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:
Anda akan menerima kode status yang menandakan proses berhasil (2xx), dan sebuah respons kosong.