Kunstig intelligens

MoRA: Høy-rank Oppdatering for Parameter-Effektiv Fine-Tuning

mm

På grunn av sin robuste ytelse og brede anvendelighet sammenlignet med andre metoder, er LoRA eller Low-Rank Adaption en av de mest populære PEFT eller Parameter-Effektiv Fine-Tuning-metodene for finjustering av et stort språkmodell. LoRA-rammen benytter to lav-rank matriser for å dekomponere og approksimere de oppdaterte vektene i FFT eller Full Fine-Tuning, og LoRA-rammen modifiserer disse trenebare parameterne etterhvert som rangen av matrisene justeres. Den største fordelen med å implementere prosessen er at det muliggjør LoRA-rammen å slå sammen disse matrisene uten inferensforsinkelse etter finjustering. Videre, selv om nyere store språkmodeller leverer bemerkelsesverdig ytelse på in-context-læringoppgaver, er det fortsatt scenarioer som krever finjustering, og kan kategoriseres grovt inn i tre typer. Den første typen, instruksjonsfinjustering, har som mål å tilpasse LLM-er bedre til slutoppgaver og brukerpreferanser uten å forbedre kunnskapen og evnene til LLM-er, en tilnærming som forenkler prosessen med å håndtere varierte oppgaver og komplekse instruksjoner. Den andre typen omfatter komplekse resonneringsoppgaver som matematiske problemløsninger. Til slutt er den tredje typen kontinuerlig pre-trening, en tilnærming som forsøker å forbedre de overordnede domenespesifikke evnene til store språkmodeller.

I denne artikkelen, skal vi snakke om hvorvidt lav-rank oppdatering påvirker ytelsen til LoRA-rammen, ettersom det har blitt observert at lav-rank oppdateringsmekanisme kan hemme evnen til det store språkmodellen til å lære og huske ny kunnskap. Bygget på dette, i denne artikkelen skal vi snakke om MoRA, en ny metode som oppnår høy-rank oppdatering mens den samtidig opprettholder samme antall trenebare parametre, ved å benytte en kvadratisk matrise. For å oppnå dette, reduserer MoRA-rammen inndata-dimensjonen og øker utdata-dimensjonen for den kvadratiske matrisen ved å introdusere de tilhørende ikke-parametriske operatorene. Videre, sikrer disse operatorene at vekten kan slås sammen igjen i LLM-er, noe som gjør MoRA-rammen utrullbar som LoRA.

Denne artikkelen har som mål å dekke MoRA-rammen i dybden, og vi utforsker mekanismen, metodikken, arkitekturen til rammen sammen med dens sammenligning med state-of-the-art-rammer. Så la oss komme i gang.

MoRA: Høy-rank Oppdatering for PEFT

Ettersom størrelsen og evnene til språkmodellene øker, er PEFT eller Parameter-Effektiv Fine-Tuning en av de mest populære og effektive metodene for å tilpasse LLM-er til bestemte nedstrømsoppgaver. Sammenlignet med FFT eller Full Fine-Tuning, som oppdaterer alle parametre, oppdaterer PEFT bare en brøkdel av de totale parameterne, noe som kan oppnå lignende ytelse som FFT ved å oppdatere mindre enn 1% av de totale parameterne, og dermed redusere minnekravene for optimalisering betydelig, samtidig som det muliggjør lagring og utrulling av modeller. Videre, blant alle eksisterende PEFT-metoder, er LoRA den mest populære i dag, spesielt for LLM-er. En av de viktigste grunnene til at LoRA-metoder leverer bedre ytelse sammenlignet med PEFT-metoder som adaptere eller prompt-tuning, er at LoRA benytter lav-rank matriser for å oppdatere parametre, med rammen som har kontroll over å slå sammen disse matrisene inn i de opprinnelige modellparameterne, uten å øke de beregningsmessige kravene under inferens.

