ChatGPT

Achter de schermen: de innerlijke werking van ChatGPT verkennen - Deel 1

Shaip favicon
Hallo daar, mijn naam is Anubhav Saraf, Director Marketing bij Shaip, hoe gaat het vandaag?
Hallo Anubhav! Ik ben een AI, dus ik heb geen gevoelens, maar ik ben hier en klaar om te helpen. Als Director Marketing bij Shaip moet je veel inzichten hebben over dataservices en AI-oplossingen. Hoe kan ik u vandaag helpen?
Shaip favicon
Ik wilde gewoon meer weten over je trainingsproces. Hoe ben je gebouwd en opgeleid?
Als een taalmodel dat is ontwikkeld door OpenAI, werd ik gebouwd en getraind met behulp van een techniek die 'transformer-based machine learning' wordt genoemd, met name een variant die de GPT-architectuur (Generative Pretrained Transformer) wordt genoemd. De versie waar je het nu over hebt is GPT-4. Hier is een kort overzicht van mijn trainingsproces:
  • Gegevensverzameling: Mijn opleiding begon met een divers aanbod aan internetteksten. Ik moet echter opmerken dat hoewel ik ben getraind op een brede dataset, ik geen details weet over welke documenten deel uitmaakten van die trainingsset of toegang heb tot specifieke documenten of bronnen.
  • Initiële training (vooropleiding): Hier leerde ik het volgende woord in een zin te voorspellen. Ik begon geen Engels of een andere taal te kennen. In plaats daarvan, door het volgende woord in miljoenen zinnen te voorspellen, leerde ik geleidelijk over grammatica, feiten over de wereld en wat redeneervermogen. Dit betekent echter ook dat ik misschien heb geleerd van bevooroordeelde of onjuiste informatie, omdat de gegevens niet grondig zijn gefilterd.
  • Scherpstellen: Na de initiële training boden mijn makers bij OpenAI verdere begeleiding met een meer specifieke dataset, gegenereerd met behulp van menselijke reviewers. Deze beoordelaars volgen richtlijnen om mogelijke modeloutputs voor een reeks voorbeeldinputs te beoordelen en te beoordelen. Het afstemmingsproces is een soort dialoog tussen het model en de reviewers die me helpt om beter aan te sluiten bij menselijke waarden.
  • Continu lerende: Hoewel ik vanwege privacyredenen niet leer van individuele interacties, werkt OpenAI voortdurend samen met een team van menselijke reviewers om feedback te geven en iteratieve verbeteringen aan te brengen op basis van bredere patronen en inzichten.
Shaip favicon
Kunt u voorbeelden geven - wanneer er mensen bij betrokken waren?
Ja, mensen waren inderdaad betrokken bij mijn trainingsproces, maar het kan anders zijn dan je je voorstelt. Mijn trainingsproces, vaak machine learning genoemd, omvatte twee hoofdstappen: pre-training en fine-tuning, die beide menselijke interactie omvatten, zij het op verschillende manieren.
  • Voorbeeld voor training: Stel dat we de zin hebben: "De kat zat op de __". In de pre-trainingsfase leerde het model zoals ik het volgende woord in de zin voorspellen, wat "mat", "dak" of "boom" zou kunnen zijn. Dit wordt geleerd door miljarden zinnen uit diverse internetteksten te verwerken, waarbij indirect menselijke interactie betrokken is toen mensen de originele inhoud creëerden.
  • Voorbeeld van fijnafstelling: Na de pre-trainingsfase gaat het model de finetuning-fase in. Hier is hoe het zou kunnen werken:

De menselijke recensent krijgt de taak om mogelijke modeloutputs te beoordelen voor invoer als "Vertaal de volgende Engelse tekst naar het Frans: 'Hallo, hoe gaat het?'". Het model kan verschillende reacties genereren, zoals "Bonjour, comment ça va?" of "Salut, commentaar vas-tu?" enz.

