Mitä LoRA tarkoittaa AI:ssa?

LoRA on lyhenne termistä Low-Rank Adaptation. Se on parametritehokas hienosäätömenetelmä, joka pitää esikoulutetun mallin alkuperäiset painot jäädytettyinä ja oppii valituille kerroksille paljon pienempiä matalan asteen matriiseja. Opitut päivitykset voidaan tallentaa adapterina ja käyttää myöhemmin yhteensopivan perusmallin kanssa.

Kaksi pientä matalan asteen matriisia ohjaa paljon suurempaa jäädytettyä neuroverkon painohilaa.
Suuri esikoulutettu matriisi pysyy jäädytettynä; koulutettava polku jakaa päivityksensä paljon pienemmän rank-arvon kautta.

Tämä sivu käsittelee AI-mallien mukauttamista. LoRa, jossa ”a” on pienellä, on myös pitkän kantaman radiotekniikan nimi. Se ei liity kieli- tai kuvagenerointimallien LoRA-adaptereihin.

Perusajatus ilman algebran sumua

Tavanomainen täysi finetuning voi päivittää mallin monia tai kaikkia parametreja. LoRA olettaa, että tietyn tehtävän hyödyllinen muutos voidaan usein esittää paljon harvemmilla vapausasteilla. Täyden päivitysmatriisin oppimisen sijaan se ilmaisee päivityksen kahden ohuemman matriisin tulona rank-arvolla r.

Todellinen paino yhdistää jäädytetyn peruspainon skaalattuun matalan asteen päivitykseen:

W′ = W + (B × A) · scale

Jos valittu rank-arvo on paljon alkuperäisiä ulottuvuuksia pienempi, matriisit A ja B sisältävät huomattavasti vähemmän koulutettavia parametreja kuin täysi päivitys. Tämä vähentää koulutuksen muistintarvetta ja tuottaa kompaktin adapteriartefaktin. Perusmalli tekee silti suurimman osan työstä.

LoRA-malli, LoRA-adapteri ja LoRA-painot

Näitä ilmauksia käytetään väljästi, joten ne kannattaa erottaa toisistaan:

Ladattu LoRA-tiedosto ei yleensä sisällä koko perusmallia. Siksi käyttöliittymä pyytää valitsemaan checkpointin ja ottamaan sitten käyttöön yhden tai useamman vaihtoehdon joukosta LoRAs.

Mitä LoRA voi oppia?

Kielimalleissa adapteri voi erikoistaa käyttäytymistä tietylle alalle, tehtävälle tai ohjetyylille. Diffuusiomalleissa LoRAs käytetään yleisesti visuaalisiin tyyleihin, hahmoihin, aiheisiin, tuotteisiin, käsitteisiin tai pienempiin käyttäytymismuutoksiin. Kohdemoduulit, rank-arvo, dataset ja koulutusmenettely ratkaisevat, mitä adapteri pystyy ilmaisemaan.

LoRA ei takaa laatua tai uskollisuutta. Kompakti adapteri voi ylisovittua, olla ristiriidassa perusmallinsa kanssa, reagoida arvaamattomasti eri voimakkuuksilla tai riippua trigger tokens -tunnisteista ja esikäsittelyvalinnoista. Käsittele mallikorttia ja koulutuskontekstia toiminnallisina metatietoina, älä koristeina.

Miten adapteria käytetään päättelyvaiheessa

Yhteensopiva kehys lataa perusmallin, lukee adapterin määrityksen ja käyttää sen tensoreita kohdemoduuleihin. Jotkin ajoympäristöt pitävät päivityksen erillään, jotta sen voi ottaa käyttöön, painottaa tai poistaa käytöstä. Toiset voivat yhdistää päivityksen käyttöönottoa varten johdettuun kopioon.

Yhdistäminen ei tee alkuperäisestä adapterista itsenäistä. Jos haluat säätää voimakkuutta, yhdistää adaptereita tai toisintaa tulostiedoston, säilytä yhdistämätön adapteri, täsmällinen perusmalli ja resepti. Checkpoint verrattuna LoRA-adapteriin -opas kartoittaa nämä palautuserot.

LoRA, QLoRA ja täysi finetuning

LoRA kuvaa matalan asteen päivitystä. QLoRA yhdistää LoRA-koulutuksen kvantisoituun jäädytettyyn perusmalliin ja muihin muistia säästäviin tekniikoihin. Lopullinen toimitus voi silti olla adapteri, joten tiedostonimi ei välttämättä paljasta, miten se koulutettiin. Menetelmätason vertailu on sivulla LoRA verrattuna QLoRA-menetelmään.

Täysi finetuning päivittää paljon suuremman osan mallista ja voi tarjota erilaisia kapasiteetti- ja käyttöönoton kompromisseja, mutta se tuottaa suuremman tilan ja vaatii enemmän resursseja. Oikea valinta riippuu tehtävästä, laitteistosta, arvioinnista ja käyttöönotosta — ei oletuksesta, että jokin menetelmä olisi aina ”ammattimaisempi”.

Miksi LoRA-kirjastot kasvavat silti suuriksi

Yksi adapteri on perusmalliinsa verrattuna kompakti, mutta kokoelmat kasvavat varianttien, rank-arvojen, epookkien, voimakkuuksien, kaksoislatausten ja useiden yhteensopivien perusmalliperheiden myötä. Perus-checkpointit, VAEs, enkooderit, esikatselut ja koulutustulokset ovat usein yksittäistä adapteria paljon suurempia. Pienten tiedostojen kansio voi siksi riippua huomattavasti laajemmasta mallikokonaisuudesta.

Järjestä yksi perusmalli ja monta adapteria oppaan avulla ja käytä käytännön työnkulkua LoRA-levytilan vapauttamiseen painoja muuttamatta. Tavoitteena on palautettava yhtenäinen perhe, ei hinnalla millä hyvänsä mahdollisimman pieni hakemisto.

Mitä LoRA-adapterin kanssa pitäisi arkistoida?

Säilytä vähintään adapteripainot, niiden määritys ja perusmallin täsmällinen tunniste. Jos perusmalli on yksityinen, paikallisesti muokattu tai vaarassa kadota, säilytä myös juuri kyseinen perusmalli. Säilytä toisinnettavuutta varten olennaiset trigger tokens -tunnisteet, koulutusmääritys, dataset-viite, lisenssi tai käyttöehdot ja tarkistussummat.

Tensor Archive säilyttää valitut paikalliset tensoriperheet ja varmentaa täsmällisen palautuksen. Se ei luo uudelleen puuttuvaa perusmallia, keksi adapterin metatietoja eikä todista kahden samankaltaisesti nimetyn arkkitehtuurin yhteensopivuutta.

Lähteet

Säilytä adapteri sen täsmällisen perusmallin kanssa.Maksuton lataus ↓