7.0. LoRA Improvements in fine-tuning
LoRA poboljšanja
Korišćenje LoRA značajno smanjuje računarske resurse potrebne za fino podešavanje već obučenih modela.
LoRA omogućava efikasno fino podešavanje velikih modela menjajući samo mali deo modela. Smanjuje broj parametara koje treba obučiti, čime se štedi memorija i računarski resursi. To je zato što:
Smanjuje broj parametara koji se mogu obučavati: Umesto da ažurira celu težinsku matricu u modelu, LoRA delí težinsku matricu na dve manje matrice (nazvane A i B). To čini obuku bržom i zahteva manje memorije jer je potrebno ažurirati manje parametara.
To je zato što umesto da izračunava potpuno ažuriranje težine sloja (matrice), aproksimira ga kao proizvod 2 manje matrice, smanjujući ažuriranje za izračun:\
2. **Održava originalne težine modela nepromenjenim**: LoRA vam omogućava da zadržite originalne težine modela iste, i samo ažurira **nove male matrice** (A i B). To je korisno jer znači da se originalno znanje modela čuva, a vi samo prilagođavate ono što je neophodno. 3. **Efikasno fino podešavanje specifično za zadatak**: Kada želite da prilagodite model za **novi zadatak**, možete samo obučiti **male LoRA matrice** (A i B) dok ostavljate ostatak modela nepromenjenim. Ovo je **mnogo efikasnije** od ponovne obuke celog modela. 4. **Efikasnost skladištenja**: Nakon finog podešavanja, umesto da čuvate **novi model** za svaki zadatak, potrebno je da sačuvate samo **LoRA matrice**, koje su veoma male u poređenju sa celim modelom. Ovo olakšava prilagođavanje modela mnogim zadacima bez prekomernog korišćenja skladišta.
Da biste implementirali LoraLayers umesto Linear slojeva tokom finog podešavanja, ovde je predložen ovaj kod https://github.com/rasbt/LLMs-from-scratch/blob/main/appendix-E/01_main-chapter-code/appendix-E.ipynb:
References
Last updated