hoe-werkt-chatgpt

De afgelopen maanden heeft de zogenoemde chatbot ChatGPT veel aandacht gekregen, maar hoe werkt ChatGPT eigenlijk?

De chatbot is dusdanig slim dat in korte tijd veel mensen er gebruik van maken. Zo gebruiken scholieren het om huiswerk te maken maar is er door de snelle opkomst ook aandacht voor de risico's en gevaren.

In deze blog leggen we o.a. uit:

Wat is ChatGPT?

ChatGPT is een tool die doormiddel van AI (artifical intelligence) goed om kan gaan met taal. Wanneer je een prompt (een bericht) geeft aan ChatGPT, verwerkt deze jouw prompt en geeft een antwoord (output) dat statistisch gezien het beste past bij jouw input. ChatGPT kan dat dusdanig goed dat het betere antwoorden geeft dan veel mensen zouden kunnen. Je kan het zelf uitproberen op de website van OpenAI.

Tips & voorbeelden voor goede ChatGPT prompts.

ChatGPT is een large language model, kortweg LLM, ontwikkeld door OpenAI, een bedrijf waarin o.a. Microsoft aandeelhouder is. Het is niet de enige LLM; ook Google en Meta (het moederbedrijf van Facebook) hebben soortgelijke modellen ontwikkeld. Google heeft Bard en Meta heeft LLama. Op het moment van schrijven is ChatGPT het model dat doorgaans de beste antwoorden geeft.

Technische werking ChatGPT

De 'GPT' in ChatGPT staat voor 'Generative Pre-trained Transformer'. 'Pre-trained' betekent dat het model op veel data is getraind en 'transformer' is een specifiek type neural network. Neural networks kunnen ook worden gebruikt voor bijvoorbeeld beeldherkenning, zoals in onze training voor image recognition.

Een neural network is geïnspireerd op de werking van de hersenen waarbij neuronen met elkaar verbonden zijn. In een neural network zijn dit nodes die middels meerdere lagen met elkaar verbonden zijn. Een neural network bestaat uit:

  1. Een inputlaag. Deze input kan van alles zijn. In het geval van ChatGPT is dit vaak een prompt, de vraag die jij als gebruiker stelt aan ChatGPT.
  2. Deze prompt gaat, afhankelijk van de input en de gewichten van de nodes, door het netwerk heen.
  3. Een outputlaag. Bij ChatGPT is dit het antwoord dat je terugkrijgt.

Onderstaande afbeelding geeft een versimpelde weergave van deze logica. Elke rondje is een node.

neural-network-hoe-werk-chatgpt-uitleg

ChatGPT is een neural network met 175 miljard nodes. Dit geeft meteen aan waarom het een large language models wordt genoemd. Deze modellen vereisen dusdanig veel rekenkracht dat zowel het trainen als runnen van de modellen op de meeste computers niet mogelijk is.

Mogelijke risico's ChatGPT

Sinds de opkomst van ChatGPT wordt er vaak gewezen op de risico's en problemen die dergelijke modellen kunnen hebben. Enkele voorbeelden van deze risico's zijn:

  1. Veiligheid en privacy: LLMs worden grotendeels automatisch getraind. Het kan zijn dat ze getraind worden op data die privacygevoelige of veiligheidsrisico's met zich meebrengt.
  2. Onjuiste antwoorden: ChatGPT is populair omdat de antwoorden vaak zeer goed zijn, maar ook ChatGPT kan foute antwoorden geven. Momenteel is het voor de gebruiker niet eenvoudig om te controleren of de antwoorden die ChatGPT geeft daadwerkelijk kloppen.
  3. Oneigenlijk gebruik: ChatGPT is getraind op teksten. Deze teksten kunnen eigendom zijn van iemand (intellectual property), waardoor het discutabel is of je deze teksten wel mag gebruiken om een model op te trainen.

Dit zijn slechts een aantal voorbeelden van mogelijke risico's. In de kern delen deze risico's dezelfde oorzaak: ChatGPT is een model dat grotendeels automatisch wordt getraind op een grote hoeveelheid aan teksten. De kwaliteit van de output wordt niet door mensen gecontroleerd en is afhankelijk van de data waarop het model getraind wordt.

Deze risico's zijn echter niet uniek voor algoritmes. De kwaliteit van de antwoorden is bij andere media of tools (Google, Wikipedia of boeken) evenmin gegarandeerd, en elke tekst is vaak op een manier wel geïnspireerd door andere teksten. Desalniettemin is de schaal waarop ChatGPT dit toepast wel nieuw, waardoor deze risico's hernieuwde aandacht krijgen.

Nuttige toepassingen ChatGPT

Op de website van OpenAI wordt ChatGPT als een chatbot aangeboden, en dit is meteen een zeer nuttige toepassing. ChatGPT is zo een handige digitale asssitent die vaak een duidelijk antwoord paraat heeft op jouw vraag. Voorbeelden van vragen die je kunt stellen:

  1. Vraag om opties voor een vakantie gegeven jouw voorkeuren, en vraag gedurende het gesprek door om tot een goede mogelijkheid te komen.
  2. Programmeurs kunnen aangeven wat voor stukken code zij wensen te hebben, ChatGPT geeft dan automatisch code die vaak (maar niet altijd) goed werkt met minimale aanpassing.
  3. Varieëer in de toon waarmee ChatGPT antwoorden geeft door dit verzoek mee te geven in de vraag. Bijvorbeeld: "geef op humoristische wijze antwoord op de volgende vraag:"

Daarnaast is het ook mogelijk om de API te gebruiken om op die manier meer mogelijkheden te krijgen:

  1. Integreer ChatGPT in andere applicaties middels deze API.
  2. Gebruik de API om ChatGPT ook vragen te laten beantwoorden over jouw persoonlijke documenten. Het Python package Langchain, dat op zijn beurt weer gebruik maakt van de API, maakt dit makkelijk.
  3. Het is ook mogelijk om functies te definiëren. Deze functies kunnen bijvoorbeeld ook andere API's aanroepen, waarmee je ChatGPT interactie kunt laten hebben met andere systemen.

Conclusie

ChatGPT is zeer goed in omgaan met taal. Aangezien taal voor alles toepgeast kan worden, betekent dit dat ook de mogelijkheden met ChatGPT zeer groot zijn. Dit kan door gebruik te maken van de chatinterface van OpenAI en hoe je daar de vragen stelt, maar ook door de API te gebruiken en zo ChatGPT te integreren met andere systemen.

by: