Layer-wise LoRA fine-tuning: a similarity metric approach
Dit artikel stelt een laag-gewijze Low-Rank Adaptation (LoRA) fine-tuning aanpak voor die systematisch de meest relevante lagen selecteert op basis van interne representatiegelijkenis, waardoor het aantal trainbare parameters met tot wel 50% wordt verminderd terwijl de voorspellende prestaties over diverse modelarchitecturen en taken gelijk worden gehouden of zelfs worden verbeterd.
Oorspronkelijk artikel gelicentieerd onder CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Dit is een AI-gegenereerde uitleg van het onderstaande artikel. Het is niet geschreven of goedgekeurd door de auteurs. Raadpleeg het oorspronkelijke artikel voor technische nauwkeurigheid. Lees de volledige disclaimer
Stel je voor dat je een superintelligente robot probeert te leren hoe hij een specifieke taak moet uitvoeren, zoals het oplossen van wiskundeproblemen of het schrijven van code. Deze robot, een Large Language Model (LLM) genoemd, heeft al een enorme hoeveelheid algemene kennis geleerd door bijna alles op het internet te lezen. Het is als een genie dat een beetje van alles weet, maar zich moet specialiseren. Om het een nieuwe truc te leren, moet je het meestal "fine-tunen", wat betekent dat je de interne instellingen aanpast. Maar hier komt de crux: deze robots zijn zo groot dat het aanpassen van al hun instellingen een computer vereist die zo krachtig en duur is dat alleen gigantische technologiebedrijven dat kunnen betalen. Het is alsof je een enkele losse schroef in een wolkenkrabber probeert te repareren door het hele gebouw opnieuw te bouwen.
Om dit op te lossen, hebben wetenschappers een slimme afkorting uitgevonden genaamd LoRA (Low-Rank Adaptation). In plaats van elke enkele schroef in de wolkenkrabber aan te raken, suggereert LoRA dat je alleen een piekle, lichtgewicht pleister van nieuwe schroeven toevoegt om de robot te helpen de nieuwe taak te leren. Dit bespaart een enorme hoeveelheid geld en energie. Echter, zelfs met deze afkorting is de robot nog steeds zo groot dat de "pleister" soms te zwaar is voor kleinere computers. De grote vraag is: moeten we echt elk deel van de robot patchen om hem slim te maken bij de nieuwe taak? Of zijn er slechts een paar specifieke plekken waar de magie gebeurt? Dit paper duikt in die vraag door te onderzoeken of we de "gouden plekken" kunnen vinden om te repareren en de rest van de gigantische machine ongemoeid kunnen laten.
Het detectiewerk "laag voor laag"
De auteurs van dit paper, Keith Ando Ogawa en hun team, besloten de hersenen van de robot te behandelen als een gebouw met meerdere verdiepingen. Binnen een Large Language Model stroomt informatie door een reeks "lagen", vergelijkbaar met de verdiepingen in een wolkenkrabber. Terwijl een zin van de onderste verdieping naar de bovenste verdieping reist, wordt deze verwerkt en getransformeerd. Het team vermoedde dat niet elke verdieping even belangrijk is voor elke nieuwe taak. Sommige verdiepingen doen misschien het zware werk voor wiskundeproblemen, terwijl andere nuttiger kunnen zijn voor het schrijven van poëzie.
Hun idee was simpel maar krachtig: in plaats van een LoRA-pleister op elke verdieping aan te brengen, waarom zouden we niet kijken welke verdiepingen het meest veranderen wanneer de robot iets nieuws leert? Ze bedachten een manier om deze "verandering" te meten met behulp van een wiskundig hulpmiddel genaamd een gelijkenismetriek. Denk aan dit als een "veranderingsdetector". Ze keken naar wat de robot "dacht" voordat het informatie naar een specifieke verdieping stuurde en wat het "dacht" nadat die verdieping het had verwerkt. Als de input en de output bijna identiek waren, deed die verdieping niet veel. Maar als de input en de output erg verschillend waren, deed die verdieping veel werk!
Ze noemden deze methode "Layer-wise LoRA fine-tuning". Het is alsof je een detective inhuurt die door de wolkenkrabber loopt om elke verdieping te controleren om te zien waar de meeste activiteit plaatsvindt. Zodra ze de drukste verdiepingen hebben geïdentificeerd, plaatsen ze alleen de LoRA-pleisters op die specifieke verdiepingen en laten ze de stille, inactieve verdiepingen op hun plaats bevroren.
Wat ze vonden: Minder is meer
Toen het team deze idee testte op verschillende soorten robotbreinen, waren de resultaten verrassend goed. Ze ontdekten dat door alleen de meest actieve lagen te selecteren—specifiek ongeveer de helft van de totale lagen—ze het aantal trainbare parameters (de "schroeven" die ze aanpassen) met 50% konden verminderen.
Hier is het beste deel: ook al pasten ze de helft minder instellingen aan, de robots werden niet dommer. Sterker nog, voor sommige modellen zoals LLaMA 2-7B en Mistral-7B werden de robots zelfs beter in het oplossen van wiskundeproblemen en het schrijven van code wanneer ze zich alleen op de belangrijkste lagen concentreerden. Voor andere modellen, zoals Gemma-7B, daalde de prestatie slechts een klein, bijna onmerkbaar beetje.
De onderzoekers vergeleken hun "veranderingsdetector"-methode ook met andere manieren waarop mensen proberen lagen te selecteren, zoals het simpelweg kiezen van de middelste verdiepingen of de bovenste en onderste verdiepingen. Hun methode versloeg consequent deze eenvoudige gissingen. Bijvoorbeeld, op een standaardtest genaamd GLUE, hield hun methode de prestaties van de robot hoog terwijl ze de hoeveelheid werk halveerden, terwijl een methode die simpelweg de middelste lagen koos, soms ervoor zorgde dat de robot struikelde.
Ze controleerden ook hoe dit de geheugen en snelheid van de computer beïnvloedde. Omdat ze minder lagen aanpasten, werd het trainingsproces sneller. Op sommige modellen zagen ze een versnelling van ongeveer 1,25 keer, en de computer had minder geheugen nodig om de taak te voltooien. Dit is een enorme zaak voor iedereen die deze modellen op kleinere, goedkopere computers wil draaien.
Waarom dit ertoe doet
Het paper suggereert dat we niet elk deel van een gigantisch AI-model als even belangrijk hoeven te behandelen. Door een eenvoudige meting te gebruiken van hoeveel een laag de informatie die erdoorheen stroomt verandert, kunnen we de "sweet spots" vinden voor het leren. Dit betekent dat we deze krachtige AI-tools veel efficiënter kunnen maken zonder hun intelligentie te verliezen.
De auteurs testten dit op verschillende soorten robots, waaronder die die alleen tekst lezen, die alleen tekst schrijven, en zelfs een multimodale robot (LLaVA-1.5-7B) die afbeeldingen kan zien en tekst kan lezen. In alle gevallen werkte het kiezen van de juiste lagen goed. Ze probeerden zelfs de "rank" te verdubbelen (de pleisters complexer maken) op de geselecteerde lagen om te zien of dat zou helpen, maar kwamen tot de conclusie dat dit geen groot verschil maakte. Het lijkt erop dat het simpelweg kiezen van de juiste lagen de sleutel is, en niet het complexer maken van de pleisters zelf.
Hoewel het paper niet beweert dat het elk probleem in de AI heeft opgelost, biedt het een zeer praktische en effectieve manier om fine-tuning goedkoper en sneller te maken. Het suggereert dat voor veel taken een kleine, gerichte inspanning net zo goed is als een massale, allesoverheersende revisie. Zoals de auteurs opmerken, werkt deze aanpak goed met bestaande tools en kan het meer onderzoekers en kleinere bedrijven helpen om mee te doen aan het bouwen van slimmere AI, zonder dat ze een supercomputer nodig hebben ter grootte van een huis.
Verdrinkt u in papers in uw vakgebied?
Ontvang dagelijkse digests van de nieuwste papers die bij uw onderzoekswoorden passen — met technische samenvattingen, in uw taal.