Kunstig intelligens
Skaden fra finjustering af et AI-model kan let genskabes, viser forskning

Ny forskning fra USA indikerer, at finjustering af et AI-fundamentsmodel på dine egne data ikke behøver at reducere eller svække funktionen af det originale model – og at en relativt simpel løsning kan ikke kun genskabe det originale models evner, men faktisk forbedre kvaliteten af output, du forsøger at få det (allerede trænede) model til at producere.

Performance gains på diverse modeller med forfatternes nye post-træningskalibrering. Yderligere detaljer senere i artiklen. Kilde: http://export.arxiv.org/pdf/2409.16223
Konsekvenserne heraf er betydelige, ikke kun for teknologigiganternes opmærksomhed, der konvergerer mod de finansielle belønninger ved at leje generative systemer ‘som-en-service’, men også den voksende mængde ‘cord-cutter’-hobbyister, der downloader og tilpasse åbne kildemodeller, så de kan få adgang til personlige AI-skrive- og billed/video-genererings-systemer til en lavere pris – og med færre begrænsninger.
Forfatterne af artiklen er ikke bange for at vise deres entusiasme for potentialet i deres metode, som synes at gøre betydelige fremskridt i forhold til 2023 indsendelse Holistic Transfer: Towards Non-Disruptive Fine-Tuning with Partial Target Data (co-forfattet med mange af bidragerne til den nye artikel).
De skriver:
‘Forskningen er opmuntrende og har dybe konsekvenser! Den antyder, at en simpel post-processing-kalibrering kan potentielt løse problemet med det finjusterede models inferiore nøjagtighed på de fraværende klasser, og genskabe det fortrænede models evner, samtidig med at den afslører den forbedrede funktionkvalitet over alle klasser.’
Vi vil se på det nye arbejde om lidt. Først skal vi se, hvilket problem det forsøger at løse.
Hvorfor det er vigtigt
Den første bølge af omfattende finjustering fandt sted i kølvandet på udgivelsen af Stability.ai’s Stable Diffusion tekst-til-billede-model i august 2002. De tidlige modeller, der var trænet på en undermængde af hyperskala LAION-datasettet, blev gjort tilgængelige for alle at downloade.
Men brugere, der ville indsætte specifik indhold (såsom deres eget identitet, kunststil eller repræsentation af berømtheder) i den ekstraordinære generative kvalitet af Stable Diffusion, var tvunget til at benytte sig af teknikker som DreamBooth – en ekstrapolation af en Google Research-tilpasningsmetode, der tillod brugeren at træne nye data ind i den frit tilgængelige model via finjustering.

