Tutorial ini menunjukkan cara menjalankan pelatihan reinforcement learning (RL) multi-host di cluster v6e-32 Tensor Processing Unit (TPU) menggunakan MaxText dan Cluster Toolkit. Anda menggunakan
Cluster Toolkit untuk menjalankan
beban kerja pelatihan multi-host dan mengekspor hasilnya kembali ke format Hugging Face
untuk penayangan.
Tujuan
- Instal Cluster Toolkit dan dependensinya.
- Deploy cluster Cluster Toolkit.
- Mengonversi model Hugging Face ke format MaxText.
- Jalankan workload pelatihan RL di cluster TPU v6e.
- Konversi kembali model yang di-fine-tune 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 memiliki akun, buat token akses:
- Di halaman Welcome to Hugging Face, klik avatar akun Anda, lalu pilih Access tokens.
- Di halaman Access tokens, 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 situs Hugging Face, setujui perjanjian lisensi untuk model yang ingin Anda latih. Tutorial ini menggunakan
model
qwen3-30b-a3b.
Untuk mendapatkan izin yang Anda perlukan untuk menyelesaikan tutorial ini, minta administrator Anda 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
Siapkan variabel lingkungan Anda:
Ganti kode berikut:
- YOUR_PROJECT_ID: ID Google Cloud project Anda.
- YOUR_REGION: region tempat Anda ingin men-deploy cluster.
- YOUR_ZONE: zona tempat Anda ingin men-deploy cluster.
- YOUR_CLUSTER_NAME: nama cluster Google Kubernetes Engine Anda (maksimal 20 karakter).
- YOUR_BUCKET_NAME: nama unik secara global untuk bucket Cloud Storage.
- YOUR_RESERVATION_NAME: nama pemesanan 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 Menginstal dependensi dalam dokumentasi Cluster Toolkit.
Jika Anda menggunakan Cloud Shell, Anda dapat melewati bagian ini.
Menginstal Cluster Toolkit
Instal paket bawaan untuk Cluster Toolkit di direktori kerja Anda saat ini dengan mengikuti petunjuk di Menginstal Cluster Toolkit.
Misalnya, Anda dapat mendownload dan mengekstrak paket ke direktori kerja saat ini sebagai berikut:
Mengekstrak paket ke direktori kerja Anda saat ini akan memberikan biner gcluster
dan cetak biru examples/ yang Anda gunakan dalam langkah-langkah berikutnya.
Membuat cluster Cluster Toolkit
Untuk membuat dan men-deploy cluster Cluster Toolkit dengan 32 chip TPU v6e, selesaikan langkah-langkah berikut:
Membuat bucket Cloud Storage:
Salin blueprint Cluster Toolkit ke direktori kerja Anda saat ini:
Secara default, akun layanan node pool cluster Anda tidak memiliki izin yang diperlukan untuk menulis ke bucket Cloud Storage Anda. Agar akun layanan node pool dapat menulis ke bucket Cloud Storage Anda, Anda harus memberinya peran
Storage Admin. Untuk memberikan peran ini, edit filegke-tpu-v6e-advanced.yamldengan memperbarui modulservice-accountbernamanode_pool_service_account:Gunakan perintah
gcluster deployuntuk men-deploy cluster Cluster Toolkit dengan menggunakan blueprintgke-tpu-v6e-advanced.yamldan meneruskan variabel yang diperlukan menggunakan flag--vars:Konfigurasi autentikasi Container Registry dan berikan peran Storage Admin (
roles/storage.admin) ke akun layanan GKE Anda:
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:Gunakan perintah
gcluster job logsuntuk memeriksa status tugas konversi:Pastikan file model yang dikonversi tersedia di bucket Cloud Storage Anda:
Mulai workload pelatihan
Setelah proses konversi selesai, mulai workload pelatihan RL:
Untuk memeriksa status tugas pelatihan:
Untuk memverifikasi bahwa checkpoint pelatihan dibuat di bucket Cloud Storage Anda:
Mengonversi kembali model terlatih ke format Hugging Face
Setelah beban kerja pelatihan selesai, konversi kembali model ke format Hugging Face:
Untuk memeriksa status tugas konversi:
Untuk memverifikasi bahwa file konfigurasi dan bobot model Hugging Face terlatih 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.