Rekayasa prompt

Memahami Fine-Tuning LLM: Menyesuaikan Model Bahasa Besar dengan Kebutuhan Unik Anda

mm
Tambahkan Unite.AI ke sumber pilihan Anda di Google
LLM Fine tuning representation - Midjourney

Saat kami berdiri di September 2023, lanskap Model Bahasa Besar (LLM) masih menyaksikan munculnya model seperti Alpaca, Falcon, Llama 2, GPT-4, dan banyak lainnya.

Aspek penting dalam memanfaatkan potensi LLM ini terletak pada proses fine-tuning, strategi yang memungkinkan kustomisasi model pra-dilatih untuk memenuhi tugas tertentu dengan presisi. Melalui fine-tuning ini, model-model ini dapat benar-benar selaras dengan kebutuhan individu, menawarkan solusi yang inovatif dan disesuaikan dengan kebutuhan unik.

Namun, perlu diperhatikan bahwa tidak semua jalur fine-tuning diciptakan sama. Misalnya, mengakses kemampuan fine-tuning GPT-4 memerlukan langganan berbayar yang relatif lebih mahal dibandingkan dengan opsi lain yang tersedia di pasar. Di sisi lain, domain open-source penuh dengan alternatif yang menawarkan jalur yang lebih mudah diakses untuk memanfaatkan kekuatan model bahasa besar. Opsi open-source ini mendemokratisasikan akses ke teknologi AI canggih, mendorong inovasi dan inklusivitas dalam lanskap AI yang berkembang pesat.

Mengapa Fine-Tuning LLM Penting?

Fine-tuning LLM lebih dari sekedar peningkatan teknis; ini adalah aspek kritis dalam pengembangan model LLM yang memungkinkan aplikasi yang lebih spesifik dan rafinasi dalam berbagai tugas. Fine-tuning menyesuaikan model pra-dilatih untuk lebih baik memenuhi dataset tertentu, meningkatkan kinerjanya dalam tugas tertentu dan memastikan aplikasi yang lebih terarah. Ini membawa kemampuan luar biasa dari LLM untuk beradaptasi dengan data baru, menunjukkan fleksibilitas yang vital dalam minat yang terus berkembang dalam aplikasi AI.

Fine-tuning model bahasa besar membuka banyak peluang, memungkinkan mereka untuk unggul dalam tugas tertentu mulai dari analisis sentimen hingga tinjauan literatur medis. Dengan menyesuaikan model dasar untuk kasus penggunaan tertentu, kita membuka kemungkinan baru, meningkatkan efisiensi dan akurasi model. Selain itu, ini memfasilitasi penggunaan sumber daya sistem yang lebih ekonomis, karena fine-tuning memerlukan daya komputasi yang lebih rendah dibandingkan dengan melatih model dari awal.

Ketika kita memasuki panduan ini lebih dalam, kita akan membahas kerumitan fine-tuning LLM, memberikan Anda gambaran komprehensif yang didasarkan pada kemajuan terbaru dan praktik terbaik di bidang ini.

Fine-Tuning Berbasis Instruksi

Fase fine-tuning dalam siklus hidup AI Generatif, diilustrasikan dalam gambar di bawah, ditandai dengan integrasi input instruksi dan output, bersama dengan contoh alasan langkah demi langkah. Pendekatan ini memungkinkan model untuk menghasilkan respons yang tidak hanya relevan tetapi juga presisi sesuai dengan instruksi spesifik yang diberikan. Ini adalah fase di mana model pra-dilatih disesuaikan untuk memecahkan tugas dan kasus penggunaan yang berbeda, menggunakan dataset pribadi untuk meningkatkan fungsionalitasnya.

Siklus Hidup AI Generatif - Fine Tuning, Prompt Engineering dan RLHF

Siklus Hidup AI Generatif – Fine Tuning

Fine-Tuning Tugas Tunggal

Fine-tuning tugas tunggal berfokus pada mengasah keahlian model dalam tugas tertentu, seperti ringkasan. Pendekatan ini sangat bermanfaat dalam mengoptimalkan alur kerja yang melibatkan dokumen atau thread percakapan yang substansial, termasuk dokumen hukum dan tiket dukungan pelanggan. Secara menakjubkan, fine-tuning ini dapat mencapai peningkatan kinerja yang signifikan dengan satu set contoh yang relatif kecil, berkisar dari 500 hingga 1000, kontras dengan miliaran token yang digunakan dalam fase pra-dilatih.

