-- Dennis Layton, A proponent for the responsible adoption of AI, 25 jan. 2023
Als gegevenspersoon vroeg ik me af wat de gegevensbronnen zijn voor het trainen van ChatGPT en DALL-E-2. We worstelen allemaal met de heuristische aard van AI, maar als we weten waar de gegevens vandaan komen, kan dat enig inzicht geven in het soort resultaten dat we mogen verwachten.
Verder bestaat er een wijdverbreide misvatting dat OpenAI het hele web doorzoekt, terwijl het traint, terwijl de waarheid is dat er veel gegevensbeheer is besteed aan het voorbereiden van de gegevens die voor training worden gebruikt en dat niet alles door OpenAI is gedaan.
ChatGPT (GPT-3) gegevensbronnen
De onderstaande tabel is afkomstig uit het artikel met de titel: Taalmodellen zijn kleine leerlingen. Het toont de datasets die zijn gebruikt om GPT-3 te trainen. Het basismodel voor ChatGPT. Deze informatie was niet makkelijk te vinden en ik verwacht dat dit in de loop van de tijd moeilijker zal worden. Het is ook interessant om op te merken dat dit eigenlijk een zeer kleine hoeveelheid gegevens is, ongeveer 570 GB aan gegevens. (noot 2 en 3)
ChatGPT (GPT-3) gegevensbronnen
Dit is wat we weten. Laten we beginnen met de Common Crawl-dataset, die het grootste deel van de trainingsdataset vormde. Meer informatie over deze dataset vindt u hier https://commoncrawl.org .
De Common Crawl is een open en gratis te gebruiken dataset die petabytes aan gegevens bevat die sinds 2008 via internet zijn verzameld. Training voor GPT-3, het basismodel van ChatGPT, nam een subset van die gegevens over 2016 tot 2019. Dit was 45 TB aan gecomprimeerde platte tekst vóór het filteren en slechts 570 GB erna. Dit komt ongeveer overeen met 400 miljard byte_pair gecodeerde tokens.
WebText2 is de tekst van webpagina's van alle uitgaande Reddit-links van berichten met 3+ upvotes.
Books1 & Books2 zijn twee op internet gebaseerde boekencorpora.
Wikipedia-pagina's in de Engelse taal maken ook deel uit van het trainingscorpus.
Merk op dat tijdens de training datasets die het Open AI-team beschouwde als zijnde van hogere kwaliteit, vaker werden bemonsterd. Als zodanig worden de Common Crawl- en Books2-datasets minder dan één keer bemonsterd tijdens de training, maar de andere datasets worden 2-3 keer bemonsterd. Deze kleine hoeveelheid overfitting was de ruil voor trainingsgegevens van hogere kwaliteit.
De grootte van de Common Crawl-dataset is meer dan voldoende om de grootste modellen te trainen, maar ongefilterde of licht gefilterde versies van de Common Crawl zijn meestal van mindere kwaliteit dan meer gecureerde datasets. Er was een proces in drie stappen bij het voorbereiden van de gegevens voor training.
Download en filter een versie van de Common Crawl-dataset op basis van een overeenkomst met een reeks hoogwaardige referentiecorpora.
Deduplicatie op documentniveau, binnen en tussen datasets
Hoogwaardige referentiecorpora toegevoegd om de diversiteit van de Common Crawl-dataset te vergroten en te verbeteren.
Dit lijkt allemaal in te druisen tegen de meer conventionele opvatting dat deze modellen net zo slim zijn als ze zijn vanwege de enorme hoeveelheid gegevens die tegenwoordig op internet te vinden zijn. Volgens de meest recente schatting, gemaakt door Eric Schmidt, de CEO van Google, bevat het internet ongeveer 5 miljard GB. Daarom is het gebruik van een zeer kleine subset van de gegevens (570 GB) een betere manier om deze modellen te trainen.
In een notendop, wat de afgelopen jaren is geleerd, is dat werken met een kleinere hoeveelheid hoogwaardige gegevens met een groter model, vaak uitgedrukt in parameters, een betere manier is om te gaan. De trend in taalmodellen is om het aantal parameters te verhogen van 100 miljoen in 2018 naar de 175 miljard parameter GPT-3.
Bedenk dat GPT-2 en GPT-3 zijn getraind op dezelfde hoeveelheid tekstgegevens, ongeveer 570 GB, maar GPT-3 heeft aanzienlijk meer parameters dan GPT-2, GPT-2 heeft 1,5 miljard parameters terwijl GPT-3 175 miljard parameters heeft . Door het aantal parameters te vergroten, kan het model complexere patronen en structuren van natuurlijke taal leren, waardoor het meer mensachtige tekst kan genereren en natuurlijke taal beter kan begrijpen.
Even terzijde: GPT-3 gebruikt ook meer geavanceerde technieken om de patronen en structuren van natuurlijke taal te leren, zoals aandachtsmechanismen en "transformatorlagen" die niet aanwezig waren in GPT-2. Het gaat niet alleen om de parameters.
Het is interessant om op te merken dat dit vergelijkbaar is met de manier waarop mensen taal leren. We hebben meestal maar een paar voorbeelden nodig om het meeste van wat we weten op een redelijk competentieniveau te leren. Een paar voorbeelden van wat een boom is en dat een bos uit een aantal bomen bestaat was voldoende. Het is ons leervermogen dat belangrijker is dan het aantal voorbeelden dat we krijgen. Dit lijkt ook te gelden voor machine learning.
De onderstaande tabel laat zien hoe, gegeven hetzelfde aantal voorbeelden in context, hoe de nauwkeurigheid verbetert (het model leert meer) voor grotere modellen. Dit is een van de redenen waarom we kunnen verwachten dat GPT-4 ordes van grootte groter zal zijn dan GPT-3.
Hoe leerde ChatGPT (GPT-3) programmacode schrijven?
Dus hoe zit het met programmeren, hoe heeft GPT-3 leren coderen? Het staat in de trainingsgegevens. GPT-3 kan programmeercode genereren omdat het is getraind op een grote dataset met tekst die voorbeelden van programmeercode bevat. Hierdoor kan het de patronen, structuren en syntaxis van verschillende programmeertalen leren.
Bij het genereren van code gebruikt GPT-3 zijn begrip van programmeertalen en zijn vermogen om mensachtige tekst te genereren om code te produceren die syntactisch correct is en de conventies van de taal volgt. In een eerder artikel heb ik laten zien hoe ChatGPT veel kon onderscheiden van alleen een schema van een dataset, inclusief hoe de totale verkoop te bepalen, van een prijs- en hoeveelheidsgegevensvelden in het schema. Daarvoor was meer nodig dan kennis over coderen.
Het is echter belangrijk op te merken dat GPT-3 geen volledig programmeertaalmodel is en niet hetzelfde niveau van begrip van programmeerconcepten en logica heeft als een menselijke programmeur. Het is meer een tool voor het aanvullen van codes, het kan codefragmenten genereren die syntactisch correct zijn en de conventies van de taal volgen, maar het begrijpt misschien niet altijd de logica of het doel van de code die het genereert. Het belangrijkste is dat het de code die het genereert niet kan valideren, en het ook niet zelf kan debuggen.
Even terzijde, ik hoorde van deze beperkingen door ChatGPT te vragen. Er is momenteel een geweldige sport voor critici van AI om dezelfde beperkingen te vinden door ChatGPT te gebruiken en deze vervolgens te gebruiken als redenen om er niet op te vertrouwen, alsof het geen goede zaak is om te vertrouwen op een teamlid dat minder dan perfecte programmeervaardigheden heeft idee.
Wat de DALL-E-2-gegevensbronnen voor het genereren van tekst naar beeld
Voordat er ChatGPT was, was er het genereren van tekst naar afbeelding en het model van OpenAI staat bekend als DALL-E-2. De eerste versie van DALL-E gebruikte een uitbreiding van de technologie achter GPT-3, waarbij afbeeldingen werden geproduceerd door de volgende pixel in een afbeelding te voorspellen alsof het woorden in een zin waren. Dit werkte, maar niet goed.
Voor DALL-E 2 gebruikte OpenAI een diffusiemodel. Diffusiemodellen zijn neurale netwerken die zijn getraind om beelden op te schonen door gepixelde ruis te verwijderen die het trainingsproces toevoegt. Het proces omvat het nemen van afbeeldingen en het wijzigen van een paar pixels per keer, in vele stappen, totdat de originele afbeeldingen zijn gewist en je alleen maar willekeurige pixels overhoudt. De magie gebeurt wanneer het neurale netwerk wordt getraind om dat proces om te keren en te voorspellen hoe de minder gepixelde versie van een bepaald beeld eruit zou zien.
Dit proces wordt geleid door het taalmodel dat een prompt probeert te matchen met de afbeeldingen die het diffusiemodel produceert. Dit duwt het diffusiemodel in de richting van beelden die het taalmodel als een goede match beschouwt.
Dus, waar komen de beelden vandaan waarop DALL-E-2 is getraind. Net als de Common Crawl is er nog een gratis te gebruiken bron genaamd LAION.
LAION bevat miljarden combinaties van tekst en afbeeldingen die van internet zijn geschraapt.
Zie : https://laion.ai/
Herinner je je de eerder in dit artikel genoemdeCommon Crawl-dataset nog? LAION vindt afbeeldingen door de Common Crawl-gegevens te ontleden en alle HTML IMG-tags te identificeren die een alt-text-attribuut bevatten. Volgens de LAION-website houden ze na het filteren van meer dan 50 miljard kandidaten iets minder dan 6 miljard over, vandaar dat de dataset Laion5B wordt genoemd.
Dus waarom doet dit er allemaal toe? Generatieve AI-modellen zijn deels het product van hun architectuur en schaal gemeten in parameters en lagen, maar ze vertrouwen ook op gegevens van hoge kwaliteit die vooraf goed zijn samengesteld. We passen ons allemaal aan aan het feit dat AI-modellen van nature heuristisch zijn, in tegenstelling tot programma's die op algoritmen zijn gebaseerd, zijn de resultaten niet volledig voorspelbaar en vaak niet reproduceerbaar. Als we weten waar de gegevens vandaan komen die zijn gebruikt om deze generatieve modellen te trainen, krijgen we enig inzicht in wat de resultaten kunnen zijn.
Dat gezegd hebbende, de vraag die overblijft is dat met alle investeringen die worden gedaan in AI, hoe lang we deze informatie nog kunnen vinden.
Dit vertaalde artikel gebruik ik primair om familie en vrienden meer inzicht in huidige LLM-gebaseerde AI te geven. (LLM
Exrta voor de overzichtelijkheid t.b.v mijn (beperkte) lezerkring
Noot 1: Vertaald met Google Translate / fouten door DeepL
Noot 2: Enkele links naar de Dataset sites zijn toegevoegd, delen van de oorspronkelijke tekst zijn gekleurd en gehighlighted
Noot 3 Mijn Desktop computer heeft al meer dan 5.000 GB aan harde schijven
Met dank aan de auteur die mij een goed inzicht wist te geven met dit artikel nadat ik het vertaald had.
Op LinkedIn staan nog meer artikelen van de auteur Dennis Layton
WHAT’S IN MY AI? A Comprehensive Analysis of Datasets Used to Train GPT-1, GPT-2, GPT-3, GPT-NeoX-20B, Megatron-11B, MT-NLG, and Gopher , Alan D. Thompson - LifeArchitect.ai March 2022
WAT ZIT ER IN MIJN AI? Een uitgebreide analyse van datasets die worden gebruikt om GPT-1, GPT-2, GPT-3, GPT-NeoX-20B, Megatron-11B, MT-NLG en Gopher te trainen
Update 15.08.2024