Andersons vinkel

Skadan från finjustering av en AI-modell kan enkelt återställas, forskning visar

mm
Lägg till Unite.AI bland dina föredragna källor på Google
AI-generated image from ChatGPT. Prompt: ' a photorealistic panoramic image of a scientist in a white coat, wearing protective soldering goggles, who is soldering circuitry in an open panel of the underside of a massive and high-tech computer system. Photorealistic, gorgeous, UHQ'

Ny forskning från USA visar att finjustering av en AI-modell på egen data inte behöver reducera eller försämra funktionen hos den ursprungliga modellen – och att en relativt enkel lösning inte bara kan återställa den ursprungliga modellens förmågor, utan också förbättra kvaliteten på utdata som modellen producerar.

Prestandaförbättringar på olika modeller med författarnas nya post-träningskalibrering. Fler detaljer senare i artikeln. Källa: http://export.arxiv.org/pdf/2409.16223

Prestandaförbättringar på olika modeller med författarnas nya post-träningskalibrering. Fler detaljer senare i artikeln. Källa: http://export.arxiv.org/pdf/2409.16223

Implikationerna för detta är betydande, inte bara för teknikjättarna som fokuserar på de finansiella belöningarna för att hyra ut generativa system “som en tjänst”, utan också för den växande skaran “cord-cutter”-hobbyister som laddar ner och anpassar öppen källkod-modeller, så att de kan komma åt personliga AI-skriv- och bild/video-genererings-system billigare – och med färre begränsningar.

Författarna till artikeln är inte rädda för att visa sin entusiasm för potentialen i deras metod, som tycks göra betydande framsteg jämfört med 2023 års inlämning Holistic Transfer: Towards Non-Disruptive Fine-Tuning with Partial Target Data (skriven tillsammans med många av bidragsgivarna till den nya artikeln).

De förklarar:

‘[Resultaten] är uppmuntrande och har djupgående implikationer! De antyder att en enkel post-träningskalibrering kan potentiellt åtgärda den finjusterade modellens underlägsenhet i frånvarande klasser, återställa den förtränade modellens förmåga samtidigt som den avslöjar den förbättrade funktionens kvalitet över alla klasser.’

Vi ska titta närmare på det nya arbetet strax. Först ska vi se vilket problem det är tänkt att lösa.

Varför det är viktigt

Den första vågen av omfattande finjustering inträffade i kölvattnet av utgivningen av Stability.ai:s Stable Diffusion text-till-bild-modell i augusti 2002. De tidiga modellerna, tränade på en delmängd av den hyperskala LAION-datamängden, gjordes tillgängliga för alla att ladda ner.

Men användare som ville infoga specifik innehåll (såsom deras egna identiteter, konststilar eller representationer av kändisar) i den extraordinära generativa kvaliteten hos Stable Diffusion var tvungna att använda tekniker som DreamBooth – en extrapolering av en Google Research-anpassningsmetod, som tillät användaren att träna in ny data i den fritt tillgängliga modellen via finjustering.

Exempel på användarprocessen för Googles officiella DreamBooth-implementation från 2022. Användaren kuraterar ett litet urval av bilder och väljer ett unikt namn (ett som Stable Diffusion inte har i sin träningsdata) i text-promptar från den finjusterade modellen. Källa: https://dreambooth.github.io/

Exempel på användarprocessen för Googles officiella DreamBooth-implementation från 2022. Användaren kuraterar ett litet urval av bilder och väljer ett unikt namn (ett som Stable Diffusion inte har i sin träningsdata) i text-promptar från den finjusterade modellen. Källa: https://dreambooth.github.io/

På detta sätt var det möjligt att få en kopia av modellen som var mycket bra på att skapa en specifik person eller en anpassad konststil, men som nu var ‘kompromissad’ för mer allmän användning.

Detta innebar att om du ville finjustera Stable Diffusion så att den kunde återge tre olika personer korrekt, var du tvungen att skapa tre olika modeller, var och en runt 2-4 GB eller mer.

Varje försök att finjustera dessa modeller en andra gång skulle inte bara försämra den allmänna prestandan hos modellen ytterligare, utan också negativt påverka utdata från den tidigare finjusteringssessionen.

I vilket fall som helst, skulle DreamBooth-modeller för kändisar snart spridas på internet, främst på civit.ai-domänen. Till slut skulle mindre betungande metoder som Low-Rank Adaptation (LoRA) överträffa finjustering i popularitet (även om det fortfarande är omstritt om LoRA-utdata är lika effektivt som en fullständig finjustering, och NVIDIA har sedan öppnat källkoden för en tydligen mer effektiv metod kallad DoRA).

