Schemi di sistema

Ogni risorsa di metadati è associata a uno specifico MetadataSchema. Per semplificare il processo di creazione delle risorse di metadati, Vertex ML Metadata pubblica contenuti chiamati schemi di sistema per concetti ML comuni. Schemi di sistema attivi nello spazio dei nomi system. Puoi accedere agli schemi di sistema come risorse MetadataSchema in l'API Vertex ML Metadata. Gli schemi vengono sempre sottoposti al controllo delle versioni. Il formato del sistema sono un sottoinsieme della specifica OpenAPI 3.0.

Come utilizzare gli schemi di sistema

Vertex AI utilizza gli schemi di sistema per creare risorse di metadati per il monitoraggio per i tuoi flussi di lavoro ML. Puoi quindi filtrare e raggruppare le risorse nelle query sui metadati utilizzando il campo schema_title. Per ulteriori informazioni su come utilizzare le funzioni di filtro, consulta: Analizzare Vertex ML Metadata.

Puoi anche utilizzare gli schemi di sistema tramite l'API Vertex ML Metadata per creare direttamente risorse di metadati. Puoi identificare uno schema di sistema dalla sua il titolo e la versione dello schema. I campi negli schemi di sistema sono sempre considerati facoltativo. Non devi limitarti ai campi predefiniti degli schemi di sistema. e può anche registrare altri metadati arbitrari in qualsiasi risorsa di metadati. Per ulteriori informazioni sull'uso degli schemi di sistema per creare risorse di metadati, consulta Monitorare i metadati di Vertex ML.

Elenca i tuoi schemi

Per visualizzare un elenco di tutti gli schemi registrati esistenti utilizzando: .

REST

Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:

  • LOCATION_ID: la tua regione.
  • PROJECT_ID: il tuo ID progetto.

Metodo HTTP e 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

Per inviare la richiesta, espandi una delle seguenti opzioni:

Dovresti ricevere una risposta JSON simile alla seguente:

{
  "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"
    }
}

Corrispondenza rigorosa dello schema

Vertex ML Metadata supporta due flag che consentono agli autori dello schema di applicare una corrispondenza rigida allo schema.

additionalProperties

Il valore additionalProperties può essere vero o falso. Coerente con JSON Schema, il valore predefinito di additionalProperties è true. Questo flag è impostato nella parte superiore al livello dello schema. Se viene impostato su false, le proprietà facoltative non vengono consentito. Ad esempio nello schema seguente, solo i campi payload_format e container_format sono accettati nei metadati in base a questo schema.

title: system.Dataset
version: 0.0.1
type: object
additionalProperties: false
properties:
  container_format:
    type: string
  payload_format:
    type: string

Lo schema riportato sopra accetta i seguenti metadati:

fields {
  key: 'container_format'
  value: { string_value: 'Text' }
}
fields {
  key: 'payload_format'
  value: { string_value: 'CSV' }
}

Tuttavia, i seguenti metadati verranno rifiutati:

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' }
}

obbligatorio

La parola chiave required accetta un array di zero o più stringhe. Coerenti con lo schema JSON, le proprietà definite dalla parola chiave delle proprietà non sono obbligatorio. Puoi fornire un elenco di proprietà obbligatorie utilizzando required parola chiave. Ad esempio, il seguente schema richiede sempre container_format. Funziona anche con le proprietà nidificate. Ad esempio, di seguito viene resa container_format obbligatorio.

title: system.Dataset
version: 0.0.1
type: object
required: ['container_format']
properties:
  container_format:
    type: string
  payload_format:
    type: string

Lo schema riportato sopra accetta i seguenti metadati:

fields {
  key: 'container_format'
  value: { string_value: 'Text' }
}

Tuttavia, i seguenti metadati verranno rifiutati:

fields {
  key: 'payload_format'
  value: { string_value: 'CSV' }
}

Lo schema supporta le proprietà nidificate in cui le proprietà hanno un campo di tipo . In uno schema nidificato, il nodo delle proprietà nidificate può avere un valore required parola chiave. Ad esempio:

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

Lo schema riportato sopra accetta i seguenti metadati, poiché nested_property non è obbligatorio.

fields {
  key: 'container_format'
  value: { string_value: 'Text' }
}

Anche i seguenti metadati sono validi.

fields {
  key: 'nested_property'
  value: {
    struct_value {
      fields {
        key: 'property_1'
        value: { number_value: 1 }
      }
      fields {
        key: 'property_2'
        value: { number_value: 1 }
      }
    }
  }
}

Tuttavia, i seguenti metadati verranno rifiutati:

fields {
  key: 'nested_property'
  value: {
    struct_value {
      fields {
        key: 'property_2'
        value: { number_value: 1 }
      }
    }
  }
}

Esempi di schema di sistema

Gli esempi seguenti sono schemi di sistema comuni disponibili per per un uso immediato.

Artefatto

system.Artifact è uno schema generico che può contenere metadati relativi a qualsiasi artefatto. Nessun campo specifico definito in questo schema.

title: system.Artifact
version: 0.0.1
type: object

Set di dati

system.Dataset rappresenta un contenitore di dati utilizzato o generate da una fase di un flusso di lavoro ML. Un set di dati può puntare alla posizione di un file o una query, ad esempio 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'."

Modello

system.Model rappresenta un modello addestrato. L'URI del modello può puntare a un una posizione del file (PPP, bucket Cloud Storage, unità locale) o una risorsa API come la risorsa Model nell'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'."

Metriche

system.Metrics rappresenta le metriche di valutazione prodotte durante un flusso di lavoro ML. Le metriche dipendono dall'applicazione e dal caso d'uso e possono essere costituite da semplici a metriche come l'accuratezza o le metriche complesse memorizzate in altri punti del sistema.

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."

Passaggi successivi