Tutorial ini memberikan panduan langkah demi langkah untuk menjalankan
supervised fine-tuning (SFT) pada satu instance virtual machine (VM)
v6e-8Tensor Processing Unit (TPU)
di Google Cloud menggunakan MaxText, stack pelatihan berbasis JAX berperforma tinggi
untuk model bahasa besar (LLM).
Ringkasan workload
Menjalankan workload SFT ini di VM Cloud TPU melibatkan komponen berikut:
- Model: Gemma 3 4B (
gemma3-4b), model bahasa ringan dengan bobot terbuka. Dalam tutorial ini, bobot model dikonversi dari format Hugging Face ke format yang kompatibel dengan MaxText (mt-format) dan disiapkan untuk dieksekusi di satu VM Cloud TPUv6e-8menggunakan JAX. - Metode pelatihan: SFT menggunakan MaxText. Workload menjalankan pipeline
fine-tuning pada satu instance Cloud TPU
v6e-8menggunakan JAX. Model ini mengoptimalkan parameter model selama 1.000 langkah menggunakan pelatih SFT bawaan MaxText (maxtext.trainers.post_train.sft.train_sft) dan set data penyesuaian instruksi yang berfokus pada dialog. - Set data dan template: UltraChat 200k (
HuggingFaceH4/ultrachat_200k), set data dialog multi-turn berskala besar dan berkualitas tinggi (pemisahantrain_sftdengan kolommessages). Data ini digunakan untuk melakukan fine-tuning model dan meningkatkan kemampuan percakapan dan mengikuti petunjuknya. - Infrastruktur dan framework: satu instance VM Cloud TPU
v6e-8(ct6e-standard-8t). Framework-nya adalah MaxText (maxtext[tpu-post-train]) yang didukung oleh JAX.
Tujuan
- Siapkan instance VM Cloud TPU.
- Instal MaxText dan dependensinya.
- Mengonversi model Hugging Face ke format MaxText.
- Menjalankan workload pelatihan SFT di TPU.
- Mengonversi model yang telah disesuaikan kembali 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 Anda memiliki akun, buat token akses:
- Di halaman Welcome to Hugging Face, klik avatar akun Anda, lalu pilih Token akses.
- Di halaman Token akses, 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
gemma3-4b.
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) - Service Account User (
roles/iam.serviceAccountUser) - Compute Editor (
roles/compute.editor)
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 lingkungan
Siapkan variabel lingkungan Anda dengan menjalankan skrip berikut:
Ganti kode berikut:
- YOUR_PROJECT_ID: Project ID Google Cloud Anda
- YOUR_ZONE: zona yang ingin Anda gunakan
- YOUR_RESERVATION_NAME: reservasi kapasitas Anda
- YOUR_TPU_NAME: nama instance VM Cloud TPU Anda
Lakukan autentikasi dengan Google Cloud dengan menjalankan perintah berikut:
gcloud auth login
Membuat VM Cloud TPU
Buat instance VM Cloud TPU dengan 8 chip TPU v6e, yang terikat dengan reservasi kapasitas Anda.
Setelah instance VM dibuat, hubungkan ke instance tersebut menggunakan SSH.
Selesaikan langkah-langkah berikut dalam instance VM TPU Anda.
Menginstal MaxText
Update paket sistem dalam instance VM TPU.
Instal Python 3.12, yang diperlukan MaxText, dan paket lingkungan virtualnya.
Gunakan uv untuk mempercepat penginstalan paket Python.
Buat lingkungan virtual bernama maxtext_venv dan aktifkan.
Instal MaxText dan dependensi yang diperlukan untuk tugas pasca-pelatihan.
Instal dependensi lain yang diperlukan dengan menjalankan perintah berikut:
Mengonversi model ke format MaxText
Untuk melatih model dalam format MaxText, Anda harus mengonversinya dari format Hugging Face ke format MaxText.
Tentukan variabel lingkungan Anda, seperti token akses Hugging Face, nama model yang ingin Anda gunakan, dan direktori tempat Anda ingin menyimpan model dalam format MaxText.
Ganti YOUR_HF_TOKEN dengan token akses Hugging Face yang Anda buat sebelumnya.
Untuk mengonversi model dari format Hugging Face ke format MaxText, jalankan skrip berikut. Konversi ini memerlukan waktu sekitar lima menit untuk diselesaikan.
Memulai workload pelatihan
Setelah proses konversi selesai, Anda dapat memulai workload SFT.
Konfigurasikan parameter pelatihan workload SFT.
Mulai tugas pelatihan. Proses ini memerlukan waktu sekitar 10 menit di instance VM
v6e-8.
Mengonversi kembali model terlatih ke format Hugging Face
Setelah beban kerja pelatihan selesai, konversi kembali model ke format Hugging Face.
Tetapkan jalur untuk ekspor dan parameter terlatih.
Jalankan konversi kembali ke format Hugging Face.
Setelah konversi selesai, model yang telah disesuaikan dan disimpan di
/dev/shm/gemma3-4b/hf-trained siap digunakan. Karena Anda akan kehilangan akses ke
konten folder /dev/shm saat VM dimulai ulang, Anda harus memindahkan
model yang telah disesuaikan ke penyimpanan persisten atau menguploadnya ke Hugging Face Hub.
Pembersihan
Agar tidak menimbulkan biaya tambahan, hapus resource yang dibuat selama tutorial ini.
Menghapus instance VM TPU
Keluar dari instance VM TPU Cloud Anda, lalu hapus instance tersebut.
Langkah berikutnya
- Untuk mengetahui informasi selengkapnya tentang Cloud TPU, lihat Pengantar Cloud TPU.
- Untuk mengetahui detail arsitektur dan konfigurasi TPU
v6e-8, lihat TPU v6e.