אפשר ליצור ולנהל יחידות לעיבוד טנסורים (TPU) באמצעות משאבי Compute Engine. בדף הזה מובאת סקירה כללית על השימוש ב-TPU עם Compute Engine. הוא ממפה את המושגים של TPU למשאבים של Compute Engine ומציג את תהליכי העבודה ברמה גבוהה ליצירת משאבי TPU.
מושגי ליבה ב-TPU
כדי לנהל משאבי TPU ב-Compute Engine, כדאי להבין את המושגים העיקריים הבאים שקשורים ל-TPU:
- TPU VM: מכונה וירטואלית שמתחברת ישירות לחומרת ה-TPU. מכונת TPU וירטואלית אחת זהה לפרוסת TPU במארח יחיד.
- TPU slice: קבוצה לוגית של שבבי TPU שמחוברים זה לזה, שאפשר לגשת אליהם דרך מכונה וירטואלית אחת או יותר של TPU.
לפרוסות יש אחת מההגדרות הבאות:
- פרוסת נתונים של מארח יחיד: פרוסת נתונים שמורכבת ממכונת מארח אחת. פרוסת TPU במארח יחיד היא דרך נוספת להתייחס ל-TPU VM יחיד.
- פרוסת מולטי-מארחים: פרוסה שמורכבת מכמה מכונות וירטואליות של TPU שמחוברות ביניהן באמצעות חיבור מהיר בין שבבים (ICI).
מפת מושגים של TPU ו-Compute Engine
בטבלה הבאה מתואר המיפוי של מושגי TPU למשאבים של Compute Engine:
| מושג Cloud 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 וירטואלית.
- 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.
- Collections: אי אפשר לתזמן אוספים ב-Compute Engine. כדי להשתמש בתזמון איסוף, צריך להשתמש ב-GKE. מידע נוסף זמין במאמר בנושא תזמון איסוף במאמרי העזרה של GKE.
המאמרים הבאים
- כדאי לנסות את המדריך למתחילים: יצירת מכונת TPU אחת
- יצירת פרוסת TPU עם מארח יחיד
- יצירת פרוסת TPU עם כמה מארחים