בדף הזה מתוארות השיטות שבהן אתם יכולים להשתמש כדי להשיג מאיצי מחשוב, כמו מעבדי GPU או TPU, בהתאם לדרישות של עומסי העבודה שלכם ב-AI/ML. ב-GKE, השיטות האלה נקראות אפשרויות צריכה של מאיצים. הבנת אפשרויות הצריכה השונות עוזרת לכם לבצע אופטימיזציה של ניצול המשאבים כדי להימנע מניצול חלקי של המשאבים, להגדיל את הסבירות לקבלת משאבים ולאזן בין העלות לביצועים.
הדף הזה מיועד למנהלי פלטפורמות ולאופרטורים שמתאמים עם מהנדסי למידת מכונה (ML) כדי לקבל את המשאבים הנדרשים לפריסה מוצלחת של עומסי עבודה של AI/ML.
במאמר תפקידים ומשימות נפוצים של משתמשי GKE מפורט מידע נוסף על תפקידים נפוצים ומשימות לדוגמה שאנחנו מתייחסים אליהם בתוכן של Google Cloud .
הסבר על אפשרויות הצריכה
אפשר לבחור מבין האפשרויות הבאות כדי להשתמש במאיצים ב-GKE:
- על פי דרישה: אתם משתמשים ביחידות TPU או GPU ב-GKE בלי להגדיר קיבולת מראש. לפני שאתם מבקשים משאבים, אתם צריכים לוודא שיש לכם מספיק מכסה על פי דרישה לסוג ולכמות הספציפיים של המאיצים. שימוש על פי דרישה הוא האפשרות הגמישה ביותר, אבל אין ערובה לכך שיהיו מספיק משאבים על פי דרישה כדי למלא את הבקשה שלכם.
- הזמנות: אתם מזמינים משאבים לתקופה מוגדרת. הזמנה יכולה להיות כל אחת מהאפשרויות הבאות:
- מקומות שמורים לעתיד: אתם משריינים משאבים לפרקי זמן ארוכים יותר, בדרך כלל, למועד ספציפי בעתיד. יש לכם גישה בלעדית למשאבים ששוריינו לתקופת הזמן הזו. כדי להשתמש במקומות שמורים לעתיד, צריך לפנות למנהל חשבונות טכני (TAM). מידע נוסף זמין בהנחיות בנושא TPU ו-GPU.
- מקום שמור לעתיד לתקופה של עד 90 יום (במצב תזמון): אתם מבקשים קיבולת לתקופה מסוימת, ויועץ היומן מציע תאריכים זמינים. האפשרות להזמין מקום לעתיד לתקופה של עד 90 יום (במצב תזמון) מספקת יותר גמישות לפרקי זמן קצרים יותר ולחיפוש קיבולת בשירות עצמי. בקשות למקום שמור לעתיד במצב תזמון
- מקום שמור לפי הצורך: אתם יכולים לבקש מקום שמור לפי הצורך שיוקצה ברגע שהקיבולת תהיה זמינה, בדומה לאפשרות לפי הצורך. כל עוד ההזמנה פעילה, אתם משלמים על המשאבים גם אם אתם לא משתמשים בהם.
- התחלה גמישה (Flex-start): אתם מאבטחים משאבים שהוקצו בצפיפות לעומסי עבודה קצרים בלי הזמנה. אתם מבקשים מספר ספציפי של מעבדי GPU או TPU, ו-Compute Engine מקצה אותם כשהקיבולת זמינה. מעבדי ה-GPU או ה-TPU פועלים ברצף עד שבעה ימים. מידע נוסף זמין במאמר הקצאת משאבים בהתחלה גמישה.
- Spot: אתם מקצים מכונות וירטואליות במודל Spot, שמאפשרות לכם לקבל הנחות משמעותיות, אבל אפשר להפסיק את פעולתן של מכונות וירטואליות במודל Spot בכל שלב, עם אזהרה של 30 שניות. מידע נוסף זמין במאמר VM במודל Spot.
כדי לשפר את ההקצאה כשיש מגבלות על משאבי המחשוב, אתם יכולים לתזמר את האפשרויות האלה באמצעות ComputeClasses.
הסבר על מכסת מאיצי החומרה ב-GKE
מכסות ומגבלות מערכת מגבילות את השימוש במשאבי Google Cloud כדי לתמוך בזמינות המשאבים לכל משתמשי Google Cloud . המכסות נקבעות כברירת מחדל, אבל בדרך כלל אפשר לבקש לשנות אותן. מגבלות המערכת קבועות ואי אפשר לשנות אותן. כברירת מחדל, בדרך כלל לפרויקטים אין מכסה משמעותית של מאיצים. אתם צריכים לבקש ולקבל אישור למכסה לסוגים ספציפיים של מאיצים ולאזורים ספציפיים.
כשאתם מנהלים את המכסות שעומסי העבודה שלכם צריכים, כדאי להביא בחשבון את המאפיינים הבאים:
צריך לבקש את המכסה הנדרשת לכל אפשרות צריכה. כדי לזהות את המכסה הנדרשת לכל אפשרות צריכה, עיינו בפרמטרים המתאימים של "מכסה" שמפורטים בטבלה בחירת אפשרות צריכה. אם אין מספיק מכסה, הניסיונות ליצור אשכולות, מאגרי צמתים או לפרוס עומסי עבודה שדורשים מאיצים ייכשלו עם השגיאה
Quota exceeded.אתם צריכים לבקש מכסה כשאתם משתמשים בComputeClasses בהתאמה אישית ב-Autopilot. הצמתים שהוקצו כדי לעמוד בדרישות של ComputeClass עדיין צורכים את המכסה של הפרויקט למאיצים שצוינו.
Google Cloud בחשבונות לתקופת ניסיון בחינם יש מגבלות על בקשות להגדלת המכסות של משאבים יקרים כמו מעבדי GPU ו-TPU. כדי לקבל גישה למכסת המאיצים, צריך לשדרג לחשבון בתשלום.
כדי לבדוק את המכסה ולבקש מכסה, נכנסים לדף Quotas במסוף Google Cloud . אתם יכולים לסנן את המכסות של המאיצים ולבקש להגדיל אותן.
זיהוי אפשרות צריכה
כדי לבחור את אפשרות הצריכה הכי מתאימה לעומס העבודה שלכם ב-AI או ב-ML, כדאי להביא בחשבון את השיקולים הבאים:
- סוג עומס העבודה: חשבו על סוג עומס העבודה שאתם רוצים להטמיע.
הדרישות של GKE משתנות בהתאם לסוג עומס העבודה שאתם מריצים – אימון או הסקת מסקנות:
- אימון: דורש משאבים עם ביצועים גבוהים וזיכרון משמעותי. לעומסי עבודה של אימון יש בדרך כלל משך חיים מוגדר היטב. בדרך כלל קל יותר לתכנן את עומסי העבודה האלה, כי הם פחות נוטים לעליות חדות פתאומיות בצריכת המשאבים.
- הסקה: בדרך כלל נדרשים מאיצים שעברו אופטימיזציה למדרגיות ועלות נמוכה יותר. עומסי עבודה של הסקת מסקנות יכולים לדרוש כמות משמעותית של זיכרון מאיץ במהלך עליות פתאומיות בצריכת המשאבים.
- משך החיים בהתאם לשלב ההטמעה: כדאי להביא בחשבון את היעד העסקי אם אתם מבצעים הוכחת היתכנות (POC), הערכת פלטפורמה, פיתוח או בדיקה של אפליקציה, ייצור או אופטימיזציה.
- זמן ההקצאה: האם עומס העבודה דורש הפעלה מיידית או שאפשר להריץ אותו בעתיד. אם אפשר להפעיל את המשימה בעתיד, צריך לקבוע עד כמה שעת ההתחלה יכולה להיות גמישה.
- איזון בין עלות לביצועים: בודקים את דרישות הביצועים של עומס העבודה ואת מגבלות התקציב, ובוחרים את המאיץ הכי משתלם. חשוב להביא בחשבון את הפשרה בין עלות המאיצים לבין מאפייני הביצועים שלהם. חשוב לזכור שמאיצים חדשים עשויים לשפר את יחס העלות-תועלת.
בחירת אפשרות צריכה
אתם יכולים להיעזר בטבלה הבאה כדי לבחור אפשרות צריכה:
| אפשרות צריכה | פרמטרים של הקצאת הרשאות ידנית | מאיצים נתמכים | פרטים | דוגמאות לעומסי עבודה |
|---|---|---|---|---|
| מקומות שמורים לפי הצורך |
|
|
|
|
| מקומות שמורים לעתיד |
|
|
|
|
| מקום שמור לעתיד של עד 90 יום (במצב תזמון) |
|
|
|
|
| מצב הקצאה "התחלה גמישה" |
|
|
|
|
| מכונות וירטואליות במודל Spot |
|
|
|
|
| לפי דרישה (יחידות GPU או יחידות TPU) |
|
|
|
אופטימיזציה של עלויות והקצאת עומסי עבודה באמצעות ComputeClasses
אתם יכולים להשתמש ב-ComputeClasses כדי לנהל באופן דינמי ואוטומטי את אסטרטגיית צריכת המאיצים, על ידי הגדרת רשימה של הגדרות חלופיות שמבוססות על עדיפות. במהלך פעולות של הגדלת קנה מידה, GKE מנסה להקצות צמתים בהתאם להיררכיית העדיפויות שהגדרתם.
ברשימה הבאה מתוארות אפשרויות הצריכה שזמינות ב-ComputeClasses ואיך להגדיר אותן. במאמר דוגמאות לאפשרויות צריכה עם ComputeClasses מופיעים מניפסטים מלאים של YAML.
- הזמנות: אתם יכולים להגדיר את שם ההזמנה בשדה
reservationsב-ComputeClass. כך GKE ינסה קודם לצרוך את הקיבולת השמורה לפני שיחזור למצב הקודם. - מצב הקצאה "התחלה גמישה": מפעילים את התור הגמיש באמצעות השדה
flexStartב-ComputeClass, ומגדירים את משך הזמן להחלפת צומת חלופי באמצעות השדותnodeRecycling. - מכונות וירטואליות במודל Spot: כדי להורות ל-GKE להשתמש במכונות וירטואליות במודל Spot כשמקצים צמתים לכלל העדיפות הזה, מגדירים את השדה
spotלערךtrue. - קיבולת על פי דרישה בשילוב עם מדיניות מיקום בכמה אזורים:
מגדירים את הקונפיגורציות הרגילות של המכונות ברשימת העדיפויות, ומגדירים אסטרטגיית מיקום חלופית באמצעות השדות
location.
ב-ComputeClasses אין תמיכה במקומות שמורים לעתיד או במקומות שמורים לעתיד עד 90 יום (במצב תזמון).
דוגמאות לאפשרויות צריכה עם ComputeClasses
בקטעים הבאים מפורטות דוגמאות להגדרות של האסטרטגיות האלה.
הזמנות עם הגדרת חלופה
ההגדרה הזו מתאימה במיוחד לעומסי עבודה שיכולים להתמודד עם שיבושים, ולא לעומסי עבודה שתלויים בנתונים מתמידים או שצריכים לפעול עד לסיום.
ההגדרה הזו יוצרת אסטרטגיית גיבוי גמישה באמצעות השלבים הבאים:
- קודם כל להשתמש במקומות השמורים: המערכת של GKE מנסה להקצות צמתים באמצעות המקום השמור הספציפי שרכשתם מראש.
- חזרה ל-Flex-start: אם הקיבולת של ההזמנה מנוצלת במלואה, GKE חוזר למשאבי Flex-start בהנחה לטווח קצר.
- חזרה למשאבים על פי דרישה: כאפשרות אחרונה, GKE מקצה משאבים רגילים על פי דרישה.
העברה חזרה למקומות השמורים: הפעלת ההעברה הפעילה מורה ל-GKE לאחד באופן אוטומטי את עומסי העבודה ולהעביר אותם חזרה לצומתי המקומות השמורים בעלי העדיפות הגבוהה יותר, ברגע שהקיבולת מתפנה. ההעברה הזו עלולה לגרום לשיבושים.
apiVersion: cloud.google.com/v1 kind: ComputeClass metadata: name: ha-gpu-fallback spec: activeMigration: optimizeRulePriority: true # Migrate workloads back to reservation when capacity releases priorities: # Priority 1: Consume specific corporate reservation first - gpu: type: nvidia-l4 count: 1 reservations: affinity: Specific specific: - name: reserved-l4-pool project: my-project zones: [us-central1-a] # Priority 2: Fallback to Flex Start (short-duration allocation) - gpu: type: nvidia-l4 count: 1 flexStart: enabled: true # Priority 3: Fallback to On-demand resources - gpu: type: nvidia-l4 count: 1
מצב הקצאה "התחלה גמישה" עם הגדרת מיחזור צמתים
כדי לנהל קיבולת בהנחה לטווח קצר עם זמן פעולה תקינה רציף, פועלים לפי השלבים הבאים:
- בקשה למכונות וירטואליות מסוג Flex-start: GKE מבקש מכונות וירטואליות מהתור של Flex-start (שפועלות בלי הפרעה עד שבעה ימים).
- מעקב אחרי תפוגת ההשכרה: GKE עוקב אחרי משך הזמן שנותר לצמתים הפעילים של ההתחלה הגמישה.
- הפעלת מיחזור צמתים: 20 דקות (1,200 שניות) לפני שתוקף ההשכרה של ה-VM פג, GKE מקצה באופן אוטומטי צומת חלופי.
תזמון מחדש של עומסי עבודה: עומסי העבודה מועברים לצומת החדש, וההרצה שלהם נמשכת בלי הפרעה לשירות.
apiVersion: cloud.google.com/v1 kind: ComputeClass metadata: name: flex-node-recycling spec: priorities: - gpu: type: nvidia-l4 count: 1 flexStart: enabled: true nodeRecycling: leadTimeSeconds: 1200 # Automatically launch replacement node before VM lease expires
הגדרת מדיניות הקצאה בכמה אזורים
כדי לעקוף את ההגבלות על אספקה באזור יחיד, מבצעים את הפעולות הבאות:
- הגדרת אזורי יעד: אתם מפרטים כמה אזורי גיבוי (כמו
us-central1-a,us-central1-bו-us-central1-c) בכללי העדיפות. - הרחבת פרמטרים של טירגוט: אתם מגדירים את מדיניות המיקום לערך
ANY. ההגדרה הזו מורה למידרוג האוטומטי של האשכול לחפש את הקיבולת המבוקשת בכל התחומים שצוינו. - ניתוח הזמינות באזורים: במהלך אירועי הגדלה, GKE סורק את האזורים הייעודיים.
הקצאה באזורים זמינים: המערכת של GKE מקצה באופן מיידי את צומתי עומסי העבודה המבוקשים בכל אזור יעד שיש בו קיבולת מתאימה. האסטרטגיה הזו מונעת חסימות בתורים של הקצאת המשאבים.
apiVersion: cloud.google.com/v1 kind: ComputeClass metadata: name: broad-zonal-serving spec: priorities: - gpu: type: nvidia-l4 count: 1 location: zones: [us-central1-a, us-central1-b, us-central1-c] locationPolicy: ANY # Provision accelerator in any target zone with supply