Ilustrasi Contoh Fine-Tuning Tugas Tunggal

Ilustrasi Contoh Fine-Tuning Tugas Tunggal

 

Dasar Fine-Tuning LLM: Arsitektur Transformer dan Di Luar

Perjalanan memahami fine-tuning LLM dimulai dengan pemahaman elemen dasar yang membentuk LLM. Di jantung model ini terletak arsitektur transformer, jaringan neural yang menggunakan mekanisme perhatian mandiri untuk memprioritaskan konteks kata-kata daripada kedekatannya dalam kalimat. Pendekatan inovatif ini memungkinkan pemahaman yang lebih dalam tentang hubungan jarak jauh antara token dalam input.

Ketika kita menavigasi kerumitan transformer, kita menemukan proses multi-tahap yang dimulai dengan encoder. Fase awal ini melibatkan tokenisasi input dan pembuatan vektor embedding yang mewakili input dan posisinya dalam kalimat. Tahap berikutnya melibatkan serangkaian perhitungan menggunakan matriks yang dikenal sebagai Pertanyaan, Nilai, dan Kunci, yang berakhir dengan skor perhatian mandiri yang menentukan fokus pada bagian yang berbeda dari kalimat dan token yang berbeda.

Arsitektur Transformer

Arsitektur Transformer

Fine-tuning berdiri sebagai fase kritis dalam pengembangan LLM, proses yang melibatkan penyesuaian halus untuk mencapai output yang lebih diinginkan. Fase ini, meskipun penting, menyajikan serangkaian tantangan, termasuk tuntutan komputasi dan penyimpanan yang besar dalam menangani sejumlah besar parameter. Parameter Efficient Fine-Tuning (PEFT) menawarkan teknik untuk mengurangi jumlah parameter yang perlu disesuaikan, sehingga mempermudah proses pelatihan.

Pra-Dilatih LLM: Membangun Basis yang Kuat

Di tahap awal pengembangan LLM, pra-dilatih menjadi pusat perhatian, menggunakan arsitektur transformer yang berlebihan sebagai fondasi. Proses ini melibatkan pemodelan bahasa alami dalam berbagai cara seperti bidireksional, autoregresif, atau urutan-ke-urutan pada korpus besar yang tidak diawasi. Tujuan di sini adalah menciptakan basis yang dapat disesuaikan nanti untuk tugas downstream spesifik melalui pengenalan tujuan tugas spesifik.

Pra-Dilatih, Fine-Tuning

Pra-Dilatih, Fine-Tuning

Tren yang patut diperhatikan dalam bidang ini adalah peningkatan skala pra-dilatih LLM, diukur oleh jumlah parameter. Data empiris secara konsisten menunjukkan bahwa model yang lebih besar dengan lebih banyak data hampir selalu menghasilkan kinerja yang lebih baik. Misalnya, GPT-3, dengan 175 miliar parameter, telah menetapkan standar dalam menghasilkan bahasa alami berkualitas tinggi dan melakukan berbagai tugas zero-shot dengan kompeten.

Fine-Tuning: Jalan Menuju Adaptasi Model

Setelah pra-dilatih, LLM menjalani fine-tuning untuk beradaptasi dengan tugas tertentu. Meskipun pembelajaran dalam konteks menunjukkan kinerja menjanjikan dalam LLM pra-dilatih seperti GPT-3, fine-tuning tetap unggul dalam pengaturan tugas spesifik. Namun, pendekatan fine-tuning parameter penuh menyajikan tantangan, termasuk tuntutan komputasi dan memori yang tinggi, terutama ketika menangani model skala besar.

Untuk model bahasa besar dengan lebih dari satu miliar parameter, manajemen RAM GPU yang efisien sangat penting. Satu parameter model pada presisi 32-bit penuh memerlukan 4 byte ruang, yang berarti 4GB RAM GPU hanya untuk memuat model dengan satu miliar parameter. Proses pelatihan yang sebenarnya memerlukan lebih banyak memori untuk mengakomodasi berbagai komponen, termasuk keadaan pengoptimalkan dan gradien, yang dapat memerlukan hingga 80GB RAM GPU untuk model skala ini.

