Skema sistem

Setiap resource metadata dikaitkan dengan MetadataSchema tertentu. Untuk menyederhanakan proses pembuatan resource metadata, Vertex ML Metadata memublikasikan jenis yang telah ditetapkan yang disebut skema sistem untuk konsep ML umum. Skema sistem berada dalam namespace system. Anda dapat mengakses skema sistem sebagai resource MetadataSchema di Vertex ML Metadata API. Skema selalu dibuatkan versi. Format skema sistem adalah bagian dari spesifikasi OpenAPI 3.0.

Cara menggunakan skema sistem

Vertex AI menggunakan skema sistem guna membuat resource metadata untuk melacak alur kerja ML Anda. Selanjutnya, Anda dapat memfilter dan mengelompokkan resource dalam kueri metadata menggunakan kolom schema_title. Untuk mengetahui informasi selengkapnya tentang cara menggunakan fungsi filter, baca Menganalisis Metadata Vertex ML.

Anda juga dapat menggunakan skema sistem melalui Vertex ML Metadata API untuk membuat resource metadata secara langsung. Anda dapat mengidentifikasi skema sistem berdasarkan judul skema dan versi skemanya. Kolom dalam skema sistem selalu dianggap opsional. Anda tidak dibatasi untuk kolom skema sistem bawaan dan Anda juga dapat mencatat metadata arbitrer tambahan ke resource metadata apa pun. Untuk mengetahui informasi selengkapnya tentang penggunaan skema sistem untuk membuat resource metadata, baca Melacak Vertex ML Metadata.

Mencantumkan skema Anda

Untuk melihat daftar semua skema terdaftar yang sudah ada menggunakan perintah berikut.

REST

Sebelum menggunakan data permintaan mana pun, lakukan penggantian berikut:

  • LOCATION_ID: Region Anda.
  • PROJECT_ID: Project ID Anda.

Metode HTTP dan 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

Untuk mengirim permintaan, perluas salah satu opsi berikut:

Anda akan menerima respons JSON yang mirip seperti berikut:

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

Pencocokan skema secara ketat

Vertex ML Metadata mendukung dua flag yang memungkinkan penulis skema menerapkan pencocokan skema secara ketat.

additionalProperties

Nilai additionalProperties bisa benar (true) atau salah (false). Konsisten dengan Skema JSON, additionalProperties secara default disetel ke benar (true). Penanda ini ditetapkan di tingkat atas skema. Jika disetel ke salah (false), tidak ada properti opsional yang diizinkan. Pada skema di bawah ini, hanya kolom payload_format dan container_format yang diterima dalam metadata berdasarkan skema ini.

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

Skema di atas menerima metadata berikut:

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

Namun, metadata berikut akan ditolak:

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

wajib

Kata kunci required menggunakan array yang dapat berisi nol atau beberapa string. Konsisten dengan Skema JSON, properti yang ditentukan oleh kata kunci properti tidak diperlukan. Anda dapat memberikan daftar properti yang diperlukan menggunakan kata kunci required. Misalnya, skema berikut selalu memerlukan container_format. Hal ini juga berfungsi pada properti bertingkat. Misalnya, yang berikut ini membuat container_format menjadi diperlukan.

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

Skema di atas menerima metadata berikut:

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

Namun, metadata berikut akan ditolak:

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

Skema mendukung properti bertingkat yang propertinya memiliki kolom jenis objek. Dalam skema bertingkat, node properti bertingkat dapat memiliki kata kunci required. Contoh:

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

Skema di atas menerima metadata berikut, karena kolom nested_property tidak diperlukan.

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

Metadata berikut juga valid.

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

Namun, metadata berikut akan ditolak:

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

Contoh skema sistem

Contoh berikut adalah skema sistem umum yang tersedia untuk digunakan segera.

Artefak

system.Artifact adalah skema generik yang dapat menyimpan metadata tentang artefak apa pun. Tidak ada kolom tertentu yang ditentukan dalam skema ini.

title: system.Artifact
version: 0.0.1
type: object

Set data

system.Dataset mewakili container data yang digunakan atau dihasilkan oleh langkah alur kerja ML. Set data dapat mengarah ke lokasi file atau kueri, misalnya 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'."

Model

system.Model mewakili model yang terlatih. URI model dapat mengarah ke lokasi file (PPP, bucket Cloud Storage, drive lokal) atau resource API seperti resource Model di Vertex AI API.

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

Metrik

system.Metrics merepresentasikan metrik evaluasi yang dihasilkan selama alur kerja ML. Metrik bergantung pada aplikasi dan kasus penggunaan serta dapat terdiri dari metrik skalar sederhana seperti akurasi atau metrik kompleks yang disimpan di tempat lain dalam sistem.

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

Apa Langkah Selanjutnya?