Tutorial ini menunjukkan cara menjalankan pelatihan reinforcement learning (RL) multi-host pada klaster Tensor Processing Unit (TPU) v6e-64 dengan 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 disajikan.
Tujuan
- Instal Cluster Toolkit dan dependensinya.
- Instal MaxText dan dependensinya.
- Deploy cluster Cluster Toolkit.
- Konversikan model Wajah Berpelukan ke format MaxText.
- Jalankan beban kerja pelatihan RL pada klaster 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 akun gratis di Hugging Face. Setelah Anda 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 Baca dan masukkan nama untuk token Anda.
- Token akses Anda akan ditampilkan. Simpan token di tempat yang aman.
- Di situs web Hugging Face, setujui perjanjian lisensi untuk model yang ingin Anda latih. Tutorial ini menggunakan
model
gemma4-26b.
Untuk mendapatkan izin yang Anda perlukan untuk menyelesaikan tutorial ini, minta administrator Anda untuk memberi Anda peran IAM berikut di project Anda:
-
Untuk menyelesaikan tutorial ini:
- TPU Admin (
roles/tpu.admin) - Service Account User (
roles/iam.serviceAccountUser) - Compute Editor (
roles/compute.editor)
- TPU Admin (
-
Untuk menyiapkan image container MaxText:
- Editor Cloud Build (
roles/cloudbuild.builds.editor) - Administrator Artifact Registry (
roles/artifactregistry.admin) - Administrator Penyimpanan (
roles/storage.admin) - Administrator Penggunaan Layanan (
roles/serviceusage.serviceUsageAdmin)
- Editor Cloud Build (
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.
Atur variabel lingkungan Anda
Atur 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 klaster Google Kubernetes Engine Anda.
- YOUR_REPOSITORY_NAME: nama repositori Artifact Registry untuk gambar MaxText Anda.
- 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.
Instal Cluster Toolkit
Instal paket pra-bangun untuk Cluster Toolkit dengan mengikuti petunjuk di Instal Cluster Toolkit.
Menyiapkan image container MaxText
Untuk mempersiapkan citra kontainer MaxText Anda, termasuk menginstal dependensi yang diperlukan, selesaikan langkah-langkah berikut:
Membuat bucket Cloud Storage:
Buat repositori Registri Artefak;
Buat file di direktori root repositori Anda dengan nama file
cloudbuild.yamldan konten berikut:Gunakan Cloud Build untuk membangun image Docker MaxText Anda:
Buat klaster Cluster Toolkit Anda.
Untuk membuat dan menyebarkan klaster Cluster Toolkit dengan 64v6e Untuk memasang chip TPU, selesaikan langkah-langkah berikut:
Buat peran Identity and Access Management (IAM) kustom, yang diberi nama
gke.gcsfuse.profileUser:Membuat bucket Cloud Storage:
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-accountyang bernamanode_pool_service_account:Terapkan pengaturan khusus ke blok
gke-tpu-v6e-clusteryang menimpa pengaturan IPv6 dan tipe mesin default:Deploy cluster Cluster Toolkit Anda menggunakan blueprint
gke-tpu-v6e-advanced.yamldan teruskan 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.
Setelah selesai membuat cluster Cluster Toolkit, konfigurasikan Docker:
Untuk menyederhanakan perintah berikutnya, konfigurasikan project, cluster, dan lokasi default Anda:
Konversikan model dari format Hugging Face ke format MaxText dan simpan di bucket Cloud Storage Anda:
Periksa status pekerjaan konversi:
Mulai workload pelatihan
Setelah proses konversi selesai, mulailah beban kerja pelatihan RL:
Periksa status pekerjaan pelatihan:
Mengonversi kembali model terlatih ke format Hugging Face
Setelah beban kerja pelatihan selesai, konversikan kembali model ke format Wajah Berpelukan:
Periksa status pekerjaan konversi:
Pembersihan
Untuk menghindari biaya tambahan, hapus sumber daya yang dibuat selama tutorial ini:
Langkah berikutnya
- Untuk informasi lebih lanjut mengenai Cloud TPU, lihat Pengantar Cloud TPU.
- Untuk mengetahui detail arsitektur dan konfigurasi TPU
v6e-64, lihat TPU v6e. - Untuk informasi lebih lanjut mengenai Cluster Toolkit, lihat Ikhtisar Cluster Toolkit.