Untuk menavigasi keterbatasan RAM GPU, quantisasi digunakan, yaitu teknik yang mengurangi presisi parameter model, sehingga mengurangi kebutuhan memori. Misalnya, mengubah presisi dari 32-bit ke 16-bit dapat mengurangi setengah memori yang diperlukan untuk memuat dan melatih model. Nanti dalam artikel ini, kita akan mempelajari tentang QLoRA yang menggunakan konsep quantisasi untuk penyesuaian.

Kebutuhan Memori GPU LLM terkait Jumlah Parameter dan Presisi

Kebutuhan Memori GPU LLM terkait Jumlah Parameter dan Presisi

 

Menjelajahi Kategori Metode PEFT

Dalam proses fine-tuning LLM secara penuh, penting untuk memiliki setup komputasi yang dapat menangani tidak hanya bobot model yang substansial, yang untuk model paling canggih sekarang mencapai ukuran dalam ratusan gigabyte, tetapi juga mengelola serangkaian elemen kritis lainnya. Ini termasuk alokasi memori untuk keadaan pengoptimalkan, mengelola gradien, aktivasi maju, dan memfasilitasi memori sementara selama berbagai tahap proses pelatihan.

Metode Additif

Jenis penyesuaian ini dapat melengkapi model pra-dilatih dengan parameter atau lapisan tambahan, fokus pada pelatihan hanya parameter yang baru ditambahkan. Meskipun meningkatkan jumlah parameter, metode ini meningkatkan efisiensi waktu dan ruang pelatihan. Metode additif lebih lanjut dibagi menjadi sub-kategori:

  • Adapter: Mengintegrasikan jaringan terhubung penuh kecil pasca lapisan transformer, dengan contoh terkenal seperti AdaMix, KronA, dan Compactor.
  • Prompt Lembut: Menyesuaikan segmen embedding input model melalui turunan gradien, dengan IPT, prefix-tuning, dan WARP sebagai contoh menonjol.
  • Pendekatan Additif Lain: Termasuk teknik seperti LeTS, AttentionFusion, dan Ladder-Side Tuning.

Metode Selektif

Metode PEFT selektif menyesuaikan sejumlah terbatas lapisan atas berdasarkan jenis lapisan dan struktur model internal. Kategori ini mencakup metode seperti BitFit dan LN tuning, yang fokus pada menyesuaikan elemen tertentu seperti bias model atau baris tertentu.

Metode Berbasis Reparameterisasi

Metode ini menggunakan representasi peringkat rendah untuk mengurangi jumlah parameter yang dapat dilatih, dengan yang paling terkenal adalah Adaptasi Peringkat Rendah atau LoRA. Metode ini menggunakan dekomposisi matriks peringkat rendah sederhana untuk parameterisasi pembaruan bobot, menunjukkan fine-tuning yang efektif dalam subruang peringkat rendah.

1) LoRA (Adaptasi Peringkat Rendah)

LoRA muncul sebagai teknik PEFT yang revolusioner, diperkenalkan dalam sebuah makalah oleh Edward J. Hu dan lain-lain pada 2021. Ini beroperasi dalam kategori reparameterisasi, membekukan bobot asli LLM dan mengintegrasikan matriks peringkat rendah baru yang dapat dilatih ke dalam setiap lapisan arsitektur Transformer. Pendekatan ini tidak hanya mengurangi jumlah parameter yang dapat dilatih tetapi juga mengurangi waktu pelatihan dan sumber daya komputasi yang diperlukan, sehingga menyajikan alternatif yang lebih efisien daripada fine-tuning penuh.

Untuk memahami mekanika LoRA, kita harus kembali ke arsitektur transformer di mana prompt input menjalani tokenisasi dan diubah menjadi vektor embedding. Vektor-vektor ini melewati segmen encoder dan/atau decoder transformer, mengalami perhatian mandiri dan jaringan feed-forward yang bobotnya telah pra-dilatih.

