Proyek OpenTPU dari UC Santa Barbara ArchLab, sebuah implementasi sumber terbuka dari Tensor Processing Unit milik Google, secara diam-diam telah melanjutkan pengembangan selama hampir delapan tahun sejak rilis awalnya. Diskusi komunitas terbaru telah menyoroti baik persistensi proyek ini maupun evolusi pesat teknologi TPU Google sejak makalah asli tahun 2017 yang menginspirasi upaya akademis ini.
Proyek Menunjukkan Umur Panjang yang Mengejutkan Meski Sudah Tua
Meskipun repositori OpenTPU asli tampak tidak aktif, anggota komunitas menemukan bahwa pengembangan aktif telah berlanjut dalam fork proyek, dengan commit serecent tiga jam sebelum diskusi tersebut. Persistensi ini luar biasa untuk sebuah proyek akademis yang dimulai sebagai upaya reverse-engineering berdasarkan informasi publik yang terbatas tentang chip TPU generasi pertama Google.
Proyek ini tetap fokus pada kemampuan inference-only dari TPU datacenter asli Google, yang dirancang khusus untuk menjalankan komputasi jaringan neural daripada melatihnya. Fokus sempit ini mencerminkan detail teknis terbatas yang tersedia ketika proyek dimulai, karena Google belum menerbitkan spesifikasi komprehensif untuk silicon kustom mereka.
Set Instruksi OpenTPU:
- RHM: Read Host Memory - Membaca N vektor dari memori host ke Unified Buffer
- WHM: Write Host Memory - Menulis N vektor dari UB ke memori host
- RW: Read Weights - Memuat ubin bobot dari DRAM
- MMC: Matrix Multiply/Convolution - Melakukan operasi matriks
- ACT: Activate - Menerapkan fungsi aktivasi (ReLU, sigmoid)
- NOP: No operation - Tidak ada operasi
- HALT: Stop simulation - Menghentikan simulasi
Komunitas Menyoroti Kebingungan Seputar Generasi TPU
Diskusi teknis mengungkapkan kebingungan yang meluas tentang berbagai jenis TPU yang telah dikembangkan Google selama bertahun-tahun. Anggota komunitas mencatat bahwa banyak orang mencampuradukkan perangkat Edge TPU Google, yang dirancang untuk aplikasi mobile dan embedded, dengan TPU datacenter masif yang digunakan untuk melatih model AI besar.
Situs tersebut mencampuradukkan inference engine di Edge TPU dengan datacenter TPU. Keduanya adalah proyek yang tidak terkait.
Kebingungan ini berasal dari penggunaan merek TPU oleh Google di berbagai kategori produk yang sangat berbeda, dari chip edge computing kecil hingga kluster supercomputing seukuran ruangan.
Kemampuan TPU Modern Jauh Melampaui Desain Asli
Kontras antara kemampuan OpenTPU dan TPU Google modern menggambarkan betapa cepatnya hardware AI telah berkembang. Sementara OpenTPU mendukung perkalian matriks dasar dan fungsi aktivasi sederhana seperti ReLU dan sigmoid, ia tidak memiliki operasi konvolusi, pooling, dan normalisasi yang dapat diprogram yang standar dalam akselerator AI kontemporer.
TPU Google modern telah berkembang jauh melampaui desain inference-only yang menginspirasi OpenTPU. Generasi saat ini menangani baik training maupun inference untuk model bahasa masif, dengan sistem TPU v4 menawarkan lebih dari 1.200 GB/s bandwidth memori dibandingkan dengan spesifikasi yang jauh lebih sederhana dari TPU asli tahun 2015.
Perbandingan Evolusi TPU:
Generasi | Bandwidth Memori | Penggunaan Utama | Tahun |
---|---|---|---|
TPU v1 (Original) | Tidak disebutkan | Hanya inferensi | 2015 |
TPU v3 | 900 GB/s | Pelatihan & Inferensi | ~2018 |
TPU v4 | 1.200 GB/s | Pelatihan & Inferensi | ~2020 |
Nilai Akademis Tetap Ada Meski Ada Kesenjangan Teknologi
Meskipun berdasarkan teknologi yang hampir berusia satu dekade, OpenTPU terus melayani tujuan pendidikan untuk mahasiswa dan peneliti yang mempelajari arsitektur komputer. Proyek ini menyediakan implementasi lengkap dan berfungsi yang mendemonstrasikan konsep fundamental dari systolic array, hierarki memori khusus, dan model eksekusi deterministik yang tetap relevan dalam desain akselerator AI modern.
Penggunaan PyRTL untuk deskripsi hardware dalam proyek ini juga membuatnya dapat diakses oleh peneliti yang mungkin tidak familiar dengan bahasa deskripsi hardware tradisional seperti Verilog atau VHDL.
Spesifikasi Teknis OpenTPU:
- Unit perkalian matriks: Array yang dapat dikonfigurasi dari pengali integer 8-bit
- Konfigurasi default: Ukuran matriks 8x8 atau 16x16 (dapat dikonfigurasi hingga 256x256)
- Memori: Unified Buffer dan Accumulator Buffers (ukuran dapat dikonfigurasi)
- Operasi yang didukung: Perkalian matriks, aktivasi ReLU, sigmoid
- Fitur yang belum tersedia: Konvolusi, pooling, normalisasi yang dapat diprogram
Arah Masa Depan dan Teknologi yang Muncul
Diskusi komunitas telah meluas melampaui implementasi silicon tradisional untuk mengeksplorasi alternatif eksotis seperti prosesor berbasis carbon nanotube dan quantum processing unit. Penelitian terbaru menunjukkan bahwa TPU yang dibangun dengan transistor carbon nanotube berpotensi mencapai 1 tera-operasi per detik per watt pada node manufaktur yang lebih lama, meskipun teknologi tersebut sebagian besar masih eksperimental.
Proyek OpenTPU berdiri sebagai bukti nilai penelitian hardware sumber terbuka, bahkan ketika berdasarkan informasi yang tidak lengkap tentang desain proprietary. Meskipun mungkin tidak akan pernah menyamai kemampuan generasi TPU Google terbaru, ia terus memberikan wawasan tentang prinsip-prinsip fundamental yang mendorong akselerasi AI modern.
Referensi: UCSB ArchLab OpenTPU Project