Checkpoint a LoRA: jaký je mezi nimi rozdíl?
Modelový checkpoint zaznamenává stav modelu v určitém okamžiku; v komunitách generování obrazu „checkpoint“ často znamená načitatelnou sadu úplných vah modelu. LoRA ukládá mnohem menší naučenou aktualizaci, která se aplikuje na kompatibilní základní model. Checkpoint může v cílovém pipeline fungovat samostatně; LoRA tento základ neobsahuje.

„Checkpoint“ má dva související významy
Během trénování je checkpoint uložený stav, z něhož lze práci vyhodnotit nebo v ní pokračovat. Může zahrnovat váhy modelu, stav optimalizátoru, stav plánovače, stav generátoru náhodných čísel a metadata trénování. Inferenční checkpoint je často štíhlejší export obsahující váhy a konfiguraci potřebné k načtení modelu pro použití.
V komunitách Stable Diffusion je „checkpoint“ také zkratkou pro hlavní soubor modelu vybraný v uživatelském rozhraní. Nezaručuje to, že jsou vloženy všechny závislosti. Pipeline může stále vyžadovat VAE, textový enkodér, tokenizér nebo konfiguraci poskytovanou aplikací či doprovodným balíčkem. Úplnost vždy vymezte vzhledem k loaderu, který chcete obnovit.
LoRA je naučená aktualizace, nikoli druhý úplný model
Low-Rank Adaptation ponechává předtrénované váhy zmrazené a učí nízkorozměrnou aktualizaci pro vybrané vrstvy. Při inferenci může framework tuto aktualizaci dynamicky aplikovat na základ nebo ji sloučit do odvozené kopie. Adaptér je malý, protože ukládá aktualizaci — ne proto, že by skrytě komprimoval každou základní váhu.
Tato závislost je ústředním rozdílem mezi checkpointem a LoRA. Nelze předpokládat, že LoRA portrétního stylu vytrénovaná pro jednu rodinu Stable Diffusion bude fungovat s jinou architekturou. Adaptér jazykového modelu podobně závisí na základním modelu a cílových modulech popsaných jeho konfigurací.
Praktické srovnání
| Otázka | Model checkpoint | LoRA |
|---|---|---|
| Co ukládá | Rozsáhlý stav modelu; někdy také další trénovací stav | Nízkorozměrné váhy adaptéru a konfigurace |
| Může fungovat samostatně? | Často načitatelný jako hlavní model v určeném pipeline | Ne; potřebuje kompatibilní základ a loader |
| Typické použití | Základní model, úplné doladění, milník nebo bod pokračování | Efektivní specializace, styl, subjekt nebo přizpůsobení úloze |
| Úložiště | Obvykle mnohem větší, protože představuje podstatně více stavu | Obvykle mnohem menší, protože se učí jen vybrané aktualizace |
| Otázka obnovy | Mám úplný balíček nebo trénovací stav potřebný k obnově? | Mám přesný kompatibilní základ, konfiguraci adaptéru a váhy? |
Stane se sloučením LoRA checkpoint?
Sloučením adaptéru do základu vzniknou odvozené váhy. Nástroj může tyto váhy uložit do souboru běžně nazývaného checkpoint, ale tento výstup není původní základ a nemusí zachovat čisté, vratné oddělení základu od adaptéru. Výsledek mohou ovlivnit operace s plovoucí desetinnou čárkou, převod dtype i volby exportu.
Nesloučený adaptér a přesný základ zachovejte, pokud chcete měnit sílu, kombinovat adaptéry nebo reprodukovat sloučení. Zachovejte také sloučený artefakt, pokud je tento konkrétní soubor nasazení provozně důležitý. Neodstraňujte zdroje jen proto, že se jeden sloučený soubor jednou úspěšně načetl.
Co zachovat během dolaďování
Během aktivního běhu jsou průběžné checkpointy užitečné k vyhodnocení a zotavení po přerušení. Po dokončení běhu zachovejte milníky, které odpovídají na skutečnou otázku: zvolený konečný adaptér, jeden či více obhajitelných srovnávacích checkpointů, konfiguraci, trénovací kód nebo příkaz, odkaz na dataset a záznam hodnocení. Průvodce checkpointy trénování LoRA k tomu přistupuje jako k rozhodnutí o reprodukovatelnosti, nikoli jako k plošnému příkazu „zachovat vše“.
Konečný adaptér není trénovací stav umožňující pokračování. Exportované váhy LoRA mohou stačit k inferenci, přestože neobsahují stav optimalizátoru a plánovače potřebný k přesnému pokračování trénování.
Archivujte rodiny, ne izolované názvy souborů
Užitečná rodina LoRA zahrnuje dostatek kontextu k identifikaci a získání kompatibilního základu. Je-li základ vzácný, soukromý nebo místně upravený, uchovávejte jej spolu s adaptérem. Rodina checkpointu může zahrnovat doprovodné komponenty, které běhové prostředí při prvním načtení tiše dodalo.
Tensor Archive pomáhá uchovávat a ověřovat vybrané místní tenzory jako související rodinu. Neodhaduje kompatibilitu podle názvu souboru, nerekonstruuje chybějící trénovací stav ani nemění LoRA na samostatný základní model.
Pokračujte podle artefaktu, který máte
Pokud vám není jasná přípona adaptéru, přečtěte si, co obsahuje soubor LoRA. Pokud vybíráte trénovací metodu, použijte článek LoRA a QLoRA. Pokud otázku vyvolává nedostatek místa, zjistěte, jak uvolnit místo na disku bez změny vah LoRA.
Zdroje
- LoRA: Low-Rank Adaptation of Large Language Models — původní metoda a návrh se zmrazeným základem a nízkorozměrnou aktualizací.
- Hugging Face PEFT: LoRA — aktuální konfigurace adaptéru a implementace cílových modulů.
- Formát checkpointu Hugging Face PEFT — váhy adaptéru, konfigurace a závislost na základním modelu.
- Diffusers: načítání adaptérů — načítání, odebírání z paměti a slučování adaptérů LoRA s pipeline difuze.