LoRA menggunakan konsep Dekomposisi Nilai Tunggal (SVD). Secara esensial, SVD membagi matriks menjadi tiga matriks yang berbeda, salah satunya adalah matriks diagonal yang berisi nilai-nilai tunggal. Nilai-nilai tunggal ini sangat penting karena mereka mengukur signifikansi dimensi yang berbeda dalam matriks, dengan nilai yang lebih besar menunjukkan signifikansi yang lebih tinggi dan nilai yang lebih kecil menunjukkan signifikansi yang lebih rendah.

Dekomposisi Nilai Tunggal (SVD) dari Matriks m × n

Dekomposisi Nilai Tunggal (SVD) dari Matriks m × n

Pendekatan ini memungkinkan LoRA untuk mempertahankan karakteristik esensial data sambil mengurangi dimensionalitas, sehingga mengoptimalkan proses fine-tuning.

LoRA campur tangan dalam proses ini, membekukan semua parameter model asli dan memperkenalkan pasangan “matriks dekomposisi peringkat” di samping bobot asli. Matriks-matriks yang lebih kecil ini, yang dilambangkan sebagai A dan B, menjalani pelatihan melalui pembelajaran terarah.

Unsur kunci dalam strategi ini adalah parameter yang disebut peringkat (‘r’), yang menentukan ukuran matriks peringkat rendah. Pemilihan ‘r’ yang cermat dapat menghasilkan hasil yang mengesankan, bahkan dengan nilai yang lebih kecil, sehingga menciptakan matriks peringkat rendah dengan parameter yang lebih sedikit untuk dilatih. Strategi ini telah diimplementasikan secara efektif menggunakan perpustakaan open-source seperti HuggingFace Transformers, memfasilitasi fine-tuning LoRA untuk berbagai tugas dengan efisiensi yang mengesankan.

2) QLoRA: Meningkatkan Efisiensi LoRA

Membangun dari fondasi yang diletakkan oleh LoRA, QLoRA lebih lanjut mengurangi kebutuhan memori. Diperkenalkan oleh Tim Dettmers dan lain-lain pada 2023, ini menggabungkan adaptasi peringkat rendah dengan quantisasi, menggunakan format quantisasi 4-bit yang disebut NormalFloat atau nf4. Quatisasi pada dasarnya adalah proses yang mengubah data dari representasi informasi yang lebih tinggi ke yang lebih rendah. Pendekatan ini mempertahankan efektivitas metode fine-tuning 16-bit, dequatisasi bobot 4-bit ke 16-bit seperti yang diperlukan selama proses komputasi.

Membandingkan Metode Fine-Tuning: QLoRA Meningkatkan LoRA dengan Quatisasi Presisi 4-Bit dan Pengoptimal Paged untuk Mengelola Lonjakan Memori

Membandingkan Metode Fine-Tuning: QLoRA Meningkatkan LoRA dengan Quatisasi Presisi 4-Bit dan Pengoptimal Paged untuk Mengelola Lonjakan Memori

QLoRA memanfaatkan NumericFloat4 (nf4), menargetkan setiap lapisan dalam arsitektur transformer, dan memperkenalkan konsep quatisasi ganda untuk lebih mengurangi jejak memori yang diperlukan untuk fine-tuning. Ini dicapai dengan melakukan quatisasi pada konstanta yang sudah diquatisasi, strategi yang menghindari lonjakan memori yang biasa terjadi selama checkpointing gradien melalui penggunaan pengoptimal paged dan manajemen memori terpadu.

Guanaco, yang merupakan ensemble QLoRA-tuned, menetapkan standar dalam solusi chatbot open-source. Kinerjanya, yang divalidasi melalui penilaian manusia dan otomatis yang sistematis, menekankan dominasi dan efisiensinya dalam bidang ini.

Versi 65B dan 33B dari Guanaco, yang disesuaikan menggunakan versi modifikasi dari dataset OASST1, muncul sebagai pesaing yang tangguh bagi model terkenal seperti ChatGPT dan bahkan GPT-4.

Fine-Tuning Menggunakan Pembelajaran Penguatan dari Umpan Balik Manusia

Pembelajaran Penguatan dari Umpan Balik Manusia (RLHF) menjadi penting ketika fine-tuning model bahasa pra-dilatih untuk selaras lebih dekat dengan nilai-nilai manusia. Konsep ini diperkenalkan oleh Open AI pada 2017, meletakkan dasar untuk dokumentasi ringkasan yang ditingkatkan dan pengembangan InstructGPT.

