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.

”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
| Kysymys | Tarkistuspiste | LoRA |
|---|---|---|
| Mitä se tallentaa | Laaja mallin tila; joskus myös koulutustilaa | Matalan asteen adapteripainot ja määritys |
| Voiko se toimia yksin? | Usein ladattavissa päämallina sille tarkoitetussa putkessa | Ei; se tarvitsee yhteensopivan perusmallin ja lataajan |
| Tyypillinen käyttö | Perusmalli, täysi finetuning, välitavoite tai jatkamispiste | Tehokas erikoistaminen, tyylin, kohteen tai tehtävän sovitus |
| Tallennustila | Yleensä paljon suurempi, koska se edustaa paljon laajempaa tilaa | Yleensä paljon pienempi, koska vain valitut päivitykset opitaan |
| Palautuskysymys | Onko 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
- LoRA: Low-Rank Adaptation of Large Language Models — alkuperäinen menetelmä ja jäädytetyn perusmallin sekä matalan asteen päivityksen rakenne.
- Hugging Face PEFT: LoRA — nykyinen adapterimääritys ja kohdemoduulien toteutus.
- Hugging Face PEFT -checkpoint-muoto — adapteripainot, määritys ja riippuvuus perusmallista.
- Diffusers: lataa adapterit — LoRA-adapterien lataaminen, käytöstä poistaminen ja yhdistäminen diffuusioputkissa.