Prompt engineering
Het begrijpen van LLM-fine-tuning: het aanpassen van grote taalmodellen aan uw unieke vereisten

Terwijl we in september 2023 staan, getuigt het landschap van grote taalmodellen (LLM’s) nog steeds van de opkomst van modellen zoals Alpaca, Falcon, Llama 2, GPT-4 en vele anderen.
Een belangrijk aspect van het benutten van het potentieel van deze LLM’s ligt in het fine-tunen, een strategie die het mogelijk maakt om vooraf getrainde modellen aan te passen aan specifieke taken met precisie. Het is door middel van deze fine-tuning dat deze modellen echt kunnen worden afgestemd op individuele vereisten, waardoor innovatieve en op maat gemaakte oplossingen worden geboden.
Het is echter essentieel om op te merken dat niet alle fine-tunemogelijkheden gelijk zijn. Zo vereist het benutten van de fine-tunemogelijkheden van GPT-4 een betaalde abonnement, wat relatief duurder is in vergelijking met andere opties op de markt. Aan de andere kant biedt het open-source-domein alternatieven die een meer toegankelijke weg bieden om de kracht van grote taalmodellen te benutten. Deze open-source-opties democratiseren de toegang tot geavanceerde AI-technologie, waardoor innovatie en inclusiviteit in het snel evoluerende AI-landschap worden bevorderd.
Waarom is LLM-fine-tuning belangrijk?
LLM-fine-tuning is meer dan een technische verbetering; het is een cruciaal aspect van LLM-modelontwikkeling dat een meer specifieke en verfijnde toepassing in verschillende taken mogelijk maakt. Fine-tuning past de vooraf getrainde modellen aan om beter te passen bij specifieke datasets, waardoor hun prestaties in bepaalde taken worden verbeterd en een meer gerichte toepassing wordt gegarandeerd. Het biedt de opmerkelijke mogelijkheid voor LLM’s om zich aan te passen aan nieuwe gegevens, waardoor flexibiliteit wordt geboden die essentieel is in de groeiende interesse in AI-toepassingen.
Fine-tuning van grote taalmodellen biedt veel kansen, waardoor ze kunnen uitblinken in specifieke taken, van sentimentanalyse tot medische literatuurbeoordelingen. Door de basismodel aan te passen aan een specifiek gebruik, ontgrendelen we nieuwe mogelijkheden, waardoor de efficiëntie en nauwkeurigheid van het model worden verbeterd. Bovendien vereenvoudigt het een meer economisch gebruik van systeembronnen, aangezien fine-tuning minder rekenkracht vereist in vergelijking met het trainen van een model van scratch.
Als we dieper in deze gids duiken, zullen we de nuances van LLM-fine-tuning bespreken, waardoor u een uitgebreid overzicht krijgt dat is gebaseerd op de nieuwste ontwikkelingen en beste praktijken in het veld.
Instruction-Based Fine-Tuning
De fine-tunefase in de Generative AI-levenscyclus, geïllustreerd in de onderstaande figuur, wordt gekenmerkt door de integratie van instructie-invoer en -uitvoer, samen met voorbeelden van stap-voor-stapredenering. Deze aanpak stelt het model in staat om antwoorden te genereren die niet alleen relevant zijn, maar ook precies aansluiten bij de specifieke instructies die aan het model zijn gegeven. Het is tijdens deze fase dat de vooraf getrainde modellen worden aangepast om specifieke taken en use-cases op te lossen, waarbij persoonlijke datasets worden gebruikt om hun functionaliteit te verbeteren.
Single-Task Fine-Tuning
Single-task fine-tuning richt zich op het verfijnen van de expertise van het model in een specifieke taak, zoals samenvatting. Deze aanpak is bijzonder nuttig bij het optimaliseren van workflows met omvangrijke documenten of conversatie-threads, waaronder juridische documenten en klantenservicetickets. Opmerkelijk is dat deze fine-tuning aanzienlijke prestatieverbeteringen kan bereiken met een relatief kleine set van voorbeelden, variërend van 500 tot 1000, in tegenstelling tot de miljarden tokens die in de vooraftrainingsfase worden gebruikt.
Foundations of LLM Fine-Tuning LLM: Transformer Architecture and Beyond
De reis om LLM-fine-tuning te begrijpen begint met een greep op de fundamenten die LLM’s vormen. In het hart van deze modellen ligt de transformerarchitectuur, een neurale netwerk dat zelfaandachtmecanismen gebruikt om de context van woorden boven hun nabijheid in een zin te prioriteren. Deze innovatieve aanpak maakt een dieper begrip van verre relaties tussen tokens in de invoer mogelijk.
Als we door de nuances van transformers navigeren, komen we een meerstapsproces tegen dat begint met de encoder. Deze initiële fase omvat het tokeniseren van de invoer en het maken van embeddingvectoren die de invoer en zijn positie in de zin vertegenwoordigen. De daaropvolgende stadia omvatten een reeks berekeningen met matrices genaamd Query, Value en Key, die resulteren in een zelfaandachtsscore die de focus op verschillende delen van de zin en verschillende tokens dicteert.
Fine-tuning staat als een cruciale fase in de ontwikkeling van LLM’s, een proces dat subtiele aanpassingen vereist om meer gewenste uitvoer te bereiken. Deze fase, hoewel essentieel, presenteert een reeks uitdagingen, waaronder de computationele en opslagvereisten van het omgaan met een groot aantal parameters. Parameter Efficient Fine-Tuning (PEFT) biedt technieken om het aantal parameters te verlagen, waardoor het trainingsproces wordt vereenvoudigd.
LLM Pre-Training: Establishing a Strong Base
In de initiële stadia van LLM-ontwikkeling staat pre-training centraal, waarbij over-parameterized transformers als de fundamentale architectuur worden gebruikt. Dit proces omvat het modelleren van natuurlijke taal op verschillende manieren, zoals bidirectioneel, autoregressief of sequentie-naar-sequentie op grote onbegeleide corpora. Het doel is hier om een basis te creëren die later kan worden aangepast voor specifieke downstream-taken door het introduceren van taak-specifieke doelen.
Een opvallende trend in deze sfeer is de onvermijdelijke toename in de schaal van vooraf getrainde LLM’s, gemeten door het aantal parameters. Empirische gegevens tonen consequent aan dat grotere modellen, gecombineerd met meer gegevens, bijna altijd betere prestaties opleveren. Zo heeft GPT-3, met zijn 175 miljard parameters, een benchmark gezet in het genereren van hoogwaardige natuurlijke taal en het uitvoeren van een breed scala aan zero-shot-taken.
Fine-Tuning: The Path to Model Adaptation
Na de pre-training ondergaat de LLM fine-tuning om zich aan te passen aan specifieke taken. Ondanks de veelbelovende prestaties van in-context learning in vooraf getrainde LLM’s zoals GPT-3, blijft fine-tuning superieur in taak-specifieke instellingen. Echter, de gangbare aanpak van full parameter fine-tuning presenteert uitdagingen, waaronder hoge computationele en geheugeneisen, vooral bij het omgaan met grote modellen.
Voor grote taalmodellen met meer dan een miljard parameters is efficiënt beheer van GPU-geheugen cruciaal. Een enkel modelparameter op volle 32-bits precisie vereist 4 bytes aan ruimte, wat neerkomt op een vereiste van 4 GB GPU-geheugen om slechts een 1 miljard parametermodel te laden. Het daadwerkelijke trainingsproces vereist nog meer geheugen om componenten zoals optimizerstaten en gradients te accommoderen, wat potentieel tot 80 GB GPU-geheugen voor een model van deze omvang kan leiden.
Om de beperkingen van GPU-geheugen te omzeilen, wordt kwantificatie gebruikt, een techniek die de precisie van modelparameters verlaagt, waardoor de geheugeneisen afnemen. Bijvoorbeeld, door de precisie van 32-bit naar 16-bit te verlagen, kan de benodigde geheugenruimte voor zowel het laden als trainen van het model worden gehalveerd. Later in dit artikel zullen we meer leren over QLoRA, dat kwantificatieconcepten voor fine-tuning gebruikt.
Exploring the Categories of PEFT Methods
Bij het volledig fine-tunen van grote taalmodellen is het essentieel om een computationele setup te hebben die niet alleen de aanzienlijke modelgewichten kan verwerken, die voor de meest geavanceerde modellen nu maten bereiken in de honderden gigabytes, maar ook een reeks andere kritische elementen kan beheren. Deze omvatten de toewijzing van geheugen voor optimizerstaten, het beheren van gradients, forward-activaties en het faciliteren van tijdelijk geheugen tijdens verschillende stadia van het trainingsproces.
Additive Method
Deze type fine-tuning kan het vooraf getrainde model uitbreiden met extra parameters of lagen, waarbij alleen de nieuw toegevoegde parameters worden getraind. Ondanks de toename van het aantal parameters, verbeteren deze methoden de trainings- en ruimte-efficiëntie. De additive methode is verder onderverdeeld in subcategorieën:
- Adapters: Het incorporeren van kleine volledig verbonden netwerken na transformer-sublagen, met opvallende voorbeelden zoals AdaMix, KronA en Compactor.
- Soft Prompts: Het fine-tunen van een segment van de modelinput-embeddings via gradient-afdaling, met IPT, prefix-tuning en WARP als prominente voorbeelden.
- Andere additive benaderingen: Omvatten technieken zoals LeTS, AttentionFusion en Ladder-Side Tuning.
Selective Method
Selectieve PEFT’s fine-tunen een beperkt aantal bovenste lagen op basis van laagtype en interne modelstructuur. Deze categorie omvat methoden zoals BitFit en LN-tuning, die zich richten op het afstemmen van specifieke elementen zoals modelbiases of specifieke rijen.
Reparametrization-based Method
Deze methoden gebruiken lage-rangrepresentaties om het aantal te trainen parameters te verlagen, waarvan de meest bekende Low-Rank Adaptation (LoRA) is. Deze methode gebruikt een eenvoudige lage-rangmatrixdecompositie om de gewichtsupdate te parameteriseren, waardoor effectieve fine-tuning in lage-rangsubruimten wordt gedemonstreerd.
1) LoRA (Low-Rank Adaptation)
LoRA is een baanbrekende PEFT-techniek, geïntroduceerd in een paper door Edward J. Hu en anderen in 2021. Het werkt binnen de reparameterisatiecategorie, waarbij de oorspronkelijke gewichten van de LLM worden bevroren en nieuwe trainbare lage-rangmatrices in elke laag van de Transformer-architectuur worden geïntegreerd. Deze aanpak vermindert niet alleen het aantal te trainen parameters, maar vermindert ook de trainings- en computationele middelen die nodig zijn, waardoor een meer efficiënte alternatief voor full fine-tuning wordt geboden.
Om de mechanismen van LoRA te begrijpen, moet men de Transformer-architectuur opnieuw bekijken, waarin de invoerprompt wordt getokeniseerd en omgezet in embeddingvectoren. Deze vectoren gaan door de encoder- en/of decodersegmenten van de Transformer, waar ze zelfaandacht- en feed-forwardnetwerken tegenkomen, waarvan de gewichten vooraf zijn getraind.
LoRA gebruikt het concept van Singular Value Decomposition (SVD). In wezen ontleedt SVD een matrix in drie afzonderlijke matrices, waarvan een diagonale matrix is met singulaire waarden. Deze singulaire waarden zijn cruciaal, aangezien ze de importantie van verschillende dimensies in de matrices meten, waarbij grotere waarden een hogere importantie aangeven en kleinere waarden een lagere importantie.
Deze aanpak stelt LoRA in staat om de essentiële kenmerken van de gegevens te behouden, terwijl de dimensionaliteit wordt verlaagd, waardoor het fine-tuneproces wordt geoptimaliseerd.
LoRA grijpt in bij dit proces, waarbij alle oorspronkelijke modelparameters worden bevroren en een paar “rangdecompositiematrices” naast de oorspronkelijke gewichten worden geïntroduceerd. Deze kleinere matrices, aangeduid als A en B, worden getraind via toezicht op de leercurve.
Het cruciale element in deze strategie is de parameter genaamd rang (‘r’), die de grootte van de lage-rangmatrices dicteert. Een zorgvuldige selectie van ‘r’ kan indrukwekkende resultaten opleveren, zelfs met een kleinere waarde, waardoor een lage-rangmatrix met minder parameters om te trainen ontstaat. Deze strategie is effectief geïmplementeerd met behulp van open-sourcebibliotheken zoals HuggingFace Transformers, waardoor LoRA-fine-tuning voor verschillende taken met opmerkelijke efficiëntie wordt gefaciliteerd.
2) QLoRA: Taking LoRA Efficiency Higher
Op basis van de fundamenten gelegd door LoRA, vermindert QLoRA de geheugeneisen nog verder. Geïntroduceerd door Tim Dettmers en anderen in 2023, combineert het lage-rangadaptatie met kwantificatie, waarbij een 4-bits kwantificatieformaat genaamd NormalFloat of nf4 wordt gebruikt. Kwantificatie is in wezen een proces dat gegevens van een hogere informatierepresentatie naar een met minder informatie overzet. Deze aanpak behoudt de effectiviteit van 16-bits fine-tuningmethoden, waarbij 4-bitsgewichten naar 16-bits worden gedequantificeerd wanneer dit nodig is tijdens computationele processen.

