Graph of Thoughts (NL)

From Systems analysis Wiki
Jump to navigation Jump to search

Graph-of-Thoughts (GoT) — dit is een concept op het gebied van het werken met grote taalmodellen (LLM, Large Language Models), waarbij het redeneerproces van het model wordt voorgesteld als een willekeurige graaf van onderling verbonden «gedachten» (tussenliggende oplossingsstappen)[1]. Deze aanpak werd voorgesteld door een groep onderzoekers onder leiding van Maciej Besta uit ETH Zurich en gepubliceerd in 2024 op de AAAI-conferentie[2]. Het doel van Graph-of-Thoughts is het uitbreiden van de mogelijkheden van prompt engineering (het ontwikkelen van zoekopdrachten) voorbij bestaande schema's zoals Chain-of-Thought (gedachtenketen) en Tree-of-Thoughts (gedachtenboom)[1]. In tegenstelling tot deze benaderingen laat GoT toe dat elk door het model gegenereerd redeneeringsfragment (gedachte) naar elk ander fragment verwijst, waardoor een netwerk van ideeën ontstaat in plaats van een strikt lineaire of boomvormige structuur[3]. Dit weerspiegelt volgens de auteurs nauwkeuriger het complexe, niet-lineaire karakter van het menselijk denken en brengt het redeneermechanisme van LLM's potentieel dichter bij de werking van het menselijk brein (met zijn recurrente neurale verbindingen)[1][1].

Graph-of-Thoughts is een prompt-framework, wat betekent dat het geen aanvullende training of fine-tuning van het model vereist — in plaats daarvan organiseert het de dialoog met de LLM op een bijzondere manier, waarbij het model door een reeks stappen-«gedachten» wordt geleid die volgens het schema van een graaf met elkaar verbonden zijn[1]. Deze structuur maakt het mogelijk verschillende redeneervertakkingen te combineren en hergebruiken: het model kan bijvoorbeeld tegelijkertijd meerdere hypothesen of onderdelen van een taak onderzoeken en vervolgens de meest succesvolle daarvan samenvoegen tot één oplossing[1]. In encyclopedische zin kan Graph-of-Thoughts worden omschreven als een veralgemening van eerdere strategieën voor gestructureerd redeneren met LLM's, die maximale flexibiliteit biedt bij het organiseren van denkprocessen binnen één complexe zoekopdracht[1].

Voorlopers: Chain-of-Thought en Tree-of-Thoughts

De methode Graph-of-Thoughts is voortgekomen uit eerdere benaderingen die gebruik maken van een expliciete redeneerstructuur bij het werken met taalmodellen. De basisaanpak is Chain-of-Thought (CoT) – de «gedachtenketen». Bij de CoT-methode wordt de gebruiker aangemoedigd om in de zoekopdracht aan het model niet alleen de probleemstelling op te nemen, maar ook de tussenliggende redeneeringsstappen die naar het antwoord leiden[1]. Onderzoek heeft aangetoond dat deze aanpak het vermogen van LLM's om complexe taken op te lossen — zoals wiskundige of logische puzzels — aanzienlijk verbetert, zonder dat de parameters van het model zelf worden gewijzigd[1]. In feite zet CoT het model ertoe aan om een complex probleem stap voor stap op te delen in eenvoudigere fasen, waarmee een opeenvolgende gedachtegang wordt nagebootst.

Een verdere ontwikkeling van dit idee is de techniek Self-Consistency: in plaats van één gedachtenketen worden meerdere onafhankelijke ketens gegenereerd, waarna de meest overtuigende wordt geselecteerd[1]. Dit stelt het model in staat verschillende benaderingen van de oplossing te overwegen en verkleint het risico op een foutief antwoord door het volgen van één verkeerde redeneerslijn. Zelfs meerdere CoT-ketens bieden echter geen mogelijkheid om «ideeën samen te voegen»: elke keten wordt afzonderlijk beschouwd en het model kiest slechts de beste, zonder de inhoud ervan te combineren.

