Connect with us

MoRA: High-Rank Updating för Parameter-Effektiv Finjustering

Artificiell intelligens

MoRA: High-Rank Updating för Parameter-Effektiv Finjustering

mm

På grund av dess robusta prestanda och breda tillämpbarhet jämfört med andra metoder är LoRA eller Low-Rank Adaption en av de mest populära PEFT- eller Parameter-Effektiv Finjusteringsmetoderna för finjustering av ett stort språkmodell. LoRA-modellen använder två låg-rankiga matriser för att dekomponera och approximera de uppdaterade vikterna i FFT eller Full Fine Tuning, och LoRA-modellen modifierar dessa tränbara parametrar enligt genom att justera rangen på matriserna. Den största fördelen med att implementera processen är att det möjliggör för LoRA-modellen att slå samman dessa matriser utan inferensfördröjning efter finjustering. Dessutom, även om senaste stora språkmodeller levererar remarkabel prestanda på in-context-lärandeuppgifter, kräver vissa scenarier fortfarande finjustering, och kan delas in i tre typer. Den första typen, instruktionsfinjustering, syftar till att anpassa LLM till slutuppgifter och användarpreferenser utan att förbättra kunskapen och förmågan hos LLM, en metod som förenklar processen att hantera varierande uppgifter och komplexa instruktioner. Den andra typen omfattar komplexa resonemangsuppgifter som matematiskt problemlösning. Slutligen är den tredje typen kontinuerlig förträning, en metod som försöker förbättra de övergripande domänspecifika förmågorna hos stora språkmodeller.

I den här artikeln kommer vi att diskutera om låg-rank-uppdatering påverkar prestandan hos LoRA-modellen, eftersom det har observerats att låg-rank-uppdateringsmekanismen kan hindra förmågan hos det stora språkmodellen att lära och komma ihåg ny kunskap. Utifrån detta kommer vi att diskutera MoRA, en ny metod som uppnår hög-rank-uppdatering medan den behåller samma antal tränbara parametrar, genom att använda en kvadratisk matris. För att uppnå detta minskar MoRA-modellen indata-dimensionen och ökar utdata-dimensionen för den kvadratiska matrisen genom att införa motsvarande icke-parametriska operatorer. Dessutom säkerställer dessa operatorer att vikten kan slås samman tillbaka till LLM, vilket gör att MoRA-modellen kan distribueras som LoRA.

Denna artikel syftar till att täcka MoRA-modellen i detalj, och vi undersöker mekanismen, metodiken, arkitekturen i modellen samt dess jämförelse med state-of-the-art-modeller. Så låt oss komma igång.

MoRA: High-Rank Updating för PEFT

Allteftersom storleken och förmågan hos språkmodellerna ökar, blir PEFT eller Parameter-Effektiv Finjustering en av de mest populära och effektiva metoderna för att anpassa LLM till specifika nedströmsuppgifter. Jämfört med FFT eller Full Fine Tuning, som uppdaterar alla parametrar, uppdaterar PEFT endast en bråkdel av de totala parametrarna, eftersom det på vissa uppgifter kan uppnå liknande prestanda som FFT genom att uppdatera mindre än 1% av de totala parametrarna, vilket minskar minneskraven för optimeraren avsevärt samtidigt som det underlättar lagring och distribution av modeller. Dessutom, bland alla existerande PEFT-metoder, är LoRA den mest populära idag, särskilt för LLM. En av de viktigaste anledningarna till varför LoRA-metoder levererar bättre prestanda jämfört med PEFT-metoder som adapters eller prompt-tuning är att LoRA använder låg-rankiga matriser för att uppdatera parametrar, med modellens kontroll för att slå samman dessa matriser till de ursprungliga modellparametrarna, utan att lägga till beräkningskraven under inferens. Även om det finns många metoder som försöker förbättra LoRA för stora språkmodeller, förlitar sig de flesta av dessa modeller på GLUE för att validera deras effektivitet, antingen genom att kräva få tränbara parametrar eller genom att uppnå bättre prestanda.