Videre, eksperimenter utført på LoRA over en bred rekke oppgaver, inkludert kontinuerlig pre-trening, matematisk resonnering og instruksjonsfinjustering, indikerer at selv om LoRA-baserte rammer demonstrerer lignende ytelse over disse oppgavene, og leverer ytelse på instruksjonsfinjusteringsoppgaver som er sammenlignbar med FFT-baserte metoder, kunne LoRA-baserte modeller ikke replikere ytelsen på kontinuerlig pre-trening og matematisk resonneringsoppgaver. En mulig forklaring for denne mangelen på ytelse kan være avhengigheten av LoRA på lav-rank matrisoppdateringer, ettersom den lav-rank oppdateringsmatrisen kan slite med å estimere full-rank oppdateringer i FFT, spesielt i minneintensive oppgaver som krever husking av domenespesifik kunnskap som kontinuerlig pre-trening. Ettersom rangen av den lav-rank oppdateringsmatrisen er mindre enn full rang, begrenser det evnen til å lagre ny informasjon ved hjelp av finjustering.

MoRA: Metodologi og Arkitektur

Påvirkningen av Lav-Rank Oppdatering

Den viktigste prinsippet for LoRA-baserte modeller er å estimere full-rank oppdateringer i FFT ved å benytte lav-rank oppdateringer. Tradisjonelt, for en gitt forhånds-trent parametermatrise, benytter LoRA to lav-rank matriser for å beregne vektoppdateringen. For å sikre at vektoppdateringene er 0 når treningen begynner, initialiserer LoRA-rammen en av de lav-rank matrisene med en Gaussisk distribusjon, mens den andre initialiseres med 0. Den totale vektoppdateringen i LoRA utviser en lav-rank sammenlignet med finjustering i FFT, selv om lav-rank oppdatering i LoRA leverer ytelse på linje med full-rank oppdatering på bestemte oppgaver, inkludert instruksjonsfinjustering og tekstklassifisering. Likevel, ytelsen til LoRA-rammen begynner å forverre seg for oppgaver som kontinuerlig pre-trening og kompleks resonnering.

Metodologi

Selv om LLM-er med in-context-læring er en betydelig forbedring av ytelse sammenlignet med tidligere tilnærminger, er det fortsatt kontekster som avhenger av finjustering, og kan kategoriseres grovt inn i tre kategorier. Det er LLM-er som finjusteres for instruksjoner, ved å tilpasse seg bedre til slutoppgaver og brukerpreferanser uten å forbedre kunnskapen og evnene til LLM-er, en tilnærming som forenkler prosessen med å håndtere varierte oppgaver og komplekse instruksjoner. En annen type omfatter komplekse resonneringsoppgaver som matematiske problemløsninger, noe som generell instruksjonsfinjustering kommer kort på når det gjelder å håndtere komplekse symboliske multi-trinns resonneringsoppgaver.

MoRA: Eksperimenter og Resultater

Husking av UUID-Par

For å demonstrere forbedringene i ytelse, sammenlignes MoRA-rammen mot FFT- og LoRA-rammene på husking av UUID-par. Treningstapen fra eksperimentet er reflektert i følgende bilde.

Finjusteringsoppgaver

For å evaluere ytelsen på finjusteringsoppgaver, evalueres MoRA-rammen på tre finjusteringsoppgaver: instruksjonsfinjustering, matematisk resonnering og kontinuerlig pre-trening, designet for store språkmodeller, sammen med en høykvalitets korresponderende datasett for både MoRA- og LoRA-modellene.

Pre-trening

For å evaluere påvirkningen av høy-rank oppdatering på den totale ytelsen, trenes transformatorinnen i MoRA-rammen fra scratch på C4-datasettene, og ytelsen sammenlignes mot LoRA- og ReLoRA-modellene.

SluttTanker

I denne artikkelen, har vi snakket om hvorvidt lav-rank oppdatering påvirker ytelsen til LoRA-rammen, ettersom det har blitt observert at lav-rank oppdateringsmekanisme kan hemme evnen til det store språkmodellen til å lære og huske ny kunnskap. Bygget på dette, i denne artikkelen skal vi snakke om MoRA, en ny metode som oppnår høy-rank oppdatering mens den samtidig opprettholder samme antall trenebare parametre, ved å benytte en kvadratisk matrise. For å oppnå dette, reduserer MoRA-rammen inndata-dimensjonen og øker utdata-dimensjonen for den kvadratiske matrisen ved å introdusere de tilhørende ikke-parametriske operatorene.

En ingeniør av yrke, en forfatter av hjerte. Kunal er en teknisk forfatter med en dyp kjærlighet og forståelse av AI og ML, dedikert til å forenkle komplekse konsepter i disse feltene gjennom sin engasjerende og informerende dokumentasjon.