Jede Metadatenressource ist einem bestimmten MetadataSchema zugeordnet.
Damit der Erstellungsprozess von Metadatenressourcen einfacher wird, werden von Vertex ML Metadata vordefinierte Typen namens Systemschemas für gängige ML-Konzepte veröffentlicht. Systemschemas befinden sich unter dem Namespace system
. Sie können auf Systemschemas als MetadataSchema-Ressourcen in der Vertex ML Metadata API zugreifen. Schemas sind immer versioniert. Das Format von Systemschemas ist eine Teilmenge der OpenAPI 3.0-Spezifikation.
Systemschemas verwenden
Vertex AI verwendet Systemschemas, um Metadatenressourcen zum Verfolgen Ihrer ML-Workflows zu erstellen. Anschließend können Sie mithilfe des Felds schema_title
Ressourcen in Metadatenabfragen filtern und gruppieren. Weitere Informationen zur Verwendung von Filterfunktionen finden Sie unter ML-Metadaten analysieren.
Sie können Systemschemas auch über die Vertex ML Metadata API verwenden, um Metadatenressourcen direkt zu erstellen. Sie können ein Systemschema anhand seines Schematitels und seiner Schemaversion identifizieren. Felder in Systemschemas werden immer als optional angesehen. Sie sind nicht auf die vordefinierten Felder von Systemschemas beschränkt und können weitere beliebige Metadaten in einer Metadatenressource protokollieren. Weitere Informationen zur Verwendung von Systemschemas zum Erstellen von Metadatenressourcen finden Sie unter Vertex ML-Metadaten verfolgen.
Schemas auflisten
Mit dem folgenden Befehl können Sie eine Liste aller vorhandenen registrierten Schemas aufrufen.
REST
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
- LOCATION_ID: Ihre Region.
- PROJECT_ID: Ihre Projekt-ID.
HTTP-Methode und URL:
GET https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/metadataStores/default/metadataSchemas?pageSize=100&filter=schema_title=%22system*%22+OR+schema_title=%22google*%22
Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:
Sie sollten eine JSON-Antwort ähnlich wie diese erhalten:
{ "metadataSchemas": [ { "name": "projects/PROJECT_ID/locations/LOCATION_ID/metadataStores/default/metadataSchemas/system-resolver-execution-v0-0-1", "schemaVersion": "0.0.1", "schema": "title: system.ResolverExecution\ntype: object\n", "schemaType": "EXECUTION_TYPE", "createTime": "2022-07-27T17:41:35.634Z" }, { "name": "projects/PROJECT_ID/locations/LOCATION_ID//metadataStores/default/metadataSchemas/system-html-v0-0-1", "schemaVersion": "0.0.1", "schema": "title: system.HTML\ntype: object\n", "schemaType": "ARTIFACT_TYPE", "createTime": "2022-07-27T17:41:35.602Z" } }
Strikter Schemaabgleich
Vertex ML Metadata unterstützt zwei Flags, mit denen Schemaautoren den strikten Schemaabgleich erzwingen können.
additionalProperties
Der Wert additionalProperties
kann „true“ oder „false“ sein. In Übereinstimmung mit dem JSON-Schema ist additionalProperties
standardmäßig auf „true“ gesetzt. Dieser Parameter wird auf der obersten Ebene des Schemas festgelegt. Wenn es auf „false“ gesetzt ist, sind keine optionalen Attribute zulässig. Im folgenden Schema werden beispielsweise nur die Felder payload_format
und container_format
in den Metadaten akzeptiert.
title: system.Dataset
version: 0.0.1
type: object
additionalProperties: false
properties:
container_format:
type: string
payload_format:
type: string
Das oben genannte Schema akzeptiert die folgenden Metadaten:
fields {
key: 'container_format'
value: { string_value: 'Text' }
}
fields {
key: 'payload_format'
value: { string_value: 'CSV' }
}
Die folgenden Metadaten werden jedoch abgelehnt:
fields {
key: 'container_format'
value: { string_value: 'Text' }
}
fields {
key: 'payload_format'
value: { string_value: 'CSV' }
}
fields {
key: 'optional_field'
value: { string_value: 'optional_value' }
}
required
Das Keyword required
akzeptiert ein Array mit null oder mehr Strings. In Übereinstimmung mit dem JSON-Schema sind die durch das Attribut „Schlüsselwort“ definierten Attribute nicht erforderlich. Mit dem Schlüsselwort required
können Sie eine Liste der erforderlichen Attribute angeben. Im folgenden Schema ist beispielsweise immer container_format
erforderlich.
Funktioniert auch bei verschachtelten Properties. Dazu ist beispielsweise Folgendes erforderlich: container_format
.
title: system.Dataset
version: 0.0.1
type: object
required: ['container_format']
properties:
container_format:
type: string
payload_format:
type: string
Das oben genannte Schema akzeptiert die folgenden Metadaten:
fields {
key: 'container_format'
value: { string_value: 'Text' }
}
Die folgenden Metadaten werden jedoch abgelehnt:
fields {
key: 'payload_format'
value: { string_value: 'CSV' }
}
Das Schema unterstützt verschachtelte Attribute, bei denen Attribute ein Feld vom Typ „Objekt“ haben. In einem verschachtelten Schema kann der Knoten für verschachtelte Attribute ein required
-Schlüsselwort haben. Beispiele:
title: system.Dataset
version: 0.0.1
type: object
properties:
container_format:
type: string
payload:
type: string
nested_property:
type: object
required: ['property_1']
properties:
property_1:
type: integer
property_2:
type: integer
Das obige Schema akzeptiert die folgenden Metadaten, da das Feld nested_property
selbst nicht erforderlich ist.
fields {
key: 'container_format'
value: { string_value: 'Text' }
}
Die folgenden Metadaten sind ebenfalls gültig.
fields {
key: 'nested_property'
value: {
struct_value {
fields {
key: 'property_1'
value: { number_value: 1 }
}
fields {
key: 'property_2'
value: { number_value: 1 }
}
}
}
}
Die folgenden Metadaten werden jedoch abgelehnt:
fields {
key: 'nested_property'
value: {
struct_value {
fields {
key: 'property_2'
value: { number_value: 1 }
}
}
}
}
Beispiele für Systemschemas
Die folgenden Beispiele sind gängige Systemschemas, die sofort verwendet werden können.
Artefakt
system.Artifact
ist ein generisches Schema, das Metadaten zu jedem Artefakt enthalten kann.
In diesem Schema sind keine bestimmten Felder definiert.
title: system.Artifact
version: 0.0.1
type: object
Dataset
system.Dataset
steht für einen Datencontainer, der entweder von einem ML-Workflow-Schritt verbraucht oder erstellt wurde. Ein Dataset kann entweder auf einen Dateispeicherort oder eine Abfrage verweisen, z. B. einen BigQuery-URI.
title: system.Dataset
version: 0.0.1
type: object
properties:
container_format:
type: string
description: "Format of the container. Examples include 'TFRecord', 'Text', or 'Parquet'."
payload_format:
type: string
description: "Format of the payload. For example, 'proto:TFExample', 'CSV', or 'JSON'."
Modell
system.Model
steht für ein trainiertes Modell. Der URI des Modells kann auf einen Dateispeicherort (PPP, Cloud Storage-Bucket, lokales Laufwerk) oder eine API-Ressource wie die Modellressource in der Vertex AI API verweisen.
title: system.Model
version: 0.0.1
type: object
properties:
framework:
type: string
description: "The framework type. For example: 'TensorFlow' or 'Scikit-Learn'."
framework_version:
type: string
description: "The framework version. For example: '1.15' or '2.1'."
payload_format:
type: string
description: "The format of the Model payload, for example: 'SavedModel' or 'TFLite'."
Messwerte
system.Metrics
steht für Bewertungsmesswerte, die während eines ML-Workflows erstellt wurden.
Die Messwerte sind abhängig von Anwendungen und Anwendungsfällen und können aus einfachen skalaren Messwerten wie der Genauigkeit oder komplexen Messwerten bestehen, die an anderer Stelle im System gespeichert sind.
title: system.Metrics
version: 0.0.1
type: object
properties:
type:
accuracy:
type: number
description: "Optional summary metric describing accuracy of a model."
precision:
type: number
description: "Optional summary metric describing precision of a model."
recall:
type: number
description: "Optional summary metric describing the recall of a model."
f1score:
type: number
description: "Optional summary metric describing the f1-score of a model."
mean_absolute_error:
type: number
description: "Optional summary metric describing the mean absolute error of a model."
mean_squared_error:
type: number
description: "Optional summary metric describing the mean-squared error of a model."
Nächste Schritte
- Tracking von Metadaten mit Vertex ML Metadata starten
- Konzepte und Datenmodell von Vertex ML Metadata prüfen