Dessutom visar experiment som utförts på LoRA över en stor mängd uppgifter, inklusive kontinuerlig förträning, matematiskt resonemang och instruktionsfinjustering, att även om LoRA-baserade modeller visar liknande prestanda över dessa uppgifter och levererar prestanda på instruktionsfinjusteringsuppgifter som är jämförbara med FFT-baserade metoder, kunde LoRA-baserade modeller inte replikera prestandan på kontinuerlig förträning och matematiskt resonemang. En möjlig förklaring till denna brist på prestanda kan vara beroendet av LoRA på låg-rank-uppdatering, eftersom den låg-rank-uppdateringsmatrisen kan ha svårt att uppskatta full-rank-uppdateringar i FFT, särskilt i minneskrävande uppgifter som kräver att memorera domänspecifik kunskap som kontinuerlig förträning. Eftersom rangen på den låg-rank-uppdateringsmatrisen är mindre än full rang, begränsar den förmågan att lagra ny information med hjälp av finjustering. Utifrån dessa observationer försöker MoRA maximera rangen i den låg-rank-uppdateringsmatrisen medan den behåller samma antal tränbara parametrar, genom att använda en kvadratisk matris istället för att använda låg-rankiga matriser i traditionella LoRA-baserade modeller.

I ovanstående bild representerar (a) LoRA och (b) MoRA. W är den frusna vikten från modellen, M är den tränbara matrisen i MoRA, A och B är tränbara låg-rankiga matriser i LoRA, och r representerar rangen i LoRA och MoRA. Som det kan observeras, visar MoRA-modellen en större kapacitet än LoRA-baserade modeller med en stor rang. Dessutom utvecklar MoRA-modellen motsvarande icke-parametriska operatorer för att minska indata-dimensionen och öka utdata-dimensionen för den tränbara matrisen M. Dessutom ger MoRA-modellen flexibiliteten att använda en låg-rank-uppdateringsmatris för att ersätta den tränbara matrisen M och operatorerna, vilket säkerställer att MoRA-metoden kan slås samman tillbaka till det stora språkmodellen som LoRA.

MoRA: Metodik och Arkitektur

Inflytandet av Låg-Rank-Uppdatering

Den viktigaste principen för LoRA-baserade modeller är att uppskatta full-rank-uppdateringar i FFT genom att använda låg-rank-uppdateringar. Traditionellt, för en given förtränad parametermatris, använder LoRA två låg-rankiga matriser för att beräkna viktsuppdateringen. För att säkerställa att viktsuppdateringarna är 0 när träningen börjar, initierar LoRA-modellen en av de låg-rankiga matriserna med en Gaussisk fördelning medan den andra initieras med 0. Den övergripande viktsuppdateringen i LoRA visar en låg rang jämfört med finjustering i FFT, även om låg-rank-uppdatering i LoRA levererar prestanda som är jämförbara med full-rank-uppdatering på specifika uppgifter, inklusive instruktionsfinjustering och textklassificering. Dock börjar prestandan hos LoRA-modellen försämras för uppgifter som kontinuerlig förträning och komplexa resonemang.

Metodik

Även om LLM med in-context-lärande är en betydande prestandaförbättring jämfört med tidigare tillvägagångssätt, finns det fortfarande sammanhang som förlitar sig på finjustering, som i allmänhet kan delas in i tre kategorier. Det finns LLM som justeras för instruktioner, genom att anpassa sig till användaruppgifter och preferenser, utan att avsevärt öka kunskapen och förmågan hos LLM, en metod som underlättar hanteringen av varierande uppgifter och komplexa instruktioner. En annan typ är komplexa resonemangsuppgifter som matematiskt problemlösning, för vilka allmän instruktionsfinjustering kommer kort när det gäller att hantera komplexa symboliska multi-stegs resonemangsuppgifter. De flesta relaterade forskningar syftar till att förbättra resonemangsförmågan hos LLM, och det kräver antingen att man utformar motsvarande träningsdata baserat på större lärarmodeller, såsom GPT-4, eller att man omformulerar resonemangsfrågor längs en resonemangsbanan. Den tredje typen, kontinuerlig förträning, är utformad för att förbättra de domänspecifika förmågorna hos LLM.

Likväl, de flesta varianter av LoRA använder nästan uteslutande GLUE-instruktionsfinjustering eller textklassificeringsuppgifter för att utvärdera deras effektivitet i sammanhanget med LLM. Eftersom finjustering för instruktionsfinjustering kräver de minsta resurserna jämfört med andra typer, kan det inte representera en ordentlig jämförelse mellan LoRA-varianter. Att lägga till resonemangsuppgifter för att utvärdera deras metoder bättre har varit en vanlig praxis i senare arbeten. Dock använder vi vanligtvis små träningsuppsättningar (även vid 1M exempel, vilket är ganska stort). LLM har svårt att lära sig ordentligt resonemang från exempel av den här storleken.

