Populaire onderwerpen
#
Bonk Eco continues to show strength amid $USELESS rally
#
Pump.fun to raise $1B token sale, traders speculating on airdrop
#
Boop.Fun leading the way with a new launchpad on Solana.

Andrej Karpathy
Ik train graag grote diepe neurale netwerken. Voorheen directeur AI @ Tesla, oprichtersteam @ OpenAI, PhD @ Stanford.
Drie dagen geleden heb ik autoresearch tuning nanochat ongeveer 2 dagen op het depth=12 model gelaten. Het vond ongeveer 20 wijzigingen die de validatieverlies verbeterden. Ik heb deze wijzigingen gisteren getest en ze waren allemaal additief en overgedragen naar grotere (depth=24) modellen. Door al deze wijzigingen op te stapelen, heb ik vandaag gemeten dat de "Tijd tot GPT-2" op het leaderboard daalt van 2,02 uur naar 1,80 uur (ongeveer 11% verbetering), dit zal de nieuwe leaderboard-entry zijn. Dus ja, dit zijn echte verbeteringen en ze maken een daadwerkelijk verschil. Ik ben mild verrast dat mijn allereerste naïeve poging al zo goed werkte bovenop wat ik dacht dat al een redelijk handmatig goed afgesteld project was.
Dit is een eerste voor mij omdat ik erg gewend ben om de iteratieve optimalisatie van neurale netwerktraining handmatig te doen. Je komt met ideeën, je implementeert ze, je controleert of ze werken (betere validatieverlies), je komt met nieuwe ideeën op basis daarvan, je leest wat papers voor inspiratie, enzovoort. Dit is het dagelijkse brood van wat ik al 2 decennia doe. Het is wild om te zien dat de agent deze hele workflow van begin tot eind en helemaal zelf uitvoerde terwijl hij ongeveer 700 wijzigingen autonoom doorliep. Het keek echt naar de reeks resultaten van experimenten en gebruikte dat om de volgende te plannen. Het is nog niet nieuw, baanbrekend "onderzoek", maar alle aanpassingen zijn "echt", ik heb ze niet handmatig eerder gevonden, en ze stapelen zich op en hebben nanochat daadwerkelijk verbeterd. Onder de grotere dingen bijvoorbeeld:
- Het merkte een vergissing op dat mijn parameterloze QKnorm geen scaler multiplier had, waardoor mijn aandacht te diffuus was. De agent vond multipliers om het te verscherpen, wat wijst op toekomstig werk.
- Het ontdekte dat de Value Embeddings echt houden van regularisatie en ik paste er geen toe (oeps).
- Het vond dat mijn banded attention te conservatief was (ik vergat het af te stemmen).
- Het ontdekte dat de AdamW-betas helemaal in de war waren.
- Het stelde het gewicht verval schema af.
- Het stelde de netwerkinitialisatie af.
Dit is bovenop al het afstemmen dat ik al over een goede periode heb gedaan. De exacte commit is hier, van deze "ronde 1" van autoresearch. Ik ga "ronde 2" starten, en parallel kijk ik naar hoe meerdere agents kunnen samenwerken om parallelisme te ontgrendelen.
Alle LLM frontier labs zullen dit doen. Het is de eindbaasstrijd. Het is natuurlijk veel complexer op schaal - je hebt niet gewoon een enkel train.py-bestand om af te stemmen. Maar het doen is "gewoon engineering" en het gaat werken. Je start een zwerm agents, je laat ze samenwerken om kleinere modellen af te stemmen, je promoot de meest veelbelovende ideeën naar steeds grotere schalen, en mensen (optioneel) dragen bij aan de randen.
En meer algemeen kan *elke* metriek waar je om geeft die redelijk efficiënt te evalueren is (of die meer efficiënte proxy-metrieken heeft zoals het trainen van een kleiner netwerk) door een agentenzwerm worden autoresearched. Het is de moeite waard om na te denken of jouw probleem ook in deze categorie valt.

422
Ik heb het "autoresearch" project verpakt in een nieuwe zelfstandige minimale repo als mensen in het weekend willen spelen. Het is in wezen de kern van nanochat LLM-training, teruggebracht tot een versie met één GPU en één bestand van ~630 regels code, dan:
- de mens werkt aan de prompt (.md)
- de AI-agent werkt aan de trainingscode (.py)
Het doel is om je agents te ontwerpen zodat ze de snelste onderzoeksvoortgang oneindig maken zonder enige betrokkenheid van jouw kant. In de afbeelding is elke stip een complete LLM-trainingsronde die precies 5 minuten duurt. De agent werkt in een autonome lus op een git feature branch en accumuleert git-commits naar het trainingsscript terwijl het betere instellingen vindt (met een lagere validatieverlies aan het einde) van de architectuur van het neurale netwerk, de optimizer, alle hyperparameters, enz. Je kunt je voorstellen dat je de onderzoeksvoortgang van verschillende prompts, verschillende agents, enz. vergelijkt.
Deel code, deel sci-fi, en een snufje psychose :)

1,4K
Boven
Positie
Favorieten
