Arsitektur sistem
Tensor Processing Unit (TPU) adalah sirkuit terintegrasi khusus aplikasi (ASIC) yang dirancang oleh Google untuk mempercepat workload machine learning. Cloud TPU adalah layanan Google Cloud yang menyediakan TPU sebagai resource yang skalabel.
TPU dirancang untuk menjalankan operasi matriks dengan cepat, sehingga ideal untuk workload machine learning. Anda dapat menjalankan beban kerja machine learning pada TPU menggunakan framework seperti TensorFlow, Pytorch, dan JAX.
Persyaratan Cloud TPU
Jika Anda baru menggunakan Cloud TPU, lihat beranda dokumentasi TPU. Bagian berikut menjelaskan istilah dan konsep terkait yang digunakan dalam dokumen ini.
Inferensi batch
Inferensi batch atau offline mengacu pada proses inferensi di luar pipeline produksi yang biasanya pada banyak 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 tergantung pada versi chip TPU. Setiap TensorCore terdiri dari satu atau beberapa unit perkalian matriks (MXU), unit vektor, dan unit skalar.
MXU terdiri dari akumulator pengali 128 x 128 dalam array sistolik. MXU menyediakan sebagian besar daya komputasi dalam TensorCore. Setiap MXU mampu melakukan 16 ribu operasi akumulasi berganda 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. Ini hanya berlaku untuk topologi 3D (dimulai dengan versi TPU v4).
Inferensi
Inferensi adalah proses penggunaan model terlatih untuk membuat prediksi pada data baru. ID ini digunakan oleh proses penayangan.
Multislice versus satu irisan
Multislice adalah sekelompok slice, yang memperluas konektivitas TPU di luar koneksi inter-chip interconnect (ICI) dan memanfaatkan jaringan pusat data (DCN) untuk mengirimkan data di luar slice. Data di dalam setiap irisan masih ditransmisikan oleh ICI. Dengan konektivitas hibrida ini, Multislice memungkinkan paralelisme di seluruh slice dan memungkinkan Anda menggunakan core TPU yang lebih banyak untuk satu tugas daripada yang dapat diakomodasi oleh satu slice.
TPU dapat digunakan untuk menjalankan tugas di satu atau beberapa irisan. Lihat Pengantar multislice untuk detail selengkapnya.
Ketahanan ICI Cloud TPU
Ketahanan ICI membantu meningkatkan fault tolerance link optik dan tombol sirkuit optik (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 kesalahan OCS dan ICI optik. Hasilnya, hal ini meningkatkan ketersediaan penjadwalan slice TPU, dengan kompromi dari penurunan sementara pada performa ICI.
Serupa dengan Cloud TPU v4, ketahanan ICI diaktifkan secara default untuk slice v5p yang berupa satu kubus atau lebih besar:
- v5p-128 saat menentukan jenis aklerator
- 4x4x4 saat menentukan konfigurasi akselerator
Resource yang diantrekan
Representasi resource TPU, yang digunakan untuk mengantrekan dan mengelola permintaan untuk lingkungan TPU satu irisan atau multi-slice. Lihat Panduan pengguna Resource yang Diantrekan untuk informasi selengkapnya.
Inferensi
Penayangan adalah proses men-deploy 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 dan multi 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 pada satu VM TPU. Workload multi-host mendistribusikan pelatihan di beberapa VM TPU.
Irisan
Slice Pod adalah kumpulan chip yang semuanya berada di dalam Pod TPU yang sama dan terhubung oleh interkoneksi antar-chip (ICI) berkecepatan tinggi. Slice dijelaskan dalam hal chip atau TensorCore, bergantung pada versi TPU.
Bentuk chip dan topologi chip juga mengacu pada bentuk irisan.
SparseCore
v5p mencakup empat SparseCore per chip yang merupakan pemroses Dataflow yang mempercepat model dengan mengandalkan embedding yang ada dalam model rekomendasi.
Pod TPU
Pod TPU adalah kumpulan TPU yang berdekatan yang dikelompokkan bersama melalui jaringan khusus. Jumlah chip TPU dalam Pod TPU bergantung pada versi TPU.
VM atau pekerja TPU
Virtual machine yang menjalankan Linux yang 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 mengetahui informasi selengkapnya tentang TensorCores, baca artikel ACM ini.
Pekerja
Lihat TPU VM.
Versi TPU
Arsitektur chip TPU yang tepat bergantung pada versi TPU yang Anda gunakan. Setiap versi TPU juga mendukung berbagai ukuran dan konfigurasi slice. Untuk informasi selengkapnya tentang arsitektur sistem dan konfigurasi yang didukung, lihat halaman berikut:
Arsitektur VM Cloud TPU
Cara Anda berinteraksi dengan host TPU (dan papan TPU) bergantung pada arsitektur VM TPU yang Anda gunakan: Node TPU atau 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 Node TPU
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 TPU dan pelatihan.