Arsitektur sistem
Tensor Processing Unit (TPU) adalah sirkuit terintegrasi khusus aplikasi (ASIC) yang dirancang oleh Google untuk mempercepat beban kerja machine learning. Cloud TPU adalah layanan Google Cloud yang menyediakan TPU sebagai resource yang skalabel.
TPU dirancang untuk melakukan operasi matriks dengan cepat sehingga cocok untuk beban kerja machine learning. Anda dapat menjalankan beban kerja machine learning di TPU menggunakan framework seperti TensorFlow, Pytorch, dan JAX.
Istilah Cloud TPU
Jika Anda baru menggunakan Cloud TPU, lihat halaman beranda dokumentasi TPU. Bagian berikut menjelaskan istilah dan konsep terkait yang digunakan dalam dokumen ini.
Inferensi batch
Inferensi batch atau offline mengacu pada melakukan inferensi di luar pipeline produksi, biasanya pada sebagian besar input. Inferensi batch digunakan untuk tugas offline seperti pelabelan data dan juga untuk mengevaluasi model yang dilatih. SLO latensi bukan prioritas untuk inferensi batch.
Chip TPU
Chip TPU berisi satu atau beberapa TensorCore. Jumlah TensorCore bergantung pada versi chip TPU. Setiap TensorCore terdiri dari satu atau beberapa unit perkalian matriks (MXU), unit vektor, dan unit skalar.
MXU terdiri dari 256 x 256 (TPU v6e) atau 128 x 128 (versi TPU sebelum v6e) multiply-accumulator dalam array sistolik. MXU menyediakan sebagian besar daya komputasi di TensorCore. Setiap MXU mampu melakukan 16K operasi perkalian-akumulasi per siklus. Semua perkalian menggunakan input bfloat16, tetapi semua akumulasi dilakukan dalam format angka FP32.
Unit vektor digunakan untuk komputasi umum seperti aktivasi dan softmax. Unit skalar digunakan untuk alur kontrol, menghitung alamat memori, dan operasi pemeliharaan lainnya.
Kubus TPU
Topologi 4x4x4. Hal ini hanya berlaku untuk topologi 3D (dimulai dengan versi TPU v4).
Inferensi
Inferensi adalah proses menggunakan model terlatih untuk membuat prediksi pada data baru. Ini digunakan oleh proses penayangan.
Multislice versus satu slice
Multislice adalah sekelompok slice, yang memperluas konektivitas TPU di luar koneksi interkoneksi antar-chip (ICI) dan memanfaatkan jaringan pusat data (DCN) untuk mengirim data di luar slice. Data dalam setiap slice masih ditransmisikan oleh ICI. Dengan menggunakan konektivitas hibrida ini, Multislice memungkinkan paralelisme di seluruh slice dan memungkinkan Anda menggunakan lebih banyak core TPU untuk satu tugas daripada yang dapat ditampung oleh satu slice.
TPU dapat digunakan untuk menjalankan tugas di satu slice atau beberapa slice. Lihat Pengantar multislice untuk detail selengkapnya.
Resiliensi ICI Cloud TPU
Resiliensi ICI membantu meningkatkan toleransi error link optik dan optical circuit switch (OCS) yang menghubungkan TPU di antara kubus. (Koneksi ICI dalam kubus menggunakan link tembaga yang tidak terpengaruh). Ketahanan ICI memungkinkan koneksi ICI dirutekan di sekitar OCS dan kerusakan ICI optik. Akibatnya, hal ini meningkatkan ketersediaan penjadwalan slice TPU, dengan mengorbankan degradasi sementara pada performa ICI.
Serupa dengan Cloud TPU v4, ketahanan ICI diaktifkan secara default untuk slice v5p yang berukuran satu kubus atau lebih besar:
- v5p-128 saat menentukan jenis akselerator
- 4x4x4 saat menentukan konfigurasi akselerator
Resource dalam antrean
Representasi resource TPU, yang digunakan untuk mengantrekan dan mengelola permintaan untuk lingkungan TPU satu slice atau multi-slice. Lihat Panduan pengguna Resource dalam Antrean untuk informasi selengkapnya.
Aktif
Penayangan adalah proses deployment model machine learning terlatih ke lingkungan produksi tempat model tersebut dapat digunakan untuk membuat prediksi atau keputusan. Latensi dan ketersediaan tingkat layanan penting untuk penayangan.
Host tunggal, multi-host, dan sub-host
Host TPU adalah VM yang berjalan di komputer fisik yang terhubung ke hardware TPU. Workload TPU dapat menggunakan satu atau beberapa host.
Workload host tunggal dibatasi hingga satu VM TPU. Workload multi-host mendistribusikan pelatihan di beberapa VM TPU. Beban kerja sub-host tidak menggunakan semua chip di VM TPU.
Slice
Slice Pod adalah kumpulan chip yang semuanya terletak di dalam Pod TPU yang sama dan terhubung oleh interkoneksi antar-chip berkecepatan tinggi (ICI). Slice dijelaskan dalam hal chip atau TensorCore, bergantung pada versi TPU.
Bentuk chip dan topologi chip juga mengacu pada bentuk slice.
SparseCore
SparseCore adalah pemroses dataflow yang mempercepat model dengan mengandalkan embedding yang ada dalam model rekomendasi. v5p menyertakan empat SparseCore per chip, dan v6e menyertakan dua SparseCore per chip.
Pod TPU
Pod TPU adalah kumpulan TPU yang berdekatan dan dikelompokkan bersama melalui jaringan khusus. Jumlah TPU chip dalam Pod TPU bergantung pada versi TPU.
VM atau pekerja TPU
Virtual machine yang menjalankan Linux dan memiliki akses ke TPU yang mendasarinya. VM TPU juga dikenal sebagai pekerja.
TensorCores
Chip TPU memiliki satu atau dua TensorCore untuk menjalankan perkalian matriks. Untuk informasi selengkapnya tentang TensorCore, lihat artikel ACM ini.
Pekerja
Lihat VM TPU.
Versi TPU
Arsitektur chip TPU yang tepat bergantung pada versi TPU yang Anda gunakan. Setiap versi TPU juga mendukung ukuran dan konfigurasi slice yang berbeda. Untuk mengetahui informasi selengkapnya tentang arsitektur sistem dan konfigurasi yang didukung, lihat halaman berikut:
Arsitektur TPU
Ada dua arsitektur TPU yang menjelaskan cara VM terhubung secara fisik ke perangkat TPU: Node TPU dan VM TPU. Node TPU adalah arsitektur TPU asli untuk versi TPU v2 dan v3. Dengan v4, VM TPU menjadi arsitektur default, tetapi kedua arsitektur tersebut didukung. Arsitektur TPU Node tidak digunakan lagi dan hanya VM TPU yang didukung. Jika Anda menggunakan Node TPU, lihat Berpindah dari arsitektur VM TPU Node ke TPU untuk mengonversi dari arsitektur VM TPU Node ke arsitektur VM TPU.
Arsitektur VM TPU
Arsitektur VM TPU memungkinkan Anda terhubung langsung ke VM yang terhubung secara fisik ke perangkat TPU menggunakan SSH. Anda memiliki akses root ke VM, sehingga Anda dapat menjalankan kode arbitrer. Anda dapat mengakses log debug compiler dan runtime serta pesan error.
Arsitektur TPU Node
Arsitektur TPU Node terdiri dari VM pengguna yang berkomunikasi dengan host TPU melalui gRPC. Saat menggunakan arsitektur ini, Anda tidak dapat langsung mengakses Host TPU, sehingga sulit untuk men-debug error pelatihan dan TPU.
Beralih dari arsitektur TPU Node ke TPU VM
Jika Anda memiliki TPU yang menggunakan arsitektur TPU Node, gunakan langkah-langkah berikut untuk mengidentifikasi, menghapus, dan menyediakan ulang TPU sebagai VM TPU.
Buka halaman TPU:
- Temukan TPU dan arsitekturnya di bagian judul Architecture. Jika arsitekturnya adalah "TPU VM", Anda tidak perlu melakukan tindakan apa pun. Jika arsitekturnya adalah "TPU Node", Anda perlu menghapus dan menyediakan ulang TPU.
Hapus dan sediakan ulang TPU.
Lihat Mengelola TPU untuk mengetahui petunjuk tentang cara menghapus dan menyediakan ulang TPU.