Keuntungan:
- Kemampuan untuk membedakan apakah suatu masalah adalah informasi atau perilaku dan mengevaluasi penyesuaian untuk masalah perilaku hanya setelah prompt, beberapa langkah, dan RAG habis.
- Memahami metode fine-tuning (SFT, LoRA/PEFT, RLHF) dan atribut data yang menentukan kualitas (konsistensi, keragaman, kerahasiaan)
- Kemampuan untuk mengukur nilai sebenarnya dari penyesuaian dengan evaluasi sebelum-sesudah, pembelajaran berlebihan, dan tes melupakan bencana
Penyempurnaan (menyesuaikan perilakunya dengan melatih model terlatih lebih lanjut dengan data Anda sendiri) adalah alat yang ampuh namun mahal di gudang insinyur yang bekerja dengan LLM. Jika digunakan di tempat yang salah maka akan membuang-buang uang dan waktu, namun bila digunakan di tempat yang tepat akan memberikan kualitas yang tidak dapat dicapai sebaliknya. Dalam unit ini, kami membahas kapan penyesuaian diperlukan, metode dasar dan risikonya. Tujuannya adalah untuk membuat Anda mengambil keputusan.
Pertama, pertanyaan yang tepat: apakah penyesuaian diperlukan?
Kesalahan paling mahal yang dilakukan pemula adalah segera terburu-buru menyempurnakan suatu masalah yang bisa diselesaikan. Atur urutannya seperti ini:
- Rekayasa cepat: Perintah bagus yang menjelaskan tugas dengan jelas menyelesaikan sebagian besar masalah. Konsumsi di sini dulu.
- Pembelajaran singkat: Menempatkan beberapa contoh di prompt menunjukkan model format dan perilaku yang diinginkan.
- RAG: Jika masalahnya adalah "kurangnya informasi" (kebutuhan data yang tidak diketahui model), solusinya adalah RAG (unit 4), bukan fine-tuning.
- Penyempurnaan: Ini berguna jika hal di atas tidak cukup dan masalahnya adalah "perilaku/format/gaya".
Perbedaan utama: Penyempurnaan lemah dan berisiko dalam mengajarkan model informasi baru; namun kuat dalam mengajarkan bagaimana berperilaku (format tertentu, nada, jargon lapangan, struktur yang konsisten). “Model saya tidak mengetahui informasi perusahaan kami” → RAG. "Biarkan model saya selalu memberikan keluaran dalam format persis yang kita inginkan" → menyempurnakan kandidat.
Tip: Sebelum memutuskan untuk melakukan penyesuaian, tanyakan: "Apakah ini masalah pengetahuan atau masalah perilaku?" Masalah informasi lebih baik diselesaikan dengan RAG, masalah perilaku lebih baik diselesaikan dengan fine-tuning.
Metode penyempurnaan
Penyempurnaan penuh: Melatih ulang semua parameter model. Paling kuat tapi paling mahal; Ini membutuhkan perangkat keras (GPU) yang besar dan data yang cermat. Itu tidak diperlukan bagi sebagian besar tim.
Penyempurnaan efisien parameter (PEFT): Metode yang membekukan sebagian besar model, hanya melatih sejumlah kecil parameter tambahan. Yang paling umum adalah LoRA (Adaptasi Tingkat Rendah: melatih lapisan "adaptor" kecil yang ditambahkan ke model). LoRA memberikan hasil yang mendekati penyesuaian penuh, dengan memori dan biaya yang jauh lebih sedikit; Itu sebabnya ini adalah pilihan pertama dalam praktiknya.
Supervised Fine-Tuning (SFT): Mengajarkan model untuk "merespon masukan seperti ini" dengan data yang terdiri dari pasangan masukan-keluaran ideal. Ini adalah skenario yang paling umum.
Pembelajaran penguatan dari umpan balik manusia (RLHF): Menyelaraskan perilaku model dari respons pilihan masyarakat. Ini rumit dan mahal; Kebutuhan sebagian besar tim aplikasi dipenuhi dengan SFT. Cukup mengetahui RLHF sebagai sebuah konsep.
Data: inti dari penyempurnaan
Kualitas penyesuaian sepenuhnya bergantung pada kualitas data pelatihan. Beberapa ratus sampel berkualitas tinggi dan konsisten lebih baik daripada ribuan sampel yang ceroboh. Saat menyiapkan data:
- Konsistensi: Semua contoh secara konsisten menampilkan format dan nada yang Anda inginkan. Contoh-contoh yang kontradiktif membuat model bingung.
- Variasi: Contoh mencakup variasi dalam penggunaan sebenarnya, namun tidak seragam.
- Pembersihan: Instance yang berisi data yang salah, bias, atau tersembunyi diteruskan secara permanen ke dalam model. Data yang disempurnakan harus dibaca secermat kontrak.
Perhatian: Setiap bias, kesalahan, dan informasi tersembunyi yang masuk ke data penyesuaian akan dimasukkan ke dalam model dan muncul kembali di keluarannya. Audit data pelatihan Anda secermat saat Anda memublikasikannya; Jangan memposting data pribadi.
Ulasan: apakah penyesuaian berhasil?
Sebelum melakukan penyesuaian, simpan set evaluasi yang sudah ada dan ukur skor model tanpa penyesuaian (model dasar). Setelah fine tuning, ukur kembali di bank yang sama. Anda tidak bisa mengatakan "semuanya menjadi lebih baik" tanpa perbandingan. Juga dua jebakan yang harus diperhatikan:
- Pembelajaran Berlebihan: Pelatihan berlebihan dengan data kecil menyebabkan model kehilangan kemampuannya untuk menghafal dan menggeneralisasi contoh pelatihan.
- Lupa yang sangat parah: Latihan berlebihan pada tugas sempit dapat mengganggu kemampuan model secara keseluruhan. Uji apakah keterampilan lama dipertahankan saat memperoleh perilaku baru.
Pendekatan lemah / Pendekatan kuat
Lemah: "Saya punya 3000 log obrolan, mari kita perbaiki semuanya, sehingga model dapat berbicara seperti kita."
Güçlü: "Pertama, saya mengevaluasi model dasar dengan 100 tugas nyata, mencatat skornya. Saya mengukur seberapa besar peningkatannya dengan petunjuk dan beberapa pengambilan gambar — itu tidak cukup. Kemudian dari 3000 log, saya memilih dan membersihkan hanya 400 sampel dengan kualitas tinggi, format yang konsisten, dan tanpa data tersembunyi. Saya menyempurnakan dengan LoRA, mengukur lagi dengan 100 tugas yang sama, dan mengonfirmasi dengan pengujian terpisah bahwa kemampuan umum masih utuh."
Perbedaannya: pendekatan kuat menghabiskan alternatif-alternatif terlebih dahulu, memilih data, mengukur sebelum dan sesudahnya, dan menguji efek sampingnya.
Realitas biaya dan pemeliharaan
Penyempurnaan bukanlah pekerjaan yang dilakukan satu kali saja; Ini adalah tugas kehati-hatian. Pelatihan ulang mungkin perlu dilakukan ketika model dasar diperbarui, perlu diubah, atau data hilang. Selain itu, menghosting model yang disesuaikan akan menimbulkan biaya dan pengoperasian tambahan. Bandingkan total biaya kepemilikan dengan peningkatan kualitas yang diberikannya. Seringkali prompt + RAG yang bagus lebih murah dan lebih fleksibel daripada fine-tuning.
tiga kasus mini
Kasus 1 - Penyempurnaan yang tidak perlu. Sebuah tim memulai proyek penyesuaian yang mahal karena "model kami tidak mengetahui produk kami". Berbulan-bulan dan anggaran dihabiskan, hasilnya rapuh — model menjadi usang setiap kali katalog produk diubah. Akhirnya mereka beralih ke RAG: mereka mengambil data produk dari basis dokumen, pembaruan terjadi secara instan dan biaya turun. Pelajaran: masalah informasi tidak diselesaikan dengan fine-tuning.
Kasus 2 - Penyempurnaan yang benar. Perusahaan asuransi menginginkan model tersebut selalu menghasilkan ringkasan polis dalam struktur kaku yang sama (item demi klausa, dengan judul tertentu). Konsistensi dengan prompt terhenti di 70%. Setelah penyempurnaan LoRA dengan 300 sampel bagus, konsistensi format meningkat menjadi 98%. Ini adalah masalah perilaku dan penyesuaian adalah alat yang tepat.
Kasus 3 - Privasi masuk ke dalam data. Satu tim mengirimkan log obrolan untuk disempurnakan tanpa membersihkannya. Log tersebut berisi nama pelanggan asli dan nomor identifikasi. Model yang telah disempurnakan mulai "membocorkan" nama-nama ini sebagai keluaran dalam pertanyaan yang tidak terkait. Model ditarik, data ditutup dan dilatih ulang. Pelajaran: Informasi tersembunyi dalam data fine-tuning ditransfer secara permanen ke model.
Templat yang dapat disalin
Bantu saya memutuskan apakah penyesuaian diperlukan untuk masalah saya ini. Masalah: [deskripsi] Apakah ini masalah INFORMASI (model tidak mengetahui sesuatu) atau masalah PERILAKU (model tidak menghasilkan format/nada/struktur yang saya inginkan)? Apakah bisa diselesaikan dengan prompt, some-shot dan RAG terlebih dahulu? Mengapa mencoba/tidak mencoba masing-masingnya? Hanya dalam kondisi apa Anda akan merekomendasikan penyempurnaan?
Periksa kumpulan data penyempurnaan ini:1) Apakah contohnya konsisten dalam format dan nada?2) Apakah contoh tersebut mencakup variasi dalam penggunaan sebenarnya?3) Apakah contoh berisi data rahasia/pribadi (harus ditutup-tutupi)?4) Apakah ada contoh yang bertentangan?Subkumpulan contoh: [contoh]Cantumkan setiap masalah dan perbaikan yang Anda temukan.
Menghasilkan rencana evaluasi sebelum dan sesudah fine-tuning. Tugas: [penjelasan]- Bagaimana seharusnya kumpulan eval yang diadakan dipilih?- Bagaimana skor model dasar diukur?- Dengan metrik manakah skor tersebut dibandingkan setelah penyesuaian?- Bagaimana cara menguji bahwa kemampuan umum tidak terganggu (lupa katastropik)?
Menyarankan hyperparameter awal untuk penyesuaian dengan LoRA. Ukuran data: [jumlah sampel] Tujuan: [format/nada pengajaran] Menyarankan periode, kecepatan pembelajaran, dan penghentian awal untuk menghindari pembelajaran berlebihan.
Tabel keputusan: alat yang mana, kapan
membutuhkan
coba dulu
Menyempurnakan?
Model tidak mengetahui informasi apa pun
RAG
tidak
Diperlukan data terkini
RAG
tidak
Format kaku tertentu
beberapa tembakan
Jika tidak cukup ya
Nada/gaya yang konsisten
cepat + beberapa tembakan
Jika tidak cukup ya
Jargon/gaya lapangan
cepat
Jika itu belum cukup, LoRA
Pengoptimalan tugas sederhana
rekayasa yang cepat
Umumnya tidak
Kesalahan umum
- Mencoba menyelesaikan masalah informasi dengan fine-tuning. RAG adalah alat yang tepat.
- Melakukan penyempurnaan tanpa menggunakan prompt/few-shot/RAG. Mahal dan tidak perlu.
- Pelatihan dengan kualitas rendah/data yang bertentangan. Lebih sedikit data tetapi jelas lebih baik.
- Memasukkan data rahasia ke dalam pendidikan. Menyusup ke dalam model secara permanen.
- Tidak mengukur sebelum dan sesudah. Anda tidak dapat membuktikan pemulihan.
- Bukan menguji kelupaan yang membawa bencana. Keterampilan baru mungkin mengganggu keterampilan lama.
Singkatnya
Penyempurnaan adalah alat yang ampuh namun mahal dan hanya boleh dipertimbangkan untuk masalah perilaku/format setelah menggunakan RAG prompt-few-shot; masalah informasi milik RAG. Metode dengan parameter efisien seperti LoRA adalah pilihan pertama yang praktis. Kualitas bergantung sepenuhnya pada kualitas data; Gunakan data yang kecil namun bersih, konsisten dan rahasia. Ukur sebelum dan sesudah, uji pembelajaran berlebihan dan hilangnya kemampuan. Penyempurnaan adalah tugas kehati-hatian; Bandingkan total biayanya dengan kualitas yang dihasilkannya.
Tugas aplikasi
Pilih masalah dan putuskan apakah penyesuaian diperlukan dengan membedakan antara "pengetahuan atau perilaku" dan tuliskan pembenaran Anda. Jika masalahnya adalah masalah perilaku, siapkan 20-30 sampel yang konsisten, periksa data yang tersembunyi, dan dokumentasikan rencana evaluasi sebelum dan sesudah (klaster yang diadakan, skor dasar, metrik perbandingan, tes lupa). Jika masalah ini dapat diatasi dengan RAG/some-shot dan bukannya fine-tuning, catatlah hal ini juga.
daftar periksa
- [ ] Saya menentukan apakah masalahnya adalah pengetahuan atau perilaku.
- [ ] Saya pertama kali mengevaluasi alternatif prompt, beberapa pengambilan gambar, dan RAG.
- [ ] Saya mengaudit data penyesuaian untuk konsistensi, keragaman, dan kerahasiaan.
- [ ] Saya mengalokasikan cluster evaluasi yang diadakan dan mengukur skor dasar.
- [ ] Saya merencanakan tes perbandingan dan melupakan sebelum-sesudah.
- [ ] Saya membandingkan total biaya dengan kualitas yang diberikannya.