Kemunculan Model Bahasa Besar (LLMS) telah membawa banyak peluang baru untuk aplikasi AI. Sekiranya anda sentiasa mahu menyempurnakan model anda sendiri, panduan ini akan menunjukkan kepada anda bagaimana untuk melakukan ini dengan mudah tanpa menulis sebarang kod. Kami akan menggunakan alat seperti Axolotl dan DPO untuk membimbing anda melalui keseluruhan proses langkah demi langkah.
Apakah model bahasa yang besar (LLM)?
Model Bahasa Besar (LLM) adalah model AI yang kuat yang melatih data teks besar -besaran (trilion aksara) untuk meramalkan frasa seterusnya dalam urutan. Ini hanya mungkin dengan kemajuan dalam pengkomputeran GPU sejak 2-3 tahun yang lalu yang telah membolehkan model besar itu dilatih dalam beberapa minggu.
Anda mungkin telah berinteraksi dengan LLM sebelum melalui produk seperti chatgpt atau claude dan secara peribadi mengalami keupayaan mereka untuk memahami dan menjana respons seperti manusia.
Mengapa anda perlu menyempurnakan LLM?
tidak boleh kita gunakan GPT-4O untuk mengendalikan segala-galanya? Walaupun ia adalah model yang paling berkuasa yang kita ada pada masa menulis, ia tidak selalu menjadi pilihan yang paling praktikal. Penalaan halus model yang lebih kecil (parameter parameter 3 bilion hingga 14 bilion) dapat mencapai hasil yang setanding dengan sebahagian kecil daripada kos. Di samping itu, penalaan halus membolehkan anda memiliki harta intelektual anda sendiri dan mengurangkan pergantungan kepada pihak ketiga.
Memahami model asas, model arahan dan model dialog
pastikan anda memahami pelbagai jenis LLM yang tersedia sebelum tweaking secara mendalam:
Model Asas:
Model-model ini terlatih pada sejumlah besar teks tidak berstruktur seperti buku atau data internet. Walaupun mereka mempunyai pemahaman yang melekat tentang bahasa, mereka tidak dioptimumkan untuk penalaran dan menghasilkan output yang tidak sepatutnya. Perkembangan model asas adalah untuk menjadi titik permulaan untuk membangunkan model yang lebih profesional. -
Model Arahan :
Model arahan dibina di atas model asas dan disesuaikan dengan menggunakan data berstruktur (seperti pasangan prompt-response). Mereka direka untuk mengikuti arahan tertentu atau menjawab soalan. -
Model dialog :
juga dibina di atas model asas, tetapi tidak seperti model arahan, model dialog dilatih pada data dialog, yang membolehkan mereka mempunyai perbualan berulang -ulang. -
Apakah pembelajaran tetulang dan DPO?
Pembelajaran Penguatkuasaan (RL) adalah teknik di mana model belajar dengan menerima maklum balas mengenai tingkah laku mereka. Ia digunakan untuk model arahan atau model dialog untuk meningkatkan lagi kualiti outputnya. Biasanya, RL tidak berfungsi di atas model asas kerana ia menggunakan kadar pembelajaran yang lebih rendah, yang tidak mencukupi untuk membuat perubahan yang ketara.
DPO adalah bentuk RL di mana model dilatih menggunakan kebaikan dan keburukan pasangan jawapan yang sama/dialog yang sama. Dengan membentangkan pasangan ini, model ini mempelajari contoh yang baik dan mengelakkan contoh yang buruk.
bila menggunakan dpo
DPO amat berguna apabila anda ingin menyesuaikan gaya atau tingkah laku model anda, contohnya:
- Pelarasan gaya: Ubah suai panjang, tahap terperinci, atau keyakinan dalam ekspresi model respons.
- Langkah -langkah keselamatan: Model latihan enggan menjawab arahan yang mungkin tidak selamat atau tidak sesuai.
Walau bagaimanapun, DPO tidak sesuai untuk mengajar pengetahuan atau fakta baru mengenai model. Untuk tujuan ini, teknik penalaan yang diselia (SFT) atau generasi yang dipertingkatkan (RAG) lebih sesuai.
Buat dataset DPO
Dalam persekitaran pengeluaran, anda biasanya menggunakan maklum balas pengguna untuk menghasilkan dataset DPO, seperti:
- Maklum Balas Pengguna: Melaksanakan mekanisme seperti/klik sebagai tindak balas.
- Bandingkan pilihan: membentangkan dua output yang berbeza kepada pengguna dan meminta mereka untuk memilih yang lebih baik.
Jika anda kekurangan data pengguna, anda juga boleh membuat dataset sintetik dengan memanfaatkan LLM yang lebih besar dan lebih kuat. Sebagai contoh, anda boleh menggunakan model yang lebih kecil untuk menghasilkan jawapan yang salah dan kemudian membetulkannya dengan GPT-4O.
3 Jika anda memeriksa dataset, anda akan melihat bahawa ia mengandungi petunjuk dengan jawapan yang dipilih dan ditolak - ini adalah contoh yang baik dan buruk. Data-data ini dibuat menggunakan sintesis GPT-3.5-Turbo dan GPT-4.
anda biasanya memerlukan sekurang -kurangnya 500 hingga 1000 pasang data untuk dilatih dengan berkesan tanpa terlalu banyak. Data DPO terbesar mengandungi sehingga 15,000-20,000 pasang data.
Gunakan Axolotl untuk menyempurnakan model arahan Qwen2.5 3b
Kami akan menggunakan Axolotl untuk menyempurnakan model arahan QWEN.5 3B, yang kini berada di kedudukan No. 1 dalam ranking OpenLLM dalam kategori skala. Dengan Axolotl, anda boleh menyempurnakan model anda tanpa menulis sebarang kod-hanya fail konfigurasi YAML diperlukan. Inilah config.yml yang akan kami gunakan:
Sediakan persekitaran awan <code class="language-yaml"># ... (YAML configuration remains the same) ...</code>
Untuk menjalankan latihan, kami akan menggunakan perkhidmatan hosting awan seperti RUNPOD atau VULTR. Inilah yang anda perlukan:
Docker Image: Cloned the Winglian/Axolotl-Cloud: Imej Docker Utama yang disediakan oleh pasukan Axolotl.
- Keperluan perkakasan: 80GB VRAM GPU (seperti 1 × A100 PCIe node) lebih daripada cukup untuk model saiz ini.
- Penyimpanan: Penyimpanan volum 200GB akan memegang semua fail yang kami perlukan.
- Versi CUDA: Versi CUDA anda harus sekurang -kurangnya 12.1.
-
(Latihan jenis ini dianggap sebagai penalaan lengkap LLM dan oleh itu sangat intensif VRAM. Jika anda ingin menjalankan latihan secara tempatan tanpa bergantung pada tuan rumah awan, anda boleh cuba menggunakan QLORA, satu bentuk penalaan halus yang diselia. Walaupun DPO dan Qlora boleh digabungkan dalam teori, ini jarang berlaku
langkah untuk memulakan latihan
Tetapkan Direktori Cache Huggingface:
-
Ini memastikan bahawa model asal dimuat turun ke penyimpanan kelantangan berterusan kami.
<code class="language-bash">export HF_HOME=/workspace/hf</code>
Buat fail konfigurasi: Simpan fail config.yml yang kami buat lebih awal ke /workspace/config.yml.
-
Mula Latihan:
-
Lihat! Latihan anda harus bermula. Selepas memuat turun model dan data latihan di Axolotl, anda harus melihat output yang serupa dengan ini:
<code class="language-yaml"># ... (YAML configuration remains the same) ...</code>
Oleh kerana ini adalah dataset yang lebih kecil dengan hanya 264 baris, latihan hanya perlu mengambil masa beberapa minit. Model halus akan disimpan ke /ruang kerja /dpo-output.
Muat naik model ke Huggingface
anda boleh menggunakan CLI untuk memuat naik model ke Huggingface:
- Memasang Hub Huggingface CLI:
<code class="language-bash">export HF_HOME=/workspace/hf</code>
- Muat naik model:
<code class="language-bash">python -m axolotl.cli.train /workspace/config.yml</code>
Gantikan YourName/YourRepo dengan nama pengguna dan nama repositori Huggingface sebenar anda.
Menilai model yang disesuaikan dengan baik
Untuk penilaian, adalah disyorkan untuk menggunakan alat seperti kesimpulan generasi teks (TGI) untuk menjadi tuan rumah model asal dan model yang disempurnakan. Kemudian, gunakan tetapan suhu ke 0 (untuk memastikan output deterministik) untuk alasan mengenai kedua -dua model dan secara manual membandingkan respons kedua -dua model.
Pendekatan praktikal ini memberikan gambaran yang lebih baik daripada bergantung semata -mata pada latihan untuk menilai metrik kerugian, kerana metrik kehilangan mungkin tidak menangkap kehalusan generasi bahasa di LLM.
Kesimpulan
Fine-penalaan LLM dengan DPO membolehkan anda menyesuaikan model anda untuk memenuhi keperluan aplikasi anda sambil mengekalkan kos yang dikawal. Dengan mengikuti langkah -langkah yang digariskan dalam artikel ini, anda boleh memanfaatkan kuasa alat sumber terbuka dan dataset untuk membuat model yang memenuhi keperluan khusus anda. Sama ada anda mahu menyesuaikan gaya respons anda atau melaksanakan langkah -langkah keselamatan, DPO menawarkan cara praktikal untuk meningkatkan LLM.
Saya doakan anda gembira dengan baik!
Atas ialah kandungan terperinci Penalaan halus LLM sumber terbuka dengan AXOLOTL menggunakan Pengoptimuman Keutamaan Langsung (DPO). Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!