Di inti RLHF terletak paradigma pembelajaran penguatan, jenis teknik pembelajaran mesin di mana agen belajar bagaimana berperilaku dalam lingkungan dengan melakukan aksi dan menerima hadiah. Ini adalah loop kontinu dari aksi dan umpan balik, di mana agen termotivasi untuk membuat pilihan yang akan menghasilkan hadiah tertinggi.

Menerjemahkan ini ke ranah model bahasa, agen adalah model itu sendiri, beroperasi dalam lingkungan jendela konteks yang diberikan dan membuat keputusan berdasarkan keadaan, yang didefinisikan oleh token saat ini dalam jendela konteks. “Ruang aksi” mencakup semua token potensial yang dapat dipilih model, dengan tujuan memilih token yang paling selaras dengan preferensi manusia.

Proses RLHF sangat bergantung pada umpan balik manusia, menggunakan umpan balik ini untuk melatih model hadiah. Model hadiah ini memainkan peran kritis dalam membimbing model pra-dilatih selama proses fine-tuning, mendorongnya untuk menghasilkan output yang lebih selaras dengan nilai-nilai manusia. Ini adalah proses dinamis dan iteratif, di mana model belajar melalui serangkaian “rollout,” istilah yang digunakan untuk menggambarkan urutan keadaan dan aksi yang mengarah ke hadiah dalam konteks generasi bahasa.

Salah satu potensi luar biasa dari RLHF adalah kemampuannya untuk memfasilitasi personalisasi dalam asisten AI, menyesuaikan mereka untuk beresonansi dengan preferensi pengguna individu, baik itu rasa humor atau rutinitas sehari-hari. Ini membuka jalur untuk menciptakan sistem AI yang tidak hanya kompeten secara teknis tetapi juga cerdas secara emosional, mampu memahami dan merespons nuansa dalam komunikasi manusia.

Namun, perlu diperhatikan bahwa RLHF bukanlah solusi yang sempurna. Model masih rentan menghasilkan output yang tidak diinginkan, refleksi dari data besar yang tidak diatur dan bias yang mereka latih.

Kesimpulan

Proses fine-tuning, langkah kritis dalam memanfaatkan potensi penuh LLM seperti Alpaca, Falcon, dan GPT-4, telah menjadi lebih rafin dan terfokus, menawarkan solusi yang disesuaikan untuk berbagai tugas.

Kita telah melihat fine-tuning tugas tunggal, yang mengkhususkan model dalam peran tertentu, dan Metode Fine-Tuning Parameter-Efisien (PEFT) termasuk LoRA dan QLoRA, yang bertujuan membuat proses pelatihan lebih efisien dan hemat biaya. Pengembangan ini membuka pintu bagi fungsi AI tingkat tinggi untuk audiens yang lebih luas.

Lebih lanjut, pengenalan Pembelajaran Penguatan dari Umpan Balik Manusia (RLHF) oleh Open AI adalah langkah menuju penciptaan sistem AI yang lebih selaras dengan nilai-nilai dan preferensi manusia, menyiapkan panggung untuk asisten AI yang tidak hanya pintar tetapi juga sensitif terhadap kebutuhan pengguna individu. Baik RLHF dan PEFT bekerja bersama untuk meningkatkan fungsionalitas dan efisiensi Model Bahasa Besar.

Ketika bisnis, perusahaan, dan individu mempertimbangkan untuk mengintegrasikan LLM yang disesuaikan ini ke dalam operasi mereka, mereka pada dasarnya menyambut masa depan di mana AI lebih dari sekedar alat; itu adalah mitra yang memahami dan beradaptasi dengan konteks manusia, menawarkan solusi yang inovatif dan disesuaikan dengan kebutuhan.

Saya telah menghabiskan lima tahun terakhir dengan membenamkan diri dalam dunia Machine Learning dan Deep Learning yang menarik. Minat dan keahlian saya telah memimpin saya untuk berkontribusi pada lebih dari 50 proyek rekayasa perangkat lunak yang beragam, dengan fokus khusus pada AI/ML. Rasa ingin tahu saya yang terus-menerus juga telah menarik saya ke arah Natural Language Processing, sebuah bidang yang saya ingin jelajahi lebih lanjut.