- TPU (Tensor Processing Unit) v1 pertama Google bertujuan mengembangkan ASIC (Application Specific Integrated Circuit) yang memberikan keunggulan biaya-performa 10x dengan mempertimbangkan peluang layanan baru yang memanfaatkan deep learning serta skala dan biaya perangkat keras yang dibutuhkan.
- TPU dirancang untuk mempercepat operasi tensor, dan tensor mengacu pada operasi yang memetakan hubungan array multidimensi antara vektor, skalar, dan tensor lainnya.
- Perkalian matriks adalah operasi inti dalam jaringan saraf, digunakan untuk menghitung lapisan tersembunyi dan lapisan keluaran dengan mengalikan vektor input dengan matriks bobot lalu menerapkan fungsi aktivasi.
Tensor Processing Unit pertama Google: Asal-usul
- Proyek TPU v1 dimulai pada akhir 2013 dan dikembangkan dalam 15 bulan, yang menjadi topik menarik bagi orang-orang yang tertarik pada akselerator jaringan saraf.
- Latar belakang pengembangan dan tujuan TPU v1 telah dibahas di post sebelumnya, dan pada post ini struktur serta performa TPU v1 dibahas lebih rinci.
Struktur dan performa
- Desain TPU v1 didasarkan pada arsitektur yang diajukan dalam makalah tahun 1978 "Systolic Arrays (for VLSI)" oleh H.T Kung dan Charles E. Leiserson.
- Systolic array terdiri dari jaringan prosesor yang secara berkala menghitung data dan meneruskannya melalui sistem untuk melakukan perkalian matriks secara efisien.
- Systolic array TPU v1 terdiri dari unit multiply/accumulate 256x256, dan secara otomatis menghasilkan hasil yang diperlukan tanpa perlu menyimpan dan mengambil hasil antara ke memori utama.
Multiply/Accumulate Units (MACs)
- TPU v1 melakukan perkalian integer 8-bit x 8-bit dan memanfaatkan kuantisasi, yang membutuhkan area die lebih kecil dibandingkan komputasi floating point.
Set instruksi
- TPU v1 menggunakan sekitar 20 set instruksi kompleks (CISC), dan instruksi-instruksi ini dikirim dari komputer host melalui antarmuka PCIe.
- Instruksi utama mencakup pembacaan memori host, pembacaan bobot, perkalian/fusi matriks, aktivasi, dan penulisan memori host.
Perangkat lunak
- Perangkat keras TPU v1 mendukung software stack seperti Tensorflow, sehingga aplikasi yang dikembangkan di CPU dan GPU dapat dengan cepat dipindahkan ke TPU.
Manufaktur dan die
- TPU v1 diproduksi menggunakan proses 28nm milik TSMC, dan luas die-nya kurang dari setengah chip CPU Intel Haswell dan GPU Nvidia K80 yang digunakan Google di data center.
Performa
- TPU v1 dirancang untuk membuat inferensi lebih efisien, dan memberikan kecepatan inferensi serta efisiensi energi sekitar 15x hingga 30x lebih tinggi dibandingkan GPU Nvidia K80 dan CPU Haswell.
Pelajaran
- Arsitektur kustom TPU v1 memungkinkan performa dan penggunaan energi yang jauh lebih baik dibandingkan CPU dan GPU modern.
- TPU v1 dirancang dengan tujuan membuat inferensi cepat dan hemat daya, dan bukan untuk pelatihan.
Opini GN⁺
- Pengembangan TPU v1 menandai titik balik penting ketika Google beralih ke perangkat keras tujuan khusus untuk mengoptimalkan pekerjaan inferensi di data center berskala besar.
- Arsitektur systolic array mengoptimalkan aliran data untuk meminimalkan akses memori, yang berkontribusi pada efisiensi energi dan peningkatan performa.
- Keberhasilan TPU v1 kemudian mendorong pengembangan berbagai versi TPU berikutnya dan memainkan peran penting dalam perkembangan perangkat keras inferensi AI.
- Produk lain yang menawarkan fungsi serupa dengan TPU antara lain GPU dengan Tensor Core dari Nvidia, Nervana NNP dari Intel, dan Inferentia dari Amazon.
- Saat mengadopsi teknologi TPU, perlu mempertimbangkan kompatibilitas dengan infrastruktur yang ada, software stack, dan tingkat optimisasi untuk aplikasi tertentu. Keuntungan memilih TPU adalah peningkatan kecepatan pekerjaan inferensi dan efisiensi energi, tetapi mungkin diperlukan optimisasi untuk model atau jenis data tertentu.
1 komentar
Komentar Hacker News