Fine-tuning of vaste embeddings : wanneer moet je de LLM aanpassen en de Sklearn-kop houden ?

Om een groot taalmodel (LLM) te specialiseren voor een specifiek domein, is de klassieke aanpak om het te fine-tunen, dat wil zeggen de training voort te zetten op een specifieke dataset. Een tutorial vergelijkt deze methode met een lichtere oplossing: het model bevroren houden en alleen een kleine, bovenop geplaatste classifier trainen. Bij een taak voor het classificeren van nieuwsartikels behaalt de eerste strategie de hoogste nauwkeurigheid, maar vergt deze veel meer tijd.

De eerste strategie is gebaseerd op LoRA (Low-Rank Adaptation), een algoritme dat de voorgetrainde gewichten van het model bevriest en er kleine, trainbare aanpassingsmatrices aan toevoegt. Deze matrices vertegenwoordigen doorgaans 1 tot 2% van de grootte van het model. De tutorial gebruikt een gekwantiseerde variant, genaamd QLoRA, die het model in 4-bit precisie houdt om geheugen te besparen. De tweede strategie, die van de vaste embeddings, houdt in dat de LLM alleen als kenmerkenextractor wordt gebruikt. Elke tekst wordt omgezet in een numerieke vector, een zogenaamde embedding, uit de laatste verborgen laag van het model. Deze vectoren worden vervolgens gebruikt om een klassieke classifier te trainen: een willekeurig bos (random forest) van 100 bomen, afkomstig uit de scikit-learn-bibliotheek.

De experimenten zijn uitgevoerd op Google Colab, met een T4 GPU. Het gebruikte model is Qwen/Qwen2.5-1.5B en de dataset is ag_news, die nieuwsartikelen bevat die in vier categorieën zijn ingedeeld. Om de vergelijking snel te houden, werken de auteurs met een subset van 800 trainingsartikelen en 200 testartikelen.

Gemengde resultaten

Met de strategie van vaste embeddings duurt het extraheren van de vectoren 96,5 seconden en het trainen van de classifier slechts 2,866 seconden. De nauwkeurigheid bereikt 82,0% op de testset. De tutorial benadrukt dat het grootste deel van de tijd wordt besteed aan het extraheren van kenmerken, terwijl het trainen van de classifier bijna onmiddellijk gebeurt.

De LoRA-strategie behaalt een nauwkeurigheid van 87,0%, voor een training van 300,3 seconden. De winst in nauwkeurigheid heeft dus een prijs: volgens de tutorial duurde het hele proces drie keer zo lang, en dit verschil zou aanzienlijk groter kunnen worden bij grotere datasets.

Wanneer de ene of de andere te verkiezen

De auteurs raden vaste embeddings aan wanneer men op zoek is naar snelle training en een lage rekenbelasting, terwijl overfitting van het basismodel wordt vermeden. Fine-tuning met QLoRA is daarentegen aangewezen wanneer het verkleinen van het nauwkeurigheidsverschil cruciaal is voor het beoogde domein, of wanneer het model specifieke, diepgewortelde nuances van dat domein moet leren.

De redenering verandert voor puur generatieve taken, zoals het produceren van tekst of code, waarbij aanpassing van het model, bijvoorbeeld door fine-tuning, over het algemeen nodig is om gespecialiseerd gedrag te verkrijgen. De tutorial merkt echter op dat vaste embeddings een levensvatbaar alternatief kunnen vormen voor bepaalde generatieve toepassingen in gratis implementaties, wanneer maximale prestaties een enigszins onderhandelbaar criterium zijn.