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.
- Sediakan cluster GKE menggunakan XPK dengan Pathways diaktifkan.
- Konversi model Qwen3 14b dari format Hugging Face ke format MaxText.
- Jalankan workload pelatihan SFT multi-host di Cloud 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:
- 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 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 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.
Menyiapkan lingkungan
Siapkan variabel lingkungan Anda dengan menjalankan skrip berikut:
Ganti kode berikut:
- YOUR_PROJECT_ID: Project ID Google Cloud Anda
- 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: reservasi 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:
Buat cluster Google Kubernetes Engine Anda
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 beban kerja berbasis CPU. Jangan jalankan tugas ini di beberapa komputer secara paralel. Perintah berikut mencakup pemeriksaan untuk memastikan bahwa 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.
Mulai workload pelatihan
Setelah proses konversi selesai, Anda dapat memulai workload penyesuaian SFT menggunakan XPK.
Memantau workload pelatihan
Pantau status beban kerja Anda menggunakan antarmuka command line (CLI) XPK.
xpk workload list --cluster ${CLUSTER_NAME} --project ${PROJECT} --zone ${ZONE}
Untuk melihat log dan pemanfaatan TPU, gunakan konsolGoogle Cloud . Anda juga dapat melihat log dengan menjalankan perintah berikut:
kubectl logs -f qwen-training-pathways-head-0-0-HASH
Ganti HASH dengan hash numerik di nama pod Anda. Untuk
memverifikasi nilai hash ini, jalankan perintah kubectl get pod dan periksa
daftar pod yang ditampilkan.
Mengonversi kembali model terlatih ke format Hugging Face
Setelah beban kerja pelatihan selesai, konversi kembali checkpoint 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 disesuaikan 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 Anda.
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.