Eksempler på brugerprocessen for Googles officielle DreamBooth-implementation fra 2022. Brugeren kuraterer en lille samling af billeder og vælger et unikt navn (et, som Stable Diffusion ikke har i sin træningsdata) i tekst-prompt fra det finjusterede model. Kilde: https://dreambooth.github.io/
På denne måde var det muligt at få en kopi af modellen, der var meget god til at skabe en bestemt person eller en brugerdefineret kunststil, men som nu var ‘kompromitteret’ for mere generel brug.
Dette betød, at hvis du ville finjustere Stable Diffusion, så den kunne afbilde tre forskellige personer, var du tvunget til at oprette tre forskellige modeller, hver på 2-4 GB eller mere.
Enhver forsøg på at finjustere disse modeller endnu en gang ville ikke kun svække den generelle præstation af modellen yderligere, men ville også have en negativ indvirkning på output fra den tidligere finjusteringssession.
I ethvert tilfælde ville berømthed-DreamBooth-modeller snart sprede sig på internettet, primært på civit.ai-domænet. Til sidst ville mindre besværlige metoder som Low-Rank Adaptation (LoRA) overtage finjustering i popularitet (selv om det er omdiskuteret, om LoRA-output er lige så effektivt som en fuld finjustering, og NVIDIA har siden open-source en tilsyneladende mere effektiv tilgang kaldet DoRA).
En LoRA falder under kategorien Parameter-Efficient Fine-Tuning (PEFT), der kun påvirker en undermængde af modellens trænede parametre.
Nogle brugere ønskede at ændre den fundamentale natur af den åbne kilde-Stable Diffusion checkpoints, ved at finjustere dem på mange tusinde billeder.
Dette resulterede effektivt i en alternativ fundamentsmodel, dedikeret til det domæne, brugeren forsøgte at træne (såsom en bestemt kunststil). Til dette formål var ‘letvægts’-metoder som LoRA sandsynligvis mindre effektive, da vægtene af modellen krævede en alvorlig bias mod den nye træningsdata.
Local Chat
Med den seneste opblomstring af interesse i Large Language Models (LLM), har brugere, der ønsker at undgå de voksende kanaler (og tilhørende omkostninger) af API-drevne tjenester som ChatGPT, i stigende grad downloadet og finjusteret effektive åbne kildemodeller som Llama 3, blandt mange andre.
Her kan LoRAs også bruges i stedet for finjustering af en fuld checkpoint. Vi har hævdet tidligere, at finjustering er en overlegen metode til at producere LLM, der er tilpasset brugerens specifikke behov. Selv om finjustering kan have større hardwarekrav og kan tage længere tid, tilbyder den en dybere generalisering af den nye data, som brugeren ønsker, at modellen skal assimilere.
Problemet med finjustering er, at det er en destruktiv proces, der ikke kan trænes inkrementalt på yderligere data senere, som vi nævnte ovenfor.
Funktionerne og bias, der injiceres i modellen, synes at forstyrre den oprindelige balance af vægte i datasettet, hvilket betyder, at modellen enten er for sandsynlig til at reflektere den brugerbidragne data eller vil i det mindste præstere dårligere overall end det originale fundamentsmodel (på opgaver, der ikke er relateret til den nye data).
Man kan afhjælpe dette til en vis udstrækning ved at fryse bestemte dele af modellen under træning; men dette kan føre til reduceret generel funktionalitet, da den frosne del af arkitekturen måske ikke generaliserer godt til den ny finjusterede data inde i modellens latente rum.
Det ville derfor være rigtig godt, hvis der var en lettere måde at bevare det originale models evner på, samtidig med at modellen kan producere output baseret på finjusteringsdataene.
En sådan udvikling ville være gavnlig på tværs af brugerne, fra hobbyister og tidlige adopterer, der bruger lokale LLM og andre typer generative modeller, op til FAANG-niveau (hvor en meget dyrt AI-model kunne forbedres iterativt og ikke-destruktivt, uden den multi-milion-dollarekspense af at starte træningen fra scratch med den ekstra data).
Post-Processing-Kalibrering
Dette bringer os tilbage til den nye artikel, der hedder Finjustering er fin, hvis kalibreret, og kommer fra 11 forskere på Ohio State University, University of Wisconsin Madison og Rensselar Polytechnic Institute.
Forskerne forsøgte at finde ud af, hvad der skades i et fundamentsmodel, når det finjusteres. De har konkluderet, at den eneste store forskel mellem ‘før og efter’-modellen er, at logit-skalaerne over finjusteringsklasserne og de originale klasser i modellen viser en betydelig diskrepans.
Logit-links forudsiger sandsynligheden for succes i en logisk regression-proces, og konverterer de estimerede værdier (der kan være meget præcise) til en 0 eller 1.
Forfatterne fandt ikke kun, at denne deficit næsten nonchalant kan vendes med en kalibreringsteknik, men også, at denne post facto-løsning faktisk forbedrer kvaliteten af output for finjusteringsdataene. Derfor får du med denne teknik ikke kun det originale models evner, men også en bedre integration af dine egne finjusterede data.
(Selv om artiklen ikke undersøger dette, antyder denne teknik, at en model kunne finjusteres flere gange og forblive effektiv)
Ved at diskutere deres fund i undersøgelsen af model-skade efter finjustering, skriver forfatterne:
‘Til vores overraskelse fandt vi, at det finjusterede model ikke glemmer relationen mellem de andre klasser eller svækker funktionen til at genkende disse klasser.
‘I stedet producerer det finjusterede model ofte mere diskriminerende funktioner for disse andre klasser, selv hvis de var fraværende under finjustering!
‘[Hvad] virkelig skader nøjagtigheden, er den diskrepante logit-skala mellem finjusteringsklasserne og de andre [klasser], hvilket antyder, at en simpel post-processing-kalibrering ville genskabe det fortrænede models evner og samtidig afsløre funktionforbedringen over alle klasser.’
Forfatterne har gjort resultaterne af deres tests for denne teori reproducerbare i en GitHub-repository.
De fandt, at ved at undersøge, var den eneste del af fundamentsmodellens arkitektur, der skades under finjustering, binær klassifikator, der misclassificerer klasser, der er fraværende i det originale model som finjusteringsklasser.
Artiklen skriver*:
‘[Ved] at tilføje en kalibreringsfaktor til alle de fraværende klassers logits [4, 40 ], kan det finjusterede model succesfuldt genskabe den fraværende klasse-nøjagtighed og opnå en anstændig samlet forbedring i downstream [domæne].
‘Den resulterende præstation slår endda den stærke baseline [Holistic Transfer – artiklen, som denne artikel bygger på ] i mange af benchmarks, herunder ImageNet og dets varianter [ImageNet, ImageNet-R(endition), ImageNet-S(ketch) ], Office-Home, og VTAB, uden kompliceret træning og hyperparameter-indstillinger.’

