Pelatihan pada slice TPU

TPU dirancang untuk ditingkatkan skalanya ke Pod TPU. Pod TPU adalah kumpulan perangkat TPU yang terhubung melalui antarmuka jaringan khusus berkecepatan tinggi. Pod TPU memungkinkan Anda mendistribusikan beban pemrosesan ke beberapa TPU. Setiap papan TPU terhubung ke mesin host berbasis CPU berperforma tinggi untuk hal-hal seperti memuat dan memproses data. Untuk memanfaatkan TPU dalam jumlah yang lebih besar secara maksimal, Anda harus menyesuaikan beberapa parameter tugas pelatihan.

Penyiapan untuk pelatihan dengan Pod TPU berbeda untuk setiap framework. Gunakan link berikut untuk melihat informasi mendetail tentang pelatihan di Pod dengan setiap framework:

Bagian berikut menjelaskan beberapa masalah umum, perubahan yang perlu Anda lakukan pada model, dan praktik terbaik untuk mengurangi atau menghindari kegagalan Pod.

Menskalakan ukuran batch dan langkah pelatihan

Untuk mencapai penskalaan linear pada jenis TPU yang lebih besar, pertahankan ukuran batch per core yang sama.

Misalnya, jika Anda menggunakan ukuran batch 1024 pada v6e-8, gunakan ukuran batch 4096 (4 * 1024) pada v6e-32. Hal ini akan memanfaatkan hardware TPU sepenuhnya. Anda dapat menggunakan ukuran batch yang lebih kecil, tetapi pelatihan Anda tidak akan diskalakan secara linear jika Anda melakukannya.

Beberapa model menyertakan flag train_steps dengan satu langkah yang sesuai dengan pemrosesan satu batch data. Saat Anda meningkatkan ukuran batch, kurangi jumlah langkah pelatihan sehingga jumlah total contoh pelatihan tetap sama.

Misalnya, jika Anda memiliki ukuran batch 1.000 untuk 100 langkah, 100.000 contoh akan diproses selama pelatihan. Jika Anda sekarang memiliki 4 pekerja dan ukuran batch efektif 4.000, Anda harus menyesuaikan jumlah langkah menjadi 25 untuk memproses 100.000 contoh yang sama. Jika model Anda menggunakan flag epochs, Anda tidak perlu menskalakan jumlah langkah.

Ukuran batch yang lebih besar dapat mengubah perilaku konvergensi model, sehingga Anda mungkin juga menyesuaikan beberapa hyperparameter, seperti kecepatan pembelajaran.

Menggunakan bucket Cloud Storage regional di region yang sama dengan Pod TPU

Secara umum, praktik terbaik untuk pelatihan TPU adalah selalu menggunakan resource di region yang sama. Region resource sangat penting saat menggunakan Pod TPU karena kecepatan transfer data lebih tinggi jika bucket Cloud Storage dan TPU Anda berada di region yang sama.

Pastikan Anda menggunakan bucket Cloud Storage regional di region yang sama dengan TPU untuk set data pelatihan dan checkpoint.

Praktik terbaik alur kerja untuk pengembangan di Pod TPU

Saat mengembangkan workload TPU baru, sering kali optimal untuk memulai pengembangan di TPU terkecil dan secara progresif melakukan iterasi ke ukuran TPU yang lebih besar. Mulailah dengan menggunakan versi TPU kecil (misalnya, v6e-8).

  • Uji workload Anda untuk perilaku yang diharapkan
  • Uji dan validasi performa menggunakan alat performa

Setelah workload Anda berfungsi dan mencapai target performa, tingkatkan skala ke jenis TPU yang lebih besar seperti v6e-32. Tingkatkan ukuran TPU secara bertahap dan berulang sambil memvalidasi skalabilitas (fungsi dan performa) hingga Anda mencapai ukuran TPU yang diinginkan.