Checkpoint kontra LoRA: Hva er forskjellen?

Et modell-checkpoint registrerer modelltilstanden på et tidspunkt. I bildegenereringsmiljøer betyr «checkpoint» ofte et lastbart sett med fullstendige modellvekter. En LoRA lagrer en mye mindre, innlært oppdatering som brukes på et kompatibelt basismodel. Checkpointet kan fungere alene i målprosessen. LoRA-en inneholder ikke denne basisen.

Et komplett modellgitter ved siden av et tynt LoRA-adapteroverlegg som er knyttet til et separat basismodel.
Et fullstendig checkpoint inneholder bred modelltilstand. En LoRA inneholder en målrettet oppdatering og gir bare mening sammen med basisen den ble trent for.

«Checkpoint» har to beslektede betydninger

Under trening er et checkpoint en lagret tilstand som arbeidet kan evalueres eller fortsettes fra. Det kan inneholde modellvekter, optimizer-tilstand, scheduler-tilstand, tilfeldighetstilstand og treningsmetadata. Et inferens-checkpoint er ofte en slankere eksport med vektene og konfigurasjonen som kreves for å laste en modell til bruk.

I Stable Diffusion-miljøer er «checkpoint» også en kortbetegnelse for en hovedmodellfil som velges i en brukerflate. Det garanterer ikke at alle avhengigheter er innebygd. En pipeline kan fortsatt kreve en VAE, tekstkoder, tokenizer eller konfigurasjon som leveres av programmet eller den tilhørende pakken. Definer alltid «komplett» i forhold til loaderen du har til hensikt å gjenopprette.

En LoRA er en innlært oppdatering, ikke en ekstra fullstendig modell

Low-Rank Adaptation holder de forhåndstrente vektene fryst og lærer en oppdatering med lav rang for utvalgte lag. Under inferens kan et rammeverk bruke oppdateringen dynamisk på basisen eller slå den sammen i en avledet kopi. Adapteren er liten fordi den lagrer oppdateringen — ikke fordi den i hemmelighet komprimerer hver basisvekt.

Denne avhengigheten er det sentrale skillet mellom checkpoint og LoRA. En LoRA for portrettstil som er trent for én Stable Diffusion-familie, kan ikke antas å fungere med en annen arkitektur. En språkmodelladapter er på samme måte avhengig av basismodellen og målmodulene som er beskrevet i konfigurasjonen.

Praktisk sammenligning

SpørsmålModell-checkpointLoRA
Hva den lagrerBred modelltilstand; noen ganger ytterligere treningstilstandAdaptervekter med lav rang og konfigurasjon
Kan den kjøre alene?Ofte lastbart som hovedmodellen i den tiltenkte pipeline-enNei. Den trenger en kompatibel basis og loader
Typisk brukBasismodel, fullstendig finjustering, milepæl eller fortsettelsespunktEffektiv spesialisering eller tilpasning av stil, motiv eller oppgave
LagringVanligvis mye større fordi den representerer langt mer tilstandVanligvis mye mindre fordi bare utvalgte oppdateringer læres
GjenopprettingsspørsmålHar jeg hele pakken eller treningstilstanden jeg trenger?Har jeg den nøyaktige kompatible basisen, adapterkonfigurasjonen og vektene?

Gjør sammenslåing av en LoRA den til et checkpoint?

Sammenslåing av en adapter med en basis gir avledede vekter. Et verktøy kan lagre disse vektene i en fil som ofte kalles et checkpoint, men dette resultatet er ikke den opprinnelige basisen og bevarer ikke nødvendigvis et rent, reversibelt skille mellom basis og adapter. Flyttallsoperasjoner, dtype-konvertering og eksportvalg kan alle påvirke resultatet.

Behold den ikke-sammenslåtte adapteren og den nøyaktige basisen når du vil endre styrke, kombinere adaptere eller reprodusere sammenslåingen. Behold også det sammenslåtte artefaktet når akkurat denne distribusjonsfilen er viktig for driften. Ikke slett kildene bare fordi én sammenslått fil ble lastet inn én gang.

Hva som bør beholdes under finjustering

For en aktiv kjøring er mellomliggende checkpoints nyttige til evaluering og gjenoppretting etter avbrudd. Når kjøringen er fullført, beholder du milepælene som besvarer et reelt spørsmål: den valgte endelige adapteren, ett eller flere forsvarlige sammenlignings-checkpoints, konfigurasjon, treningskode eller kommando, datasettreferanse og evalueringsoppføring. Veiledningen om checkpoints fra LoRA-trening behandler dette som en reproduksjonsbeslutning, ikke en generell regel om å «beholde alt».

En endelig adapter er ikke en fortsettbar treningstilstand. Eksporterte LoRA-vekter kan være tilstrekkelige for inferens, men utelate optimizer- og scheduler-tilstand som kreves for å fortsette treningen nøyaktig.

Arkiver familier, ikke filnavn isolert

En nyttig LoRA-familie inneholder nok kontekst til å identifisere og skaffe den kompatible basisen. Når basisen er sjelden, privat eller lokalt endret, beholder du den sammen med adapteren. En checkpointfamilie kan inneholde tilhørende komponenter som runtime-en leverte ubemerket ved første innlasting.

Tensor Archive hjelper med å beholde og verifisere utvalgte lokale tensors som en beslektet familie. Det gjetter ikke kompatibilitet ut fra et filnavn, rekonstruerer ikke manglende treningstilstand og gjør ikke en LoRA til et selvstendig basismodel.

Fortsett med artefaktet du har

Hvis adapterfilendelsen er den forvirrende delen, les hva en LoRA-fil inneholder. Hvis du velger treningsmetode, bruker du LoRA kontra QLoRA. Hvis lagringspresset driver spørsmålet, kan du se hvordan du frigjør diskplass uten å endre LoRA-vekter.

Kilder

Behold basisen og adapterne samlet.Gratis nedlasting ↓