Resultater fra artiklen: et finjusteret model, der har haft post-processing-kalibrering udført på det, kan, ifølge forfatterne, overgå den nuværende tilgang til problemet.
Forfatterne klassificerer den forbedrede præstation af et post-kalibreret finjusteret model som ‘uventede benign adfærd’, og observerer, at når en grundlæggende Stochastic Gradient Descent (SGD)-optimerer bruges, opnås en bedre resultater end med mere populære nuværende optimerere, såsom Adam.
‘Alligevel,’ noterer de ‘med små nok læringsrater og vægtforfald, viser de benign adfærd og holder.’
Minor Reparationer
For at reparere logit-diskrepanser, der resulterer fra finjustering, lånte forfatterne en teknik fra zero-shot-læring, og tilføjede en konstant faktor til logits af alle de fraværende klasser. Dette resulterer i en ny klassifikationsregel.
Forfatterne noterer, at denne proces ‘fremmer’ de forsumpede fraværende klasser til samme forudsigelseskvalitet som finjusteringsklasserne, og genskaber den oprindelige præstation og forbedrer præstationen af den ’tilføjede’ data ved inferens-tid.

I tests genskabte post-kalibreringsteknikken præstation til en diversitet af finjusterede modeller. ‘Oraklet’ angivet i tabellen henviser til en finjusteret klassifikator, der også tager hensyn til manglende klasse-data.
De observerer yderligere, at post-processing-kalibrering ‘potentielt er anvendelig på enhver model’, og at metoder, der søger at bevare fundamentsmodellens integritet via frysning af lag (såsom klassifikator og backbone) scorer dårligt i forhold til deres egen foreslåede tilgang.
Konklusion
Forskningen fra dette samarbejde synes betydelig. Træning af et AI-model på et hyperskala-dataset er en enormt forpligtelse, analog til starten af et passagerfly. Selv om træning kan afbrydes, og enhver skade kan afhjælpes ved at gemme den nuværende vægt periodisk (til en betydelig lagringsomkostning), for at tillade afbrydelser i træning, er der relativt lidt, man kan gøre for at ændre udfaldet efter start.
Hvad der er imponerende ved arbejdet, er, at forskerne synes at have opdaget en grundlæggende princip i generel AI-modeltræning, og at deres løsning er overraskende elegant.
De økonomiske konsekvenser af at kunne bevare fundamentsmodellens nøjagtighed efter finjustering er også betydelige. Indtil nu har den mest almindelige metode til at løse svigtene i multi-milion-dollarmodeller været at filtrere output ved inferens-tid eller at kontrollere inferens for at undgå enhver Achilles-hæl, der er åbenbar i modellen.
Desuden kunne en sådan teknik teoretisk bringe betydelige forbedringer til evnerne af finjusterede generative modeller på forbruger-niveau, med bonus i en forbedring af output-kvalitet.
* Min konvertering af forfatternes inline-citationer til hyperlinks.
Først udgivet tirsdag, 1. oktober 2024












