常見問題 - Cloud TPU
這份說明文件列出了 Cloud TPU 的相關常見問題。分為以下幾個部分:
- 與架構無關的常見問題:無論您使用何種機器學習架構,都可能遇到的 Cloud TPU 使用問題。
- JAX 常見問題 - 搭配使用 Cloud TPU 與 JAX 的相關問題。
- PyTorch 常見問題:搭配使用 Cloud TPU 與 PyTorch 的相關問題。
架構獨立常見問題
如何查看 Cloud TPU VM 上使用 TPU 的程序?
在 Cloud TPU VM 上執行 tpu-info,列印程序 ID 和使用 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 |
└─────────────┴─────┴─────┴─────┴──────┘
如何將永久磁碟磁碟區新增至 Cloud TPU VM?
詳情請參閱「將耐用區塊儲存空間附加至 TPU VM」。
使用 TPU VM 訓練時,支援或建議哪些儲存空間選項?
詳情請參閱「Cloud TPU 儲存空間選項」。
JAX 常見問題
如何得知程式是否正在使用 TPU?
您可以透過下列幾種方式,再次確認 JAX 是否使用 TPU:
使用
jax.devices()函式。例如:assert jax.devices()[0].platform == 'tpu'剖析程式,並確認剖析結果包含 TPU 作業。詳情請參閱「剖析 JAX 程式」
詳情請參閱 JAX 常見問題
PyTorch 常見問題
如何得知程式是否正在使用 TPU?
您可以透過下列方式,確認 PyTorch 是否使用 TorchTPU 搭配 TPU:
在 Python 中檢查使用中的加速器裝置:
import torch assert torch.accelerator.current_accelerator().type == "tpu"使用
torch.profiler分析工作負載,並確認 TPU 作業顯示在追蹤記錄中。
詳情請參閱「在 Cloud TPU 上使用 PyTorch」和 TorchTPU 說明文件。