Utifrån observationerna från inflytandet av låg-rank-uppdatering, föreslår MoRA-modellen en ny metod för att mildra de negativa effekterna av låg-rank-uppdatering. Den grundläggande principen för MoRA-modellen är att använda samma tränbara parametrar i största möjliga utsträckning för att uppnå en högre rang i den låg-rank-uppdateringsmatrisen. Efter att ha tagit hänsyn till de förtränade vikterna, använder LoRA-modellen två låg-rankiga matriser A och B med totala tränbara parametrar för rang r. Dock kan en kvadratisk matris uppnå den högsta rangen för samma antal tränbara parametrar, och MoRA-modellen uppnår detta genom att minska indata-dimensionen och öka utdata-dimensionen för den tränbara kvadratiska matrisen. Dessutom bör dessa två funktioner vara icke-parametriska operatorer och förväntas köras i linjär tid i förhållande till dimensionen.

MoRA: Experiment och Resultat

För att utvärdera dess prestanda, utvärderas MoRA-modellen på en stor mängd uppgifter för att förstå inflytandet av hög-rank-uppdatering på tre uppgifter: att komma ihåg UUID-par, finjusteringsuppgifter och förträning.

Att Komma Ihåg UUID-par

För att demonstrera förbättringarna i prestanda, jämförs MoRA-modellen mot FFT- och LoRA-modellerna på att komma ihåg UUID-par. Träningsförlusten från experimentet återspeglas i följande bild.

Det är värt att notera att för samma antal tränbara parametrar, kan MoRA-modellen överträffa de existerande LoRA-modellerna, vilket indikerar att den har gynnats av den hög-rank-uppdateringsstrategin. Rapporten om tecken-nivå-träningsnoggrannhet vid olika träningssteg sammanfattas i följande tabell.

Som det kan observeras, tar MoRA-modellen färre träningssteg för att komma ihåg UUID-par jämfört med LoRA.

Finjusteringsuppgifter

För att utvärdera dess prestanda på finjusteringsuppgifter, utvärderas MoRA-modellen på tre finjusteringsuppgifter: instruktionsfinjustering, matematiskt resonemang och kontinuerlig förträning, utformade för stora språkmodeller, tillsammans med en högkvalitativ motsvarande dataset för både MoRA- och LoRA-modellerna. Resultaten av finjusteringsuppgifterna presenteras i följande tabell.

Som det kan observeras, visar både LoRA- och MoRA-modellerna liknande prestanda på matematiskt resonemang och instruktionsfinjusteringsuppgifter. Dock överträffar MoRA-modellen LoRA-modellen på kontinuerlig förträning för både biomedicinska och finansiella domäner, tack vare den hög-rank-uppdateringsmetoden för att komma ihåg ny kunskap. Dessutom är det viktigt att förstå att de tre uppgifterna skiljer sig från varandra med olika krav och olika finjusteringsförmågor.

Förträning

För att utvärdera inflytandet av hög-rank-uppdatering på den övergripande prestandan, tränas transformatorn inom MoRA-modellen från scratch på C4-datasetet, och prestandan jämförs mot LoRA- och ReLoRA-modellerna. Förträningsförlusten tillsammans med den motsvarande komplexiteten på C4-datasetet visas i följande figurer.

Som det kan observeras, levererar MoRA-modellen bättre prestanda på förträningsuppgifter jämfört med LoRA- och ReLoRA-modellerna med samma antal tränbara parametrar.

Dessutom, för att demonstrera påverkan av hög-rank-uppdatering på rangen av den låg-rank-uppdateringsmatrisen, analyserar MoRA-modellen spektret av singularvärden för den lärda låg-rank-uppdateringsmatrisen genom att förträna 250M-modellen, och resultaten visas i följande bild.

Slutliga Tankar

I den här artikeln har vi diskuterat om låg-rank-uppdatering påverkar prestandan hos LoRA-modellen, eftersom det har observerats att låg-rank-uppdateringsmekanismen kan hindra förmågan hos det stora språkmodellen att lära och komma ihåg ny kunskap. Utifrån detta har vi diskuterat MoRA, en ny metod som uppnår hög-rank-uppdatering medan den behåller samma antal tränbara parametrar, genom att använda en kvadratisk matris. För att uppnå detta minskar MoRA-modellen indata-dimensionen och ökar utdata-dimensionen för den kvadratiska matrisen genom att införa motsvarande icke-parametriska operatorer. Dessutom säkerställer dessa operatorer att vikten kan slås samman tillbaka till LLM, vilket gör att MoRA-modellen kan distribueras som LoRA.

En ingenjör till yrket, en författare av hjärtat. Kunal är en teknisk skribent med ett djupt kärlek och förståelse för AI och ML, dedikerad till att förenkla komplexa begrepp inom dessa områden genom sin engagerande och informativa dokumentation.