Tutorial ini memberikan panduan langkah demi langkah untuk menjalankan supervised fine-tuning (SFT) pada model Qwen3-14b menggunakan MaxText di Cloud TPU. Anda akan mempelajari cara membuat image container khusus, menyediakan cluster Google Kubernetes Engine (GKE) dengan Pathways menggunakan Accelerated Processing Kit (XPK), dan menjalankan workload pelatihan multi-host.
Tujuan
- Pelajari cara membuat image container MaxText kustom yang dioptimalkan untuk pasca-pelatihan.
- Menyediakan cluster GKE menggunakan XPK dengan Pathways diaktifkan.
- Mengonversi model Qwen3 14b dari format Hugging Face ke format MaxText.
- Menjalankan workload pelatihan SFT multi-host di Cloud TPU.
- Mengonversi model yang di-fine-tune kembali ke format Hugging Face untuk penyajian.
Biaya
Dalam dokumen ini, Anda akan menggunakan komponen Google Cloud yang dapat ditagih berikut Google Cloud:
- Google Kubernetes Engine
- Cloud TPU
- Cloud Storage
- Artifact Registry
- Compute Engine, for the temporary build virtual machine (VM)
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, baca bagian Pembersihan.
Sebelum memulai
- Pastikan akun pengguna atau akun layanan Anda memiliki peran berikut:
roles/compute.admin, untuk membuat VM buildroles/artifactregistry.admin, untuk mengelola repositori Dockerroles/storage.admin, untuk mengelola bucket dataroles/container.admin, untuk membuat dan mengelola cluster Google Kubernetes Engineroles/iam.serviceAccountAdmin, untuk membuat akun layanan workloadroles/resourcemanager.projectIamAdmin, untuk menetapkan kebijakan Identity and Access Management (IAM)roles/iam.serviceAccountUser, untuk bertindak sebagai akun layanan
- Instal dan lakukan inisialisasi Google Cloud CLI.
- Pastikan Anda telah menginstal Python 3.12 atau yang lebih baru di workstation Anda.
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 Read , lalu masukkan nama untuk token Anda.
- Token akses Anda akan ditampilkan. Simpan token di tempat yang aman.
Menyiapkan lingkungan
Siapkan variabel lingkungan Anda dengan menjalankan skrip berikut:
Ganti kode berikut:
- YOUR_PROJECT_ID: ID project Anda Google Cloud
- YOUR_REGION: region yang ingin Anda gunakan
- YOUR_ZONE: zona yang ingin Anda gunakan
- YOUR_CLUSTER_NAME: nama untuk cluster Google Kubernetes Engine Anda
- YOUR_GCS_BUCKET: nama unik untuk bucket Cloud Storage Anda
- YOUR_RESERVATION_NAME: pemesanan kapasitas Anda
- YOUR_HF_TOKEN: token akses Hugging Face Anda
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 Google Kubernetes Engine
Untuk menjalankan pelatihan SFT pada model Qwen3 14b, Anda memerlukan cluster Google Kubernetes Engine yang dilengkapi dengan chip TPU. Instal Accelerated Processing Kit (XPK) dan buat cluster GKE dengan dukungan Pathways.
Menyiapkan model untuk pelatihan
Konversi model dasar ke format MaxText menggunakan workload berbasis CPU. Jangan jalankan tugas ini di beberapa komputer secara paralel. Perintah berikut mencakup pemeriksaan untuk memastikan konversi hanya berjalan di satu node TPU.
Melacak progres konversi model
Untuk melacak progres konversi, lakukan hal berikut:
- Untuk mencantumkan pod yang dijadwalkan di cluster GKE Anda, jalankan perintah
kubectl get pod. - Temukan pod bernama
qwen-hf-to-mt-slice-job-0-0-HASH. - Untuk memeriksa output pod secara real time, jalankan perintah
kubectl logs -f POD_NAME.
Memulai workload pelatihan
Setelah proses konversi selesai, Anda dapat memulai workload fine-tuning SFT menggunakan XPK.
Memantau workload pelatihan
Pantau status workload Anda menggunakan antarmuka command line (CLI) XPK.
xpk workload list --cluster ${CLUSTER_NAME} --project ${PROJECT} --zone ${ZONE}
Untuk melihat log dan penggunaan TPU, gunakan Google Cloud konsol. Anda juga dapat melihat log dengan menjalankan perintah berikut:
kubectl logs -f qwen-training-pathways-head-0-0-HASH
Ganti HASH dengan hash numerik dalam nama pod Anda. Untuk memverifikasi nilai hash ini, jalankan perintah kubectl get pod dan periksa daftar pod yang ditampilkan.
Mengonversi model terlatih kembali ke format Hugging Face
Setelah workload pelatihan selesai, konversi checkpoint kembali ke format Hugging Face.
Untuk melacak progres konversi, jalankan perintah
kubectl logs -f qwen-mt-to-hf-slice-job-0-0-HASH,
dengan mengganti HASH dengan hash numerik dalam nama pod Anda.
Setelah konversi selesai, model yang di-tune yang disimpan di gs://$GCS_BUCKET/qwen-3-14b/hf-trained/ siap digunakan.
Pembersihan
Untuk menghindari biaya tambahan, hapus resource yang dibuat selama tutorial ini, termasuk cluster Google Kubernetes Engine, bucket Cloud Storage, dan repositori Artifact Registry.
Untuk menghapus resource yang Anda buat untuk tutorial ini, jalankan perintah berikut:
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.