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
So rufen Sie eine Liste aller vorhandenen registrierten Schemas mit dem folgenden Befehl auf:
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. Dieses Flag wird auf oberster 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 anhand dieses Schemas akzeptiert.
title: system.Dataset
version: 0.0.1
type: object
additionalProperties: false
properties:
container_format:
type: string
payload_format:
type: string
Das obige Schema akzeptiert folgende 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
Für das Keyword required
wird ein Array aus null oder mehr Strings verwendet. 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 Properties bereitstellen. Das folgende Schema erfordert beispielsweise immer container_format
.
Funktioniert auch mit verschachtelten Properties. Im folgenden Beispiel ist container_format
erforderlich.
title: system.Dataset
version: 0.0.1
type: object
required: ['container_format']
properties:
container_format:
type: string
payload_format:
type: string
Das obige Schema akzeptiert folgende 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 verschachtelte Attributknoten das Schlüsselwort required
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