Om deze beperking te overwinnen werd het schema Tree-of-Thoughts (ToT) – de «gedachtenboom» – voorgesteld[1]. In ToT is het redeneerproces georganiseerd als een boom: op elk punt kan het model meerdere varianten voor de verdere ontwikkeling van een gedachte genereren (vertakkingen), waarna deze tussenliggende toestanden worden geëvalueerd en de meest veelbelovende worden geselecteerd voor verdere uitdieping[1]. Door gebruik te maken van boomzoekalgoritmen (zoals breedte-eerst — BFS, of diepte-eerst — DFS) en de mogelijkheid om terug te keren naar knooppunten en een andere tak te ontwikkelen, biedt Tree-of-Thoughts het taalmodel een krachtiger mechanisme voor het oplossen van complexe taken dan het lineaire CoT[1]. Er ontstaan nieuwe mogelijkheden, zoals terugkeren en herzien: als een tak op een doodlopend spoor uitkomt, kan worden teruggekeerd naar een eerder knooppunt om een andere weg te proberen[1]. Deze methode heeft haar doeltreffendheid bewezen bij het oplossen van logische en zoektaken, waarbij het doorlopen van varianten en planning een grote rol spelen.

De gedachtenboom legt echter ook strikte beperkingen op: elke gedachte (knooppunt van de boom) behoort slechts tot één tak, interactie vindt alleen plaats tussen ouder- en kinderknooppunten, en verschillende takken kunnen niet worden samengevoegd of informatie uitwisselen[3]. Met andere woorden, kruisbestuiving van ideeën (cross-pollination) tussen verschillende hypothesen binnen één oplossing is bemoeilijkt: de takken van de boom ontwikkelen zich onafhankelijk en komen alleen samen in de wortel, wanneer de beste redeneerketen wordt gekozen[3]. In werkelijk creatief of analytisch denken keert een mens echter vaak terug naar een eerder overwogen idee en combineert dit met een andere redeneertak. Zo'n verstrengeling van gedachten gaat buiten de kaders van een boomstructuur[1].

Deze waarnemingen brachten onderzoekers op het idee van een meer flexibele structuur — een graaf, waarbij de verbindingen tussen gedachten niet beperkt zijn en een complex netwerk kunnen vormen. Zoals wordt opgemerkt in een analytisch overzicht uit 2024, weerspiegelt het verschijnen van ketens, bomen en grafen van gedachten het ontstaan van een nieuwe klasse methoden die de mogelijkheden van LLM's aanzienlijk kunnen versterken door het redeneerproces expliciet te structureren[4]. In het bijzonder hebben gestructureerde prompts de resultaten van LLM's op veel gebieden merkbaar verbeterd — van het oplossen van wiskundige taken en logische puzzels tot planning en zelfs creatief schrijven[4]. Tegen deze algemene achtergrond ontstond het schema Graph-of-Thoughts als de volgende stap in de ontwikkeling van gestructureerde prompting-methoden.

Concept van Graph-of-Thoughts: grafische structuur van gedachten

Graph-of-Thoughts stelt voor het verloop van de uitvoering van taken door het taalmodel te presenteren als een willekeurige gerichte graaf. Formeel is de gedachtengraaf in GoT een verzameling van knopen (gedachten) en kanten (afhankelijkheden tussen gedachten)[1]. Een knoop van de graaf is een afzonderlijke gedachte van het model — onder deze term wordt verstaan elke betekenisvolle eenheid die afhankelijk is van de context van de taak: dit kan een afzonderlijke bewering zijn, een oplossingsstap, een tekstfragment, een paragraaf, een codeblok enzovoort, gegenereerd door het model als reactie op een zoekopdracht[1][1]. Een kant tussen knopen betekent dat de ene gedachte is gebruikt bij het genereren van een andere — dat wil zeggen dat in de prompt expliciet staat dat het model moet steunen op een bepaald eerder resultaat om een nieuw resultaat te verkrijgen[1]. De kanten leggen daarmee afhankelijkheden vast: van welke eerder verkregen gegevens de huidige redeneeringsstap afhankelijk is.

