אפשר ליצור ולנהל יחידות לעיבוד טנסורים (TPU) באמצעות משאבי Compute Engine. בדף הזה מובאת סקירה כללית על השימוש ב-TPU עם Compute Engine. הוא ממפה את המושגים של TPU למשאבי Compute Engine ומציג את תהליכי העבודה ברמה גבוהה ליצירת משאבי TPU.
מושגים שקשורים ל-TPU ול-Compute Engine
כדי לנהל משאבי TPU ב-Compute Engine, כדאי להבין את המושגים העיקריים הבאים של TPU ו-Compute Engine:
- TPU VM: מכונה וירטואלית שמתחברת ישירות לחומרת ה-TPU. TPU VM אחת זהה לפרוסת TPU במארח יחיד.
- TPU slice: קבוצה לוגית של שבבי TPU שמחוברים זה לזה, שאפשר לגשת אליהם דרך מכונה וירטואלית אחת או יותר של TPU. לפרוסות יש אחת מההגדרות הבאות:
- פרוסת נתונים של מארח יחיד: פרוסת נתונים שמורכבת ממכונת מארח אחת. פרוסת TPU במארח יחיד היא דרך נוספת להתייחס ל-TPU VM יחיד.
- פרוסת מולטי-מארחים: פרוסה שמורכבת מכמה מכונות וירטואליות של TPU שמחוברות ביניהן באמצעות חיבור מהיר בין שבבים (ICI).
כדי ליצור ולנהל משאבי TPU ב-Compute Engine, משתמשים במשאבי Compute Engine הבאים:
- מכונה וירטואלית: מכונה וירטואלית של Compute Engine. פרוסת TPU עם מארח יחיד נוצרת כמופע VM נפרד.
- קבוצת מופעי מכונה מנוהלים (MIG): אוסף של מופעי מכונות וירטואליות שמנוהלים כיחידה אחת. פרוסות TPU מרובות מארחים נוצרות כ-MIG עם טופולוגיית מאיץ שצוינה במדיניות של עומס עבודה.
מפת מושגים של TPU ו-Compute Engine
בטבלה הבאה מפורט המיפוי של מושגים שקשורים ל-TPU למשאבים של Compute Engine:
| מושג TPU | משאב Compute Engine | פרטי המשאבים | תרחיש שימוש |
|---|---|---|---|
| TPU VM | מופע ב-VM | מכונה וירטואלית ב-Compute Engine שמספקת גישה ישירה לחומרת TPU. | משימות של מכונה וירטואלית ספציפית, הרצת פקודות SSH או ניפוי באגים |
| פרוסת TPU במארח יחיד | מכונת VM או MIG עם מכונת VM אחת | הגדרה שכוללת מחשב מארח פיזי אחד. | הסקת מסקנות עם התאמה אוטומטית לעומס |
| פרוסת TPU עם מספר מארחים | קבוצת מופעים מנוהלת (MIG) עם טופולוגיית מאיץ שצוינה במדיניות עומס העבודה | קבוצה של מכונות וירטואליות של TPU שמחוברות ביניהן באמצעות ICI ומנוהלות כיחידה לוגית אחת. | אימון מבוזר בקנה מידה גדול שדורש הקצאה אטומית |
מעבר מ-Cloud TPU API
הפיתוח של Cloud TPU API כבר לא פעיל. הם כוללים את Google Cloud CLI ל-Cloud TPU API ואת ספריות הלקוח ב-Cloud ל-Cloud TPU API. ממשק Cloud TPU API יקבל רק תיקוני באגים ועדכוני אבטחה. דורות חדשים של חומרה, החל מ-TPU7x (Ironwood), נתמכים רק דרך Compute Engine או Google Kubernetes Engine (GKE). כדי להשתמש בתכונות העדכניות ביותר ולקבל תמיכה בגרסאות העדכניות ביותר של TPU, צריך להחליף את הקריאות הקודמות ל-Cloud TPU API בקריאות מקבילות ב-Compute Engine או ב-GKE.
בהתאם לדרישות של התזמור ועומס העבודה, בוחרים באחת מהאפשרויות הבאות:
- Compute Engine: מומלץ למשתמשים שנדרשת להם שליטה ישירה ברמת המכונה הווירטואלית או תמונות של מערכת הפעלה בהתאמה אישית. כדי להתחיל להקצות TPU ב-Compute Engine, אפשר לעיין במאמר מדריך למתחילים: יצירת TPU VM.
- GKE: מומלץ לעומסי עבודה מבוססי-קונטיינרים, לשינוי גודל אוטומטי ולתיאום בקנה מידה גדול. מידע נוסף על שימוש ב-TPU עם GKE זמין במאמר מידע על TPU ב-GKE.
משאבי TPU קיימים
משאבי TPU שנוצרו באמצעות Cloud TPU API (אובייקטים של Node או QueuedResource REST) לא תואמים ל-Compute Engine ול-GKE. כדי להתחיל להשתמש ב-Compute Engine או ב-GKE:
- לשכתב את כל הסקריפטים שמשתמשים ב-Cloud TPU API כדי להשתמש ב-Compute Engine או ב-GKE APIs.
- מחיקת משאבים באמצעות Cloud TPU API ויצירה מחדש שלהם באמצעות Compute Engine או GKE APIs.
מגבלות
יש מגבלות מסוימות לשימוש ב-TPU ב-Compute Engine:
- גרסאות TPU: Compute Engine תומך בגרסאות v5p, v6e ו-TPU7x.
- מצב קיבולת: מצב כל הקיבולת של TPU לא זמין ב-Compute Engine.
- Multislice: אי אפשר ליצור קבוצות של חלקי TPU מרובי-מארחים שמחוברים זה לזה באמצעות Compute Engine. כדי להשתמש ב-Multislice, צריך להשתמש ב-Google Kubernetes Engine (GKE). מידע נוסף זמין במאמר בנושא פריסת TPU Multislices ב-GKE.
- אוספים: אי אפשר לתזמן אוספים ב-Compute Engine. כדי להשתמש בתזמון איסוף, צריך להשתמש ב-GKE. מידע נוסף זמין במאמר בנושא תזמון איסוף במאמרי העזרה של GKE.
המאמרים הבאים
- כדאי לנסות את המדריך למתחילים: יצירת מכונת TPU יחידה
- יצירת פרוסת TPU עם מארח יחיד
- יצירת פרוסת TPU עם כמה מארחים