Tensor Processing Unit (TPU) adalah sirkuit terintegrasi khusus aplikasi (ASIC) yang dikembangkan secara khusus oleh Google dan dirancang untuk mempercepat workload machine learning (ML) dan kecerdasan buatan (AI). Baik Anda melatih model dasar yang kompleks selama berminggu-minggu atau menjalankan inferensi berskala besar, TPU menawarkan resource komputasi khusus yang dapat diskalakan dan dioptimalkan untuk framework AI tingkat lanjut.
Dokumen ini menjelaskan peran TPU dalam Google Cloud, spesifikasi teknis setiap versi TPU yang tersedia, karakteristik performa, pertimbangan harga, dan cara pemetaannya ke seri mesin Compute Engine.
Apa itu TPU?
TPU adalah ASIC yang dirancang khusus untuk menangani tuntutan operasi matriks besar yang menjadi inti algoritma ML.
Komponen arsitektur utama sistem TPU mencakup hal berikut:
TensorCore: unit pemrosesan chip TPU. Setiap TensorCore terdiri dari satu atau beberapa Unit Perkalian Matriks (MXU) yang menggunakan arsitektur array sistolik untuk melakukan perkalian matriks dengan efisiensi tinggi, bersama dengan unit skalar dan vektor untuk alur kontrol dan komputasi umum.
SparseCore: prosesor aliran data khusus yang dirancang untuk mempercepat operasi sparse. SparseCore bekerja bersama TensorCore untuk memproses tabel embedding besar secara efisien, sehingga ideal untuk mempercepat model rekomendasi dan embedding berskala besar.
High-bandwidth memory (HBM): memori fisik besar yang terpasang ke chip TPU yang menawarkan bandwidth memori yang sangat besar. HBM memungkinkan pelatihan dan penyajian model yang lebih besar dengan ukuran batch yang lebih besar.
Instance TPU: instance komputasi Linux yang berjalan di host TPU dan memiliki akses langsung ke hardware TPU yang mendasarinya, sehingga menawarkan akses ke library berperforma tinggi, konektivitas SSH, dan log debug runtime.
Slice dan Pod TPU: Pod TPU adalah cluster besar yang berdekatan dari TPU chip yang terhubung secara fisik. Slice TPU adalah partisi logis Pod (yang terdiri dari satu atau beberapa host yang terhubung menggunakan interkoneksi berkecepatan tinggi) yang dialokasikan untuk menjalankan satu workload.
Compiler XLA: compiler Accelerated Linear Algebra (XLA) mengompilasi graf machine learning menjadi petunjuk mesin yang dioptimalkan yang berjalan di TensorCore TPU.
Versi TPU dan seri mesin
Compute Engine mendukung beberapa generasi dan versi TPU. Tabel berikut memberikan spesifikasi utama untuk setiap versi TPU yang didukung:
| Versi TPU | Seri mesin | Komputasi puncak per chip (TFLOPs) | Memori dan bandwidth TPU | Core per chip | Bandwidth Interconnect (ICI) per chip | Bandwidth jaringan (DCN) per chip | Chip per pod |
|---|---|---|---|---|---|---|---|
| TPU7x (Ironwood) | tpu7x-standard |
BF16: 2.307 FP8: 4.614 |
192 GiB (7.380 GBps) |
2 TensorCore 4 SparseCore |
1.200 GBps | 100 Gbps | 9.216 |
| TPU v6e (Trillium) | ct6e-standard |
BF16: 918 FP8: 918 |
32 GiB (1.638 GBps) |
1 TensorCore 2 SparseCore |
800 GBps | 100 Gbps | 256 |
| TPU v5p | ct5p-hightpu |
BF16: 459 FP8: 459 |
95 GiB (2.765 GBps) |
2 TensorCore 4 SparseCore |
1.200 GBps | 50 Gbps | 8.960 |
Karakteristik performa TPU
TPU dioptimalkan untuk menjalankan operasi aljabar matriks padat dengan efisiensi maksimum. Untuk memilih kapan TPU paling cocok untuk workload ML Anda, pertimbangkan panduan berikut.
Kasus penggunaan yang ideal dan persyaratan workload
Memilih model TPU yang tepat bergantung pada karakteristik komputasi, persyaratan memori, dan kebutuhan skalabilitas workload Anda. Pilih salah satu tab berikut untuk melihat rekomendasi.
Pelatihan AI/ML
Pra-pelatihan model besar: melatih model besar dari awal. Beban kerja ini terikat pada komputasi dan komunikasi.
Menyesuaikan dan menyaring model: mengadaptasi model yang ada menggunakan metode yang efisien secara parameter atau melatih varian model yang lebih kecil.
Inferensi AI/ML
Menyajikan model secara online: men-deploy model untuk interaksi real-time dengan latensi rendah. Beban kerja ini terikat bandwidth memori selama pembuatan token berurutan.
- Kemampuan TPU yang diperlukan: bandwidth HBM tinggi dan SRAM on-chip besar untuk meminimalkan latensi pengambilan data.
- Versi TPU yang direkomendasikan:
Menjalankan inferensi batch: memproses set data besar secara offline dengan tujuan utama throughput tinggi. Beban kerja ini terikat komputasi selama fase pengisian otomatis perintah.
- Kemampuan TPU yang diperlukan: kepadatan komputasi tinggi untuk memaksimalkan throughput per dolar.
- Versi TPU yang direkomendasikan:
Sistem pemberi rekomendasi
- Memproses embedding besar: melatih dan menayangkan model rekomendasi yang menggunakan tabel embedding besar. Beban kerja ini terikat dengan kapasitas dan komunikasi.
- Kemampuan TPU yang diperlukan: hardware SparseCore khusus untuk memproses operasi jarang secara paralel, kapasitas HBM yang besar, dan dukungan untuk memindahkan data ke memori host.
- Versi TPU yang direkomendasikan:
Reinforcement learning
Menjalankan loop reinforcement learning: mengelola workload hybrid yang memerlukan loop ketat untuk membuat sampel dan memperbarui bobot kebijakan.
Pertimbangan workload
TPU mungkin bukan pilihan optimal untuk workload berikut:
- Program aljabar linier yang memerlukan percabangan logis yang sering atau berisi banyak operasi aljabar per elemen.
- Workload yang bergantung pada operator kustom di JAX atau PyTorch yang berjalan di CPU.
- Workload ilmiah yang memerlukan aritmetika floating point presisi ganda (FP64).
Pertimbangan harga
Faktor berikut menentukan harga TPU di Google Cloud:
Versi TPU
Lokasi
Model konsumsi
Untuk mengetahui detail harga selengkapnya, lihat halaman harga TPU.
Model konsumsi dan pembelian
Anda dapat menyediakan instance TPU menggunakan salah satu opsi konsumsi berikut, bergantung pada persyaratan ketersediaan dan toleransi biaya:
- On-demand: Harga bayar sesuai penggunaan (PAYG) standar untuk eksekusi langsung. Menawarkan fleksibilitas siklus proses maksimum, tetapi ketersediaannya tunduk pada batasan resource fisik.
- Spot: Kapasitas Google Cloud berlebih dengan diskon besar (hingga 70%). Karena Google Cloud dapat menghentikan atau menghapus Spot VM untuk mendapatkan kembali kapasitas dengan pemberitahuan 30 detik, instance komputasi ini ideal untuk workload fault-tolerant dan checkpoint.
- Flex-start: Memungkinkan permintaan instance komputasi dari kumpulan khusus hingga tujuh hari dengan ketersediaan yang lebih tinggi.
- Pemesanan untuk masa mendatang: Pemesanan yang menjamin kapasitas dan menawarkan harga diskon dibandingkan dengan harga on-demand. Pesan kapasitas TPU untuk tanggal dan waktu tertentu di masa mendatang, baik hingga 90 hari (mode kalender) atau selama 1 tahun atau lebih. Jika Google Cloud menyetujui permintaan Anda, Anda dapat mulai menggunakan kapasitas selama durasi reservasi.
Diskon abonemen (CUD)
Saat meminta pemesanan untuk masa mendatang selama 1 tahun atau lebih, Anda dapat memperoleh CUD pada kapasitas TPU yang dipesan. Menerapkan CUD ke instance komputasi akan memberi Anda pengurangan harga yang signifikan dibandingkan tarif on-demand sebagai imbalan atas periode penggunaan yang berkomitmen.
Untuk mengetahui informasi selengkapnya, lihat CUD untuk Compute Engine.
Langkah berikutnya
- Tinjau mesin TPU dalam kelompok mesin yang dioptimalkan akselerator.
- Pelajari cara Membuat instance TPU.