Het belangrijkste onderscheid van GoT ten opzichte van eenvoudigere structuren is de mogelijkheid van aggregatie en samenvoeging van gedachten. In de graaf is het toegestaan dat een knoop (nieuwe gedachte) meerdere voorgangers heeft[1]. Dit komt overeen met de situatie waarbij twee of meer afzonderlijke redeneerketens worden samengevoegd: het model ontvangt tegelijk meerdere eerder gegenereerde fragmenten als invoer en vormt op basis daarvan een gesynthetiseerde conclusie[1]. Een model kan bij het oplossen van een taak bijvoorbeeld twee hypothesen parallel bekijken en vervolgens een nieuwe gedachte creëren die de positieve aspecten van beide hypothesen combineert en hun tekortkomingen wegneemt[1][1]. Dergelijke aggregatie-operaties waren niet mogelijk binnen het boomvormige schema (waarbij elke knoop slechts één ouder heeft), maar worden op natuurlijke wijze gerealiseerd in het grafische schema[1]. Naast het samenvoegen van ideeën laat de graaf ook het invoeren van terugkoppelingen (feedback loops) toe: in principe verbiedt de GoT-structuur geen cykels, dat wil zeggen dat het model een bepaald resultaat kan terugsturen naar een eerder stadium van de redenering voor herverwerking of verfijning[1]. De auteurs verbinden dit met de analogie met recurrente verbindingen in de neurale netwerken van de hersenen, waarbij de uitvoer van één groep neuronen terugwerkt op eerdere lagen en gesloten gedachtenlussen vormt[1].

De praktische implementatie van Graph-of-Thoughts vereist een bijzondere organisatie van de dialoog met het model. Onderzoekers hebben een modulair architecturaal kader voor GoT ontwikkeld[1]. Hierin zijn componenten onderscheiden voor: (1) nauwkeurige controle over afzonderlijke stappen (gedachten) — een «controller» beheert de volgorde en logica van de gedachtenGeneratie; (2) dynamische opmaak van prompts — voor elke stap stelt een speciale module een prompt op op basis van de huidige context en de geselecteerde knopen van de graaf (voorgangers); (3) het parsen en evalueren van de antwoorden van het model — de door de LLM ontvangen fragmenten worden geanalyseerd en beoordeeld op kwaliteit, bruikbaarheid of overeenstemming met de criteria van de taak[5]. De architectuur van GoT maakt het daardoor mogelijk om interactief een redeneergraaf op te bouwen: na elke stap wordt beslist welke nieuwe knopen worden toegevoegd, hoe deze worden verbonden met de voorgaande, welke takken worden voortgezet of samengevoegd. Dankzij de modulariteit kan een dergelijk framework worden uitgebreid met nieuwe typen «transformaties van gedachten» (bijvoorbeeld speciale operaties op de graaf) en worden aangepast voor verschillende modellen (de auteurs hebben GoT met succes getest met LLM-families GPT-3.5, GPT-4, LLAMA 2 en andere)[1]. Een belangrijke eigenschap is dat GoT geen wijziging van de parameters van het taalmodel zelf vereist — alle verbeteringen worden bereikt door een intelligentere opbouw van zoekopdrachten en verwerking van antwoorden[1]. Dit betekent dat bestaande krachtige LLM's «zoals ze zijn» kunnen worden gebruikt, terwijl Graph-of-Thoughts de rol speelt van een bovenliggende laag die hun werking aanstuurt.

Opgemerkt moet worden dat de term Graph-of-Thought ook voorkwam in een andere, onafhankelijke ontwikkeling, die verschilt van de aanpak van Besta en collega's. In 2023 stelden Yao Yao en mede-auteurs een methode voor om het redeneren bij LLM's te verbeteren door middel van een aanvullende encoder-module voor de gedachtengraaf, wat fine-tuning van het model vereiste[6]. Hun werk onder de titel «Beyond Chain-of-Thought, Effective Graph-of-Thought Reasoning in Language Models» beschrijft een tweedelige architectuur: eerst wordt een graaf van onderling verbonden tussenliggende beweringen gegenereerd, vervolgens wordt deze getransformeerd door een speciale encoder en geïntegreerd in het model via een gated fusion-mechanisme[6]. Deze hybride aanpak met training toonde een zekere verbetering van de nauwkeurigheid bij taken — zo steeg de nauwkeurigheid op de multimodale vragenset ScienceQA van 85,2% naar 87,6% bij gebruik van het T5-base-model[6]. Deze aanpak verschilt echter principieel, ondanks de gelijkenis in naam: hij vereist aanpassing van het model (fine-tuning) en is geen prompt engineering-schema. De auteurs van de originele GoT-aanpak (AAAI 2024) geven expliciet aan dat zij in hun werk het model van Yao et al. niet beschouwen, omdat zij zich richten op methoden zonder het bijwerken van LLM-parameters[1]. Graph-of-Thoughts in de context van dit overzicht is dus uitsluitend een framework op het niveau van prompts, en geen aanpassing van de neuralennetwerk-architectuur.

