LLM compression på norsk betyr å redusere mengden data som kreves for å representere et Language Model (språkmodell). Prosessen innebærer en kombinasjon av teknikker for å gjøre store språkmodeller, som GPT-3, mer effektive både når det gjelder lagring og beregning uten å miste for mye av deres ytelseskapasitet. For å forstå hvordan LLM-komprimering fungerer grundig, bør vi se på flere teknikker brukt i denne prosessen, inkludert kvantifisering, distillering, sparsifisering og pruning.
- Kvantifisering
Kvantifisering er en prosess som reduserer presisjonen av modellens vekter. I stedet for å bruke 32-bits flyttall, kan modellene bruke 16-bits flyttall eller enda lavere, som 8-bits helttall. Ved å redusere presisjonen minimeres lagringskravet uten å ha en betydelig negativ innvirkning på modellens ytelse. Denne teknikken kan redusere modellens størrelse drastisk.
Eksempel: BERT modifikasjonen til 8-bits presisjon uten for stor ytelsestap. I denne praksisen reduseres mengden av minnet nødvendig for vektene til omtrent en fjerdedel.
Kilde: “Quantizing deep convolutional networks for efficient inference: A whitepaper,” Google (https://arxiv.org/abs/1806.08342)
- Distillering
Distillering involverer overføring av kunnskap fra en stor modell (lærermodellen) til en mindre modell (studentmodellen). Studentmodellen er trent til å imitere prediksjonene til lærermodellen. Denne teknikken reduserer kompleksiteten av modellen samtidig som den beholder de viktigste læringsfunksjonene.
Eksempel: GPT-3-distillering hvor en mindre GPT-modell blir trent på utdataene til en stor GPT-3-modell.
Kilde: “Distilling the Knowledge in a Neural Network,” Hinton et al. (https://arxiv.org/abs/1503.02531)
- Sparsifisering
Sparsifisering innebærer å gjøre noen av vektene i modellen null. Dette reduserer den totale mengden av beregninger som trengs under prediksjonsprosessen. Ved å bruke sparsifisering, kan man beholde eventuelle viktige parametere mens de mindre viktige blir fjernet.
Eksempel: Pruning teknikker brukt på transformers, som fjern en del av mindre viktige vekter.
Kilde: “The Lottery Ticket Hypothesis: Finding Sparse, Trainable Neural Networks,” Frankle et al. (https://arxiv.org/abs/1803.03635)
- Pruning
Pruning er en teknikk hvor unødvendige deler av nevralnettverket blir fjernet. Dette kan omfatte fjerning av bestemte lag, noder, eller forbindelser som har lav innvirkning på modellens ytelse. Det er en type sparsifisering der unødvendige elementer av modellen blir tatt bort for å redusere kompleksitet og størrelse.
Eksempel: Pruning teknikker brukt for å redusere størrelsen på BERT modeller.
Kilde: “Are Sixteen Heads Really Better than One?” Michel et al. (https://arxiv.org/abs/1905.10650)
- Konklusjon
LLM-komprimering er en kombinasjon av flere teknikker som sammen sikter mot å redusere størrelsen og kompleksiteten til språkmodeller uten at det går betydelig ut over ytelsen. Hver teknikk har sine egne fordeler og anvendelsesområder basert på spesifikke krav og begrensninger. Å anvende disse teknikkene krever en dyp forståelse av modellen og en nøyaktig evaluering av modellens ytelsesbalanse.
Samlet sett gir disse teknikkene et rammeverk for å håndtere veksten i store modeller som GPT-3 og fremtidige generasjoner av språkmodeller, ved å gjøre dem mer tilgjengelige og anvendelige i forskjellige sammenhenger.