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.

gambar

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.

gambar

Langkah selanjutnya