Toepassingen en resultaten

De auteurs van GoT hebben de voordelen ervan gedemonstreerd aan de hand van een aantal taken die moeilijk op te lossen zijn met één directe prompt (input-output prompting) of zelfs met een gedachtenketen. Een kenmerkende eigenschap van dergelijke taken is dat ze kunnen worden opgesplitst in meerdere delen (deeltaken), dat deze delen afzonderlijk kunnen worden opgelost en dat vervolgens het volledige antwoord kan worden gesynthetiseerd uit de deelresultaten[1]. Onder de beschouwde voorbeelden: sorteren van een ongeordende lijst, tellen van sleutelwoorden in een tekst (bijvoorbeeld voor het samenvatten van een document), uitvoeren van operaties op verzamelingen (samenvoegen, doorsnijden van lijsten enzovoort), alsmede samenvoegen van tekstdocumenten (het combineren van informatie uit meerdere bronnen)[1]. In al deze gevallen maakt Graph-of-Thoughts het op natuurlijke wijze mogelijk om een taak te decomponeren. Voor het sorteren wordt de lijst bijvoorbeeld opgesplitst in delen, elk deel wordt afzonderlijk gesorteerd als een onafhankelijke gedachtetak, waarna de resultaten worden samengevoegd (vergelijkbaar met het merge sort-algoritme); bij tekstanalyse kan het model tegelijkertijd informatie uit verschillende documenten extraheren en deze vervolgens samenvoegen.

Experimentele resultaten bevestigen de effectiviteit van het GoT-schema. Volgens de rapportage van Besta en collega's heeft de gedachtengraaf bij de sorteertaak geleid tot een aanzienlijke verbetering van de kwaliteit van de oplossing ten opzichte van eerdere benaderingen[1]. De nauwkeurigheid van het sorteren met GoT bleek 70% hoger te zijn dan met de eenvoudige gedachtenketen CoT, en 62% hoger dan met de gedachtenboom ToT[1]. Tegelijkertijd verlaagt de methode de rekenkosten: het aantal verzoeken aan het model (en bijgevolg het getokeniseerde volume van de prompts) daalde met 31% ten opzichte van Tree-of-Thoughts voor dezelfde taak[1]. Dit betekent dat de grafische organisatie van het redeneren niet alleen het eindresultaat verbeterde, maar de oplossing ook economischer maakte door het vermijden van overbodige berekeningen dankzij een intelligente combinatie van tussenliggende conclusies. Vergelijkbare winsten werden ook behaald bij andere testtaken, met name waar het gaat om het aggregeren van uiteenlopende informatie. De onderzoekers merken op dat GoT het meest effectief is voor samengestelde taken die uit meerdere elementen bestaan: «Graph-of-Thoughts is bijzonder geschikt voor taken die op natuurlijke wijze kunnen worden gedecomponeerd in kleinere deeltaken die afzonderlijk worden opgelost waarna de resultaten worden samengevoegd»[1]. In dergelijke gevallen is de gedachtengraaf in staat alle aspecten van het probleem te omvatten en een oplossing van meer volledig karakter te synthetiseren dan bij het volgen van één redeneerslijn.

