ניהול מודלים

במאמר הזה מוסבר איך לנהל מודלים של BigQuery ML, כולל העתקה ושינוי שם של מודלים.

התפקידים הנדרשים

כדי לקבל את ההרשאות שדרושות לקריאה וליצירה של מודלים ב-BigQuery, צריך לבקש מהאדמין להקצות לכם את תפקיד BigQuery Data Editor ‏ (roles/bigquery.dataEditor) ב-IAM בפרויקט. להסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.

זהו תפקיד שמוגדר מראש וכולל את ההרשאות שנדרשות לקריאה וליצירה של מודלים ב-BigQuery. כדי לראות בדיוק אילו הרשאות נדרשות, אפשר להרחיב את הקטע ההרשאות הנדרשות:

ההרשאות הנדרשות

כדי לקרוא מודלים של BigQuery וליצור אותם, צריך את ההרשאות הבאות:

  • כדי לקרוא מידע ממודלים: bigquery.models.getData
  • כדי ליצור מודלים: bigquery.models.create

יכול להיות שתקבלו את ההרשאות האלה באמצעות תפקידים בהתאמה אישית או תפקידים מוגדרים מראש אחרים.

שינוי השם של מודלים

אי אפשר לשנות את השם של מודל קיים. אם אתם צריכים לשנות את השם של המודל, אתם יכולים לפעול לפי השלבים להעתקת המודל. כשמציינים את היעד בפעולת ההעתקה, צריך להשתמש בשם המודל החדש.

העתקת מודלים

אפשר להעתיק מודל אחד או יותר מקבוצת נתונים של מקור לקבוצת נתונים של יעד באמצעות:

  • באמצעות מסוף Google Cloud .
  • שימוש בפקודה bq cp של כלי שורת הפקודה של bq.
  • הפעלת השיטה jobs.insert של API ישירות והגדרת משימת העתקה או באמצעות ספריות הלקוח.

מגבלות על העתקת מודלים

ההגבלות הבאות חלות על משימות של העתקת מודלים:

  • כשמעתיקים מודל, השם של מודל היעד צריך להיות בהתאם לאותם כללי מתן שמות כמו כשיוצרים מודל.
  • עותקים של מודלים כפופים למגבלות של BigQuery על עבודות העתקה.
  • אי אפשר להעתיק מודל באמצעות מסוף Google Cloud .
  • אי אפשר להעתיק כמה מודלים של מקור בפקודה אחת.
  • כשמעתיקים מודל באמצעות ה-CLI, הדגל --destination_kms_key לא נתמך.

העתקת מודל

כדי להעתיק מודל:

  • שימוש בפקודה bq cp של כלי שורת הפקודה
  • הפעלת שיטת API של jobs.insert והגדרת משימת העתקה או שימוש בספריות הלקוח

כדי להעתיק מודל:

המסוף

מסוף Google Cloud לא תומך בהעתקת מודלים.

BQ

מריצים את הפקודה bq cp. דגלים אופציונליים:

  • -f או --force מחליפים מודל קיים במערך נתוני היעד בלי לבקש אישור.
  • -n או --no_clobber מחזירה את הודעת השגיאה הבאה אם המודל קיים במערך הנתונים של היעד: '[PROJECT_ID]:[DATASET].[MODEL]' already exists, skipping.

    אם לא מציינים את -n, ברירת המחדל היא הצגת בקשה לבחירה אם להחליף את מודל היעד.

אם מערך הנתונים של המקור או היעד נמצא בפרויקט שאינו פרויקט ברירת המחדל, צריך להוסיף את מזהה הפרויקט לשמות של מערכי הנתונים בפורמט הבא: PROJECT_ID:DATASET.

מציינים את הדגל --location ומגדירים את הערך למיקום שלכם.

bq --location=LOCATION cp -f -n PROJECT_ID:DATASET.SOURCE_MODEL PROJECT_ID:DATASET.DESTINATION_MODEL