Comparing finetuning methods: QLORA enhances LoRA with 4-bit precision quantization and paged optimizers for memory spike management
QLoRA maakt gebruik van NumericFloat4 (nf4), waarbij elke laag in de Transformer-architectuur wordt gericht, en introduceert het concept van dubbele kwantificatie om de geheugenvoetafdruk die nodig is voor fine-tuning verder te verkleinen. Dit wordt bereikt door kwantificatie uit te voeren op de reeds gekwantificeerde constanten, een strategie die typische gradient-checkpointgeheugenspikes voorkomt door het gebruik van gepaginiseerde optimizers en unified geheugenbeheer.
Guanaco, dat een QLoRA-ensemble is, zet een benchmark in open-sourcechatbotoplossingen. De prestaties, gevalideerd door systematische menselijke en geautomatiseerde beoordelingen, onderstrepen zijn dominantie en efficiëntie in het veld.
De 65B- en 33B-versies van Guanaco, die zijn gefine-tuned met een gemodificeerde versie van de OASST1-dataset, komen naar voren als formidabele tegenhangers van bekende modellen zoals ChatGPT en zelfs GPT-4.
Fine-tuning using Reinforcement Learning from Human Feedback
Reinforcement Learning from Human Feedback (RLHF) komt in beeld bij het fine-tunen van vooraf getrainde taalmodellen om deze meer in overeenstemming te brengen met menselijke waarden. Dit concept werd geïntroduceerd door Open AI in 2017 en legde de basis voor verbeterde documentensamenvatting en de ontwikkeling van InstructGPT.
In de kern van RLHF ligt het reinforcement learning-paradigma, een type machine learning-techniek waarbij een agent leert hoe hij zich moet gedragen in een omgeving door acties uit te voeren en beloningen te ontvangen. Het is een continue cyclus van actie en feedback, waarbij de agent wordt aangemoedigd om keuzes te maken die de hoogste beloning zullen opleveren.
Als we dit vertalen naar het domein van taalmodellen, is de agent het model zelf, dat opereert in de omgeving van een gegeven contextvenster en beslissingen neemt op basis van de status, die wordt gedefinieerd door de huidige tokens in het contextvenster. De “actieruimte” omvat alle potentiële tokens die het model kan kiezen, met als doel het token te selecteren dat het beste aansluit bij menselijke voorkeuren.
Het RLHF-proces maakt uitgebreid gebruik van menselijke feedback, waarbij deze wordt gebruikt om een beloningsmodel te trainen. Dit model speelt een cruciale rol in het leiden van het vooraf getrainde model tijdens het fine-tuneproces, waarbij het model wordt aangemoedigd om uitvoer te genereren die meer in overeenstemming is met menselijke waarden. Het is een dynamisch en iteratief proces, waarbij het model leert door een reeks “rollouts”, een term die wordt gebruikt om de sequentie van staten en acties te beschrijven die leiden tot een beloning in de context van taalgeneratie.
Een van de opmerkelijke potenties van RLHF is zijn vermogen om personalisatie in AI-assistenten te bevorderen, waardoor ze kunnen worden afgestemd op individuele gebruikersvoorkeuren, of het nu gaat om hun gevoel voor humor of dagelijkse routines. Het opent wegen voor het creëren van AI-systemen die niet alleen technisch competent zijn, maar ook emotioneel intelligent, in staat om nuances in menselijke communicatie te begrijpen en te reageren.
Echter, het is essentieel om op te merken dat RLHF geen foolproof oplossing is. De modellen zijn nog steeds vatbaar voor het genereren van ongewenste uitvoer, een reflectie van de uitgebreide en vaak ongecontroleerde en bevooroordeelde gegevens waarop ze zijn getraind.
Conclusie
Het fine-tuneproces, een kritische stap in het benutten van het volledige potentieel van LLM’s zoals Alpaca, Falcon en GPT-4, is meer verfijnd en gefocust geworden, waardoor op maat gemaakte oplossingen voor een breed scala aan taken worden geboden.
We hebben single-task fine-tuning gezien, dat zich specialiseert in modellen voor specifieke rollen, en Parameter-Efficient Fine-Tuning (PEFT)-methoden, waaronder LoRA en QLoRA, die ernaar streven het trainingsproces efficiënter en kosteneffectiever te maken. Deze ontwikkelingen openen deuren naar geavanceerde AI-functionaliteiten voor een bredere doelgroep.
Verder introduceert de introductie van Reinforcement Learning from Human Feedback (RLHF) door Open AI een stap naar het creëren van AI-systemen die meer in overeenstemming zijn met menselijke waarden en voorkeuren, waardoor AI-assistenten worden gecreëerd die niet alleen slim zijn, maar ook gevoelig zijn voor de behoeften van individuele gebruikers. Zowel RLHF als PEFT werken in symbiose om de functionaliteit en efficiëntie van grote taalmodellen te verbeteren.
Terwijl bedrijven, ondernemingen en individuen deze gefine-tune LLM’s in hun operaties integreren, verwelkomen ze in wezen een toekomst waarin AI meer is dan een instrument; het is een partner dat menselijke contexten begrijpt en aanpast, waardoor innovatieve en op maat gemaakte oplossingen worden geboden.























