Each language version is independently generated for its own context, not a direct translation.
🍳 Van Rundergehakt naar Sterke Stoofschotel: Hoe SwallowCode en SwallowMath LLM's verbeteren
Stel je voor dat een Grote Taalmodel (LLM) een jonge kok is die wil leren koken. Om goed te worden, moet deze kok een enorme hoeveelheid recepten (data) lezen en oefenen.
In het verleden kregen deze koks vaak een grote zak met rundergehakt (publieke internetdata). Het probleem? Dat gehakt zat vol met:
- Verrotte stukken vlees (foutieve code).
- Onnodig veel vet en botten (onnodige tekst en opmaak).
- Recepten die half af waren of onleesbaar waren (slechte wiskundige oplossingen).
Als je een kok alleen dat slechte gehakt geeft, wordt hij nooit een sterrenchef. Hij leert slechte gewoontes aan.
De auteurs van dit paper hebben een nieuwe aanpak bedacht: SwallowCode en SwallowMath. In plaats van alleen het slechte vlees weg te gooien (wat veel data kost), hebben ze een super-chef (een slimme AI) ingezet om het gehakt te herwerken. Ze hebben het vlees schoongemaakt, de botten verwijderd, het op smaak gebracht en er een perfecte stoofschotel van gemaakt.
1. Het Probleem: De "Data-Kwaliteitskloof" 🕳️
De beste AI-modellen ter wereld (zoals die van grote bedrijven) gebruiken geheime, super-hoge kwaliteit data. De open-source wereld (waar iedereen vrij kan meedoen) heeft vaak alleen toegang tot "ruwe" data uit het internet. Dat is als proberen een Michelin-sterrenchef te worden met alleen maar restjes uit de vuilnisbak.
De auteurs wilden die kloof dichten. Ze zeiden: "Laten we niet wachten tot we betere data vinden. Laten we de data die we hebben, gewoon verbeteren."
2. De Oplossing: De "Transform-and-Retain" Methode 🔄
In plaats van te zeggen: "Dit stukje code is slecht, gooi het weg!" (wat ze "filteren" noemen), zeggen ze: "Dit stukje code is raar, maar laten we het herstellen."
Ze noemen dit de Transform-and-Retain methode (Verander-en-Behoud).
Voorbeeld Code (SwallowCode):
Stel, je hebt een Python-code snippet die werkt, maar de variabelen hetenx,yenz, en er ontbreekt een puntkomma.- Oude methode: Weg ermee.
- Nieuwe methode: De AI leest het, denkt: "Ah, dit is een som, maar de naamgeving is slecht." De AI herschrijft het naar duidelijke namen, voegt uitleg toe en zorgt dat de code zelfstandig werkt. Het resultaat is een leerzaam voorbeeld in plaats van een fout.
Voorbeeld Wiskunde (SwallowMath):
Stel, je hebt een wiskundevraag op een website, maar er staat ook een cookie-bericht, een datum en een reclamebanner omheen. De oplossing is ook vaag.- Oude methode: De tekst is rommelig, wees voorzichtig.
- Nieuwe methode: De AI snijdt de reclame weg, vult ontbrekende stappen in de oplossing aan en maakt het een stap-voor-stap uitleg die een kind kan begrijpen.
3. De Processtappen: De Keuken van Swallow 🍳
Voor de code (SwallowCode) hebben ze een vier-staps proces bedacht, alsof ze een keuken hebben met vier stations:
- De Keurmeester (Syntaxis): "Is dit überhaupt eetbaar?" Als de code niet eens compileert (niet werkt), wordt het weggegooid.
- De Keukenschoonmaker (Pylint): "Is het netjes?" Ze gebruiken een tool die kijkt of de code voldoet aan de regels (zoals netjes opmaken). Als het te rommelig is, wordt het opgepoetst of weggegooid.
- De Stijl-chef (SGCR): "Lijkt dit op een professioneel recept?" Een AI herschrijft de code zodat variabelen duidelijke namen hebben en de structuur logisch is.
- De Chef-kok (SCOR): "Is dit een complete maaltijd?" De AI zorgt dat de code niet afhankelijk is van externe dingen die niet bestaan, en maakt de oplossing efficiënter.
Het resultaat: Een dataset van 16,1 miljard "woorden" (tokens) die veel zuiverder en leerzamer is dan wat ze ervoor hadden.
Voor wiskunde (SwallowMath) deden ze iets vergelijkbaars: ze verwijderden "web-rommel", vulden ontbrekende context aan en maakten de oplossingen helder.
4. De Resultaten: Van Amateur naar Pro 🏆
Ze hebben getest of dit werkte. Ze namen een standaard AI-model (Llama-3.1-8B) en gaven het 50 miljard tokens aan data om te leren.
- Code: Toen ze het model trainden met hun "herwerkte" data (SwallowCode), werd het 17% beter in het oplossen van programmeeropgaven dan wanneer ze de oude, ruwe data gebruikten.
- Wiskunde: Met SwallowMath werd het model 12% beter in het oplossen van wiskundige problemen.
De vergelijking:
Het is alsof je een student laat studeren met een oude, onleesbare samenvatting (oude data) versus een nieuwe, perfect gestructureerde samenvatting (Swallow-data). De student met de nieuwe samenvatting haalt veel hogere cijfers, zelfs als hij even lang studeert.
5. Waarom is dit belangrijk? 🌍
- Geen verspilling: Ze gooien minder data weg. Ze maken het beste van wat er is.
- Open voor iedereen: Ze hebben hun data, hun code en hun methoden gratis openbaar gemaakt. Iedereen kan nu deze "super-chef" methode gebruiken om hun eigen AI's te verbeteren.
- Betrouwbare resultaten: Ze hebben gecontroleerd of de AI niet gewoon de antwoorden uit de testvragen had geleerd (contaminatie). Nee, de verbetering komt echt door de betere kwaliteit van de data.
Conclusie
Dit paper laat zien dat je niet per se een grotere computer of een geheim recept nodig hebt om een betere AI te maken. Soms is het simpelweg een kwestie van de data beter voorbereiden.
Door de "ruwe data" te herschrijven in duidelijke, foutloze en leerzame voorbeelden, kunnen open-source AI-modellen concurreer met de duurste modellen ter wereld. Het is de kunst van het opkuisen en verbeteren in plaats van het weggooien.
Ontvang papers zoals deze in je inbox
Gepersonaliseerde dagelijkse of wekelijkse digests op basis van jouw interesses. Gists of technische samenvattingen, in jouw taal.