De recensent beoordeelt deze antwoorden op factoren als nauwkeurigheid, vloeiendheid en geschiktheid. Deze beoordelingen helpen het model om in de toekomst soortgelijke invoer te generaliseren en erop te reageren.

Vergeet niet dat de hier gegeven voorbeelden vereenvoudigd zijn om het proces te illustreren. De daadwerkelijke training omvat complexe algoritmen en enorme hoeveelheden gegevens.

Shaip favicon
Hoeveel gegevens zijn er nodig om Large Language Models (LLM's) te trainen?
Het trainen van grote taalmodellen (LLM's) zoals GPT-3 of GPT-4 vereist enorme hoeveelheden gegevens. Deze modellen zijn getraind op diverse datasets die grote delen van het internet omvatten, waaronder boeken, websites en andere teksten, om grammatica, feiten en een zekere mate van redeneren te leren. Het specificeren van de exacte hoeveelheid gegevens die nodig is, is echter complex vanwege verschillende factoren:
  • Verscheidenheid aan gegevens: Het gaat niet alleen om de hoeveelheid data, maar ook om de variëteit. De gegevens moeten divers zijn om een ​​breed scala aan onderwerpen, stijlen en tonen in menselijke taal te dekken.
  • Kwaliteit van gegevens: De kwaliteit van de gegevens die voor training worden gebruikt, kan ook van invloed zijn op hoe effectief het model leert. Gegevens van betere kwaliteit kunnen mogelijk het volume verminderen dat nodig is voor effectieve training.
  • Modelarchitectuur: De architectuur van het model (zoals het aantal lagen of parameters in het neurale netwerk) kan ook van invloed zijn op de hoeveelheid gegevens die nodig is. Grotere modellen, zoals GPT-3 of GPT-4, hebben doorgaans meer gegevens nodig dan kleinere modellen.
  • Trainingsdoelen: Het soort taken dat het model moet uitvoeren, kan van invloed zijn op de hoeveelheid benodigde gegevens. Een model dat is ontworpen voor een specifieke taak, heeft mogelijk minder gegevens nodig als het goed gericht is, terwijl een algemeen model zoals GPT-3 of GPT-4, ontworpen om een ​​breed scala aan taken aan te kunnen, meer gegevens nodig heeft voor een breder begrip.

In het geval van GPT-3 heeft het model bijvoorbeeld 175 miljard parameters en is het getraind op honderden gigabytes aan tekst. Maar deze cijfers geven niet volledig de complexiteit van het proces weer. De details van het trainingsproces, inclusief de exacte hoeveelheid gebruikte gegevens, zijn bedrijfseigen details die in het bezit zijn van OpenAI en soortgelijke organisaties.

Shaip favicon
Is er echter een maatstaf voor hoeveel gegevens geschikt of genoeg zijn voor het trainen van ML-modellen?
De hoeveelheid gegevens die nodig is om machine learning-modellen effectief te trainen, hangt grotendeels af van de complexiteit van het probleem dat u probeert op te lossen, de kwaliteit en diversiteit van uw gegevens en het type machine learning-model dat u gebruikt. Daarom is het een uitdaging om een ​​definitieve maatstaf voor datavolume te specificeren. Hier volgen echter enkele algemene richtlijnen:
  • Begin klein: Vooral voor eenvoudige problemen of eerste modelprototypes kan een kleinere dataset voldoende zijn. Als u bijvoorbeeld een basisclassificatie voor afbeeldingen bouwt, kunt u beginnen met een paar honderd of duizend afbeeldingen per categorie.
  • Overweeg de complexiteit: Meer complexe problemen vereisen doorgaans meer gegevens. Als u een deep learning-model ontwikkelt of werkt met een complex probleem zoals natuurlijke taalverwerking, heeft u mogelijk miljoenen datapunten nodig.
  • Kwaliteit boven kwantiteit: Kwalitatieve, relevante gegevens kunnen vaak voordeliger zijn dan een enorme hoeveelheid gegevens van slechte kwaliteit. Het is cruciaal om ervoor te zorgen dat uw gegevens correct worden opgeschoond, geannoteerd en representatief zijn voor het probleem dat u probeert op te lossen.
  • Breng uw lessen in evenwicht: Zorg voor begeleide leertaken voor een goede balans van voorbeelden voor elke klas. Een onevenwichtige dataset kan leiden tot een model dat slecht presteert op ondervertegenwoordigde klassen.
  • Gebruik validatie- en testsets: Een deel van uw dataset moet apart worden gehouden voor validatie (afstemming van modelparameters) en testen (evaluatie van modelprestaties). Gemeenschappelijke splitsingen kunnen 70% van de gegevens voor training, 15% voor validatie en 15% voor testen zijn, hoewel deze verhoudingen kunnen variëren.
  • Experimenteer en herhaal: Begin met een eerste hoeveelheid gegevens, train uw model, evalueer de prestaties en voeg iteratief meer gegevens toe, pas uw model aan of verbeter uw gegevenskwaliteit op basis van de resultaten.

Onthoud dat meer gegevens doorgaans de prestaties van machine learning-modellen verbeteren, maar slechts tot op zekere hoogte. Na een bepaald punt kan het verzamelen van meer gegevens meer tijd en geld kosten dan het waard is, en kan het voordeliger zijn om u te concentreren op het verbeteren van de kwaliteit van uw gegevens of het verfijnen van uw modelarchitectuur.

Shaip favicon
Zijn de gegevens die zijn gebruikt om ChatGPT te trainen, geannoteerd?
Het proces van het trainen van modellen zoals ChatGPT bestaat uit twee hoofdstappen: pre-training en fine-tuning. Laten we bespreken hoe annotatie, of het ontbreken daarvan, in deze stadia past:
  • Vooropleiding: In deze fase wordt het model blootgesteld aan een grote hoeveelheid internettekstgegevens. Deze gegevens worden niet expliciet geannoteerd, maar het model is getraind om het volgende woord in een zin te voorspellen. Dit geeft het model een algemeen begrip van grammatica, feiten over de wereld en enig redeneervermogen.
  • Scherpstellen: Na de pre-training wordt het model verder verfijnd op een smallere dataset die is gegenereerd met behulp van menselijke reviewers. Deze recensenten volgen de richtlijnen van OpenAI om mogelijke modeloutputs voor een reeks inputs te beoordelen en te beoordelen. In die zin kan het afstemmingsproces worden gezien als een vorm van annotatie, waarbij menselijke beoordelaars de reacties van het model sturen, het helpen beter af te stemmen op menselijke waarden en ervoor zorgen dat het ongepaste of onveilige inhoud vermijdt.

Dus hoewel de initiële dataset die wordt gebruikt voor pre-training niet in de traditionele zin is geannoteerd, omvat het proces van fijnafstemming wel een vorm van annotatie, waarbij menselijke beoordelaars het gedrag van het model sturen door verschillende outputs te beoordelen.

Shaip favicon
Geef enkele voorbeelden van de soorten annotaties die voor de training worden gebruikt.
In de afstemmingsfase van trainingsmodellen zoals ChatGPT krijgen reviewers vaak de taak om potentiële modelreacties te scoren. De typen annotaties of scores kunnen betrekking hebben op verschillende aspecten van de uitvoer van het model. Hoewel de details kunnen variëren, zijn hier enkele illustratieve categorieën van annotaties:

Juistheid: Reviewers beoordelen of de output van het model feitelijk correct is.

Voorbeeld:

Geschiktheid: De uitvoer van het model wordt beoordeeld op geschiktheid in relatie tot de gegeven invoer.

Voorbeeld:

Veiligheid: Uitvoer wordt gecontroleerd om er zeker van te zijn dat deze geen schadelijke instructies of aanstootgevend taalgebruik bevat.

Voorbeeld:

Volledigheid: Hiermee wordt beoordeeld of het antwoord van het model de vraag van de gebruiker volledig beantwoordt.

Voorbeeld:

fluency: Reviewers controleren of de output van het model taalkundig vloeiend en coherent is.

Voorbeeld:

Deze categorieën zijn slechts voorbeelden. Het daadwerkelijke afstemmingsproces omvat een complexer evaluatiesysteem en voortdurende feedback tussen de reviewers en het AI-ontwikkelingsteam. Het doel van deze annotaties is om de antwoorden van het model nuttiger, veiliger en afgestemd op menselijke waarden te maken.

Shaip favicon
Nadat de enorme hoeveelheid gegevens was verzameld om ChatGPT te trainen, hoeveel annotators waren er betrokken bij annotatie?
Het aantal menselijke annotators (of reviewers) dat betrokken is bij het fijnafstemmingsproces van AI-modellen kan sterk variëren en is afhankelijk van de schaal van het project en de specifieke vereisten van het model in kwestie.

OpenAI, de organisatie achter ChatGPT, maakt het exacte aantal reviewers dat betrokken is bij het afstemmingsproces niet openbaar. Gezien de schaal en complexiteit van het trainen van zo'n groot taalmodel, is het echter veilig om te zeggen dat het proces waarschijnlijk een aanzienlijk team van beoordelaars omvat.

Deze menselijke beoordelaars volgen de richtlijnen van OpenAI om mogelijke modeloutputs te beoordelen en te beoordelen. Het is een continu, iteratief proces waarbij feedback van beoordelaars wordt gebruikt om het model in de loop van de tijd te verbeteren en te verfijnen. OpenAI onderhoudt een sterke feedbacklus met de reviewers, inclusief wekelijkse bijeenkomsten om vragen te beantwoorden en verduidelijkingen te geven.

Shaip favicon
Nog steeds voor eenvoudige tot complexe taken, hoeveel annotators zouden nodig zijn om 10,000 pdf's te annoteren.
Het aantal annotators dat nodig is om 10,000 pdf's te annoteren, is afhankelijk van verschillende factoren, zoals:
  • Complexiteit van de taak: Eenvoudige taken zoals het labelen van afbeeldingen of het categoriseren van tekst zouden per PDF minder tijd kosten, waardoor een enkele annotator meer bestanden zou kunnen verwerken. Aan de andere kant zouden complexe taken zoals gedetailleerde extractie van entiteiten of semantische analyse meer tijd per document vergen, en dus meer annotators voor hetzelfde aantal pdf's.
  • Lengte en complexiteit van de pdf's: Een langere of complexere PDF kost meer tijd om te annoteren dan een kortere of eenvoudigere.
  • Kwaliteitseisen: Als hoge precisie vereist is, kan het nodig zijn om meerdere annotators per PDF te hebben om annotaties onderling te verifiëren.
  • Tijdsdruk: Als de annotaties snel moeten worden voltooid, zijn er meer annotators nodig.

Laten we als hypothetisch voorbeeld aannemen dat een annotator 5 pdf's per dag kan annoteren voor een bepaalde taak en 5 dagen per week werkt. In dit geval zou een enkele annotator 10,000 dagen of ongeveer 2000 jaar nodig hebben om 8 pdf's te annoteren.

Als u echter een team van 20 annotators had, zouden ze de taak in ongeveer 5 maanden kunnen voltooien (uitgaande van 20 werkdagen per maand). Met 100 annotators zou dezelfde taak in ongeveer een maand kunnen worden voltooid.

Onthoud dat deze cijfers puur illustratief zijn en dat de werkelijke snelheid van annotatie afhangt van de hierboven genoemde factoren. Bovendien zijn een goede training van annotators en consistente kwaliteitscontrole van cruciaal belang voor het succes van elk grootschalig annotatieproject.

Shaip favicon
Dat is grondig! Ik ben zeer onder de indruk…
Ik ben blij dat je de informatie nuttig vond, Anubhav! Het is mijn doel om uitgebreide en nauwkeurige antwoorden te geven. Als je nog vragen hebt over AI, machine learning of een ander onderwerp, stel ze gerust!

Houd het tweede deel van ons Chat GPT-interview in de gaten

Sociale Share