13 poin oleh GN⁺ 2025-06-23 | Belum ada komentar. | Bagikan ke WhatsApp
  • TPU adalah chip kustom yang dikembangkan oleh Google untuk pelatihan dan inferensi AI skala besar, dengan filosofi desain yang berbeda dari GPU
  • Menekankan skalabilitas dan efisiensi energi, dengan merancang perangkat keras (misalnya konfigurasi system-on-chip, memori on-chip berukuran besar) dan perangkat lunak (XLA compiler) secara bersamaan
  • Struktur intinya adalah systolic array, pipelining, dan pendekatan kompilasi terlebih dahulu, yang dioptimalkan untuk sebagian besar operasi deep learning (terutama perkalian matriks)
  • Berkat teknologi OCI dan OCS, dimungkinkan konfigurasi node yang fleksibel, pemrosesan paralel berperforma tinggi, dan pemilihan berbagai topologi
  • Sistem TPU dapat diskalakan secara hierarkis dari satu chip hingga multipod raksasa, sehingga memungkinkan pelatihan model AI berskala besar dan pemanfaatan sumber daya yang efisien

Gambaran Umum dan Latar Belakang

  • TPU adalah chip berbasis ASIC yang dikembangkan Google untuk menghadapi ekspansi besar-besaran layanan AI
  • Pada awalnya Google mempertimbangkan GPU, FPGA, dan ASIC, tetapi seiring meluasnya pemanfaatan deep learning seperti pencarian suara pada 2013, kebutuhan akan perangkat keras kustom meningkat
  • Saat ini TPU berperan penting dalam layanan AI utama seperti Gemini dan Veo, serta banyak digunakan pada model rekomendasi seperti DLRM

Struktur Satu Chip TPU

Konfigurasi Dasar

  • Berdasarkan TPUv4, satu chip memiliki 2 TensorCore (TPU yang dioptimalkan untuk inferensi memiliki 1)
  • Masing-masing TensorCore terhubung ke perangkat memori CMEM (128MiB) dan HBM (32GiB)

Struktur Internal TensorCore

  • Matrix Multiply Unit (MXU) : berbasis systolic array 128x128, khusus untuk perkalian matriks
  • Vector Unit (VPU) : menjalankan operasi elemen demi elemen umum
  • Vector Memory (VMEM; 32MiB) : menyalin data dari HBM dan digunakan sebagai memori persiapan kerja
  • Scalar Unit + Scalar Memory (SMEM; 10MiB) : menangani alur kontrol, operasi skalar, dan pengelolaan alamat memori

Perbedaan Struktural dengan GPU

  • TPU memiliki memori on-chip (CMEM, VMEM, SMEM) yang jauh lebih besar dibanding GPU
  • Kapasitas HBM lebih besar pada GPU, dan jumlah core komputasinya juga jauh lebih banyak pada GPU
  • Berdasarkan TPUv5p, performa tinggi dicapai pada level 500 TFLOPs/sec per chip, dan 4.45 ExaFLOPs/sec untuk satu pod penuh (8960 chip)

Filosofi Desain TPU

1. Systolic Array dan Pipelining

  • Systolic array adalah susunan elemen pemrosesan (PE) yang meneruskan hasil perhitungan ke elemen di sebelahnya
  • Setelah data dimasukkan, komputasi berkelanjutan dapat dilakukan tanpa kontrol tambahan, dan operasi baca/tulis memori hanya terjadi pada input dan output
  • Terutama dioptimalkan untuk perkalian matriks dan konvolusi
  • Melalui pemrosesan pipeline, komputasi dan perpindahan data berlangsung secara bersamaan untuk mengoptimalkan throughput

Kekurangan Systolic Array - Sparsity

  • Semua elemen komputasi selalu aktif sehingga kurang cocok untuk matriks sparse
  • Jika model DL di masa depan makin mengarah pada sparsity tidak teratur, hal ini bisa menjadi keterbatasan

2. Kompilasi di Muka (AoT) dan Minimasi Cache

  • Melalui co-design TPU-XLA, ketergantungan pada cache yang diperlukan untuk akses memori tidak teratur diminimalkan sehingga konsumsi energi berkurang
  • Compiler XLA menganalisis graph komputasi untuk menghitung pola akses memori sebelumnya, lalu mengandalkan scratchpad memory alih-alih cache
  • @jit pada JAX adalah bentuk peralihan antara JIT dan AoT; saat eksekusi pertama, graph statis dibuat lalu dikompilasi AoT oleh XLA
  • Jika bentuk input berubah, kompilasi ulang diperlukan, sehingga ada ketidakefisienan pada padding atau iterasi dinamis
  • Mencapai efisiensi energi yang tinggi, tetapi kekurangan fleksibilitas menjadi kelemahannya

