Tutorial ini menunjukkan cara menjalankan pelatihan reinforcement learning (RL) multi-host
pada cluster Tensor Processing Unit (TPU) v6e-32 menggunakan MaxText dan
Cluster Toolkit. Anda akan menggunakan
Cluster Toolkit untuk menjalankan
workload pelatihan multi-host dan mengekspor hasilnya kembali ke format Hugging Face
untuk inferensi.
Ringkasan workload
Menjalankan workload pasca-pelatihan RL ini di Cloud TPU dan GKE melibatkan komponen berikut:
- Model: Gemma 4 26B A4B Instruct (
google/gemma-4-26b-a4b-it), model instruction-tuned open-weights yang canggih. Dalam tutorial ini, bobot model didownload dari Hugging Face, dikonversi ke format yang kompatibel dengan MaxText, dan di-deploy di cluster GKE dengan infrastruktur Cloud TPU v6e. - Algoritma Reinforcement Learning (RL): Group Relative Policy
Optimization (GRPO) menggunakan MaxText dan Pathways. Workload menjalankan
pipeline pasca-pelatihan yang skalabel menggunakan pelatih RL bawaan MaxText
(
maxtext.trainers.post_train.rl.train_rl) yang dipasangkan dengan backend sampler vLLM. GRPO mengoptimalkan kebijakan dengan menghasilkan sekelompok output per perintah dan mengevaluasi reward relatif tanpa memerlukan model kritik terpisah. - Set data dan template: OpenMathInstruct-2 (
openmathinstruct2_rl.json), set data penyesuaian instruksi matematika berskala besar. Workload ini menggunakan template chat terstruktur selama fase peluncuran RL untuk meningkatkan kemampuan penalaran matematika multi-langkah. - Infrastruktur dan framework: GKE, yang dikelola menggunakan Cluster Toolkit, di Cloud TPU v6e (slice
ct6e-standard-4t,v6e-32dengan topologi4x8). Framework-nya adalah MaxText (tpu_post_training:0.2.4) dengan Pathways dan backend JAX.
Tujuan
- Instal Cluster Toolkit dan dependensinya.
- Men-deploy cluster Cluster Toolkit.
- Mengonversi model Hugging Face ke format MaxText.
- Menjalankan workload pelatihan RL di cluster TPU v6e.
- Mengonversi model yang telah disesuaikan kembali ke format Hugging Face untuk inferensi.
Biaya
Dalam dokumen ini, Anda akan menggunakan komponen Google Cloudyang dapat ditagih berikut:
Untuk membuat perkiraan biaya berdasarkan proyeksi penggunaan Anda,
gunakan kalkulator harga.
Setelah menyelesaikan tugas yang dijelaskan dalam dokumen ini, Anda dapat menghindari penagihan berkelanjutan dengan menghapus resource yang Anda buat. Untuk mengetahui informasi selengkapnya, lihat Pembersihan.
Sebelum memulai
Anda memerlukan token akses Hugging Face untuk menggunakan tutorial ini. Anda dapat mendaftar untuk mendapatkan akun gratis di Hugging Face. Setelah Anda memiliki akun, buat token akses:
- Di halaman Welcome to Hugging Face, klik avatar akun Anda, lalu pilih Token akses.
- Di halaman Token akses, klik Create new token.
- Pilih jenis token Read dan masukkan nama untuk token Anda.
- Token akses Anda akan ditampilkan. Simpan token di tempat yang aman.
- Di kartu model
google/gemma-4-26b-a4b-itdi Hugging Face, setujui perjanjian lisensi untuk model tersebut.
Untuk mendapatkan izin yang Anda perlukan untuk menyelesaikan tutorial ini, minta administrator untuk memberi Anda peran IAM berikut di project Anda:
- TPU Admin (
roles/tpu.admin) - Kubernetes Engine Admin (
roles/container.admin) - Compute Admin (
roles/compute.admin) - Storage Admin (
roles/storage.admin) - Service Account User (
roles/iam.serviceAccountUser) - Service Account Admin (
roles/iam.serviceAccountAdmin) - Project IAM Admin (
roles/resourcemanager.projectIamAdmin) - Service Usage Admin (
roles/serviceusage.serviceUsageAdmin)
Untuk mengetahui informasi selengkapnya tentang pemberian peran, lihat Mengelola akses ke project, folder, dan organisasi.
Anda mungkin juga bisa mendapatkan izin yang diperlukan melalui peran khusus atau peran bawaan lainnya.
Menyiapkan variabel lingkungan Anda
Siapkan variabel lingkungan Anda:
Ganti kode berikut:
YOUR_PROJECT_ID: ID project Google Cloud Anda.YOUR_REGION: region tempat pemesanan TPU Anda berada dan tempat Anda men-deploy cluster.YOUR_ZONE: zona tempat pemesanan TPU Anda berada dan tempat Anda men-deploy cluster.YOUR_CLUSTER_NAME: nama cluster GKE Anda. Nama harus diawali dengan huruf kecil, hanya berisi huruf kecil, angka, dan tanda hubung, serta terdiri dari 20 karakter atau kurang.YOUR_BUCKET_NAME: nama unik global untuk bucket Cloud Storage.YOUR_RESERVATION_NAME: nama pemesanan TPU v6e Anda.YOUR_HF_TOKEN: token akses Hugging Face Anda.
Menginstal dependensi Cluster Toolkit
Untuk menyelesaikan tutorial ini dari klien atau workstation Linux atau macOS, ikuti langkah-langkah yang relevan di bagian Menginstal dependensi dalam dokumentasi Cluster Toolkit.
Jika Anda menggunakan Cloud Shell, Anda dapat melewati bagian ini.
Menginstal Cluster Toolkit
Download dan ekstrak paket bawaan untuk versi Cluster Toolkit tertentu yang ditentukan dalam CLUSTER_TOOLKIT_VERSION (v1.103.0) ke direktori kerja Anda saat ini:
Mengautentikasi lingkungan Anda
Sebelum menjalankan skrip deployment, Anda harus mengautentikasi Google Cloud CLI dan menetapkan Kredensial Default Aplikasi (ADC). Hal ini memastikan bahwa Cluster Toolkit dapat menyediakan resource dan mengirim image ke Artifact Registry atas nama Anda.
Membuat cluster Cluster Toolkit Anda
Untuk membuat dan men-deploy cluster Cluster Toolkit dengan 32 chip TPU v6e,
selesaikan langkah-langkah berikut:
Membuat bucket Cloud Storage:
Gunakan perintah
gcluster deployuntuk men-deploy cluster Cluster Toolkit menggunakan blueprintgke-tpu-v6e-advanced.yamldan meneruskan variabel yang diperlukan menggunakan flag--vars:
Mengonversi model ke format MaxText
Untuk melatih model dalam format MaxText, Anda harus mengonversinya dari format Hugging Face ke format MaxText.
Untuk menyederhanakan perintah berikutnya, gunakan perintah
gcluster job configuntuk mengonfigurasi project, cluster, dan lokasi default Anda:Gunakan perintah
gcluster job submituntuk mengonversi model dari format Hugging Face ke format MaxText dan menyimpannya di bucket Cloud Storage Anda:Perintah ini menyertakan flag
--await-job-completion, yang berarti perintah tersebut menunggu di terminal Anda saat ini hingga konversi selesai.Opsional: Untuk melakukan streaming log konversi saat tugas berjalan, buka terminal terpisah di direktori kerja tempat Anda mengekstrak
gcluster, dan jalankan perintahgcluster job logs:Di terminal asli, pastikan file model yang dikonversi tersedia di bucket Cloud Storage Anda:
Memulai workload pelatihan
Setelah proses konversi selesai, mulai workload pelatihan RL:
Periksa status, tunggu hingga Pod koordinator siap, dan streaming log tugas pelatihan:
Segera setelah pengiriman, output dari perintah
./gcluster job listmungkin akan menampilkanSuspendedsecara singkat saat GKE meningkatkan skala node pool CPU koordinator Pathways (cpu-np). Saat tugas dimulai, tugas tersebut akan menghasilkan evaluasi pra-pelatihan awal pada langkah 0 (Pre RL Training: ... mean_reward=...), menjeda output log selama beberapa menit selama kompilasi XLA awal, lalu melatih selama 50 langkah, mencetakReshard finisheddan pembuatan peluncuran di setiap langkah tanpa nomor langkah.Sebelum melanjutkan ke langkah berikutnya, tunggu hingga log menghasilkan output
Post RL Training: ... mean_reward=...dan output dari perintah./gcluster job listmenunjukkan statusgemma4-trainingsebagaiSucceeded.Pastikan checkpoint pelatihan dibuat di bucket Cloud Storage Anda:
Mengonversi kembali model terlatih ke format Hugging Face
Setelah workload pelatihan selesai, konversikan kembali model ke format Hugging Face:
Opsional: Untuk memantau log konversi langsung saat perintah
--await-job-completionsebelumnya menunggu di terminal pertama Anda, buka terminal terpisah di direktori kerja tempat Anda mengekstrakgcluster, dan gunakan perintahgcluster job logs:Di terminal asli, pastikan bobot model Hugging Face dan file konfigurasi yang telah dilatih ada di bucket Cloud Storage Anda:
Pembersihan
Agar tidak menimbulkan biaya tambahan, gunakan perintah gcluster destroy untuk menghapus resource yang dibuat selama tutorial ini:
Langkah berikutnya
- Untuk mengetahui informasi selengkapnya tentang Cloud TPU, lihat Pengantar Cloud TPU.
- Untuk mengetahui detail arsitektur dan konfigurasi TPU
v6e-32, lihat TPU v6e. - Untuk mengetahui informasi selengkapnya tentang Cluster Toolkit, lihat Ringkasan Cluster Toolkit.