כל משאב מטא-נתונים משויך לMetadataSchema ספציפי.
כדי לפשט את תהליך יצירת משאבי המטא-נתונים, Vertex ML Metadata מפרסם סוגים מוגדרים מראש שנקראים סכימות מערכת למושגים נפוצים של ML. סכימות המערכת נמצאות במרחב השמות system. אפשר לגשת לסכימות של המערכת כמשאבי MetadataSchema ב-Vertex ML Metadata API. סכימות תמיד עוברות ניהול גרסאות. הפורמט של סכימות המערכת הוא קבוצת משנה של מפרט OpenAPI 3.0.
איך משתמשים בסכימות מערכת
Gemini Enterprise Agent Platform משתמש בסכימות מערכת כדי ליצור משאבי מטא-נתונים למעקב אחרי תהליכי העבודה של למידת מכונה. אחר כך תוכלו לסנן ולקבץ משאבים בשאילתות מטא-נתונים באמצעות השדה schema_title. מידע נוסף על השימוש בפונקציות סינון זמין במאמר ניתוח של Vertex ML Metadata.
אפשר גם להשתמש בסכימות מערכת דרך Vertex ML Metadata API כדי ליצור משאבי מטא-נתונים ישירות. אפשר לזהות סכימה של מערכת לפי שם הסכימה וגרסת הסכימה. שדות בסכימות מערכת תמיד נחשבים לאופציונליים. אתם לא מוגבלים לשדות המוגדרים מראש בסכימות של המערכת, ויכולים גם לרשום מטא-נתונים שרירותיים נוספים לכל משאב מטא-נתונים. מידע נוסף על שימוש בסכימות מערכת ליצירת משאבי מטא-נתונים זמין במאמר מעקב אחר Vertex ML Metadata.
הצגת הסכימות
כדי לראות רשימה של כל הסכימות הרשומות הקיימות, משתמשים בפקודה הבאה.
REST
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
- LOCATION_ID: האזור שלכם.
- PROJECT_ID: מזהה הפרויקט. .
ה-method של ה-HTTP וכתובת ה-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
כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:
אתם אמורים לקבל תגובת JSON שדומה לזו:
{
"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"
}
}
התאמה מחמירה של סכימות
Vertex ML Metadata תומך בשני דגלים שמאפשרים ליוצרי סכימות לאכוף התאמה מדויקת של סכימות.
additionalProperties
הערך additionalProperties יכול להיות true או false. בהתאם ל-JSON
Schema, ערך ברירת המחדל של additionalProperties הוא true. הסימון הזה מוגדר ברמה העליונה של הסכימה. אם המדיניות מוגדרת כ-False, לא מותרים מאפיינים אופציונליים. לדוגמה, בסכימה שלמטה, רק השדות payload_format
ו-container_format מתקבלים במטא-נתונים על סמך הסכימה הזו.
title: system.Dataset
version: 0.0.1
type: object
additionalProperties: false
properties:
container_format:
type: string
payload_format:
type: string
הסכימה שלמעלה מקבלת את המטא-נתונים הבאים:
fields {
key: 'container_format'
value: { string_value: 'Text' }
}
fields {
key: 'payload_format'
value: { string_value: 'CSV' }
}
עם זאת, המטא-נתונים הבאים ייפסלו:
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 מקבלת מערך של אפס מחרוזות או יותר. בהתאם ל-JSON Schema, המאפיינים שמוגדרים על ידי מילת המפתח properties הם לא חובה. אפשר לספק רשימה של מאפייני חובה באמצעות מילת המפתח required. לדוגמה, בסכימה הבאה תמיד נדרש container_format.
האפשרות הזו פועלת גם בנכסים מוטמעים. לדוגמה, הקוד הבא מחייב את container_format.
title: system.Dataset
version: 0.0.1
type: object
required: ['container_format']
properties:
container_format:
type: string
payload_format:
type: string
הסכימה שלמעלה מקבלת את המטא-נתונים הבאים:
fields {
key: 'container_format'
value: { string_value: 'Text' }
}
עם זאת, המטא-נתונים הבאים ייפסלו:
fields {
key: 'payload_format'
value: { string_value: 'CSV' }
}
הסכימה תומכת במאפיינים מוטמעים, שבהם למאפיינים יש שדה מסוג אובייקט. בסכימה מקוננת, צומת המאפיינים המקוננים יכול להכיל מילת מפתח required. לדוגמה:
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
הסכימה שלמעלה מקבלת את המטא-נתונים הבאים, כי השדה nested_property
עצמו הוא לא שדה חובה.
fields {
key: 'container_format'
value: { string_value: 'Text' }
}
גם המטא-נתונים הבאים תקפים.
fields {
key: 'nested_property'
value: {
struct_value {
fields {
key: 'property_1'
value: { number_value: 1 }
}
fields {
key: 'property_2'
value: { number_value: 1 }
}
}
}
}
עם זאת, המטא-נתונים הבאים ייפסלו:
fields {
key: 'nested_property'
value: {
struct_value {
fields {
key: 'property_2'
value: { number_value: 1 }
}
}
}
}
דוגמאות לסכימות מערכת
הדוגמאות הבאות הן סכימות מערכת נפוצות שזמינות לשימוש מיידי.
Artifact
system.Artifact היא סכימה כללית שיכולה להכיל מטא-נתונים על כל ארטיפקט.
לא הוגדרו שדות ספציפיים בסכימה הזו.
title: system.Artifact
version: 0.0.1
type: object
מערך נתונים
system.Dataset מייצג מאגר נתונים שנצרכו או נוצרו על ידי שלב בתהליך עבודה של למידת מכונה. מערך נתונים יכול להצביע על מיקום של קובץ או על שאילתה, למשל 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'."
מודל
system.Model מייצג מודל מאומן. ה-URI של המודל יכול להפנות למיקום של קובץ (PPP, קטגוריה של Cloud Storage, כונן מקומי) או למשאב API, כמו משאב Model ב-Agent Platform 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'."
מדדים
system.Metrics מייצג מדדי הערכה שנוצרו במהלך תהליך עבודה של למידת מכונה.
המדדים תלויים באפליקציה ובתרחיש השימוש, והם יכולים להיות מדדים סקלריים פשוטים כמו דיוק, או מדדים מורכבים שמאוחסנים במקום אחר במערכת.
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."
המאמר הבא
- איך מתחילים לעקוב אחרי מטא-נתונים באמצעות Vertex ML Metadata
- בדיקת המושגים ומודל הנתונים של Vertex ML Metadata.