Efisiensi Energi TPUv4

  • Chip modern menggunakan memori HBM3 untuk mengurangi konsumsi energi
  • Dibanding komputasi, pekerjaan memori mengonsumsi energi puluhan hingga ratusan kali lebih besar, sehingga meminimalkan akses memori dapat sangat meningkatkan efisiensi

Struktur Multi-Chip TPU

Level Tray (Tray/Board; 4 chip)

  • 1 tray terdiri dari 4 chip TPU (8 TensorCore) dan CPU host
  • Koneksi Host↔Chip menggunakan PCIe, sedangkan koneksi Chip↔Chip menggunakan Inter-Core Interconnect (ICI) yang menyediakan bandwidth lebih tinggi

Level Rack (Rack; 4x4x4=64 chip)

  • 1 rack terdiri dari 64 chip TPU, terhubung melalui ICI dan OCS (Optical Circuit Switching) dalam 3D torus (4x4x4)
  • Di Google, rack, pod, dan slice dibedakan sebagai berikut
    • Rack: unit fisik 64 chip (=kubus)
    • Pod: unit maksimum yang dapat dihubungkan dengan ICI dan OCS (misalnya TPUv4=4096 chip=64 rack)
    • Slice: unit abstrak dengan konfigurasi sewenang-wenang dari 4 chip hingga Superpod

Keunggulan OCS

  1. Wraparound : setiap sumbu dibentuk menjadi ring (1D torus) untuk mengurangi jumlah hop terburuk antar-node
  2. Slice nonkontigu yang fleksibel: dengan struktur switching OCS, node yang terpisah secara fisik tetap dapat dibentuk menjadi satu slice, sehingga memudahkan pemanfaatan sumber daya dan pemeliharaan
  3. Topologi twisted: dengan jumlah chip yang sama (x,y,z tetap), struktur koneksi dapat diubah untuk mengoptimalkan kecepatan pada pola komputasi tertentu (misalnya twisted torus)

Contoh Pemanfaatan Topologi

  • Bentuk kubus: cocok untuk paralelisme data/tensor (bandwidth maksimum)
  • Bentuk garis lurus: menguntungkan untuk paralelisme pipeline
  • Twisted torus: meningkatkan kecepatan saat komunikasi all-to-all diperlukan (misalnya tensor parallel)

Superpod (Full Pod/Superpod; TPUv4: 4096 chip/64 rack)

  • Beberapa rack dihubungkan dengan ICI dan OCS untuk membangun sistem berskala sangat besar
  • Bergantung pada jenis topologi slice, bandwidth komunikasi dan performa pemrosesan paralel dapat berbeda
  • Berkat OCS, diperoleh fleksibilitas seperti slice nonkontigu dan topologi twisted

Level Multipod (Multi-pod/Multislice; TPUv4: lebih dari 4096)

  • Beberapa pod dihubungkan melalui data center network (DCN) untuk menyediakan infrastruktur pelatihan skala besar, meski bandwidth-nya lebih rendah dibanding ICI
  • Pelatihan PaLM menggunakan 2 pod (6144 TPUv4) dan dijalankan dengan pengelolaan sumber daya total 6 pod
  • Saat mengembangkan model berskala besar, compiler XLA mengoptimalkan pola komunikasi berdasarkan pengaturan peneliti (seperti dimensi paralelisme)
  • XLA menyisipkan operasi komunikasi antar-slice dan antar-pod, sehingga pelatihan terdistribusi skala besar dapat diwujudkan dengan perubahan kode minimal

Contoh Perangkat Keras Nyata dan Diagram

  • Rack TPU: 3D torus 4x4x4 sebagai satu unit, dengan 2 tray (8 chip) di setiap baris
  • Tray TPUv4: secara nyata memiliki 4 port PCIe (masing-masing untuk 1 TPU)
  • Chip TPUv4: ASIC di tengah, dikelilingi 4 stack HBM (berdasarkan 2 TensorCore)
  • Floorplan chip TPUv4i (tipe inferensi): 1 TensorCore, dengan area CMEM yang luas

Penutup

  • Menyampaikan apresiasi kepada Google TPU Research Cloud (TRC) atas dukungan riset

Referensi

Belum ada komentar.

Belum ada komentar.