Kunstig intelligens
MoRA: Høy-rank Oppdatering for Parameter-Effektiv Fine-Tuning
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.












