Mit Vertex ML Metadata können Sie die von Ihren ML-Workflows (maschinelles Lernen) generierten Metadaten erfassen und analysieren. Wenn Sie neu bei Vertex ML Metadata sind, lesen Sie die Einführung in Vertex ML Metadata, um weitere Informationen zum Tracking und Analysieren der Metadaten Ihres ML-Workflows zu erhalten.
In dieser Anleitung wird beschrieben, wie Metadaten mit dem folgenden Verfahren in Logs erfasst werden:
- Erstellen einer Ausführung, die einen Schritt in Ihrem ML-Workflow darstellt.
- Suchen vorhandener Artefakte, um alle Eingabe-Artefakte zu finden, die bereits in Ihren Metadatenspeicher geschrieben wurden.
- Artefakte für die Eingaben Ihrer Ausführung erstellen, die noch nicht in Ihren Metadatenspeicher geschrieben wurden, und für alle von dieser Ausführung generierten Ausgaben.
- Ereignisse erstellen, um die Beziehung zwischen Ihrer Ausführung und ihren Eingabe- und Ausgabeartefakten darzustellen.
Optional können Sie Ausführung und Artefakte einem Kontext hinzufügen. Verwenden Sie einen Kontext, um Gruppen von Ausführungen und Artefakten zusammenzufassen. Wenn Sie beispielsweise experimentieren, um die beste Gruppe von Hyperparametern zum Trainieren eines Modells zu ermitteln, kann jedes Experiment eine andere Ausführung mit einer eigenen Gruppe von Parametern und Messwerten sein. Sie haben die Möglichkeit, die Ausführungen innerhalb eines Kontextes zu vergleichen, um das Experiment zu ermitteln, das das beste Modell generiert.
Bevor Sie einem Kontext Ausführungen und Artefakte hinzufügen können, müssen Sie einen Kontext erstellen.
Es gibt zwei Möglichkeiten, Vertex ML Metadata-Assets zu erstellen. Sie können entweder REST-Befehle oder das Vertex AI SDK für Python verwenden. Das Python SDK vereinfacht das Erstellen und Ermitteln verschiedener Asset-Typen. Beim Erstellen von Ausführungen mit Python muss die Nutzlast nicht manuell erstellt werden.
Hinweis
Wenn Sie zum Beispiel in einem Google Cloud-Projekt Vertex ML Metadata verwenden, erstellt Vertex AI den Vertex ML Metadatenspeicher Ihres Projekts.
Wenn Sie Ihre Metadaten mit einem vom Kunden verwalteten Verschlüsselungsschlüssel (CMEK) verschlüsseln möchten, müssen Sie Ihren Metadatenspeicher mit einem CMEK erstellen, bevor Sie Vertex ML Metadata zum Verfolgen oder Analysieren von Metadaten verwenden. Verwenden Sie die Anleitung Erstellen eines Metadatenspeichers, der ein CMEK verwendet, um den Metadatenspeicher Ihres Projekts zu konfigurieren.
Ausführung erstellen
Ausführungen stellen einen Schritt in Ihrem ML-Workflow dar. Verwenden Sie die folgenden Anleitungen, um eine Ausführung zu erstellen.
REST
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
- LOCATION_ID: Ihre Region.
- PROJECT_ID: Ihre Projekt-ID.
- METADATA_STORE: Die ID des Metadatenspeichers, in dem die Ausführung erstellt wird.
Der Standardmetadatenspeicher heißt
default
. - EXECUTION_ID: Die ID des Ausführungsdatensatzes. Wenn die Ausführungs-ID nicht angegeben ist, erstellt Vertex ML-Metadaten eine eindeutige Kennzeichnung für diese Ausführung.
- DISPLAY_NAME: Der Anzeigename der Ausführung. Dieses Feld kann bis zu 128 Unicode-Zeichen enthalten.
- EXECUTION_STATE: (Optional) Ein Wert aus der State-Aufzählung der den aktuellen Status der Ausführung darstellt. Dieses Feld wird von Clientanwendungen verwaltet. Vertex ML-Metadaten prüfen nicht die Gültigkeit von Statusübergängen.
- METADATA_SCHEMA_TITLE: Der Titel des Schemas, das das Metadatenfeld beschreibt. Der Titel des Schemas muss das Format "
. " haben. Der Namespace muss mit einem Kleinbuchstaben beginnen, kann Kleinbuchstaben und Ziffern enthalten und kann zwischen 2 und 20 Zeichen lang sein. Der Schemaname muss mit einem Großbuchstaben beginnen, kann Buchstaben und Ziffern enthalten und zwischen 2 und 49 Zeichen lang sein. - METADATA_SCHEMA_VERSION: Die Version des Schemas, das das Metadatenfeld beschreibt.
schema_version
muss ein String mit drei Zahlen sein, die durch Punkte getrennt sind, z. B. 1.0.0, 1.0.1. Dieses Format erleichtert das Sortieren und Vergleichen von Versionen. - METADATA: (Optional) Attribute, die die Ausführung beschreiben, z. B. die Ausführungsparameter.
- DESCRIPTION: (Optional) Ein menschenlesbarer String, der den Zweck der zu erstellenden Ausführung beschreibt.
- LABELS: Optional. Benutzerdefinierte Metadaten zum Organisieren Ihrer Ausführungen.
HTTP-Methode und URL:
POST https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/metadataStores/METADATA_STORE/executions?executionId=EXECUTION_ID
JSON-Text anfordern:
{ "displayName": "DISPLAY_NAME", "state": "EXECUTION_STATE", "schemaTitle": "METADATA_SCHEMA_TITLE", "schemaVersion": "METADATA_SCHEMA_VERSION", "metadata": { METADATA }, "labels": {"LABEL_1":"LABEL_2"}, "description": "DESCRIPTION" }
Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:
Sie sollten in etwa folgende JSON-Antwort erhalten:
{ "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
: Der Anzeigename der Ausführung. Dieses Feld kann bis zu 128 Unicode-Zeichen enthalten.input_artifacts
: Eine Liste mit einer oder mehreren Instanzen von aiplatform.Artifact, die ein Eingabeartefakt darstellen.output_artifacts
: Eine Liste mit einer oder mehreren Instanzen von aiplatform.Artifact, die ein Ausgabeartefakt darstellen.project
: Ihre Projekt-ID. Sie finden die Projekt-IDs auf der Begrüßungsseite der Google Cloud Console.location
: Siehe Liste der verfügbaren Standorte.execution_id
: Die ID des Ausführungsdatensatzes. Wenn die Ausführungs-ID nicht angegeben ist, erstellt Vertex ML-Metadaten eine eindeutige Kennzeichnung für diese Ausführung.metadata
: Attribute, die die Ausführung beschreiben, z. B. die Ausführungsparameter.schema_version
: Die Version des Schemas, das das Metadatenfeld beschreibt.description
: (Optional) Ein menschenlesbarer String, der den Zweck der zu erstellenden Ausführung beschreibt.
Vorhandenes Artefakt suchen
Artefakte stellen Daten dar, die von Ihrem ML-Workflow verwendet oder erstellt werden, z. B. Datasets und Modelle. So suchen Sie ein vorhandenes Artefakt:
REST
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
- LOCATION_ID: Ihre Region.
- PROJECT_ID: Ihre Projekt-ID.
- METADATA_STORE: Die ID des Metadatenspeichers, in dem das Artefakt erstellt wird.
Der Standardmetadatenspeicher heißt
default
. - PAGE_SIZE: (Optional) Die maximale Anzahl der zurückzugebenden Artefakte. Wenn dieser Wert nicht angegeben ist, gibt der Dienst maximal 100 Einträge zurück.
- PAGE_TOKEN: (Optional) Ein Seitentoken aus einem vorherigen Aufruf von MetadataService.ListArtifacts. Geben Sie dieses Token an, um die nächste Ergebnisseite abzurufen.
FILTER: Gibt die Bedingungen an, die erforderlich sind, um eine Ausführung in die Ergebnismenge aufzunehmen.
HTTP-Methode und 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
Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:
Die Ausgabe sieht in etwa so aus: ARTIFACT_ID: (Optional) Die ID des Artefakteintrags.
{ "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
: Ihre Projekt-ID. Sie finden die Projekt-IDs auf der Begrüßungsseite der Google Cloud Console.location
: Siehe Liste der verfügbaren Standorte.display_name_filter
: Filter, der auf den Anzeigenamen angewendet werden soll, während die Ressourcen im Format "display_name=\"my_filter\"" aufgelistet werden.create_date_filter
: Filter, der auf den Namen "create_date" angewendet werden soll, während die Ressourcen im Format "create_time>\"2022-06-11T12:30:00-08:00\"", aufgelistet werden.
Artefakt erstellen
So erstellen Sie ein Artefakt:
REST
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
- LOCATION_ID: Ihre Region.
- PROJECT_ID: Ihre Projekt-ID.
- METADATA_STORE: Die ID des Metadatenspeichers, in dem das Artefakt erstellt wird.
Der Standardmetadatenspeicher heißt
default
. - ARTIFACT_ID: (Optional) Die ID des Artefakteintrags. Wenn die Artefakt-ID nicht angegeben ist, erstellt Vertex ML-Metadaten eine eindeutige Kennzeichnung für dieses Artefakt.
- DISPLAY_NAME (optional): Der benutzerdefinierte Name des Artefakts.
- URI: (Optional) Der Standort, an dem das Artefakt gespeichert ist.
- ARTIFACT_STATE: (Optional) Ein Wert aus der State-Aufzählung, der den aktuellen Status des Artefakts darstellt. Dieses Feld wird von Clientanwendungen verwaltet. Vertex ML-Metadaten prüfen nicht die Gültigkeit von Statusübergängen.
- METADATA_SCHEMA_TITLE: Der Titel des Schemas, das das Metadatenfeld beschreibt. Der Titel des Schemas muss das Format "
. " haben. Der Namespace muss mit einem Kleinbuchstaben beginnen, kann Kleinbuchstaben und Ziffern enthalten und kann zwischen 2 und 20 Zeichen lang sein. Der Schemaname muss mit einem Großbuchstaben beginnen, kann Buchstaben und Ziffern enthalten und zwischen 2 und 49 Zeichen lang sein. - METADATA_SCHEMA_VERSION: Die Version des Schemas, das das Metadatenfeld beschreibt.
schema_version
muss ein String mit drei Zahlen sein, die durch Punkte getrennt sind, z. B. 1.0.0, 1.0.1. Dieses Format erleichtert das Sortieren und Vergleichen von Versionen. - METADATA: (Optional) Attribute, die das Artefakt beschreiben, z. B. den Dataset-Typ.
- DESCRIPTION: (Optional) Ein menschenlesbarer String, der den Zweck der zu erstellenden Ausführung beschreibt.
- LABELS: Optional. Benutzerdefinierte Metadaten zum Organisieren Ihrer Artefakte.
HTTP-Methode und URL:
POST https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/metadataStores/METADATA_STORE/artifacts?artifactId=ARTIFACT_ID
JSON-Text anfordern:
{ "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" }
Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:
Sie sollten in etwa folgende JSON-Antwort erhalten:
{ "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
: Ihre Projekt-ID. Sie finden die Projekt-IDs auf der Begrüßungsseite der Google Cloud Console.location
: Siehe Liste der verfügbaren Standorte.uri
: (Optional) Die URI (Uniform Resource Identifier) für die Artefaktdatei, falls vorhanden. Kann leer sein, wenn keine tatsächliche Artefaktdatei vorhanden ist.artifact_id
: (Optional) Die ID des Artefakteintrags. Wenn die Artefakt-ID nicht angegeben ist, erstellt Vertex ML-Metadaten eine eindeutige Kennzeichnung für dieses Artefakt.display_name
(optional): Der benutzerdefinierte Name des Artefakts.schema_version
: die Version des Schemas, das das Metadatenfeld beschreibt.description
: (Optional) Ein menschenlesbarer String, der den Zweck des zu erstellenden Artefakts beschreibt.metadata
: Attribute, die das Artefakt beschreiben, z. B. die Artefaktparameter.
Ereignisse erstellen, um Artefakte mit einer Ausführung zu verknüpfen
Ereignisse stellen die Beziehung zwischen einer Ausführung und ihren Eingabe- und Ausgabeartefakten dar. Folgen Sie der nachstehenden Anleitung, um Ereignisse zu erstellen und Artefakte mit einer Ausführung zu verknüpfen.
REST
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
- LOCATION_ID: Ihre Region.
- PROJECT_ID: Ihre Projekt-ID.
- METADATA_STORE: Die ID des Metadatenspeichers, in dem die Ausführung erstellt wird.
Der Standardmetadatenspeicher heißt
default
. - EXECUTION_ID: Die ID des Ausführungsdatensatzes.
ARTIFACT: Der Ressourcenname des Artefakts. Der Ressourcenname wird so erstellt:
projects/PROJECT_ID/locations/LOCATION_ID/metadataStores/METADATA_STORE/artifacts/ARTIFACT_ID
- EVENT_TYPE: (Optional) Ein Wert aus der EventType-Enumeration, der angibt, ob das Artefakt eine Eingabe oder Ausgabe der Ausführung ist.
HTTP-Methode und URL:
POST https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/metadataStores/METADATA_STORE/executions/EXECUTION_ID:addExecutionEvents
JSON-Text anfordern:
{ "events": [ { "artifact": "projects/PROJECT_ID/locations/LOCATION_ID/metadataStores/METADATA_STORE/artifacts/ARTIFACT_ID", "type": "EVENT_TYPE" } ] }
Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:
Sie sollten einen erfolgreichen Statuscode (2xx) und eine leere Antwort als Ausgabe erhalten.
Python
Python
input_artifacts
: Eine Liste mit einer oder mehreren Instanzen von aiplatform.Artifact, die ein Eingabeartefakt darstellen.output_artifacts
: Eine Liste mit einer oder mehreren Instanzen von aiplatform.Artifact, die ein Ausgabeartefakt darstellen.project
: Ihre Projekt-ID. Sie finden die Projekt-IDs auf der Begrüßungsseite der Google Cloud Console.location
: Siehe Liste der verfügbaren Standorte.execution_id
: Die ID des Ausführungsdatensatzes. Wenn die Ausführungs-ID nicht angegeben ist, erstellt Vertex ML-Metadaten eine eindeutige Kennzeichnung für diese Ausführung.metadata
: Attribute, die die Ausführung beschreiben, z. B. die Ausführungsparameter.schema_version
: die Version des Schemas, das das Metadatenfeld beschreibt.description
: (Optional) Ein menschenlesbarer String, der den Zweck der zu erstellenden Ausführung beschreibt.
Kontext erstellen
Mit Kontexten können Sie Gruppen von Artefakten und Ausführungen gruppieren. Gehen Sie nach der folgenden Anleitung vor, um einen Kontext zu erstellen. Beachten Sie, dass Vertex AI Experiments einen Kontext erstellt, der automatisch Artefakte und Ausführungen für diesen Kontext protokolliert. Weitere Informationen finden Sie unter Test erstellen oder löschen.
REST
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
- LOCATION_ID: Ihre Region.
- PROJECT_ID: Ihre Projekt-ID.
- METADATA_STORE: Die ID des Metadatenspeichers, in dem die Ausführung erstellt wird.
Der Standardmetadatenspeicher heißt
default
. - CONTEXT_ID: (Optional) Die ID des Kontext-Eintrags. Wenn keine Kontext-ID angegeben ist, haben Vertex ML-Metadaten für diesen Kontext eine eindeutige Kennzeichnung erstellt.
- DISPLAY_NAME: Der Anzeigename des Kontexts. Dieses Feld kann bis zu 128 Unicode-Zeichen enthalten.
- PARENT_CONTEXT: Geben Sie den Ressourcennamen für alle übergeordneten Kontexte an. Ein Kontext kann nicht mehr als 10 übergeordnete Kontexte haben.
- METADATA_SCHEMA_TITLE: Der Titel des Schemas, das das Metadatenfeld beschreibt. Der Titel des Schemas muss das Format "
. " haben. Der Namespace muss mit einem Kleinbuchstaben beginnen, kann Kleinbuchstaben und Ziffern enthalten und kann zwischen 2 und 20 Zeichen lang sein. Der Schemaname muss mit einem Großbuchstaben beginnen, kann Buchstaben und Ziffern enthalten und zwischen 2 und 49 Zeichen lang sein. - METADATA_SCHEMA_VERSION: Die Version des Schemas, das das Metadatenfeld beschreibt.
schema_version
muss ein String mit drei Zahlen sein, die durch Punkte getrennt sind, z. B. 1.0.0, 1.0.1. Dieses Format erleichtert das Sortieren und Vergleichen von Versionen. - METADATA: Attribute, die den Kontext beschreiben, z. B. Kontextkontextparameter.
- DESCRIPTION: (Optional) Ein menschenlesbarer String, der den Zweck der zu erstellenden Ausführung beschreibt.
- LABELS: Optional. Benutzerdefinierte Metadaten zum Organisieren Ihrer Kontexte.
HTTP-Methode und URL:
POST https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/metadataStores/METADATA_STORE/contexts?contextId=CONTEXT_ID
JSON-Text anfordern:
{ "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" }
Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:
Die Ausgabe sieht in etwa so aus: CONTEXT_ID: Die ID des Kontext-Eintrags.
{ "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
: Der Anzeigename des Kontexts. Dieses Feld kann bis zu 128 Unicode-Zeichen enthalten.project
: Ihre Projekt-ID. Sie finden die Projekt-IDs auf der Begrüßungsseite der Google Cloud Console.location
: Siehe Liste der verfügbaren Standorte.context_id
: (Optional) Die ID des Kontext-Eintrags.metadata
: Attribute, die den Kontext beschreiben, z. B. Kontextkontextparameter.schema_version
: die Version des Schemas, das das Metadatenfeld beschreibt.description
: (Optional) Ein menschenlesbarer String, der den Zweck des zu erstellenden Kontexts beschreibt.
Artefakte und Ausführungen zu einem Kontext hinzufügen
Gehen Sie nach der folgenden Anleitung vor, um Artefakte und Ausführungen einem Kontext hinzuzufügen.
REST
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
- LOCATION_ID: Ihre Region.
- PROJECT_ID: Ihre Projekt-ID.
- METADATA_STORE: Die ID des Metadatenspeichers, in dem die Ausführung erstellt wird.
Der Standardmetadatenspeicher heißt
default
. - CONTEXT: (Optional) Die ID des Kontext-Eintrags.
Geben Sie den Ressourcennamen ARTIFACT für alle Artefakte an, die Sie diesem Kontext hinzufügen möchten. Der Ressourcenname hat das folgende Format:
projects/PROJECT_ID/locations/location/metadataStores/metadata-store/artifacts/artifact
Geben Sie den Ressourcennamen EXECUTION für alle Ausführungen an, die Sie diesem Kontext hinzufügen möchten. Der Ressourcenname hat das folgende Format:
projects/PROJECT_ID/locations/location/metadataStores/metadata-store/executions/execution
HTTP-Methode und URL:
POST https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/metadataStores/METADATA_STORE/contexts/CONTEXT:addContextArtifactsAndExecutions
JSON-Text anfordern:
{ "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" ] }
Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:
Sie sollten einen erfolgreichen Statuscode (2xx) und eine leere Antwort als Ausgabe erhalten.