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.

Diagram host v6e

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 pengujian
  • v6e-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

  1. Di konsol Google Cloud, buka halaman TPUs:

    Buka TPU

  2. Klik Buat TPU.

  3. Di kolom Nama, masukkan nama untuk TPU Anda.

  4. Di kotak Zone, pilih zona tempat Anda ingin membuat TPU.

  5. Di kotak Jenis TPU, pilih v6e-32.

  6. 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.

  7. Klik tombol Aktifkan antrean.

  8. Di kolom Queued resource name, masukkan nama untuk permintaan resource yang diantrekan.

  9. 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