En LoRA faller under kategorin Parameter-Efficient Fine-Tuning (PEFT), som endast påverkar en delmängd av modellens tränade parametrar.

Vissa användare ville ändra den grundläggande naturen hos den öppna källkods-Stable Diffusion checkpoints, genom att finjustera dem på många tusen bilder.

Detta resulterade i princip i en alternativ grundmodell, dedikerad till vilket område användaren försökte träna (såsom en specifik konststil). För detta ändamål var “lätta” metoder som LoRA troligen mindre effektiva, eftersom vikterna i modellen behövde en allvarlig bias mot den nya träningsdatan.

Lokal chatt

Med den senaste uppgången i intresse för Stora språkmodeller (LLM), har användare som vill undvika de växande utgångarna (och associerade kostnaderna) för API-styrda tjänster som ChatGPT, alltmer laddat ner och finjusterat effektiva öppna källkodsmodeller såsom Llama 3, bland många andra.

Även här kan LoRAs användas istället för att finjustera en fullständig checkpoint. Vi har hävdats tidigare att finjustering är en överlägsen metod för att producera LLM som är anpassade till användarens specifika behov. Även om finjustering kan ha större hårdvarukrav och kan ta längre tid, erbjuder den en djupare generalisering av den nya data som användaren vill att modellen ska assimilera.

Problemet med finjustering är att det är en destruktiv process som inte kan tränas inkrementellt på ytterligare data senare, som vi noterade ovan.

Funktionerna och bias som injiceras i modellen tycks störa den ursprungliga balansen av vikter i datamängden, vilket innebär att modellen antingen är alltför benägen att återspegla den användarbidragda datan eller kommer att prestera sämre överlag än den ursprungliga grundmodellen (på uppgifter som inte är relaterade till den nya datan).

Man kan åtgärda detta till viss del genom att frysa vissa delar av modellen under träningsprocessen; men detta kan leda till reducerad allmän funktionalitet, eftersom den frusna delen av arkitekturen kanske inte generaliserar väl till den nyligen finjusterade datan inuti modellens latenta utrymme.

Det vore därför riktigt bra om det fanns ett enklare sätt att bevara den ursprungliga modellens förmågor efter finjustering, samtidigt som modellen kan producera utdata baserat på finjusteringsdatan.

En sådan utveckling skulle vara fördelaktig över hela spektrumet av potentiella användare, från hobbyister och tidiga adoptörer som använder lokala LLM och andra typer av generativa modeller, upp till FAANG-nivå (där en mycket dyr AI-modell kunde förbättras iterativt och icke-destruktivt, utan den multi-miljon dollar-kostnad för att starta om träningsprocessen med den tillkommande datan).

Post-träningskalibrering

Detta för oss tillbaka till den nya artikeln, som heter Finjustering är okej, om den kalibreras, och kommer från 11 forskare vid Ohio State University, University of Wisconsin Madison och Rensselaer Polytechnic Institute.

Forskarna försökte ta reda på exakt vad som skadas i en grundmodell när den finjusteras. De har kommit fram till att den enda stora skillnaden mellan “före och efter”-modellen är att logit-skalan över finjusteringsklasserna och de ursprungliga klasserna i modellen visar en betydande diskrepans.

Logit-länkar förutsäger sannolikheten för framgång i en logisk regression-process, som omvandlar de uppskattade värdena (som kan vara mycket precisa) till en nolla eller ett ett.

Författarna fann inte bara att denna brist är nästan kausalt omvändbar genom en kalibrerings-teknik, utan att denna post facto-lösning faktiskt förbättrar kvaliteten på utdata för finjusteringsdatan. Därför, med denna teknik, får du inte bara den ursprungliga modellens förmågor, utan också en bättre integration av din egen finjusterade data.

(Även om artikeln inte undersöker möjligheten, antyder denna teknik att en modell kan finjusteras flera gånger och förbli effektiv)

När de diskuterar sina fynd om modellskada efter finjustering, förklarar författarna:

‘Till vår förvåning finner vi att den finjusterade modellen varken glömmer relationen mellan de andra klasserna eller försämrar funktionerna för att känna igen dessa klasser.

‘Istället producerar den finjusterade modellen ofta mer diskriminerande funktioner för dessa andra klasser, även om de saknades under finjustering!

‘[Vad] som verkligen skadar noggrannheten är den diskrepanta logit-skalan mellan finjusteringsklasserna och de andra [klasserna], vilket antyder att en enkel post-träningskalibrering skulle återställa den förtränade modellens förmåga och samtidigt avslöja funktionens förbättring över alla klasser.’

