7.0. LoRA Improvements in fine-tuning
Last updated
Last updated
Die gebruik van LoRA verminder baie die berekening wat nodig is om fyn af te stem reeds opgelei modelle.
LoRA maak dit moontlik om groot modelle doeltreffend fyn af te stem deur slegs 'n klein deel van die model te verander. Dit verminder die aantal parameters wat jy moet oplei, wat geheue en berekeningshulpbronne bespaar. Dit is omdat:
Verminder die Aantal Opleibare Parameters: In plaas daarvan om die hele gewigsmatris in die model op te dateer, verdeel LoRA die gewigsmatris in twee kleiner matrise (genoem A en B). Dit maak opleiding vinniger en vereis minder geheue omdat minder parameters opdateer moet word.
Dit is omdat dit in plaas daarvan om die volledige gewigsopdatering van 'n laag (matris) te bereken, dit benader na 'n produk van 2 kleiner matrise wat die opdatering verminder om te bereken:\
2. **Hou Oorspronklike Model Gewigte Onveranderd**: LoRA laat jou toe om die oorspronklike model gewigte dieselfde te hou, en slegs die **nuwe klein matrise** (A en B) op te dateer. Dit is nuttig omdat dit beteken dat die model se oorspronklike kennis bewaar word, en jy net wat nodig is, aanpas. 3. **Doeltreffende Taakspesifieke Fyn-afstemming**: Wanneer jy die model wil aanpas vir 'n **nuwe taak**, kan jy net die **klein LoRA matrise** (A en B) oplei terwyl jy die res van die model soos dit is laat. Dit is **baie doeltreffender** as om die hele model weer op te lei. 4. **Bergingseffektiwiteit**: Na fyn-afstemming, in plaas daarvan om 'n **heel nuwe model** vir elke taak te stoor, hoef jy slegs die **LoRA matrise** te stoor, wat baie klein is in vergelyking met die hele model. Dit maak dit makliker om die model aan te pas vir baie take sonder om te veel berging te gebruik.
Ten einde LoraLayers in plaas van Linear eenhede tydens 'n fyn-afstemming te implementeer, word hierdie kode hier voorgestel https://github.com/rasbt/LLMs-from-scratch/blob/main/appendix-E/01_main-chapter-code/appendix-E.ipynb: