מכונות TPU בקבוצות MIG
קבוצות של מופעי מכונה מנוהלים (MIG) מאפשרות ליצור, להגדיר ולנהל באופן אוטומטי את מחזור החיים של אוסף מכונות וירטואליות. קבוצות MIG מספקות יתרונות כמו זמינות גבוהה באמצעות תיקון תוכנה אוטומטי ופריסות אזוריות (בכמה אזורים), התאמה אוטומטית לעומס כדי להתמודד עם עומסים משתנים ועדכונים בהדרגה פשוטים לאפליקציות. מידע נוסף מופיע במאמר בנושא קבוצות מנוהלות של מופעים.
אפשר להשתמש ב-MIG כדי ליצור ולנהל מכונות וירטואליות של TPU לגרסאות TPU v5p, v6e ו-TPU7x. אפשר ליצור קבוצות MIG עם מכונת TPU VM אחת, מכונות TPU VM עצמאיות (שנקראות גם פרוסות של מארח יחיד) וקבוצות MIG עם מכונות TPU VM שמחוברות ביניהן (שנקראות גם פרוסות של כמה מארחים).
לכל פרוסה ב-MIG עם מארח יחיד יש לכל היותר מכונת TPU וירטואלית אחת. המכונות הווירטואליות של TPU ב-MIG לא מחוברות באמצעות קישורי ICI (חיבור בין שבבים).
פרוסת TPU מרובת מארחים מכילה כמה מכונות וירטואליות של TPU שמחוברות ביניהן באמצעות קישורי ICI.
קבוצות MIG עם פרוסות TPU במארח יחיד
יצירת קבוצת מופעי מכונה מנוהלים (MIG) עם כמה מכונות TPU עצמאיות מועילה לעומסי עבודה שדורשים כמה מכונות TPU נפרדות, אבל לא צריכים שהן יהיו מקושרות באמצעות קישורי ICI לעומסי עבודה מבוזרים. לדוגמה:
- הסקת מסקנות (Inference): כל מכונה וירטואלית ב-MIG יכולה לטפל בבקשות להסקת מסקנות באופן עצמאי. קבוצת מופעי מכונה מנוהלים (MIG) מאפשרת לכם לשנות את מספר המופעים בהתאם לביקוש ולנהל אותם כקבוצה.
- משימות מקבילות ועצמאיות: קבוצת MIG מאפשרת לנהל הרבה משימות קטנות ועצמאיות של אימון או חישובים אחרים, שאפשר להריץ במקביל במכונות וירטואליות יחידות של TPU.
- ניהול: קבוצות MIG מספקות את התכונות הבאות:
- פריסה: מגדירים תבנית של הגדרות מכונה פעם אחת ומשתמשים ב-MIG כדי ליצור כמה מכונות TPU וירטואליות זהות.
- יכולת הרחבה: אפשר לשנות את מספר מכונות ה-TPU על ידי שינוי הגודל של קבוצת המופעים המנוהלים (MIG).
- עדכונים מדורגים: עדכון התוכנה או סוג המכונה בכל המכונות הווירטואליות באופן מבוקר.
- יעילות מבחינת עלות: במקרים שבהם המשימות לא דורשות את העוצמה המלאה או את יכולת הקישוריות של פרוסת TPU גדולה, שימוש בכמה פרוסות TPU קטנות ועצמאיות יכול להיות יעיל יותר מבחינת עלות.
מידע נוסף זמין במאמר בנושא יצירת קבוצת MIG עם פרוסות TPU במארח יחיד.
קבוצות MIG עם פרוסת מחשבים מארחים מרובים
בניגוד לקבוצות של פרוסות TPU עצמאיות, קבוצת MIG שהוגדרה לפרוסת TPU מרובת-מארחים מנהלת קבוצה של מכונות TPU VM שמקושרות זו לזו באופן הדוק באמצעות קישורי ICI. כך נוצרת פרוסת TPU לוגית אחת.
הטבות וביצועים
קבוצות MIG לפרוסות TPU מרובות מארחים מספקות את ההתאמה לעומס ואת הביצועים שנדרשים לעומסי עבודה אינטנסיביים של למידת מכונה.
- אימון מבוזר: אימון מודלים של למידת מכונה דורש לעיתים קרובות יותר כוח TPU ממה שמכונת TPU וירטואלית אחת יכולה לספק. פרוסות TPU גדולות יותר מפזרות את החישוב על פני הרבה שבבי TPU ומכונות וירטואליות, והקישורים של ICI מאפשרים תקשורת מהירה ביניהם. זה חיוני לביצועי האימון.
- רוחב פס גבוה של קישוריות פנימית: רשת ה-ICI מספקת רוחב פס גבוה יותר וזמן אחזור נמוך יותר בין שבבי ה-TPU בפרוסה בהשוואה לרשת הסטנדרטית של מרכז הנתונים (DCN). השלב הזה חיוני לפעולות סינכרוניות שמאפיינות אימון של מודלים גדולים.
פעולות אטומיות במחזור החיים
כדי לשמור על השלמות של הטופולוגיה המקושרת, ה-MIG מנהל את כל הפלח כיחידה אחת שלא ניתן לחלק אותה לאורך מחזור החיים שלה.
- יצירה: כל המכונות הווירטואליות בפרוסה מוקצות יחד. אם אין מספיק קיבולת בריאה ומקושרת לכל הטופולוגיה המבוקשת, הפרוסה לא נוצרת.
- מחיקה: קבוצת ה-MIG מוחקת את כל הפלח כיחידה אחת.
- שינוי הגודל: שינוי הגודל מוגבל לשינוי קנה מידה מ-0 לגודל המלא של הפרוסה, או מהגודל המלא של הפרוסה בחזרה ל-0. אי אפשר לשנות את הגודל של פרוסת מכונות וירטואליות באופן חלקי.
דרישות להגדרה
כדי להגדיר קבוצת MIG עם כמה מארחים, צריך להגדיר את טופולוגיית הקישוריות הפיזית ואת מאפייני המופעים.
- מדיניות עומס עבודה: צריך לציין מדיניות עומס עבודה עם הפרמטר
accelerator-topology(לדוגמה, 4x4, 8x8 או 4x4x4). ההגדרה הזו קובעת שמערכת ה-MIG תתייחס למופעים כאל פלח יחיד ומקושר. מידע על טופולוגיה זמין במאמר ארכיטקטורת המערכת. - תבנית של הגדרות מכונה: מגדירה מאפיינים כמו סוג המכונה, תמונת הדיסק והגדרות אחרות לכל מכונה וירטואלית בפלח.
זמינות של פרוסות ושחזור במקרה של כשל
כשמשתמשים ב-MIG כדי ליצור פלח TPU עם כמה מארחים, התנהגות השחזור לאחר כשל תלויה במודל ההקצאה ובמצב ההזמנה שבהם משתמשים:
כשקבוצת MIG משתמשת בהקצאה על פי דרישה, בהתחלה גמישה (Flex-start) או במקומות שמורים (לא כולל מקומות שמורים במצב 'כל הקיבולת'). במקרה כזה, Compute Engine מנהל באופן אוטומטי את תהליך השחזור של הפרוסה. אם מתרחשת כשל של מארח או של ICI, הפרוסה עוברת למצב
REACTIVATING. כל המכונות הווירטואליות בפלח עוברות למצבREPAIRING, אבל לא בהכרח באותו זמן. לאחר מכן, Compute Engine משחזר באופן אוטומטי את הפרוסה על ידי הפעלה מחדש של המכונות הווירטואליות יחד בקיבולת תקינה.כש-MIG משתמש במודל הקצאת המקום. בתרחיש הזה, אתם אחראים לניהול תהליך השחזור של הפרוסה. אם מתרחש ניתוק של מכונות וירטואליות מסוג Spot, Compute Engine מפסיק את כל המכונות בחלק. הפרוסה עוברת למצב
FAILEDוהמכונות הווירטואליות עוברות למצבTERMINATED. כדי לצאת ממצב הכשל, צריך ליצור מחדש את הפרוסה באופן ידני.כשקבוצת MIG משתמשת בהזמנות במצב 'כל הקיבולת'. בתרחיש הזה, אתם אחראים לניהול תהליך השחזור של הפרוסה. אם מתרחשת שגיאה, הפרוסה עוברת למצב
FAILEDוצריך ליצור מחדש את הפרוסה באופן ידני.ההתנהגות במצב 'כל הקיבולת' תלויה גם בגורמים הבאים:
- כשל במארח או דיווח על מכונה וירטואלית פגומה. המכונה הווירטואלית המושפעת עוברת למצב
REPAIRING. אחרי שהחומרה הבסיסית תתוקן, המכונה הווירטואלית תחזור למצבRUNNING. - עבודות תחזוקה דחופות מתוכננות. כשמתחילים אירוע תחזוקה באופן ידני, המכונות הווירטואליות עוברות מהמצב
RUNNINGלמצבREPAIRING. אחרי שעבודות התחזוקה יסתיימו, המכונה הווירטואלית תחזור למצבRUNNING. - האימות של ה-ICI נכשל. המכונות הווירטואליות נשארות במצב
RUNNING, אבל מצב הפרוסה משתנה למצבFAILED.
- כשל במארח או דיווח על מכונה וירטואלית פגומה. המכונה הווירטואלית המושפעת עוברת למצב
כדי ליצור מחדש פרוסה אחרי הפסקה לפני הזמן של מכונות וירטואליות מסוג Spot או אחרי כשל במצב 'כל הקיבולת', צריך לבצע אחת מהפעולות הבאות:
- מוחקים את קבוצת ה-MIG ויוצרים אותה מחדש.
- משנים את הגודל של ה-MIG ל-
0, ואז מגדילים אותו לגודל הנדרש.
שחזור לאחר הפרעה במכונה
אם מוחקים או מפסיקים מופע TPU, או מפסיקים מופע מתוך מערכת ההפעלה, הפרוסה עוברת למצב FAILED. בתרחיש הזה, הפלח יישאר במצב FAILED עד ליצירה מחדש של הפלח.
כדי ליצור מחדש את הפרוסה, צריך למחוק את ה-MIG וליצור אותו מחדש, או לשנות את הגודל של ה-MIG ל-0 ואז להגדיל אותו.
מידע נוסף על מצבי הפרוסות זמין במאמר בנושא צפייה בסטטוס של פרוסת TPU.
מגבלות
בקטעים הבאים מוסבר על המגבלות שחלות על יצירת קבוצת MIG עם מכונות וירטואליות של TPU.
מגבלות על תבניות מכונות
לתבניות של מכונות וירטואליות שמציינות סוג מכונת TPU יש את המגבלות הבאות:
כשמשתמשים במודל הקצאת משאבים שמוגבל לשריון, צריך להגדיר את פעולת סיום המופע למחיקה.
יחידות TPU יכולות לצרוך רק הזמנות שמטורגטות באופן ספציפי.
אי אפשר לציין מדיניות מיקום.
אסור להשבית את ההפעלה מחדש האוטומטית במקרים הבאים:
פרוסות מרובות-מארחים באמצעות מודלים סטנדרטיים, גמישים או מבוססי-הזמנה של הקצאת משאבים (כולל מצב 'כל הקיבולת').
מארח יחיד שמשתמש במודל הקצאת משאבים שמוגבל להזמנה במצב All Capacity.
אסור להפעיל הפעלה מחדש אוטומטית כשמשתמשים במודל הקצאת משאבים לפי ביקוש.
מגבלות על קבוצות של מכונות מנוהלות (MIG)
יש מגבלות מסוימות ל-MIG עם מעבדי TPU:
פעולות במחזור החיים: אי אפשר להפסיק, להתחיל, להמשיך או להשהות מופעי TPU. כדי לשנות הגדרות שדורשות הפעלה מחדש או כדי להפסיק את החיובים, צריך למחוק את המופעים.
חלוקת אזורים של MIG אזורי: צריך להגדיר את צורת חלוקת היעד לערך
ANY_SINGLE_ZONE.עדכוני הגדרות בקבוצת מופעים מנוהלת (MIG):
- אי אפשר לעדכן קבוצת MIG שיוצרת פלח TPU מרובה מארחים בגלל טופולוגיית המאיץ המוגדרת.
- כדי לעדכן קבוצת MIG שיוצרת פרוסות TPU במארח יחיד, אפשר להשתמש בשיטות אוטומטיות או סלקטיביות.
עם זאת, העדכונים של פרוסת TPU במארח יחיד לא תומכים בפעולת ההפעלה מחדש (
RESTART). אם נדרשת הפעלה מחדש והפעולה הכי משבשת שמותרת היא החלפה (REPLACE), כלי העדכון יחליף את המופע. אחרת, ניסיון העדכון ייכשל עם שגיאה.
בנוסף, המגבלות הבאות חלות על MIG שיוצר פרוסת TPU מרובת מארחים:
המדיניות בנושא גודל יעד: צריך להגדיר את מצב המדיניות בנושא גודל יעד לערך
BULK. אחרי שמגדירים את המצב הזה, אי אפשר לשנות אותו.גודל היעד: במצב של פעולות בכמות גדולה, אפשר להגדיר את גודל היעד ל-
0או למספר המופעים שנדרשים ליצירת הטופולוגיה של המאיץ.מדיניות עומס עבודה: צריך לציין מדיניות עומס עבודה שבה מוגדרת טופולוגיית המאיץ. אחרי שמגדירים את מדיניות העומס, אי אפשר לשנות או להסיר את המדיניות מה-MIG.
תיקונים שהופעלו על ידי MIG: צריך להשבית את התיקונים שהופעלו על ידי MIG על ידי הגדרת השדה
defaultActionOnFailureלערךDO_NOTHING. בהגדרה הזו, קבוצת ה-MIG לא מבצעת פעולה כלשהי על מופע שנכשל. Compute Engine משחזר באופן אוטומטי את המכונה שנכשלה על ידי הפעלה מחדש של כל המכונות באותו פלח בקיבולת תקינה.
תכונות שלא נתמכות: קבוצות MIG עם TPU לא תומכות בתכונות הבאות:
- גמישות של מכונות
- שינוי הגודל של הבקשות כדי לקבל את כל המשאבים בבת אחת
- הגדרה עם שמירת מצב
- ב-MIG שיוצר פרוסת TPU מרובת-מארחים, גם הפעולות הבאות לא נתמכות:
המאמרים הבאים
- איך יוצרים קבוצת MIG עם פרוסות Cloud TPU של מארח יחיד
- איך יוצרים MIG עם פרוסת Cloud TPU מרובת מארחים
- איך מנהלים מכונות וירטואליות של TPU
- מידע על TPU ב-GKE
- איך מריצים עומסי עבודה של ML במעבדי TPU, למשל, איך מפעילים את Qwen2-72B-Instruct באמצעות vLLM במעבדי TPU.