מחליפים את מה שכתוב בשדות הבאים:

  • LOCATION: השם של המיקום. הדגל --location הוא אופציונלי. לדוגמה, אם אתם משתמשים ב-BigQuery באזור טוקיו, אתם יכולים להגדיר את הערך של הדגל ל-asia-northeast1. אפשר להגדיר ערך ברירת מחדל למיקום באמצעות הקובץ ‎.bigqueryrc. רשימה מלאה של המיקומים זמינה במאמר מיקומים ב-BigQuery.
  • PROJECT_ID: מזהה הפרויקט.
  • DATASET: השם של מערך הנתונים של המקור או היעד.
  • SOURCE_MODEL: המודל שאתם מעתיקים.
  • DESTINATION_MODEL: השם של המודל במערך הנתונים של היעד.

דוגמאות:

מזינים את הפקודה הבאה כדי להעתיק את mydataset.mymodel אל mydataset2. שני מערכי הנתונים נמצאים בפרויקט שמוגדר כברירת מחדל, והם נוצרו במיקום US במספר אזורים.

bq --location=US cp mydataset.mymodel mydataset2.mymodel

מזינים את הפקודה הבאה כדי להעתיק את mydataset.mymodel וכדי להחליף מודל יעד עם אותו שם. מערך הנתונים של המקור נמצא בפרויקט ברירת המחדל. מערך נתוני היעד נמצא בmyotherproject. מקש הקיצור -f משמש כדי להחליף את מודל היעד בלי הנחיה. ‫mydataset ו-myotherdataset נוצרו במיקום US שכולל מספר אזורים.

bq --location=US cp -f mydataset.mymodel myotherproject:myotherdataset.mymodel

מזינים את הפקודה הבאה כדי להעתיק את mydataset.mymodel ולהחזיר שגיאה אם מערך הנתונים של היעד מכיל מודל עם אותו שם. מערך הנתונים של המקור נמצא בפרויקט ברירת המחדל. מערך נתוני היעד נמצא בmyotherproject. משתמשים בקיצור הדרך -n כדי למנוע החלפה של מודל בשם זהה. ‫Both מערכי הנתונים נוצרו במיקום US multi-region.

bq --location=US cp -n mydataset.mymodel myotherproject:myotherdataset.mymodel

מזינים את הפקודה הבאה כדי להעתיק את mydataset.mymodel אל mydataset2 ולשנות את השם של המודל mymodel2. שני מערכי הנתונים נמצאים בפרויקט שמוגדר כברירת המחדל. שני מערכי הנתונים נוצרו באזור asia-northeast1.

bq --location=asia-northeast1 cp mydataset.mymodel mydataset2.mymodel2

API

כדי להעתיק מודל באמצעות ה-API, צריך להפעיל את method‏ bigquery.jobs.insert ולהגדיר עבודת copy. מציינים את המיקום במאפיין location בקטע jobReference של משאב המשרה.

צריך לציין את הערכים הבאים בהגדרות האישיות של המשימה:

"copy": {
      "sourceTable": {       // Required
        "projectId": string, // Required
        "datasetId": string, // Required
        "tableId": string    // Required
      },
      "destinationTable": {  // Required
        "projectId": string, // Required
        "datasetId": string, // Required
        "tableId": string    // Required
      },
      "createDisposition": string,  // Optional
      "writeDisposition": string,   // Optional
    },

כאשר:

  • sourceTable: מספק מידע על המודל שרוצים להעתיק.
  • destinationTable: מספק מידע על המודל החדש.
  • createDisposition: מציין אם ליצור את המודל אם הוא לא קיים.
  • writeDisposition: מציין אם להחליף מודל קיים.

הצפנת מודלים

מידע נוסף על שימוש במפתח הצפנה בניהול הלקוח (CMEK) כדי להצפין מודל זמין במאמר בנושא שימוש ב-CMEK כדי להגן על מודלים של BigQuery ML.

המאמרים הבאים