Agent Platform מקצה צמתים לטיפול בהסקת מסקנות אונליין ובאצווה.
כשפורסים מודל שאומן בהתאמה אישית או מודל AutoML למשאב Endpointכדי להכניס לשימוש בסביבת הייצור מסקנות אונליין או כשמבקשים מסקנות באצווה, אפשר להתאים אישית את סוג המכונה הווירטואלית ששירות ההסקה משתמש בה לצמתים האלה. אפשר גם להגדיר צמתי הסקה לשימוש במעבדים גרפיים.
יש כמה הבדלים בין סוגי המכונות:
- מספר המעבדים הווירטואליים (vCPU) לכל צומת
- נפח הזיכרון לכל צומת
- Pricing
אם בוחרים סוג מכונה עם יותר משאבי מחשוב, אפשר להציג מסקנות עם חביון נמוך יותר או לטפל ביותר בקשות למסקנות בו-זמנית.
ניהול עלויות וזמינות
כדי לעזור לכם לנהל את העלויות או לוודא שהמשאבים של המכונות הווירטואליות זמינים, Agent Platform מספק את האפשרויות הבאות:
כדי לוודא שאתם משלמים רק על משאבי המחשוב שאתם צריכים, אתם יכולים להשתמש בהתאמת קנה מידה אוטומטית של Vertex AI Inference. מידע נוסף מופיע במאמר בנושא שינוי גודל של צמתי הסקה ב-Vertex AI Inference.
כדי לוודא שמשאבי המכונות הווירטואליות זמינים כשעבודות ההסקה צריכות אותם, אפשר להשתמש בהזמנות ב-Compute Engine. הזמנות מספקות רמת ודאות גבוהה לגבי קבלת קיבולת למשאבי Compute Engine. מידע נוסף זמין במאמר בנושא שימוש בהזמנות עם הסקה.
כדי להפחית את העלות של הפעלת משימות ההיסק, אפשר להשתמש במכונות וירטואליות מסוג Spot. מכונות וירטואליות נקודתיות הן מכונות וירטואליות (VM) שהן עודף קיבולת של Compute Engine. מכונות וירטואליות מסוג Spot נהנות מהנחות משמעותיות, אבל מערכת Compute Engine עשויה להפסיק או למחוק מכונות וירטואליות מסוג Spot באופן יזום כדי לפנות קיבולת בכל שלב. מידע נוסף זמין במאמר שימוש במכונות וירטואליות מסוג Spot עם הסקה.
איפה מציינים משאבי מחשוב
אפשר להגדיר את סוגי המכונות ואת הגדרות ההאצה כשפורסים את המודל להסקת מסקנות אונליין או כשיוצרים משימה להסקת מסקנות באצווה.
הסקת מסקנות אונליין
אם רוצים להשתמש במודל שעבר אימון בהתאמה אישית או במודל טבלאי של AutoML כדי להציג מסקנות אונליין, צריך לציין סוג מכונה כשפורסים את המשאב Model כDeployedModel ב-Endpoint. בסוגים אחרים של מודלים של AutoML, Agent Platform מגדירה את סוגי המכונות באופן אוטומטי.
מציינים את סוג המכונה (ואופציונלית, את הגדרות ה-GPU) בשדה dedicatedResources.machineSpec של DeployedModel.
הסבר על פריסת כל סוג של מודל:
- פריסת מודל טבלאי של AutoML במסוף Google Cloud
- פריסת מודל עם אימון בהתאמה אישית במסוף Google Cloud
- פריסת מודל שעבר אימון בהתאמה אישית באמצעות ספריות לקוח
היסק באצווה
אם רוצים לקבל מסקנות אצווה ממודל עם אימון בהתאמה אישית או ממודל טבלאי של AutoML, צריך לציין סוג מכונה כשיוצרים משאב BatchPredictionJob. מציינים את סוג המכונה (ואופציונלית, את הגדרת ה-GPU) בשדה dedicatedResources.machineSpec של BatchPredictionJob.
סוגי מכונות
בטבלאות הבאות מוצגות השוואות בין סוגי המכונות שזמינים להסקת מסקנות ממודלים שעברו אימון מותאם אישית וממודלים טבלאיים של AutoML.
מידע על סוגי מאיצי TPU זמין במאמר פריסת מודל במכונות וירטואליות של Cloud TPU.
סוגי מכונות: מעבד (CPU)
E2 Series
| שם | מעבדים וירטואלים | זיכרון (GB) |
|---|---|---|
e2-standard-2 |
2 | 8 |
e2-standard-4 |
4 | 16 |
e2-standard-8 |
8 | 32 |
e2-standard-16 |
16 | 64 |
e2-standard-32 |
32 | 128 |
e2-highmem-2 |
2 | 16 |
e2-highmem-4 |
4 | 32 |
e2-highmem-8 |
8 | 64 |
e2-highmem-16 |
16 | 128 |
e2-highcpu-2 |
2 | 2 |
e2-highcpu-4 |
4 | 4 |
e2-highcpu-8 |
8 | 8 |
e2-highcpu-16 |
16 | 16 |
e2-highcpu-32 |
32 | 32 |
N1 Series
| שם | מעבדים וירטואלים | זיכרון (GB) |
|---|---|---|
n1-standard-2 |
2 | 7.5 |
n1-standard-4 |
4 | 15 |
n1-standard-8 |
8 | 30 |
n1-standard-16 |
16 | 60 |
n1-standard-32 |
32 | 120 |
n1-highmem-2 |
2 | 13 |
n1-highmem-4 |
4 | 26 |
n1-highmem-8 |
8 | 52 |
n1-highmem-16 |
16 | 104 |
n1-highmem-32 |
32 | 208 |
n1-highcpu-4 |
4 | 3.6 |
n1-highcpu-8 |
8 | 7.2 |
n1-highcpu-16 |
16 | 14.4 |
n1-highcpu-32 |
32 | 28.8 |
N2 Series
| שם | מעבדים וירטואלים | זיכרון (GB) |
|---|---|---|
n2-standard-2 |
2 | 8 |
n2-standard-4 |
4 | 16 |
n2-standard-8 |
8 | 32 |
n2-standard-16 |
16 | 64 |
n2-standard-32 |
32 | 128 |
n2-standard-48 |
48 | 192 |
n2-standard-64 |
64 | 256 |
n2-standard-80 |
80 | 320 |
n2-standard-96 |
96 | 384 |
n2-standard-128 |
128 | 512 |
n2-highmem-2 |
2 | 16 |
n2-highmem-4 |
4 | 32 |
n2-highmem-8 |
8 | 64 |
n2-highmem-16 |
16 | 128 |
n2-highmem-32 |
32 | 256 |
n2-highmem-48 |
48 | 384 |
n2-highmem-64 |
64 | 512 |
n2-highmem-80 |
80 | 640 |
n2-highmem-96 |
96 | 768 |
n2-highmem-128 |
128 | 864 |
n2-highcpu-2 |
2 | 2 |
n2-highcpu-4 |
4 | 4 |
n2-highcpu-8 |
8 | 8 |
n2-highcpu-16 |
16 | 16 |
n2-highcpu-32 |
32 | 32 |
n2-highcpu-48 |
48 | 48 |
n2-highcpu-64 |
64 | 64 |
n2-highcpu-80 |
80 | 80 |
n2-highcpu-96 |
96 | 96 |
N2D Series
| שם | מעבדים וירטואלים | זיכרון (GB) |
|---|---|---|
n2d-standard-2 |
2 | 8 |
n2d-standard-4 |
4 | 16 |
n2d-standard-8 |
8 | 32 |
n2d-standard-16 |
16 | 64 |
n2d-standard-32 |
32 | 128 |
n2d-standard-48 |
48 | 192 |
n2d-standard-64 |
64 | 256 |
n2d-standard-80 |
80 | 320 |
n2d-standard-96 |
96 | 384 |
n2d-standard-128 |
128 | 512 |
n2d-standard-224 |
224 | 896 |
n2d-highmem-2 |
2 | 16 |
n2d-highmem-4 |
4 | 32 |
n2d-highmem-8 |
8 | 64 |
n2d-highmem-16 |
16 | 128 |
n2d-highmem-32 |
32 | 256 |
n2d-highmem-48 |
48 | 384 |
n2d-highmem-64 |
64 | 512 |
n2d-highmem-80 |
80 | 640 |
n2d-highmem-96 |
96 | 768 |
n2d-highcpu-2 |
2 | 2 |
n2d-highcpu-4 |
4 | 4 |
n2d-highcpu-8 |
8 | 8 |
n2d-highcpu-16 |
16 | 16 |
n2d-highcpu-32 |
32 | 32 |
n2d-highcpu-48 |
48 | 48 |
n2d-highcpu-64 |
64 | 64 |
n2d-highcpu-80 |
80 | 80 |
n2d-highcpu-96 |
96 | 96 |
n2d-highcpu-128 |
128 | 128 |
n2d-highcpu-224 |
224 | 224 |
C2 Series
| שם | מעבדים וירטואלים | זיכרון (GB) |
|---|---|---|
c2-standard-4 |
4 | 16 |
c2-standard-8 |
8 | 32 |
c2-standard-16 |
16 | 64 |
c2-standard-30 |
30 | 120 |
c2-standard-60 |
60 | 240 |
C2D Series
| שם | מעבדים וירטואלים | זיכרון (GB) |
|---|---|---|
c2d-standard-2 |
2 | 8 |
c2d-standard-4 |
4 | 16 |
c2d-standard-8 |
8 | 32 |
c2d-standard-16 |
16 | 64 |
c2d-standard-32 |
32 | 128 |
c2d-standard-56 |
56 | 224 |
c2d-standard-112 |
112 | 448 |
c2d-highcpu-2 |
2 | 4 |
c2d-highcpu-4 |
4 | 8 |
c2d-highcpu-8 |
8 | 16 |
c2d-highcpu-16 |
16 | 32 |
c2d-highcpu-32 |
32 | 64 |
c2d-highcpu-56 |
56 | 112 |
c2d-highcpu-112 |
112 | 224 |
c2d-highmem-2 |
2 | 16 |
c2d-highmem-4 |
4 | 32 |
c2d-highmem-8 |
8 | 64 |
c2d-highmem-16 |
16 | 128 |
c2d-highmem-32 |
32 | 256 |
c2d-highmem-56 |
56 | 448 |
c2d-highmem-112 |
112 | 896 |
C3 Series
| שם | מעבדים וירטואלים | זיכרון (GB) |
|---|---|---|
c3-highcpu-4 |
4 | 8 |
c3-highcpu-8 |
8 | 16 |
c3-highcpu-22 |
22 | 44 |
c3-highcpu-44 |
44 | 88 |
c3-highcpu-88 |
88 | 176 |
c3-highcpu-176 |
176 | 352 |
סוגי מכונות: GPU
A2 Series
| שם | מעבדים וירטואלים | זיכרון (GB) | מעבדים גרפיים (NVIDIA A100) |
|---|---|---|---|
a2-highgpu-1g |
12 | 85 | 1 (A100 40GB) |
a2-highgpu-2g |
24 | 170 | 2 (A100 40GB) |
a2-highgpu-4g |
48 | 340 | 4 (A100 40GB) |
a2-highgpu-8g |
96 | 680 | 8 (A100 40GB) |
a2-megagpu-16g |
96 | 1360 | 16 (A100 40GB) |
a2-ultragpu-1g |
12 | 170 | 1 (A100 80GB) |
a2-ultragpu-2g |
24 | 340 | 2 (A100 80GB) |
a2-ultragpu-4g |
48 | 680 | 4 (A100 80GB) |
a2-ultragpu-8g |
96 | 1360 | 8 (A100 80GB) |
A3 Series
| שם | מעבדים וירטואלים | זיכרון (GB) | מעבדי GPU (NVIDIA H100 או H200) |
|---|---|---|---|
a3-highgpu-1g |
26 | 234 | 1 (H100 80GB) |
a3-highgpu-2g |
52 | 468 | 2 (H100 80GB) |
a3-highgpu-4g |
104 | 936 | 4 (H100 80GB) |
a3-highgpu-8g |
208 | 1872 | 8 (H100 80GB) |
a3-edgegpu-8g |
208 | 1872 | 8 (H100 80GB) |
a3-ultragpu-8g |
224 | 2952 | 8 (H200 141GB) |
A4 Series
| שם | מעבדים וירטואלים | זיכרון (GB) | יחידות GPU (NVIDIA B200) |
|---|---|---|---|
a4-highgpu-8g |
224 | 3,968 | 8 |
A4X Series
| שם | מעבדים וירטואלים | זיכרון (GB) | יחידות GPU (NVIDIA GB200) |
|---|---|---|---|
a4x-highgpu-4g |
140 | 884 | 4 |
G2 Series
| שם | מעבדים וירטואלים | זיכרון (GB) | יחידות GPU (NVIDIA L4) |
|---|---|---|---|
g2-standard-4 |
4 | 16 | 1 |
g2-standard-8 |
8 | 32 | 1 |
g2-standard-12 |
12 | 48 | 1 |
g2-standard-16 |
16 | 64 | 1 |
g2-standard-24 |
24 | 96 | 2 |
g2-standard-32 |
32 | 128 | 1 |
g2-standard-48 |
48 | 192 | 4 |
g2-standard-96 |
96 | 384 | 8 |
G4 Series
| שם | מעבדים וירטואלים | זיכרון (GB) | יחידות GPU (NVIDIA RTX PRO 6000) |
|---|---|---|---|
g4-standard-48 |
48 | 180 | 1 |
g4-standard-96 |
96 | 360 | 2 |
g4-standard-192 |
192 | 720 | 4 |
g4-standard-384 |
384 | 1440 | 8 |
מידע על התמחור של כל סוג מכונה מידע נוסף על המפרטים המפורטים של סוגי המכונות האלה זמין במאמרי העזרה של Compute Engine בנושא סוגי מכונות.
מציאת סוג המכונה האידיאלי
ההנחיות הבאות יעזרו לכם לקבוע את סוג המכונה המתאים ביותר לעומסי העבודה של הסקת מסקנות אונליין או של הסקת מסקנות באצווה.
הסקת מסקנות אונליין
כדי למצוא את סוג המכונה האידיאלי לתרחיש השימוש שלכם, מומלץ לטעון את המודל בכמה סוגי מכונות ולמדוד מאפיינים כמו זמן האחזור, העלות, המקבילות וקצב העברת הנתונים.
אחת הדרכים לעשות זאת היא להריץ את המחברת לדוגמה למציאת סוג מכונה אידיאלי בכמה סוגי מכונות ולהשוות את התוצאות כדי למצוא את סוג המכונה שהכי מתאים לכם.
פלטפורמת הסוכנים של Gemini Enterprise שומרת בערך vCPU אחד בכל עותק משוכפל להרצת תהליכי מערכת. המשמעות היא שהרצת המחברת בסוג מכונה עם ליבה אחת תהיה דומה לשימוש בסוג מכונה עם 2 ליבות להצגת מסקנות.
כשחושבים על עלויות ההסקה, חשוב לזכור שלמרות שמכונות גדולות יותר עולות יותר, הן יכולות להפחית את העלות הכוללת כי נדרשים פחות עותקים כדי להציג את אותו עומס עבודה. זה בולט במיוחד במעבדים גרפיים (GPU), שבדרך כלל עולים יותר לשעה, אבל יכולים לספק זמן אחזור נמוך יותר ועלות כוללת נמוכה יותר.
היסק באצווה
מידע נוסף זמין במאמר בחירת סוג מכונה ומספר העותקים.
מאיצי GPU אופציונליים
חלק מהתצורות, כמו סדרת A2 וסדרת G2, כוללות מספר קבוע של GPU מובנים.
בסדרת A4X (a4x-highgpu-4g)
נדרש מספר מינימלי של 18 עותקים משוכפלים. המכונה הזו נרכשת לכל מתלה, ויש בה לפחות 18 מכונות וירטואליות.
במכונות וירטואליות אחרות, כמו סדרת N1, אפשר להוסיף יחידות GPU כדי להאיץ כל צומת הסקה. עם זאת, באזור me-west1, סוגי מכונות מסדרת N1 נתמכים רק בשילוב עם מאיץ NVIDIA Tesla T4 GPU. אין תמיכה בשימוש בסוג מכונה N1 שמבוסס רק על CPU ב-me-west1.
כדי להוסיף מאיצי GPU אופציונליים, צריך לעמוד בכמה דרישות:
- אפשר להשתמש ב-GPU רק אם משאב
Modelמבוסס על TensorFlow SavedModel, או אם משתמשים במאגר תמונות מותאם אישית שנועד לנצל את היתרונות של GPU. אי אפשר להשתמש ב-GPU למודלים של scikit-learn או XGBoost. - הזמינות של כל סוג GPU משתנה בהתאם לאזור שבו משתמשים עבור המודל. אילו סוגי GPU זמינים באילו אזורים
- אפשר להשתמש רק בסוג אחד של GPU עבור משאב
DeployedModelאוBatchPredictionJob, ויש מגבלות על מספר יחידות ה-GPU שאפשר להוסיף, בהתאם לסוג המכונה שבה משתמשים. בטבלה הבאה מתוארות המגבלות האלה.
בטבלה הבאה מוצגים סוגי ה-GPU האופציונליים שזמינים להסקת מסקנות אונליין, ומספר יחידות ה-GPU מכל סוג שאפשר להשתמש בהן עם כל סוג מכונה של Compute Engine:
| מספרים תקינים של יחידות GPU לכל סוג מכונה | |||||
|---|---|---|---|---|---|
| סוג המכונה | NVIDIA Tesla P100 | NVIDIA Tesla V100 | NVIDIA Tesla P4 | NVIDIA Tesla T4 | |
n1-standard-2 |
1, 2, 4 | 1, 2, 4, 8 | 1, 2, 4 | 1, 2, 4 | |
n1-standard-4 |
1, 2, 4 | 1, 2, 4, 8 | 1, 2, 4 | 1, 2, 4 | |
n1-standard-8 |
1, 2, 4 | 1, 2, 4, 8 | 1, 2, 4 | 1, 2, 4 | |
n1-standard-16 |
1, 2, 4 | 2, 4, 8 | 1, 2, 4 | 1, 2, 4 | |
n1-standard-32 |
2, 4 | 4, 8 | 2, 4 | 2, 4 | |
n1-highmem-2 |
1, 2, 4 | 1, 2, 4, 8 | 1, 2, 4 | 1, 2, 4 | |
n1-highmem-4 |
1, 2, 4 | 1, 2, 4, 8 | 1, 2, 4 | 1, 2, 4 | |
n1-highmem-8 |
1, 2, 4 | 1, 2, 4, 8 | 1, 2, 4 | 1, 2, 4 | |
n1-highmem-16 |
1, 2, 4 | 2, 4, 8 | 1, 2, 4 | 1, 2, 4 | |
n1-highmem-32 |
2, 4 | 4, 8 | 2, 4 | 2, 4 | |
n1-highcpu-2 |
1, 2, 4 | 1, 2, 4, 8 | 1, 2, 4 | 1, 2, 4 | |
n1-highcpu-4 |
1, 2, 4 | 1, 2, 4, 8 | 1, 2, 4 | 1, 2, 4 | |
n1-highcpu-8 |
1, 2, 4 | 1, 2, 4, 8 | 1, 2, 4 | 1, 2, 4 | |
n1-highcpu-16 |
1, 2, 4 | 2, 4, 8 | 1, 2, 4 | 1, 2, 4 | |
n1-highcpu-32 |
2, 4 | 4, 8 | 2, 4 | 2, 4 | |
מעבדי GPU אופציונליים כרוכים בעלויות נוספות.
תזמון של כמה עותקים משוכפלים במכונה וירטואלית אחת
כדי לייעל את העלות של הפריסה, אפשר לפרוס כמה רפליקות של אותו מודל במכונה וירטואלית אחת שמצוידת בכמה מאיצי חומרה של GPU, כמו מכונת a3-highgpu-8g VM, שיש לה שמונה GPU מסוג NVIDIA H100. אפשר להקצות כל העתק של מודל למעבד GPU אחד או יותר.
עבור עומסי עבודה קטנים יותר, אפשר גם לחלק GPU יחיד למספר מופעים קטנים יותר באמצעות יחידות GPU מרובות מופעים (MIG) של NVIDIA. כך אפשר להקצות משאבים ברמת משנה של GPU, ולמקסם את השימוש בכל מאיץ. מידע נוסף על יחידות GPU מרובות מופעים זמין במדריך למשתמש של NVIDIA בנושא יחידות GPU מרובות מופעים.
שתי היכולות האלה נועדו לספק ניצול יעיל יותר של משאבים וחיסכון בעלויות של עומסי העבודה שלכם.
מגבלות
התכונה הזו כפופה למגבלות הבאות:
- כל העותקים של המודל שנקבעו להפעלה משותפת חייבים להיות מאותה גרסת מודל.
- השימוש במאגרי משאבים לפריסה כדי לשתף משאבים בין פריסות לא נתמך.
סוגי מכונות נתמכים
אלה סוגי המכונות שנתמכים. שימו לב: בסוגי מכונות שיש בהן רק GPU אחד, לא נדרש תזמון משותף.
| סוג המכונה | Coschedule | Coschedule + MIG |
|---|---|---|
| a2-highgpu-1g | לא רלוונטי | כן |
| a2-highgpu-2g | כן | כן |
| a2-highgpu-4g | כן | כן |
| a2-highgpu-8g | כן | כן |
| a2-highgpu-16g | כן | כן |
| a2-ultragpu-1g | לא רלוונטי | כן |
| a2-ultragpu-2g | כן | כן |
| a2-ultragpu-4g | כן | כן |
| a2-ultragpu-8g | כן | כן |
| a3-edgegpu-8g | כן | כן |
| a3-highgpu-1g | לא רלוונטי | כן |
| a3-highgpu-2g | כן | כן |
| a3-highgpu-4g | כן | כן |
| a3-highgpu-8g | כן | כן |
| a3-megagpu-8g | כן | כן |
| a3-ultragpu-8g | כן | כן |
| a4-highgpu-8g | כן | כן |
| a4x-highgpu-8g | כן | כן |
| g4-standard-48 | לא רלוונטי | כן |
| g4-standard-96 | כן | כן |
| g4-standard-192 | כן | כן |
| g4-standard-384 | כן | כן |
דרישות מוקדמות
לפני שמשתמשים בתכונה הזו, כדאי לקרוא את המאמר בנושא פריסת מודל באמצעות gcloud CLI או Agent Platform API.
פריסת העותקים של המודל
בדוגמאות הבאות מוסבר איך לפרוס רפליקות של מודלים שמתזמנים אותן יחד.
gcloud
משתמשים בפקודה gcloud הבאה כדי לפרוס רפליקות של מודלים עם תזמון משותף במכונה וירטואלית:
gcloud ai endpoints deploy-model ENDPOINT_ID \
--region=LOCATION_ID \
--model=MODEL_ID \
--display-name=DEPLOYED_MODEL_NAME \
--min-replica-count=MIN_REPLICA_COUNT \
--max-replica-count=MAX_REPLICA_COUNT \
--machine-type=MACHINE_TYPE \
--accelerator=type=ACC_TYPE,count=ACC_COUNT \
--traffic-split=0=100
מחליפים את מה שכתוב בשדות הבאים:
- ENDPOINT_ID: המזהה של נקודת הקצה.
- LOCATION_ID: האזור שבו משתמשים ב-Agent Platform.
- MODEL_ID: מזהה המודל של המודל שרוצים לפרוס.
-
DEPLOYED_MODEL_NAME: שם ל-
DeployedModel. אפשר גם להשתמש בשם המוצג שלModelבשבילDeployedModel. - MIN_REPLICA_COUNT: מספר הצמתים המינימלי לפריסה הזו. אפשר להגדיל או להקטין את מספר הצמתים לפי הצורך בהתאם לעומס ההסקה, עד למספר המקסימלי של הצמתים, אבל אף פעם לא פחות ממספר הצמתים הזה.
- MAX_REPLICA_COUNT: המספר המקסימלי של הצמתים לפריסה הזו. אפשר להגדיל או להקטין את מספר הצמתים בהתאם לעומס ההסקה, עד למספר הצמתים הזה ולעולם לא פחות ממספר הצמתים המינימלי. . נדרשת מכונה וירטואלית אחת לכל 2 רפליקות שרוצים לפרוס.
- MACHINE_TYPE: סוג המכונה הווירטואלית שבה רוצים להשתמש לפריסה הזו. צריך להיות ממשפחת הגופנים שעברו אופטימיזציה למעבד גרפי.
- ACC_TYPE: סוג מאיץ ה-GPU. הערך צריך להיות זהה לערך של MACHINE_TYPE. בשביל
a3-highgpu-8g, משתמשים ב-nvidia-h100-80gb. - ACC_COUNT: מספר יחידות ה-GPU שכל עותק יכול להשתמש בהן. הערך חייב להיות לפחות 1 ולא יותר מהמספר הכולל של יחידות ה-GPU במחשב.
REST
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
- PROJECT_NUMBER: מספר הפרויקט.
- LOCATION_ID: האזור שבו משתמשים ב-Agent Platform.
- MODEL_ID: המזהה של המודל שרוצים לפרוס.
-
DEPLOYED_MODEL_NAME: שם ל-
DeployedModel. אפשר גם להשתמש בשם המוצג שלModelבשבילDeployedModel. -
MACHINE_TYPE: אופציונלי. משאבי המכונה שמשמשים לכל צומת בפריסה הזו. הגדרת ברירת המחדל היא
n1-standard-2. מידע נוסף על סוגי מכונות - ACC_TYPE: סוג מאיץ ה-GPU. צריך להתאים ל-`GPU_PARTITION_SIZE`.
- GPU_PARTITION_SIZE: גודל המחיצה של ה-GPU. לדוגמה, "1g.10gb".
- ACC_COUNT: מספר יחידות ה-GPU שכל עותק יכול להשתמש בהן. הערך חייב להיות לפחות 1 ולא יותר מהמספר הכולל של יחידות ה-GPU במחשב.
- MIN_REPLICA_COUNT: מספר הצמתים המינימלי לפריסה הזו. אפשר להגדיל או להקטין את מספר הצמתים לפי הצורך בהתאם לעומס ההסקה, עד למספר המקסימלי של הצמתים, אבל אף פעם לא פחות ממספר הצמתים הזה.
- MAX_REPLICA_COUNT: המספר המקסימלי של הצמתים לפריסה הזו. אפשר להגדיל או להקטין את מספר הצמתים בהתאם לעומס ההסקה, עד למספר הצמתים הזה ולעולם לא פחות ממספר הצמתים המינימלי.
ה-method של ה-HTTP וכתובת ה-URL:
POST https://LOCATION_ID-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION_ID/endpoints/ENDPOINT_ID:deployModel
תוכן בקשת JSON:
{
"deployedModel": {
"model": "projects/PROJECT_NUMBER/locations/LOCATION_ID/models/MODEL_ID",
"displayName": "DEPLOYED_MODEL_NAME",
"dedicatedResources": {
"machineSpec": {
"machineType": "MACHINE_TYPE",
"acceleratorType": "ACC_TYPE",
"gpuPartitionSize": "GPU_PARTITION_SIZE",
"acceleratorCount": "ACC_COUNT""
},
"minReplicaCount": MIN_REPLICA_COUNT,
"maxReplicaCount": MAX_REPLICA_COUNT,
"autoscalingMetricSpecs": [
{
"metricName": "aiplatform.googleapis.com/prediction/online/accelerator/duty_cycle",
"target": 70
}
]
}
}
}
כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:
אמורים לקבל קוד סטטוס של הצלחה (2xx) ותגובה ריקה.
Python
במאמר התקנת Vertex AI SDK ל-Python מוסבר איך להתקין או לעדכן את Vertex AI SDK ל-Python. מידע נוסף מופיע ב מאמרי העזרה של Python API.
משתמשים בפקודת Python הבאה כדי לפרוס עותקים של מודל שמתזמנים אותם יחד במכונה וירטואלית.
endpoint.deploy(
model=<var>MODEL</var>,
machine_type=MACHINE_TYPE,
min_replica_count=MIN_REPLICA_COUNT,
max_replica_count=MAX_REPLICA_COUNT,
accelerator_type=ACC_TYPE,
gpu_partition_size=GPU_PARTITION_SIZE,
accelerator_count=ACC_COUNT
)
מחליפים את מה שכתוב בשדות הבאים:
MODEL: אובייקט המודל שמוחזר על ידי הקריאה הבאה ל-API:
model = aiplatform.Model(model_name=model_name)MACHINE_TYPE: סוג המכונה הווירטואלית שבה רוצים להשתמש לפריסה הזו. צריך להיות ממשפחת הגופנים שעברו אופטימיזציה למעבד גרפי. בתצוגה המקדימה, יש תמיכה רק ב-
a3-highgpu-8g.MIN_REPLICA_COUNT: מספר הצמתים המינימלי לפריסה הזו. אפשר להגדיל או להקטין את מספר הצמתים לפי הצורך בהתאם לעומס ההסקה, עד למספר המקסימלי של הצמתים, אבל אף פעם לא פחות ממספר הצמתים הזה.
MAX_REPLICA_COUNT: המספר המקסימלי של הצמתים לפריסה הזו. אפשר להגדיל או להקטין את מספר הצמתים בהתאם לעומס ההסקה, עד למספר הצמתים הזה ולעולם לא פחות ממספר הצמתים המינימלי.
ACC_TYPE: סוג מאיץ ה-GPU. הערך צריך להיות זהה לערך של GPU_PARTITION_SIZE.
GPU_PARTITION_SIZE: גודל המחיצה של ה-GPU. לדוגמה,
"1g.10gb". רשימה מקיפה של גדלי המחיצות הנתמכים לכל סוג GPU זמינה במאמר בנושא מחיצות GPU מרובות מופעים.ACC_COUNT: מספר יחידות ה-GPU שכל עותק יכול להשתמש בהן. הערך חייב להיות לפחות 1 ולא יותר מהמספר הכולל של יחידות ה-GPU במחשב. בשביל
a3-highgpu-8g, מציינים מספר בין 1 ל-8.
מעקב אחר השימוש במכונות וירטואליות
כדי לעקוב אחרי מספר המכונות בפועל של העותקים שהופעלו, משתמשים בהוראות הבאות ב-Metrics Explorer.
נכנסים לדף Metrics Explorer במסוף Google Cloud .
בוחרים את הפרויקט שרוצים לראות את המדדים שלו.
בתפריט הנפתח מדד, לוחצים על בחירת מדד.
בסרגל החיפוש סינון לפי שם משאב או שם מדד, מזינים
Gemini Enterprise Agent Platform Endpoint.בוחרים בקטגוריית המדדים Agent Platform Endpoint > Prediction. בקטע Active metrics, בוחרים באפשרות Machine count.
לוחצים על אישור.
חיוב
החיוב מבוסס על מספר המכונות הווירטואליות שבהן נעשה שימוש, ולא על מספר יחידות ה-GPU. אתם יכולים לעקוב אחר השימוש במכונה הווירטואלית באמצעות Metrics Explorer.
זמינות גבוהה
מכיוון שיותר מרפליקה אחת מתוזמנת במשותף באותה מכונה וירטואלית, Vertex AI Inference לא יכול לפרוס את הפריסה שלכם על פני כמה מכונות וירטואליות, ולכן על פני כמה אזורים, עד שמספר הרפליקות יעלה על מספר הצמתים של המכונה הווירטואלית. לצורך זמינות גבוהה, Google ממליצה לפרוס לפחות שני צמתים (מכונות וירטואליות).
המאמרים הבאים
- פריסת מודל טבלאי של AutoML במסוף Google Cloud
- פריסת מודל עם אימון בהתאמה אישית במסוף Google Cloud
- פריסת מודל שעבר אימון בהתאמה אישית באמצעות ספריות לקוח
- קבלת מסקנות בכמות גדולה