ניהול מודלים

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

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

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

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

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

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

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

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

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

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

העתקת מודלים

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

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

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

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

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

העתקת מודל

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

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

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

המסוף

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

BQ

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

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

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

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

bq cp -f -n PROJECT_ID:DATASET.SOURCE_MODEL PROJECT_ID:DATASET.DESTINATION_MODEL

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

  • PROJECT_ID: מזהה הפרויקט.
  • DATASET: השם של מערך הנתונים של המקור או היעד.
  • SOURCE_MODEL: המודל שאתם מעתיקים.
  • DESTINATION_MODEL: השם של המודל במערך הנתונים של היעד.

דוגמאות:

מזינים את הפקודה הבאה כדי להעתיק את mydataset.mymodel אל mydataset2.

bq cp mydataset.mymodel mydataset2.mymodel

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

bq cp -f mydataset.mymodel myotherproject:myotherdataset.mymodel

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

bq cp -n mydataset.mymodel myotherproject:myotherdataset.mymodel

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

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

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