Voor een beter begrip van waarom de ene manier van het opbouwen van een prompt beter is dan de andere, wordt in het werk uit 2024 een speciale metriek voorgesteld — het «volume van een gedachte» (volume of a thought)[1]. Het volume wordt gedefinieerd voor elke afzonderlijke gedachte (knoop van de graaf) als het aantal andere gedachten waarvanuit men via gerichte kanten de betreffende gedachte kan bereiken (met andere woorden: aan hoeveel tussenliggende stappen de gedachte haar informatie ontleent)[1]. In Chain-of-Thought steunt elke gedachte slechts op één voorganger, zodat het volume gelijk is aan 1 (lineaire keten). In de gedachtenboom kan het volume groter zijn, maar wordt het nog steeds beperkt door de structuur van de afzonderlijke tak. In de graaf kan een afzonderlijke knoop dankzij aggregatie de bijdrage van veel andere knopen accumuleren — haar «volume» is aanzienlijk groter[1]. Aangetoond is dat GoT de uiteindelijke conclusies in staat stelt te steunen op een aanzienlijk groter volume aan voorafgaande gedachten door hun inhoud samen te voegen. Dit gegeven weerspiegelt een diepere dekking van de oplossingsruimte en biedt een kwantitatieve verklaring voor de voordelen van grafisch redeneren ten opzichte van eenvoudigere schema's.

Vergelijking en betekenis

Graph-of-Thoughts vertegenwoordigt momenteel de meest veralgemeende vorm van gestructureerde prompting voor LLM's. In vergelijkingstabellen van verschillende schema's (CoT, CoT met Self-Consistency, ToT en GoT) wordt benadrukt dat alleen GoT een willekeurige topologie van het denkproces ondersteunt[1]. Het omvat de mogelijkheden van alle voorgaande benaderingen: het kan werken als één keten, als een boom met vertakkingen, en als een combinatie van meerdere ketens, wanneer dit geschikt is voor het oplossen van de taak[1]. Het belangrijkste is dat er geen strikte beperkingen zijn op de verbinding tussen stappen, wat het bereik van mogelijke redeneerstrategieën theoretisch maximaal breed maakt[1].

Het is belangrijk te begrijpen dat de flexibiliteit van GoT gepaard gaat met grotere complexiteit van de aansturing. De implementatie van de gedachtengraaf vereist een extern algoritme-orchestrator dat beslist wanneer en welke gedachten worden gegenereerd, welke worden geselecteerd of gecombineerd, wanneer het proces wordt gestopt en het antwoord wordt gegeven. In een eenvoudige CoT hoeven dergelijke beslissingen niet te worden genomen — het model genereert zelf de lineaire redenering tot het einde. In ToT ligt een deel van de aansturing bij het boomzoekalgoritme (bijvoorbeeld de keuze van het uit te rollen knooppunt). In GoT is de mate van vrijheid groter, en de effectiviteit van de methode hangt af van de kwaliteit van de heuristieken die de tussenliggende resultaten evalueren, en van de juiste opbouw van de prompts op elke stap[1]. Graph-of-Thoughts kan daarom niet alleen worden beschouwd als een formaat van een zoekopdracht, maar als een redeneerstructuur die wordt opgelegd aan het interactieproces met de LLM — een soort dynamisch plan waarmee het model een taak oplost, terwijl de gebruiker (of het controllerprogramma) dit proces begeleidt.

Het verschijnen van Graph-of-Thoughts weerspiegelt het streven om de werking van grote taalmodellen meer interpreteerbaar en beheersbaar te maken. Door de structuur van de oplossing expliciet te definiëren bereiken onderzoekers niet alleen een betere kwaliteit, maar krijgen ze ook de mogelijkheid te analyseren hoe het model tot een bepaalde conclusie is gekomen. Dit brengt benaderingen in NLP dichter bij klassieke methoden van algoritmisch zoeken en planning, maar nu worden de stappen uitgevoerd door een neuraalnetwerkmodel. Een aantal experts beschouwt gestructureerde prompts (ketens, bomen, grafen van gedachten) als een veelbelovende richting die de beperkingen van de «zwarte doos» in diepte modellen kan overwinnen en de betrouwbaarheid van hun werking bij complexe taken kan vergroten[4][4].