Författarna har gjort resultaten av sina tester för denna teori reproducerbara i ett GitHub-repo.

De fann att vid undersökning, var den enda delen av grundmodellens arkitektur som skadades under finjustering den binära klassificeraren, som missklassificerar klasser som saknas i den ursprungliga modellen som finjusteringsklasser.

Artikeln förklarar*:

‘[Genom] att lägga till en kalibreringsbiasfaktor till alla frånvarande klassers logit [4, 40 ], kan den finjusterade modellen framgångsrikt återkräva den frånvarande klassens noggrannhet och uppnå en anständig total förbättring i den nedströms [domänen].

‘Den resulterande prestandan slår till och med den starka baslinjen [Holistic Transfer – artikeln som denna artikel bygger på ] i många av benchmark-testerna, inklusive ImageNet och dess varianter [ImageNet, ImageNet-R(endition), ImageNet-S(ketch) ], Office-Home, och VTAB, utan komplicerad tränings- och hyperparameter-inställning.’

En finjusterad modell som har genomgått post-träningskalibrering kan, enligt författarna, prestera bättre än den bästa tillgängliga metoden för problemet.

Resultat från artikeln: en finjusterad modell som har genomgått post-träningskalibrering kan, enligt författarna, prestera bättre än den bästa tillgängliga metoden för problemet.

Författarna klassificerar den förbättrade prestandan hos en post-kalibrerad finjusterad modell som “oförväntade benigna beteenden”, och observerar att när en grundläggande Stokastisk Gradientnedgång (SGD)-optimerare används, uppnås ett bättre resultat än med mer populära nuvarande optimerare, såsom Adam.

‘Ändå,’ noterar de ‘med tillräckligt små lärhastigheter och viktförfall, visas de benigna beteendena och består.’

Små reparationer

För att reparera logit-diskrepanser som resulterar från finjustering, lånade författarna en teknik från nollskottslärande, och lade till en konstant faktor till logiterna för alla frånvarande klasser. Detta resulterade i en ny klassificeringsregel.

Författarna noterar att denna process “främjar” de försummade frånvarande klasserna till samma förutsägelsekvalitet som de finjusterade klasserna, återställer den ursprungliga prestandan och förbättrar prestandan för den “tillagda” datan vid inferenstid.

I tester återställde post-kalibreringstekniken prestandan till en mångfald av finjusterade modeller. 'Oraklet' som anges i tabellen refererar till en finjusterad klassificerare som också tar hänsyn till frånvarande klassdata.

I tester återställde post-kalibreringstekniken prestandan till en mångfald av finjusterade modeller. ‘Oraklet’ som anges i tabellen refererar till en finjusterad klassificerare som också tar hänsyn till frånvarande klassdata.

De observerar vidare att post-träningskalibrering är “potentiellt tillämplig på alla modeller”, och att metoder som syftar till att upprätthålla grundmodellens integritet via frysning av lager (såsom klassificeraren och ryggraden) presterar dåligt i jämförelse med deras egen föreslagna metod.

Slutsats

Fynden från detta samarbete verkar betydande. Att träna en AI-modell på en hyperskala-dataset är ett enormt åtagande, liknande starten av ett passagerarplan. Även om träningsprocessen kan avbrytas, och eventuell skada kan mildras genom att spara den aktuella vikten periodvis (till betydande lagringskostnad), för att tillåta avbrott i träningsprocessen, finns det relativt lite man kan göra för att ändra resultatet efter start.

Det som är imponerande med arbetet är att forskarna verkar ha upptäckt en grundläggande princip i allmän AI-modellträning, och att deras lösning är förvånansvärt elegant.

De ekonomiska implikationerna av att kunna behålla grundmodellens noggrannhet efter finjustering är också betydande. Hittills har den vanligaste metoden för att hantera bristerna i multi-miljon dollar-modeller varit att filtrera utdata vid inferenstid, eller att kontrollera inferens för att undvika eventuella akilleshälar som är synliga i modellen.

Dessutom kunde en sådan teknik teoretiskt bringa betydande förbättringar av de finjusterade generativa modellernas förmågor på konsumentnivå, med bonusen av en förbättring av utdatakvaliteten.

 

* Min omvandling av författarnas inline-citationer till hyperlänkar.

Publicerad första gången tisdagen den 1 oktober 2024

Författare på maskinlärande, domänspecialist inom mänsklig bildsyntes. Fd chef för forskningsinnehåll på Metaphysic.ai, till dess upplösning i DNEG:s Brahma.ai.
Portfolio site: martinanderson.ai
Kontakt: martin@martinanderson.ai