שאלות נפוצות – Cloud TPU

במסמך הזה מפורטות שאלות נפוצות לגבי יחידות Cloud TPU. הוא מחולק לקטעים:

  1. שאלות נפוצות שלא תלויות במסגרת – שאלות על השימוש ב-Cloud TPU, בלי קשר למסגרת למידת המכונה שבה אתם משתמשים.
  2. שאלות נפוצות על JAX – שאלות על השימוש ב-Cloud TPU עם JAX.
  3. שאלות נפוצות על PyTorch – שאלות על השימוש ב-Cloud TPU עם PyTorch.

שאלות נפוצות שלא קשורות למסגרת ספציפית

איך בודקים איזה תהליך משתמש ב-TPU במכונה וירטואלית של Cloud TPU?

מריצים את הפקודה tpu-info ב-TPU VM ב-Cloud כדי להדפיס את מזהה התהליך ומידע נוסף על התהליך שמשתמש ב-TPU. בקטע מדדים נתמכים מפורטים המדדים וההגדרות שלהם.

   tpu-info

הפלט של tpu-info אמור להיראות כך:

   TPU Chips
   ┏━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━┳━━━━━━━━┓
   ┃ Chip        ┃ Type        ┃ Devices ┃ PID    ┃
   ┡━━━━━━━━━━━━━╇━━━━━━━━━━━━━╇━━━━━━━━━╇━━━━━━━━┩
   │ /dev/accel0 │ TPU v4 chip │ 1       │ 130007 │
   │ /dev/accel1 │ TPU v4 chip │ 1       │ 130007 │
   │ /dev/accel2 │ TPU v4 chip │ 1       │ 130007 │
   │ /dev/accel3 │ TPU v4 chip │ 1       │ 130007 │
   └─────────────┴─────────────┴─────────┴────────┘

   TPU Runtime Utilization
   ┏━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┓
   ┃ Device ┃ Memory usage         ┃ Duty cycle ┃
   ┡━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━┩
   │ 0      │ 0.00 GiB / 31.75 GiB │      0.00% │
   │ 1      │ 0.00 GiB / 31.75 GiB │      0.00% │
   │ 2      │ 0.00 GiB / 31.75 GiB │      0.00% │
   │ 3      │ 0.00 GiB / 31.75 GiB │      0.00% │
   └────────┴──────────────────────┴────────────┘

   TensorCore Utilization
   ┏━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┓
   ┃ Chip ID ┃ TensorCore Utilization ┃
   ┡━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━┩
   │ 0       │                  0.00% │
   │ 1       │                  0.00% │
   │ 3       │                  0.00% │
   │ 2       │                  0.00% |
   └─────────┴────────────────────────┘

   Buffer Transfer Latency
   ┏━━━━━━━━━━━━━┳━━━━━┳━━━━━┳━━━━━┳━━━━━━┓
   ┃ Buffer Size ┃ P50 ┃ P90 ┃ P95 ┃ P999 ┃
   ┡━━━━━━━━━━━━━╇━━━━━╇━━━━━╇━━━━━╇━━━━━━┩
   │       8MB+  | 0us │ 0us │ 0us │  0us |
   └─────────────┴─────┴─────┴─────┴──────┘

איך מוסיפים נפח של Persistent Disk ל-Cloud TPU VM?

מידע נוסף זמין במאמר צירוף אחסון בלוקים עמיד ל-TPU VM.

מידע נוסף זמין במאמר אפשרויות אחסון ב-Cloud TPU.

שאלות נפוצות על JAX

איך אפשר לדעת אם התוכנית משתמשת ב-TPU?

יש כמה דרכים לוודא ש-JAX משתמש ב-TPU:

  1. משתמשים בפונקציה jax.devices(). לדוגמה:

    assert jax.devices()[0].platform == 'tpu'
    
  2. מנתחים את הפרופיל של התוכנית ומוודאים שהפרופיל מכיל פעולות TPU. למידע נוסף, קראו את המאמר יצירת פרופילים של תוכניות JAX.

מידע נוסף זמין בשאלות נפוצות על JAX.

שאלות נפוצות בנושא PyTorch

איך אפשר לדעת אם התוכנית משתמשת ב-TPU?

כדי לוודא ש-PyTorch משתמש ב-TPU עם TorchTPU, אתם יכולים:

  1. בודקים את מכשיר המאיץ הפעיל ב-Python:

    import torch
    
    assert torch.accelerator.current_accelerator().type == "tpu"
    
  2. מנתחים את עומס העבודה באמצעות torch.profiler ומוודאים שפעולות ה-TPU מופיעות במעקב. מידע נוסף זמין במאמר יצירת פרופיל ביצועים באמצעות XProf.

מידע נוסף זמין במאמרים PyTorch ב-Cloud TPU, מסמכי התיעוד של TorchTPU ושאלות נפוצות בנושא TorchTPU.