De methodologie van Graph-of-Thoughts blijft actief in ontwikkeling. De auteurs hebben de code en voorbeelden voor de implementatie van GoT in open toegang beschikbaar gesteld[1], waardoor de gemeenschap met de nieuwe aanpak kan experimenteren. Er ontstaan ook uitbreidingen: bijvoorbeeld multimodale versies van de gedachtengraaf die tekst combineren met afbeeldingen en andere soorten gegevens[3][3], alsmede pogingen om de ideeën van GoT direct te integreren in de architectuur van modellen (zoals in het genoemde werk van Yao et al., 2023). In 2025 verscheen een gedetailleerd overzicht-taxonomie van de methoden Chain-of-Thought, Tree-of-Thoughts en Graph-of-Thoughts, dat de opgedane kennis systematiseert en de theoretische grondslagen van dergelijke benaderingen beschrijft[4][4]. Dit alles getuigt van de grote belangstelling van de wetenschappelijke gemeenschap voor het gestructureerd sturen van het denken van LLM's. Graph-of-Thoughts heeft zich reeds bewezen als een effectief instrument voor het oplossen van complexe taken en zal waarschijnlijk de basis vormen voor verdere innovaties op het gebied van AI-oplossingen die de kracht van grote taalmodellen combineren met de transparantie en logica van klassieke algoritmen.

Verwijzingen

  • Origineel artikel «Graph of Thoughts: Solving Elaborate Problems with Large Language Models» op arXiv
  • HTML-versie van het originele artikel
  • Overzicht «Demystifying Chains, Trees, and Graphs of Thoughts» op arXiv
  • Artikel «Beyond Chain-of-Thought, Effective Graph-of-Thought Reasoning in Language Models» op arXiv
  • Multimodal Graph-of-Thoughts — artikel van Deepgram
  • LLMs Graph of Thoughts Framework — artikel op Medium

Literatuur

  • Besta, M. et al. (2024). Graph of Thoughts: Solving Elaborate Problems with Large Language Models. arXiv:2308.09687.
  • Yao, S. et al. (2023). Tree of Thoughts: Deliberate Problem Solving with Large Language Models. arXiv:2305.10601.
  • Yao, Y. et al. (2023). Beyond Chain-of-Thought: Effective Graph-of-Thought Reasoning in Language Models. arXiv:2305.16582.
  • Wei, J. et al. (2022). Chain of Thought Prompting Elicits Reasoning in Large Language Models. arXiv:2201.11903.
  • Wang, X. et al. (2022). Self-Consistency Improves Chain of Thought Reasoning in Language Models. arXiv:2203.11171.
  • Wei, J. et al. (2024). Demystifying Chains, Trees, and Graphs of Thoughts. arXiv:2401.14295.
  • Huang, S. et al. (2023). Language Is Not All You Need: Aligning Perception with Language Models (Kosmos-1). arXiv:2302.14045.
  • Mitra, C. et al. (2024). Compositional Chain-of-Thought Prompting for Large Multimodal Models. In CVPR 2024. PDF.
  • Zheng, G. et al. (2023). DDCoT: Duty-Distinct Chain-of-Thought Prompting for Multimodal Reasoning in Language Models. arXiv:2310.16436.
  • Mu, J. et al. (2023). Learning to Compress Prompts with Gist Tokens. arXiv:2304.08467.

Noten

  1. 1.00 1.01 1.02 1.03 1.04 1.05 1.06 1.07 1.08 1.09 1.10 1.11 1.12 1.13 1.14 1.15 1.16 1.17 1.18 1.19 1.20 1.21 1.22 1.23 1.24 1.25 1.26 1.27 1.28 1.29 1.30 1.31 1.32 1.33 1.34 1.35 1.36 1.37 1.38 1.39 1.40 1.41 1.42 1.43 Besta, Maciej et al. «Graph of Thoughts: Solving Elaborate Problems with Large Language Models». ar5iv.labs.arxiv.org. [1]
  2. Besta, Maciej et al. «Graph of Thoughts: Solving Elaborate Problems with Large Language Models». arXiv. [2]
  3. 3.0 3.1 3.2 3.3 3.4 Grygiel, Jacek. «Multimodal Graph-of-Thoughts: How Text, Images, and Graphs Lead to Better Reasoning». Deepgram. [3]
  4. 4.0 4.1 4.2 4.3 4.4 4.5 Wei, Jason et al. «Demystifying Chains, Trees, and Graphs of Thoughts». arXiv. [4]
  5. Wo, Jacek. «LLMs Graph of Thoughts Framework. Case study». Medium. [5]
  6. 6.0 6.1 6.2 Yao, Yuqing et al. «Beyond Chain-of-Thought, Effective Graph-of-Thought Reasoning in Language Models». arXiv. [6]