Helpt het echt om ChatGPT letterlijk te vragen langer en dieper na te denken?
Je leest wel eens de tip dat ChatGPT een beter antwoord geeft wanneer je letterlijk vraagt om langer, grondiger of dieper na te denken. Dat klinkt bijna alsof je een mens vraagt om wat beter zijn best te doen. Maar zit er werkelijk iets achter? Ik zocht het op in een aantal belangrijke onderzoeken en legde de vraag daarna ook aan ChatGPT zelf voor.
Wat bedoel ik met “langer en dieper nadenken”?
Stel dat je ChatGPT een moeilijke vraag stelt. Je kunt gewoon vragen om een antwoord, maar je kunt ook een extra instructie toevoegen:
Of iets uitgebreider:
Bij een mens begrijpen we onmiddellijk wat daarmee bedoeld wordt. Je vraagt iemand om niet het eerste antwoord te geven dat in hem opkomt, maar het probleem eerst beter te bekijken.
Bij een taalmodel werkt dat uiteraard anders. ChatGPT wordt niet plots gemotiveerder en het “concentreert” zich niet zoals een mens dat doet.
De interessante vraag is daarom of zo’n instructie het model ertoe kan brengen om een andere aanpak te gebruiken.
- het probleem eerst op te splitsen;
- meer mogelijke oplossingen te bekijken;
- aannames te controleren;
- tussenstappen niet over te slaan;
- en het uiteindelijke antwoord nog eens te controleren.
Dit soort technieken wordt al enkele jaren uitgebreid onderzocht. Begrippen zoals chain-of-thought prompting, step-by-step reasoning en test-time compute komen daarbij regelmatig terug.
Een eenvoudige extra instructie kan een groot verschil maken
Ik heb voor deze blogpost een aantal belangrijke en vaak aangehaalde onderzoeken bekeken. Ze onderzoeken niet allemaal exact dezelfde techniek, maar ze helpen wel om de vraag te beantwoorden.
In dit bekende onderzoek voegden de onderzoekers een verrassend eenvoudige instructie toe aan redeneerproblemen: “Let’s think step by step.”
Op bepaalde tests was het verschil bijzonder groot. Op de wiskundige GSM8K-test steeg de nauwkeurigheid van het gebruikte InstructGPT-model bijvoorbeeld van 10,4% naar 40,7%. Op MultiArith ging de score van 17,7% naar 78,7%.
Dat betekent niet dat iedere ChatGPT-vraag vier keer beter wordt door één zin toe te voegen. Het toont wel aan dat een eenvoudige instructie het redeneergedrag van een taalmodel sterk kan beïnvloeden.
Bekijk het onderzoekIn een tweede invloedrijk onderzoek kregen taalmodellen voorbeelden te zien waarin niet alleen het eindantwoord stond, maar ook de tussenliggende redenering.
De onderzoekers vonden verbeteringen bij verschillende complexe taken, waaronder rekenen, logisch redeneren en problemen waarvoor meerdere opeenvolgende denkstappen nodig waren.
Ook hier is de belangrijke boodschap dat het niet altijd optimaal is om een taalmodel rechtstreeks naar een eindantwoord te sturen.
Bekijk het onderzoek“Take a deep breath…”
Dit onderzoek is bijzonder interessant omdat onderzoekers AI-modellen zelf naar goede instructies lieten zoeken.
Een van de sterk presterende instructies die daaruit naar voren kwam, was:
Vrij vertaald: haal diep adem en werk dit probleem stap voor stap uit.
Op de GSM8K-test behaalde deze formulering in de gerapporteerde vergelijking een score van 80,2%, tegenover 71,8% voor het klassieke “Let’s think step by step”.
Andere onderzoekers gingen een stap verder. In plaats van het model alleen te vragen stap voor stap te denken, lieten ze het eerst een plan voor de oplossing maken.
Het model moest in essentie:
- het probleem eerst begrijpen;
- een plan opstellen;
- het probleem in kleinere onderdelen verdelen;
- en daarna pas de oplossing uitwerken.
De onderzoekers rapporteerden op tien datasets betere resultaten dan met de eenvoudigere Zero-shot Chain-of-Thought-aanpak.
Dat is voor praktisch gebruik misschien nog interessanter. Het suggereert dat niet alleen “denk beter”, maar vooral “dit is hoe ik wil dat je het probleem benadert” belangrijk kan zijn.
Bekijk het onderzoekMeer nadenken kan helpen, maar langer is niet automatisch beter
Bij nieuwere redeneermodellen speelt nog iets anders mee: hoeveel rekenwerk het model tijdens het oplossen van een probleem kan gebruiken.
Onderzoek naar zogenaamde test-time compute laat zien dat extra rekenwerk tijdens het beantwoorden van moeilijke problemen de prestaties kan verbeteren.
Opvallend was dat een kleiner model in bepaalde omstandigheden met slim toegewezen extra rekenkracht zelfs beter kon presteren dan een model dat veertien keer groter was.
Bekijk het onderzoekEr is tegelijk een belangrijke nuance. Een recenter onderzoek naar redeneermodellen vond geen eenvoudige relatie waarbij een langere redenering automatisch een correcter antwoord oplevert.
In sommige omstandigheden konden langere redeneertrajecten zelfs samengaan met slechtere resultaten.
meer nuttige analyse kan helpen, maar simpelweg meer stappen of meer tekst produceren is geen garantie op een beter antwoord.
Ik vroeg het vervolgens aan ChatGPT zelf
Na het bekijken van deze onderzoeken wilde ik ook weten hoe ChatGPT zelf deze vraag zou beantwoorden.
Ik stelde daarom de vraag en voegde er bewust precies de instructie aan toe waar deze blogpost over gaat:
Denk lang en diep na vooraleer je je antwoord formuleert.
Dat levert natuurlijk geen onafhankelijk wetenschappelijk bewijs op. ChatGPT kan zijn eigen werking niet gebruiken als bewijs voor de claim. Ik vond het wel interessant om te vergelijken of het antwoord overeenkwam met wat in de onderzoeken naar voren kwam.
Wat antwoordt ChatGPT?
Ja, zo’n instructie kan helpen, maar niet omdat ChatGPT daardoor gemotiveerder wordt of letterlijk harder zijn best doet.
Een taalmodel reageert op de instructies die het krijgt. Wanneer je expliciet vraagt om een probleem grondig te analyseren, verschillende mogelijkheden te bekijken, aannames te controleren en het antwoord nog eens te beoordelen, kan dat de manier waarop het model de opdracht aanpakt beïnvloeden.
Vooral bij complexere vragen waarbij meerdere redeneerstappen nodig zijn, kan een dergelijke instructie nuttig zijn.
Maar “denk langer” is geen magische opdracht. Een langere redenering of een langer antwoord is op zichzelf geen garantie op meer kwaliteit. Het model kan ook langer redeneren en alsnog een verkeerde aanname maken.
Bovendien is er een verschil tussen een prompt die het model aanzet tot een grondigere aanpak en systemen waarbij het model daadwerkelijk meer rekencapaciteit voor het oplossen van een probleem krijgt. Die twee zaken zijn niet automatisch hetzelfde.
Daarom zou ik zelf niet alleen schrijven:
Ik zou de instructie concreter maken:
Daarmee vertel je ChatGPT niet alleen dat je een grondig antwoord wilt, maar ook hoe je wilt dat het probleem wordt aangepakt.
Conclusie: ja, maar formuleer het slimmer
Er zijn goede aanwijzingen dat het kan helpen om ChatGPT expliciet aan te zetten tot een grondigere en meer gestructureerde analyse.
Onderzoek naar onder meer “Let’s think step by step”, Chain-of-Thought, Plan-and-Solve en extra rekenwerk tijdens het beantwoorden laat zien dat de manier waarop een model een probleem aanpakt een grote invloed kan hebben op het resultaat.
Maar daaruit mogen we niet besluiten dat je voortaan alleen maar “denk langer” onder iedere prompt moet zetten.
De sterkste les uit de onderzoeken lijkt mij een andere: geef ChatGPT bij moeilijke opdrachten aanwijzingen voor een betere aanpak.
Dus liever:
dan alleen:
Maar bij een moeilijke vraag is het dus helemaal niet zo gek om ChatGPT expliciet te vertellen dat je geen snel antwoord wilt, maar een zorgvuldig overwogen antwoord.
Meer praktische tips over het gebruik van AI vind je in het overzicht met AI-tips op AiLabo.eu. Wie nog maar pas met AI begint, kan ook terecht in de gratis basiscursus.