Chaque ressource de métadonnées est associée à un MetadataSchema spécifique.
Pour simplifier le processus de création de ressources de métadonnées, Vertex ML Metadata publie des types prédéfinis appelés schémas système pour les concepts de ML courants. Les schémas système existent sous l'espace de noms system
. Vous pouvez accéder aux schémas système en tant que ressources MetadataSchema dans l'API Vertex ML Metadata. Les schémas appliquent systématiquement la gestion des versions. Le format des schémas système est un sous-ensemble de la spécification OpenAPI 3.0.
Utiliser des schémas système
Vertex AI utilise des schémas système pour créer des ressources de métadonnées permettant de suivre vos workflows de ML. Vous pouvez ensuite filtrer et regrouper des ressources dans les requêtes de métadonnées à l'aide du champ schema_title
. Pour en savoir plus sur l'utilisation des fonctions de filtre, consultez la page Analyser les ressources Vertex ML Metadata.
Vous pouvez également utiliser les schémas système via l'API Vertex ML Metadata pour créer directement des ressources de métadonnées. Vous pouvez identifier un schéma système en fonction de son titre et de sa version. Les champs des schémas système sont toujours considérés comme facultatifs. Vous n'êtes pas limité aux champs prédéfinis des schémas système et vous pouvez également consigner des métadonnées arbitraires supplémentaires sur n'importe quelle ressource de métadonnées. Pour en savoir plus sur l'utilisation de schémas système pour créer des ressources de métadonnées, consultez la section Suivre les ressources Vertex ML Metadata.
Répertorier vos schémas
Pour afficher la liste de tous vos schémas enregistrés existants, utilisez la commande suivante.
REST
Avant d'utiliser les données de requête, effectuez les remplacements suivants :
- LOCATION_ID : votre région.
- PROJECT_ID : l'ID de votre projet.
Méthode HTTP et 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
Pour envoyer votre requête, développez l'une des options suivantes :
Vous devriez recevoir une réponse JSON de ce type :
{ "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" } }
Correspondance de schéma stricte
Vertex ML Metadata accepte deux options permettant aux auteurs de schémas d'appliquer une mise en correspondance de schémas stricte.
additionalProperties
La valeur additionalProperties
peut être vraie ou fausse. Conformément au schéma JSON, additionalProperties
est défini par défaut sur "true". Cette option est définie au niveau supérieur du schéma. Si elle est définie sur "false", aucune propriété facultative n'est autorisée. Par exemple, dans le schéma ci-dessous, seuls les champs payload_format
et container_format
sont acceptés dans les métadonnées d'après ce schéma.
title: system.Dataset
version: 0.0.1
type: object
additionalProperties: false
properties:
container_format:
type: string
payload_format:
type: string
Le schéma ci-dessus accepte les métadonnées suivantes :
fields {
key: 'container_format'
value: { string_value: 'Text' }
}
fields {
key: 'payload_format'
value: { string_value: 'CSV' }
}
Toutefois, les métadonnées suivantes seront refusées :
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' }
}
obligatoire
Le mot clé required
utilise un tableau de zéro ou plusieurs chaînes. Conformément au schéma JSON, les propriétés définies par le mot clé "properties" ne sont pas obligatoires. Vous pouvez fournir une liste de propriétés requises à l'aide du mot clé required
. Par exemple, le schéma suivant nécessite toujours container_format
.
Il fonctionne également avec les propriétés imbriquées. Par exemple, le schéma suivant rend le champ container_format
obligatoire.
title: system.Dataset
version: 0.0.1
type: object
required: ['container_format']
properties:
container_format:
type: string
payload_format:
type: string
Le schéma ci-dessus accepte les métadonnées suivantes :
fields {
key: 'container_format'
value: { string_value: 'Text' }
}
Toutefois, les métadonnées suivantes seront refusées :
fields {
key: 'payload_format'
value: { string_value: 'CSV' }
}
Le schéma accepte les propriétés imbriquées possédant un champ de type objet. Dans un schéma imbriqué, le nœud des propriétés imbriquées peut inclure un mot clé required
. Par exemple :
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
Le schéma ci-dessus accepte les métadonnées suivantes, car le champ nested_property
n'est pas requis.
fields {
key: 'container_format'
value: { string_value: 'Text' }
}
Les métadonnées suivantes sont également valides.
fields {
key: 'nested_property'
value: {
struct_value {
fields {
key: 'property_1'
value: { number_value: 1 }
}
fields {
key: 'property_2'
value: { number_value: 1 }
}
}
}
}
Toutefois, les métadonnées suivantes seront refusées :
fields {
key: 'nested_property'
value: {
struct_value {
fields {
key: 'property_2'
value: { number_value: 1 }
}
}
}
}
Exemples de schémas système
Les exemples suivants sont des schémas système courants disponibles pour une utilisation immédiate.
Artefact
system.Artifact
est un schéma générique qui peut contenir des métadonnées sur tout artefact.
Aucun champ spécifique n'est défini dans ce schéma.
title: system.Artifact
version: 0.0.1
type: object
Ensemble de données
system.Dataset
représente un conteneur de données qui a été consommé ou produit par une étape de workflow de ML. Un ensemble de données peut pointer vers un emplacement de fichier ou une requête, par exemple un URI BigQuery.
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'."
Modèle
system.Model
représente un modèle entraîné. L'URI du modèle peut pointer vers un emplacement de fichier (PPP, bucket Cloud Storage, lecteur local) ou une ressource d'API, telle que la ressource Model dans l'API Vertex AI.
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'."
Métriques
system.Metrics
représente les métriques d'évaluation générées lors d'un workflow de ML.
Les métriques dépendent de vos applications et de vos cas d'utilisation. Elles peuvent être constituées de métriques scalaires simples, telles que des justesses ou des métriques complexes stockées ailleurs dans le système.
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."
Étapes suivantes
- Commencez à suivre les métadonnées avec Vertex ML Metadata.
- Consultez les concepts et le modèle de données de Vertex ML Metadata.