TPU v6e
Dokumen ini menjelaskan arsitektur dan konfigurasi yang didukung Cloud TPU v6e (Trillium).
Trillium adalah akselerator AI generasi terbaru Cloud TPU. Di semua platform teknis, seperti API dan log, dan di seluruh dokumen ini, Trillium akan disebut sebagai v6e.
Dengan jejak 256 chip per Pod, v6e memiliki banyak kesamaan dengan v5e. Sistem ini dioptimalkan untuk menjadi produk dengan nilai tertinggi untuk pelatihan, penyesuaian, dan penayangan transformator, text-to-image, dan jaringan neural konvolusi (CNN).
Arsitektur sistem
Setiap chip v6e berisi satu TensorCore. Setiap TensorCore memiliki 4 unit perkalian matriks (MXU), unit vektor, dan unit skalar. Tabel berikut menunjukkan spesifikasi utama dan nilainya untuk TPU v6e dibandingkan dengan TPU v5e.
Spesifikasi | v5e | v6e |
---|---|---|
Performa/total biaya kepemilikan (TCO) (diharapkan) | 0,65x | 1 |
Komputasi puncak per chip (bf16) | 197 TFLOP | 918 TFLOP |
Komputasi puncak per chip (Int8) | 393 TOP | 1836 TOP |
Kapasitas HBM per chip | 16 GB | 32 GB |
Bandwidth HBM per chip | 819 GBps | 1.640 Gbps |
Bandwidth interkoneksi antar-chip (ICI) | 1.600 Gbps | 3.584 Gbps |
Port ICI per chip | 4 | 4 |
DRAM per host | 512 GiB | 1.536 GiB |
Chip per host | 8 | 8 |
Ukuran Pod TPU | 256 chip | 256 chip |
Topologi interkoneksi | Torus 2D | Torus 2D |
Komputasi puncak BF16 per Pod | 50,63 PFLOP | 234,9 PFLOP |
Bandwidth all-reduce per Pod | 51,2 TB/dtk | 102,4 TB/dtk |
Bandwidth bisection per Pod | 1,6 TB/dtk | 3,2 TB/dtk |
Konfigurasi NIC per host | 2 x NIC 100 Gbps | 4 x NIC 200 Gbps |
Bandwidth jaringan pusat data per Pod | 6,4 Tbps | 25,6 Tbps |
Fitur khusus | - | SparseCore |
Konfigurasi yang didukung
TPU v6e mendukung pelatihan untuk hingga 256 chip v6e dan inferensi host tunggal untuk hingga 8 chip.
Tabel berikut menunjukkan bentuk slice 2D yang didukung untuk v6e:
Topologi | Chip TPU | Host | VM | Jenis akselerator (TPU API) | Jenis mesin (GKE API) | Cakupan | Mendukung inferensi? |
---|---|---|---|---|---|---|---|
1x1 | 1 | 1/8 | 1 | v6e-1 |
ct6e-standard-1t |
Sub-host | Ya |
2x2 | 4 | 1/2 | 1 | v6e-4 |
ct6e-standard-4t |
Sub-host | Ya |
2x4 | 8 | 1 | 1 | v6e-8 |
ct6e-standard-8t |
Host tunggal | Ya |
2x4 | 8 | 1 | 2 | - | ct6e-standard-4t |
Host tunggal | Tidak |
4x4 | 16 | 2 | 4 | v6e-16 |
ct6e-standard-4t |
Multi-host | Tidak |
4x8 | 32 | 4 | 8 | v6e-32 |
ct6e-standard-4t |
Multi-host | Tidak |
8x8 | 64 | 8 | 16 | v6e-64 |
ct6e-standard-4t |
Multi-host | Tidak |
8x16 | 128 | 16 | 32 | v6e-128 |
ct6e-standard-4t |
Multi-host | Tidak |
16x16 | 256 | 32 | 64 | v6e-256 |
ct6e-standard-4t |
Multi-host | Tidak |
Slice dengan 8 chip (v6e-8
) yang terpasang ke satu VM dioptimalkan untuk
inferensi, sehingga memungkinkan 8 chip tersebut digunakan dalam satu workload penayangan.
Untuk mengetahui informasi tentang jumlah VM untuk setiap topologi, lihat Jenis VM.
Jenis VM
Setiap VM TPU v6e dapat berisi 1, 4, atau 8 chip. Slice 4 chip dan yang lebih kecil memiliki node akses memori non-seragam (NUMA) yang sama. Untuk informasi selengkapnya tentang node NUMA, lihat Non-uniform memory access di Wikipedia.
Slice v6e dibuat menggunakan VM setengah host, masing-masing dengan 4 chip TPU. Ada dua pengecualian untuk aturan ini:
v6e-1
: VM dengan hanya satu chip, yang terutama ditujukan untuk pengujianv6e-8
: VM host penuh yang telah dioptimalkan untuk kasus penggunaan inferensi dengan 8 chip yang terpasang ke satu VM.
Tabel berikut menunjukkan perbandingan jenis VM TPU v6e:
Jenis VM | Jumlah vCPU per VM | RAM (GB) per VM | Jumlah node NUMA per VM |
---|---|---|---|
VM 1 chip | 44 | 176 | 1 |
VM 4 chip | 180 | 720 | 1 |
VM 8 chip | 180 | 1440 | 2 |
Menentukan konfigurasi v6e
Saat mengalokasikan slice TPU v6e menggunakan TPU API, Anda menentukan ukuran dan bentuk slice menggunakan parameter AcceleratorType
atau AcceleratorConfig
.
Jika Anda menggunakan GKE, gunakan flag --machine-type
untuk menentukan
jenis mesin yang mendukung TPU yang ingin Anda gunakan. Untuk mengetahui informasi selengkapnya, lihat
Men-deploy workload TPU di GKE Standard dalam
dokumentasi GKE.
Gunakan AcceleratorType
Saat mengalokasikan resource TPU, Anda menggunakan AcceleratorType
untuk menentukan jumlah
TensorCore dalam slice. Nilai yang Anda tentukan untuk
AcceleratorType
adalah string dengan format: v$VERSION-$TENSORCORE_COUNT
.
Misalnya, v6e-8
menentukan slice TPU v6e dengan 8 TensorCore.
Contoh berikut menunjukkan cara membuat slice TPU v6e dengan 32 TensorCores menggunakan AcceleratorType
:
gcloud
$ gcloud compute tpus tpu-vm create tpu-name \ --zone=zone \ --accelerator-type=v6e-32 \ --version=v2-alpha-tpuv6e
Konsol
Di konsol Google Cloud, buka halaman TPUs:
Klik Buat TPU.
Di kolom Nama, masukkan nama untuk TPU Anda.
Di kotak Zone, pilih zona tempat Anda ingin membuat TPU.
Di kotak Jenis TPU, pilih
v6e-32
.Di kotak TPU software version, pilih
v2-alpha-tpuv6e
. Saat membuat VM Cloud TPU, versi software TPU menentukan versi runtime TPU yang akan diinstal. Untuk mengetahui informasi selengkapnya, lihat Image VM TPU.Klik tombol Aktifkan antrean.
Di kolom Queued resource name, masukkan nama untuk permintaan resource yang diantrekan.
Klik Create.
Gunakan AcceleratorConfig
Anda juga dapat menggunakan AcceleratorConfig
untuk menentukan jumlah TensorCore yang ingin
Anda gunakan. Namun, karena tidak ada varian topologi 2D kustom untuk TPU
v6e, tidak ada perbedaan antara penggunaan AcceleratorConfig
dan
AcceleratorType
.
Untuk mengonfigurasi TPU v6e menggunakan AcceleratorConfig
, gunakan flag --version
dan
--topology
. Tetapkan --version
ke versi TPU yang ingin Anda gunakan dan
--topology
ke pengaturan fisik chip TPU dalam slice. Nilai
yang Anda tentukan untuk AcceleratorConfig
adalah string dengan format AxB
, dengan A
dan B
adalah jumlah chip di setiap arah.
Contoh berikut menunjukkan cara membuat slice TPU v6e 32 TensorCores
menggunakan AcceleratorType
yang disusun dalam topologi 4x8:
$ gcloud compute tpus tpu-vm create tpu-name \ --zone=zone \ --type=v6e \ --topology=4x8 \ --version=v2-alpha-tpuv6e