Checkpoint ja LoRA: mikä ero on?

Mallin checkpoint tallentaa mallin tilan tietyllä hetkellä; kuvantuotantoyhteisöissä ”checkpoint” tarkoittaa usein ladattavaa täydellisten mallipainojen joukkoa. LoRA tallentaa paljon pienemmän opitun päivityksen, jota käytetään yhteensopivaan perusmalliin. Checkpoint voi toimia yksin kohdeputkessa; LoRA ei sisällä kyseistä perusmallia.

Täydellinen mallihila erilliseen perusmalliin liitetyn ohuen LoRA-adapterikerroksen vieressä.
Täysi checkpoint sisältää laajan mallin tilan. LoRA sisältää kohdennetun päivityksen ja on merkityksellinen vain sen perusmallin yhteydessä, jota varten se koulutettiin.

”Checkpoint”-termillä on kaksi toisiinsa liittyvää merkitystä

Koulutuksen aikana checkpoint on tallennettu tila, josta työtä voidaan arvioida tai jatkaa. Se voi sisältää mallipainot, optimoijan tilan, ajastimen tilan, satunnaislukutilan ja koulutusmetatiedot. Inferenssi-checkpoint on usein kevyempi vienti, joka sisältää mallin lataamiseen tarvittavat painot ja määritykset.

Stable Diffusion -yhteisöissä ”checkpoint” on myös lyhyt nimitys käyttöliittymässä valittavalle päämallitiedostolle. Se ei takaa kaikkien riippuvuuksien sisältymistä. Putki voi silti tarvita sovelluksen tai oheispaketin toimittaman VAE-tiedoston, tekstienkooderin, tokenizerin tai määrityksen. Määritä ”täydellinen” aina suhteessa palautettavaan lataajaan.

LoRA on opittu päivitys, ei toinen kokonainen malli

Low-Rank Adaptation pitää esikoulutetut painot jäädytettyinä ja oppii matalan asteen päivityksen valituille kerroksille. Inferenssissä ohjelmistokehys voi käyttää päivitystä dynaamisesti perusmalliin tai sulauttaa sen johdettuun kopioon. Adapteri on pieni, koska se tallentaa päivityksen — ei siksi, että se salaa pakkaisi jokaisen peruspainon.

Tämä riippuvuus on checkpoint- ja LoRA-tiedostojen keskeinen ero. Yhdelle Stable Diffusion -perheelle koulutetun muotokuvatyylisen LoRA-adapterin ei voi olettaa toimivan toisessa arkkitehtuurissa. Kielimallin adapteri riippuu samoin määrityksessään kuvatuista perusmallista ja kohdemoduuleista.

Käytännön vertailu

KysymysTarkistuspisteLoRA
Mitä se tallentaaLaaja mallin tila; joskus myös koulutustilaaMatalan asteen adapteripainot ja määritys
Voiko se toimia yksin?Usein ladattavissa päämallina sille tarkoitetussa putkessaEi; se tarvitsee yhteensopivan perusmallin ja lataajan
Tyypillinen käyttöPerusmalli, täysi finetuning, välitavoite tai jatkamispisteTehokas erikoistaminen, tyylin, kohteen tai tehtävän sovitus
TallennustilaYleensä paljon suurempi, koska se edustaa paljon laajempaa tilaaYleensä paljon pienempi, koska vain valitut päivitykset opitaan
PalautuskysymysOnko minulla tarvittava koko paketti tai koulutustila?Onko minulla tarkka yhteensopiva perusmalli, adapterimääritys ja painot?

Tekeekö LoRA-adapterin yhdistäminen siitä checkpoint-tiedoston?

Adapterin sulauttaminen tai yhdistäminen perusmalliin tuottaa johdetut painot. Työkalu voi tallentaa painot tiedostoon, jota kutsutaan yleisesti checkpoint-tiedostoksi, mutta tulos ei ole alkuperäinen perusmalli eikä välttämättä säilytä perusmallin ja adapterin selkeää, palautettavaa erottelua. Liukulukutoiminnot, dtype-muunnos ja vientivalinnat voivat vaikuttaa tulokseen.

Säilytä yhdistämätön adapteri ja tarkka perusmalli, kun haluat muuttaa voimakkuutta, yhdistää adaptereita tai toisintaa yhdistämisen. Säilytä myös yhdistetty artefakti, kun tarkka käyttöönottotiedosto on toiminnallisesti tärkeä. Älä poista lähteitä vain siksi, että yksi yhdistetty tiedosto latautui kerran onnistuneesti.

Mitä säilyttää hienosäädön aikana

Aktiivisen ajon aikana välivaiheiden checkpoints-tiedostot ovat hyödyllisiä arvioinnissa ja keskeytyksestä palautumisessa. Kun ajo on valmis, säilytä todelliseen kysymykseen vastaavat välitavoitteet: valittu lopullinen adapteri, yksi tai useampi perusteltu vertailu-checkpoint, määritys, koulutuskoodi tai -komento, dataset-viite ja arviointitietue. LoRA-koulutuksen checkpoints-opas käsittelee tätä toistettavuuspäätöksenä, ei yleisenä ”säilytä kaikki” -sääntönä.

Lopullinen adapteri ei ole jatkettava koulutustila. Viedyt LoRA-painot voivat riittää inferenssiin mutta jättää pois optimoijan ja ajastimen tilan, joita tarvitaan koulutuksen täsmälliseen jatkamiseen.

Arkistoi perheitä, älä yksittäisiä tiedostonimiä

Hyödyllinen LoRA-perhe sisältää riittävästi kontekstia yhteensopivan perusmallin tunnistamiseen ja hankkimiseen. Kun perusmalli on harvinainen, yksityinen tai paikallisesti muokattu, säilytä se adapterin kanssa. Checkpoint-perhe voi sisältää oheisosia, jotka ajoympäristö toimitti huomaamatta ensimmäisellä latauksella.

Tensor Archive auttaa säilyttämään ja varmentamaan valitut paikalliset tensoritiedostot toisiinsa liittyvänä perheenä. Se ei arvaa yhteensopivuutta tiedostonimestä, muodosta puuttuvaa koulutustilaa uudelleen tai muuta LoRA-adapteria itsenäiseksi perusmalliksi.

Jatka hallussasi olevalla artefaktilla

Jos adapterin tiedostopääte aiheuttaa epäselvyyttä, lue, mitä LoRA-tiedosto sisältää. Jos valitset koulutusmenetelmää, käytä opasta LoRA ja QLoRA. Jos kysymys johtuu tallennustilan paineesta, katso, kuinka vapautat levytilaa LoRA-painoja muuttamatta.

Lähteet

Säilytä perusmalli ja sen adapterit yhdessä.Maksuton lataus ↓