ייצוא פריטי מידע שנוצרו בתהליך פיתוח (Artifact) של מודל לחיזוי

‫Google Distributed Cloud (GDC) air-gapped מציע קונטיינרים מוכנים מראש להצגת תחזיות אונליין ממודלים שאומנו באמצעות מסגרות למידת המכונה (ML) הבאות:

  • TensorFlow
  • PyTorch

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

לפני שמתחילים

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

  1. ליצור ולאמן מודל חיזוי שמכוון לאחד מהקונטיינרים הנתמכים.
  2. אם אין לכם פרויקט, צריך להגדיר פרויקט ל-Vertex AI.
  3. צריך לעבוד עם מפעיל התשתית (IO) כדי ליצור את אשכול החיזוי.

    ה-IO יוצר את האשכול בשבילכם, משייך אותו לפרויקט ומקצה את מאגרי הצמתים המתאימים באשכול, בהתאם למשאבים שאתם צריכים לחיזויים אונליין.

  4. יצירת קטגוריית אחסון לפרויקט.

  5. יוצרים את חשבון השירות של Vertex AI Default Serving ‏(vai-default-serving-sa) בפרויקט. מידע על חשבונות שירות זמין במאמר הגדרת חשבונות שירות.

  6. מקצים את התפקיד 'צפייה באובייקט בקטגוריה של הפרויקט' (project-bucket-object-viewer) לחשבון השירות 'הגשה כברירת מחדל ב-Vertex AI' (vai-default-serving-sa) עבור קטגוריית האחסון שיצרתם. מידע על מתן גישה לחשבונות שירות לדליים זמין במאמר מתן גישה לדלי.

  7. כדי לקבל את ההרשאות שנדרשות לגישה לחיזוי אונליין, צריך לבקש מאדמין ה-IAM של הפרויקט להקצות לכם את התפקיד 'משתמש בחיזוי של Vertex AI' (vertex-ai-prediction-user). מידע על התפקיד הזה מופיע במאמר הכנת הרשאות IAM.

  8. כדי לקבל את ההרשאות שנדרשות לפריסת מודלים של חיזוי אונליין, צריך לבקש מאדמין ה-IAM של הפרויקט להקצות לכם את התפקיד 'אדמין חיזוי' (vertex-ai-prediction-Admin) ב-Vertex AI. מידע על התפקיד הזה מופיע במאמר הכנת הרשאות IAM.

דרישות ספציפיות למסגרות לייצוא לקונטיינרים מוכנים מראש

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

TensorFlow

אם משתמשים ב-TensorFlow כדי לאמן מודל, צריך לייצא את המודל כספריית TensorFlow SavedModel.

יש כמה דרכים לייצא SavedModels מקוד האימון של TensorFlow. ברשימה הבאה מפורטות כמה דרכים שמתאימות לממשקי TensorFlow API שונים:

אם אתם לא משתמשים ב-Keras או ב-Estimator, הקפידו להשתמש בתג serve ובחתימה serving_default כשאתם מייצאים את SavedModel כדי לוודא ש-Vertex AI יוכל להשתמש בארטיפקטים של המודל כדי להכניס לשימוש בסביבת הייצור תחזיות. ‫Keras ו-Estimator מטפלים במשימה הזו באופן אוטומטי. מידע נוסף על ציון חתימות במהלך הייצוא

כדי להציג חיזויים באמצעות הארטיפקטים האלה, צריך ליצור Model עם קונטיינר מוכן מראש לחיזוי שתואם לגרסה של TensorFlow שבה השתמשתם לאימון.

PyTorch

אם משתמשים ב-PyTorch כדי לאמן מודל, צריך לארוז את ארטיפקטים של המודל, כולל handler ברירת מחדל או handler מותאם אישית, על ידי יצירת קובץ ארכיון באמצעות Torch model archiver. התמונות המוכנות מראש של PyTorch מצפות שהארכיון ייקרא model.mar, לכן חשוב לוודא ששם המודל מוגדר כ-model.

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

העלאת המודל

אתם צריכים להעלות את המודל אל קטגוריית האחסון שיצרתם. מידע נוסף על העלאת אובייקטים לקטגוריות אחסון זמין במאמר העלאה והורדה של אובייקטים של אחסון בפרויקטים.

הנתיב לקטגוריית האחסון של המודל צריך להיות במבנה הבא:

s3://BUCKET_NAME/MODEL_ID/MODEL_VERSION_ID

פרטים על הייצוא מפורטים במאמר בנושא דרישות ספציפיות למסגרות לייצוא למאגרי מידע מוכנים מראש.