Tutorial ini menunjukkan cara menjalankan supervised fine-tuning (SFT) di cluster Tensor Processing Unit (TPU) v6e 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.
- Instal MaxText dan dependensinya.
- Deploy cluster Cluster Toolkit.
- Mengonversi model Hugging Face ke format MaxText.
- Jalankan workload pelatihan SFT di TPU.
- 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 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 Hugging Face, setujui perjanjian lisensi untuk model yang ingin Anda latih. Tutorial ini menggunakan
model
gemma4-31b.
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.
Menyiapkan variabel lingkungan
Siapkan variabel lingkungan Anda dengan menjalankan skrip berikut:
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_REPOSITORY_NAME: nama repositori Artifact Registry untuk gambar MaxText Anda.
- YOUR_RESERVATION_NAME: nama pemesanan Anda.
- YOUR_HF_TOKEN: token akses Hugging Face Anda.
- YOUR_BUCKET_NAME: nama unik secara global untuk bucket Cloud Storage.
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 bawaan untuk Cluster Toolkit dengan mengikuti petunjuk di Menginstal Cluster Toolkit.
Menyiapkan image container MaxText
Untuk menyiapkan image container MaxText, termasuk menginstal dependensi yang diperlukan, selesaikan langkah-langkah berikut:
Membuat bucket Cloud Storage:
Buat repositori Artifact Registry:
Buat file di direktori root repositori Anda dengan nama file
cloudbuild.yamldan konten berikut:Gunakan Cloud Build untuk membangun image Docker MaxText Anda:
Membuat cluster Cluster Toolkit
Untuk membuat dan men-deploy cluster Cluster Toolkit dengan 32 chip TPU v6e, 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 modulnode_pool_service_account: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:
Untuk mengonversi model dari format Hugging Face ke format MaxText dan menyimpannya di bucket Cloud Storage Anda, jalankan skrip berikut:
Untuk memeriksa status tugas konversi, jalankan perintah berikut:
Mulai workload pelatihan
Setelah proses konversi selesai, Anda dapat memulai workload SFT dengan menjalankan perintah berikut:
Untuk memeriksa status tugas pelatihan, jalankan perintah berikut:
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, jalankan perintah berikut:
Pembersihan
Agar tidak menimbulkan biaya tambahan, hapus 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.