Pelatihan pada irisan TPU

TPU dirancang untuk di-scale out ke Pod TPU. Pod TPU adalah kumpulan perangkat TPU yang terhubung oleh antarmuka jaringan berkecepatan tinggi khusus. Pod TPU memungkinkan Anda mendistribusikan beban pemrosesan ke beberapa TPU. Setiap papan TPU terhubung ke mesin host berbasis CPU berkinerja tinggi untuk hal-hal seperti memuat dan memproses data. Untuk memanfaatkan sepenuhnya TPU dalam jumlah yang lebih besar, Anda harus menyesuaikan beberapa parameter tugas pelatihan.

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

Menskalakan ukuran tumpukan dan langkah pelatihan

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

Sebagai contoh, jika Anda menggunakan ukuran tumpukan 1024 pada v6e-8, gunakan ukuran tumpukan 4096 (4 * 1024) pada v6e-32. Ini memanfaatkan sepenuhnya perangkat keras TPU. Anda dapat menggunakan ukuran batch yang lebih kecil, tetapi pelatihan Anda tidak akan diskalakan secara linear jika Anda melakukannya.

Beberapa model menyertakan tanda train_steps yang menunjukkan bahwa satu langkah sesuai dengan pemrosesan satu batch data. Saat Anda meningkatkan ukuran tumpukan, perkecil skala jumlah langkah pelatihan sehingga jumlah total contoh pelatihan tetap sama.

Sebagai contoh, jika Anda memiliki ukuran batch 1000 untuk 100 langkah, maka 100.000 contoh akan diproses selama pelatihan. Jika sekarang Anda memiliki 4 worker dan ukuran tumpukan efektif 4.000, Anda harus menyesuaikan jumlah langkah menjadi 25 untuk memproses 100.000 contoh yang sama. Jika model Anda menggunakan tanda epochs, Anda tidak perlu menskalakan jumlah langkah.

Ukuran batch yang lebih besar dapat mengubah perilaku konvergensi model, jadi Anda mungkin juga perlu 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 pada TPU Pods

Saat mengembangkan beban kerja TPU baru, seringkali optimal untuk memulai pengembangan pada TPU terkecil dan secara bertahap meningkatkan ukuran TPU. Mulailah dengan menggunakan versi TPU yang kecil (misalnya, v6e-8).

  • Uji beban kerja Anda untuk melihat perilaku yang diharapkan.
  • Uji dan validasi performa menggunakan alat performa.

Setelah beban kerja Anda berfungsi dan mencapai target kinerja, tingkatkan skala ke tipe TPU yang lebih besar seperti v6e-32. Tingkatkan ukuran TPU secara bertahap dan berulang sambil memvalidasi skalabilitas (fungsionalitas dan kinerja) hingga Anda mencapai ukuran TPU yang diinginkan.