Menulis hipotesis sebelum menjalankan komputasi
Jelaskan perilaku yang ingin ditingkatkan: mengklasifikasikan dokumen dalam suatu domain, mematuhi format respons, atau mengekstrak informasi terstruktur. Tetapkan juga apa yang tidak boleh menurun. Untuk ekstraksi, ini bisa berupa validitas format dan keberadaan bidang yang wajib; untuk klasifikasi, metrik per kategori alih-alih satu rata-rata global.
Evaluasi terlebih dahulu model awal pada kumpulan data yang terpisah dari pelatihan. Simpan keluaran dan konfigurasi evaluasi ini. Anda kemudian dapat membandingkan adaptasi dengan titik awal yang konkret dan mengenali peningkatan yang terbatas pada contoh tertentu. Sisihkan data uji final: menggunakannya untuk memilih semua pengaturan secara berturut-turut pada akhirnya melemahkan nilai kontrolnya.
Menyiapkan data dan pembagiannya
Beri versi pada contoh, aturan pembersihan, dan transformasi. Cari duplikat antara pelatihan dan evaluasi, lalu periksa sampel kecil setelah praproses yang persis sama dengan program. Untuk teks, periksa tokenizer, pemisah, pemotongan, dan posisi yang menjadi dasar penghitungan loss. Untuk gambar, periksa dimensi dan transformasi yang diterapkan pada kategori.
Contoh persiapan: ambil beberapa contoh representatif dari setiap kategori, tampilkan bentuknya setelah transformasi, dan periksa secara manual target yang diharapkan. Kemudian lakukan satu lintasan penuh dalam loop pelatihan dan evaluasi. Metode ini mencari kesalahan data atau kesalahan penyambungan; metode ini tidak memungkinkan penarikan kesimpulan tentang kualitas akhir model.
Memilih parameter yang Anda latih
Fine-tuning penuh memperbarui seluruh parameter yang disediakan oleh model Anda. Metode seperti LoRA mempertahankan bobot dasar dan mempelajari matriks tambahan berperingkat rendah pada modul terpilih. Pilihan ini mengurangi jumlah parameter yang dapat dilatih, tetapi tidak menghilangkan kebutuhan untuk memuat model dasar dan memproses aktivasinya.
Catat modul yang ditargetkan, parameter yang dapat dilatih, dan kemungkinan lapisan tambahan yang disimpan. Untuk LoRA, peringkat merupakan bagian dari konfigurasi yang harus dibandingkan; peringkat saja tidak cukup untuk memprediksi kualitas. Verifikasi sejak awal bahwa suatu pembaruan benar-benar mengubah parameter yang diharapkan. Saat ekspor, adaptor harus tetap terkait dengan model dasar dan versi persisnya.
Menentukan ukuran satu langkah pelatihan yang lengkap
Jalankan satu langkah yang mencakup perhitungan loss, backpropagation, dan pembaruan optimizer. Sebuah model yang muat di memori saat dimuat bisa saja melebihi kapasitas yang tersedia selama langkah ini. Ukur dengan panjang input dan microbatch yang representatif. Presisi, status optimizer, dan parameter yang benar-benar dilatih merupakan bagian dari estimasi.
Akumulasi gradien memungkinkan penyusunan satu pembaruan dari beberapa microbatch; dokumentasikan jumlahnya dan normalisasi loss-nya. Activation checkpointing menukar sebagian komputasi tambahan dengan lebih sedikit aktivasi yang disimpan. Verifikasi opsi-opsi ini secara terpisah sebelum menggabungkannya. Opsi-opsi ini mengubah jalannya eksperimen dan harus tercantum dalam berkas hasil.
Pertahankan CUDA, ROCm, dan terdistribusi dalam protokol
Verifikasi kompatibilitas model, ekstensi, dan metode adaptasi dengan backend yang dipilih. Pada NVIDIA, siapkan rantai CUDA; pada AMD, rantai ROCm. Pergantian platform menuntut pengulangan pemeriksaan peluncuran dan kualitas. Simpan versi yang benar-benar digunakan daripada berasumsi bahwa lingkungan dengan nama yang sama menghasilkan eksekusi yang sama.
Dengan DistributedDataParallel, setiap proses bekerja dengan replika model dan gradiennya disinkronkan. Strategi ini tidak secara otomatis berbagi bobot antar memori GPU; pembagian datanya juga harus dikonfigurasi. Jika tujuan Anda adalah membuat state yang lebih besar muat, tinjau strategi yang mendistribusikan state tersebut dan verifikasi kendalanya sebelum menambah jumlah batch.
Atur varian dan keputusan akhir
Berikan pengenal pada setiap eksperimen dan ubah hanya satu kumpulan parameter yang dapat Anda jelaskan. Pertahankan prosedur evaluasi yang sama antar varian, dengan seed, anggaran pelatihan, dan data yang digunakan. Catat juga uji coba yang terhenti atau tidak valid: mengecualikannya tanpa penjelasan membuat perbandingan sulit ditafsirkan.
Rencanakan penyewaan 3, 7, atau 30 hari di sekitar fase-fase yang berbeda: pemeriksaan awal, eksperimen, evaluasi, pemulihan, dan ekspor. Sisakan margin untuk meninjau ulang checkpoint dalam proses baru. Pada akhirnya, serahkan model atau adapter, konfigurasinya, hasil perbandingan, dan batasan yang teramati. Anda tetap mandiri dalam memilih pemrosesan; Kernodeck tidak melakukan inspeksi atas isinya.