Ga naar de hoofdinhoud
BVDNET
Arnhem · websites & automatiseringBVDNET
Kernconcepten

Pre-training

Pre-training is de eerste en grootste trainingsfase van een AI-model: het leert taal en algemene kennis uit zeer veel tekst, voordat het voor taken wordt aangepast.

Ook bekend als: pretraining, pre-train, voortraining

Pre-training is de eerste en grootste fase in het maken van een AI-model. Het model leest een zeer grote hoeveelheid algemene tekst, zoals webpagina's en boeken, en leert daaruit hoe taal werkt en veel over de wereld. Daarna wordt het verder getraind voor een taak, zoals klanten te woord staan. Daarom weet een chatbot veel in het algemeen en weinig over je eigen bedrijf.

Waar komt de term vandaan?

Pre-training betekent een model vanaf nul trainen: de gewichten beginnen met willekeurige waarden, en het model leert van een zeer grote verzameling data, wat weken kan duren (Hugging Face). Het resultaat wordt daarna met veel minder data aan een taak aangepast, een vorm van transfer learning. De eerste GPT van OpenAI (2018) paste dat toe op taal: generatieve pre-training op ongelabelde tekst, daarna fine-tuning per taak, wat op 9 van de 12 taken de beste eerdere resultaten versloeg. De P in GPT staat ervoor: generative pre-trained transformer (Eloundou e.a., 2023).

Hoe werkt het?

Pre-training heeft geen labels nodig, omdat de tekst zelf de antwoorden levert (self-supervised learning). Een model in de stijl van GPT voorspelt het volgende token op basis van de voorgaande. BERT van Google verbergt een deel van de woorden en voorspelt ze uit de woorden aan beide kanten (Devlin e.a., 2018). Zo leert het model, schrijft Meta in het Llama 3-paper, de structuur van taal en veel kennis over de wereld uit de tekst die het 'leest'.

Hoeveel data een model nodig heeft, is het onderwerp van schalingswetten. Hoffmann e.a. (DeepMind, 2022) vonden dat modelgrootte en trainingsdata voor het beste resultaat bij een vast rekenbudget even hard moeten groeien. Hun Chinchilla, met 70 miljard parameters en vier keer zoveel data, versloeg het Gopher-model van 280 miljard parameters met hetzelfde budget.

Wat komt er na pre-training?

Een voorgetraind model begrijpt taal goed, schrijft Meta, maar volgt nog geen instructies en gedraagt zich nog niet als assistent. Post-training zorgt daarvoor: supervised fine-tuning op voorbeelden van goede antwoorden, daarna leren van menselijke voorkeuren, bijvoorbeeld met RLHF. In het InstructGPT-onderzoek van OpenAI (Ouyang e.a., 2022) gaven mensen de voorkeur aan de antwoorden van een zo getraind model met 1,3 miljard parameters boven die van GPT-3 met 175 miljard. Over GPT-4 zegt het technisch rapport alleen dat het vooraf is getraind om het volgende token te voorspellen, op openbare data zoals internetdata en op gelicentieerde data, en daarna is bijgestuurd met RLHF. Modelgrootte, rekenkracht en dataset noemt het niet.

Wat kost het?

Pre-training is het dure deel. De AI Index 2024 van Stanford schatte de rekenkosten voor het trainen van GPT-4 op 78 miljoen dollar en voor Gemini Ultra van Google op 191 miljoen. Hugging Face raadt daarom aan te beginnen met een voorgetraind model dat zo dicht mogelijk bij je taak ligt en dat te fine-tunen, wat veel minder tijd, data en geld kost. Heb je veel tekst uit één vakgebied, dan kan een tweede ronde pre-training op die tekst nog helpen: Gururangan e.a. (2020) maten winst op classificatietaken in vier domeinen met deze domain-adaptive pre-training.

Waar gaat het mis?

Een model weet alleen wat in zijn pre-trainingsdata stond. De data van Meta voor Llama 3 bevat kennis tot eind 2023, en Anthropic noemt in zijn modeloverzicht per Claude-model een training data cutoff (september 2026). Ook de kwaliteit van de tekst telt. Toen OpenAI de data voor GPT-2 (2019) samenstelde, merkte het op dat webscrapes zoals Common Crawl flinke problemen met de datakwaliteit hebben.

Voorbeeld

Meta trainde zijn grootste Llama 3-model, met 405 miljard parameters, vooraf op 15,6 biljoen tokens, met tot 16K H100-grafische kaarten en bijna 50 keer de rekenkracht van de grootste Llama 2. Eerst trainde het met een contextvenster van 8K tokens, daarna ging de pre-training door tot 128K. Pas daarna kwam de post-training: meerdere rondes supervised fine-tuning en training op voorkeuren, waarmee het model een assistent werd die instructies volgt.