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.

Úplná mřížka modelu vedle štíhlé překryvné vrstvy adaptéru LoRA připojené k samostatnému základnímu modelu.
Úplný checkpoint nese rozsáhlý stav modelu. LoRA nese cílenou aktualizaci a dává smysl pouze spolu se základem, pro který byla vytrénována.

„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ázkaModel checkpointLoRA
Co ukládáRozsáhlý stav modelu; někdy také další trénovací stavNízkorozměrné váhy adaptéru a konfigurace
Může fungovat samostatně?Často načitatelný jako hlavní model v určeném pipelineNe; 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 stavuObvykle mnohem menší, protože se učí jen vybrané aktualizace
Otázka obnovyMá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

Uchovávejte základ a jeho adaptéry společně.Stažení zdarma ↓