ב-Google Distributed Cloud (GDC) עם air gap יש קונטיינרים מובְנים שמאפשרים להציג חיזויים אונליין ממודלים שאומנו באמצעות המסגרות הבאות של למידת מכונה (ML):
- TensorFlow
- PyTorch
כדי להשתמש באחד מהקונטיינרים האלה, צריך לשמור את המודל בתור פריט מידע אחד או יותר של המודל, שעומדים בדרישות של הקונטיינר שהוגדר מראש. הדרישות האלה חלות גם אם פריטי המודל נוצרו ב-Distributed Cloud וגם אם לא.
לפני שמתחילים
לפני שמייצאים פריטי מידע שנוצרו באופן מלאכותי של מודל, מבצעים את השלבים הבאים:
- יוצרים ומאמנים מודל חיזוי שמטרגט את אחד מהקונטיינרים הנתמכים.
- אם אין לכם פרויקט, הגדירו פרויקט ל-Vertex AI.
מבקשים ממפעיל התשתית (IO) ליצור את אשכול החיזוי.
ה-IO יוצר את האשכול, משייך אותו לפרויקט ומקצה את מאגרי הצמתים המתאימים בתוך האשכול, בהתאם למשאבים שדרושים לחיזוי אונליין.
יוצרים בפרויקט את חשבון השירות Vertex AI Default Serving (
vai-default-serving-sa). מידע נוסף על חשבונות שירות זמין במאמר הגדרת חשבונות שירות.מקצים את התפקיד "צפייה באובייקטים בקטגוריות של הפרויקט" (
project-bucket-object-viewer) לחשבון השירות Vertex AI Default Serving (vai-default-serving-sa) בקטגוריית האחסון שיצרתם. במאמר מתן גישה לקטגוריה מוסבר איך נותנים לחשבונות שירות גישה לקטגוריה.כדי לקבל את ההרשאות שנדרשות לגישה לחיזוי אונליין, בקשו מהאדמין של הפרויקט ב-IAM להקצות לכם את התפקיד "משתמש בחיזוי ב-Vertex AI" (
vertex-ai-prediction-user). במאמר הכנת הרשאות IAM מוסבר על התפקיד הזה.כדי לקבל את ההרשאות שנדרשות לפריסת מודלים של חיזוי אונליין, צריך לבקש מהאדמין של הפרויקט ב-IAM להקצות לכם את התפקיד "אדמין של חיזוי ב-Vertex AI" (
vertex-ai-prediction-Admin). במאמר הכנת הרשאות IAM מוסבר על התפקיד הזה.
דרישות ספציפיות למסגרת לייצוא לקונטיינרים מוגדרים מראש
בהתאם למסגרת ה-ML שבה אתם מתכננים להשתמש לחיזוי, אתם צריכים לייצא פריטי מידע שנוצרו בתהליך הפיתוח של המודל בפורמטים שונים. בקטעים הבאים מתוארים הפורמטים הקבילים של מודלים לכל מסגרת של למידת מכונה.
TensorFlow
אם אתם משתמשים ב-TensorFlow כדי לאמן מודל, אתם צריכים לייצא את המודל כספריית SavedModel של TensorFlow.
יש כמה דרכים לייצא את SavedModels מקוד האימון של TensorFlow. ברשימה הבאה מתוארות כמה דרכים שמתאימות לממשקי API שונים של TensorFlow:
אם אתם משתמשים ב-Keras לאימון, השתמשו ב-
tf.keras.Model.saveכדי לייצא SavedModel.אם אתם משתמשים ב-Estimator לאימון, השתמשו ב-
tf.estimator.Estimator.export_saved_modelכדי לייצא SavedModel.אחרת, השתמשו ב-
tf.saved_model.saveאו השתמשו ב-tf.compat.v1.saved_model.SavedModelBuilder.
אם אתם לא משתמשים ב-Keras או ב-Estimator, הקפידו להשתמש בתג serve ובחתימה serving_default כשאתם מייצאים את ה-SavedModel, כדי לוודא ש-Vertex AI יוכל להשתמש ברכיבי המודל שלכם להצגת חיזויים. Keras ו-Estimator מטפלים במשימה הזו באופן אוטומטי.
מידע נוסף על ציון חתימות במהלך הייצוא
כדי להציג חיזויים באמצעות פריטי המידע האלה, צריך ליצור Model עם קונטיינר מובנה לחיזוי שתואם לגרסת TensorFlow שבה השתמשתם לאימון.
PyTorch
אם אתם משתמשים ב-PyTorch כדי לאמן מודל, אתם צריכים לארוז את פריטי המידע שנוצרו בתהליך הפיתוח של המודל, כולל handler ברירת מחדל או handler בהתאמה אישית, על ידי יצירת קובץ ארכיון באמצעות Torch model archiver.
תמונות PyTorch המובנות מראש מצפות שהארכיון ייקרא model.mar, לכן חשוב להגדיר את שם המודל כ-model.
במדריך הביצועים של PyTorch מוסבר איך לשפר את השימוש בזיכרון, את זמן האחזור או את קצב הנתונים של מודל PyTorch שמוגש באמצעות TorchServe.
העלאת המודל
אתם צריכים להעלות את המודל לקטגוריית האחסון שיצרתם. מידע נוסף על העלאת אובייקטים לקטגוריות אחסון מופיע במאמר העלאה והורדה של אובייקטים באחסון בפרויקטים.
הנתיב לקטגוריית האחסון של המודל צריך להיות במבנה הבא:
s3://BUCKET_NAME/MODEL_ID/MODEL_VERSION_ID
לפרטים על הייצוא, ראו את הדרישות הספציפיות למסגרת לייצוא לקונטיינרים מוגדרים מראש.