Graph of Thoughts (SV)
Graph-of-Thoughts (GoT) — är ett koncept inom arbetet med stora språkmodeller (LLM, Large Language Models) som innebär att modellens resonemangsprocess representeras som en godtycklig graf av sammankopplade «tankar» (mellanliggande lösningssteg)[1]. Detta tillvägagångssätt föreslogs av en grupp forskare under ledning av Maciej Besta från ETH Zurich och publicerades 2024 vid konferensen AAAI[2]. Syftet med Graph-of-Thoughts är att utvidga möjligheterna inom prompt engineering (utformning av frågor) bortom befintliga scheman, såsom Chain-of-Thought (tankekedja) och Tree-of-Thoughts (tanketräd)[1]. Till skillnad från dessa tillåter GoT-ansatsen att vilket som helst av modellens genererade resonemangsfragment (tankar) kan referera till vilket annat som helst, och bildar därmed ett nätverk av idéer snarare än en strikt linjär eller trädliknande struktur[3]. Detta, hävdar författarna, återspeglar mer exakt det komplexa, icke-linjära karaktären hos mänskligt tänkande och för potentiellt LLM:ernas resonemangsmekanism närmare den mänskliga hjärnans funktion (med dess rekurrenta neurala förbindelser)[1][1].
Graph-of-Thoughts är ett ramverk för formulering av frågor (prompting framework), det vill säga det kräver inte ytterligare träning eller fine-tuning av själva modellen — i stället organiserar det dialogen med LLM på ett särskilt sätt och leder modellen genom en serie steg-«tankar» kopplade enligt ett grafschema[1]. En sådan struktur gör det möjligt att kombinera och återanvända olika resonemangsgrenars innehåll: till exempel kan modellen parallellt betrakta flera hypoteser eller delar av en uppgift och sedan sammanföra de mest framgångsrika av dem till en enhetlig lösning[1]. I encyklopedisk stil kan Graph-of-Thoughts definieras som en generalisering av tidigare strategier för strukturerat resonemang med LLM, som ger maximal flexibilitet i organiseringen av tankeprocesser inom en enda komplex fråga[1].
Förutsättningar: Chain-of-Thought och Tree-of-Thoughts
Metoden Graph-of-Thoughts växte fram ur tidigare ansatser som använder en explicit resonemangsstruktur vid arbete med språkmodeller. Den grundläggande ansatsen är Chain-of-Thought (CoT) – «tankekedja». I CoT-metoden uppmanas användaren att i frågan till modellen inkludera inte bara uppgiftens villkor utan även mellanliggande resonemangssteg som leder till svaret[1]. Forskning har visat att en sådan presentation av material avsevärt förbättrar LLM:ernas förmåga att lösa komplexa uppgifter, till exempel matematiska eller logiska gåtor, utan att ändra modellens egna parametrar[1]. I praktiken uppmuntrar CoT modellen att steg för steg dela upp ett komplext problem i enklare faser och imitera ett sekventiellt tankeförlopp.
En vidareutveckling av denna idé är tekniken Self-Consistency: i stället för en enda tankekedja genereras flera oberoende kedjor, varefter den mest övertygande väljs ut[1]. Detta gör det möjligt för modellen att överväga olika tillvägagångssätt till lösningen och minskar risken för ett felaktigt svar till följd av att följa en enda felaktig resonemangslinje. Ändå ger inte ens flera CoT-kedjor möjligheten att «kombinera idéer»: varje kedja betraktas isolerat, och modellen väljer bara den bästa utan att kombinera deras innehåll.
För att övervinna denna begränsning föreslogs schemat Tree-of-Thoughts (ToT) – «tanketräd»[1]. I ToT är resonemangsprocessen organiserad som ett träd: i varje punkt kan modellen generera flera varianter av tankeutveckling (förgreningar), varefter dessa mellanliggande tillstånd utvärderas och de mest lovande väljs ut för vidare fördjupning[1]. Genom att använda trädsökning (till exempel på bredden — BFS, eller på djupet — DFS) och möjligheten att backa tillbaka till noder och utveckla en annan gren ger Tree-of-Thoughts språkmodellen en kraftfullare mekanism för att lösa komplexa uppgifter än linjär CoT[1]. Nya möjligheter uppstår, såsom återgång och omprövning: om en gren leder till återvändsgränd kan man återvända till den föregående noden och försöka en annan väg[1]. Denna metodik har bevisat sin effektivitet vid lösning av logiska och sökuppgifter, där genomgång av alternativ och planering spelar en stor roll.
Tanketrädet medför dock även strikta begränsningar: varje tanke (trädnod) tillhör endast en gren, interaktion sker bara mellan föräldra- och barnnoder, och olika grenar kan varken slås samman eller utbyta information[3]. Med andra ord är korsutbyte av idéer (cross-pollination) mellan olika hypoteser inom ramen för en och samma lösning svårt: trädets grenar utvecklas oberoende och förenas bara i roten när den bästa resonemangskedjan väljs[3]. I verkligt kreativt eller analytiskt tänkande återvänder en människa ofta till en tidigare övervägd idé och kombinerar den med en annan resonemangsgren. En sådan sammanvävning av tankar går utanför trädstrukturens ramar[1].
Dessa observationer ledde forskarna till tanken om en mer flexibel struktur — en graf, där kopplingarna mellan tankar inte är begränsade och kan bilda ett komplext nätverk. Som noterats i en analytisk översikt från 2024 återspeglar framväxten av tankeekedjor, -träd och -grafer uppkomsten av en ny klass metoder som kan avsevärt förstärka LLM:ernas möjligheter genom explicit strukturering av resonemangsprocessen[4]. I synnerhet har strukturerade ledtrådar märkbart förbättrat LLM:ernas resultat inom många områden — från lösning av matematiska uppgifter och logiska gåtor till planering och till och med kreativt skrivande[4]. Mot denna allmänna bakgrund uppstod Graph-of-Thoughts som nästa steg i utvecklingen av metoder för strukturerat prompting.
Konceptet Graph-of-Thoughts: grafstruktur av tankar
Graph-of-Thoughts föreslår att representera hur språkmodellen utför uppgifter i form av en godtycklig riktad graf. Formellt sett är tankegrafen i GoT en mängd av hörn (tankar) och kanter (beroenden mellan tankar)[1]. Ett hörn i grafen utgörs av en enskild modellens tanke — med detta begrepp avses varje meningsenhet som beror på uppgiftens sammanhang: det kan vara ett enskilt påstående, ett lösningssteg, ett textstycke, ett stycke text, ett kodblock och liknande, som genererats av modellen som svar på en fråga[1][1]. En kant mellan hörn innebär att en tanke har använts vid genereringen av en annan — det vill säga att det i ledtråden uttryckligen anges att modellen ska stödja sig på ett visst tidigare resultat för att erhålla ett nytt[1]. Kanterna fastställer därmed beroenden: vilka tidigare inhämtade data det aktuella resonemangssteget beror på.
Den viktigaste skillnaden mellan GoT och enklare strukturer är möjligheten till aggregering och sammanslagning av tankar. I grafen tillåts att ett hörn (en ny tanke) kan ha flera föregångare[1]. Detta motsvarar situationen när två eller fler separata resonemangskedjor förenas: modellen tar emot flera tidigare genererade fragment som indata och utifrån dessa formar ett syntetiserat slutsats[1]. Till exempel kan modellen vid lösning av en uppgift parallellt överväga två hypoteser och sedan skapa en ny tanke som förenar de positiva sidorna hos båda hypoteserna och undanröjer deras brister[1][1]. Sådana aggregeringsoperationer var omöjliga inom det trädliknande schemat (där varje nod endast har en förälder), men realiseras naturligt i det grafbaserade[1]. Utöver sammanslagning av idéer möjliggör grafen även införande av återkopplingar (feedback loops): principiellt förbjuder GoT-strukturen inte cykler, det vill säga modellen kan återföra ett visst resultat till ett tidigare stadium av resonemanget för ombearbetning eller precisering[1]. Författarna kopplar detta till analogin med rekurrenta förbindelser i hjärnans neurala nätverk, där utdata från en grupp neuroner kan verka tillbaka på tidigare lager och bilda slutna resonemangsconturer[1].
I praktiken kräver implementeringen av Graph-of-Thoughts en särskild organisation av dialogen med modellen. Forskarna har utvecklat ett modulärt arkitekturramverk för GoT[1]. I detta urskiljs komponenter för: (1) noggrann kontroll över enskilda steg (tankar) — en «kontrollant» styr ordningen och logiken för tankegenerering; (2) dynamisk formulering av ledtrådar — för varje steg formar en särskild modul en prompt utifrån det aktuella sammanhanget och de valda grafhörnen (föregångarna); (3) tolkning och utvärdering av modellens svar — de från LLM erhållna fragmenten analyseras och utvärderas avseende kvalitet, nytta eller uppfyllelse av uppgiftens kriterier[5]. GoT:s arkitektur möjliggör därmed att interaktivt bygga upp resonemangsgrafen: efter varje steg fattas beslut om vilka nya hörn som ska läggas till, hur de ska kopplas till de föregående, vilka grenar som ska fortsättas eller förenas. Tack vare modulariteten kan ett sådant ramverk utökas med nya typer av «tankartransformationer» (till exempel speciella grafoperationer) och anpassas till olika modeller (författarna testade framgångsrikt GoT med LLM från familjerna GPT-3.5, GPT-4, LLAMA 2 med flera)[1]. En viktig egenskap är att GoT inte kräver ändring av själva språkmodellens parametrar — alla förbättringar uppnås genom mer genomtänkt konstruktion av frågor och bearbetning av svar[1]. Det innebär att befintliga kraftfulla LLM kan användas «som de är», och Graph-of-Thoughts spelar rollen av ett överlager som styr deras arbete.
Det bör noteras att termen Graph-of-Thought också förekommit i en annan, oberoende utveckling, skild från Bestas och kollegornas ansats. År 2023 föreslog Yao Yao och medförfattare en metodik för att förbättra resonemang hos LLM med hjälp av en ytterligare graff-encodermodul för tankegraf, vilket krävde ytterligare träning av modellen[6]. Deras arbete med titeln «Beyond Chain-of-Thought, Effective Graph-of-Thought Reasoning in Language Models» beskriver en tvåstegsarkitektur: först genereras en graf av sammankopplade mellanliggande påståenden, sedan transformeras den av en särskild encoder och integreras i modellen via en gated fusion-mekanism[6]. Detta hybrida ansats med träning visade viss ökning av noggrannhet på uppgifter — till exempel ökade noggrannheten på det multimodala frågedatasettet ScienceQA från 85,2% till 87,6% vid användning av modellen T5-base[6]. Emellertid skiljer sig detta tillvägagångssätt, trots liknande namn, principiellt: det kräver ändring av modellen (fine-tuning) och är inte ett schema för prompt engineering. Författarna till det ursprungliga GoT-ansatsen (AAAI 2024) påpekar uttryckligen att de inte behandlar Yaos m.fl. modell i sitt arbete, eftersom de fokuserar just på metoder utan uppdatering av LLM:ens parametrar[1]. Således är Graph-of-Thoughts i kontexten för denna översikt just ett ramverk på ledtrådens nivå, inte en modifiering av det neurala nätverkets arkitektur.
Tillämpning och resultat
GoT:s författare demonstrerade dess fördelar på ett antal uppgifter som är svåra att lösa med en enda direkt ledtråd (input-output prompting) eller ens med en tankekedja. Det karakteristiska draget hos sådana uppgifter är att de kan delas upp i flera delar (deluppgifter), att dessa delar löses separat och att ett fullständigt svar sedan syntetiseras från delresultaten[1]. Bland de behandlade exemplen finns: sortering av en osorterad lista, räkning av nyckelord i text (till exempel för dokumentsammanfattning), utförande av mängdoperationer (union, snitt av listor och liknande), samt sammanslagning av textdokument (sammanförande av information från flera källor)[1]. I samtliga dessa fall gör Graph-of-Thoughts det möjligt att naturligt dekomponera uppgiften. Till exempel delas listan vid sortering upp i delar, varje del sorteras separat som en oberoende tankegren, varefter resultaten sammanförs (i likhet med en algoritm som merge sort); eller vid textanalys kan modellen parallellt extrahera information från olika dokument och sedan sammanföra den.
Experimentella resultat bekräftar GoT-schemats effektivitet. Enligt Bestas och kollegornas rapport möjliggjorde tankegrafen vid sorteringsuppgiften en väsentlig kvalitetsförbättring jämfört med tidigare ansatser[1]. Noggrannheten vid sortering med GoT visade sig vara 70% högre än vid enkel tankekedja CoT, och 62% högre än vid tanketräd ToT[1]. Samtidigt minskar metoden förbrukningen av beräkningsresurser: antalet anrop till modellen (och följaktligen den tokeniserade volymen av frågor) minskade med 31% jämfört med Tree-of-Thoughts för samma uppgift[1]. Det innebär att den grafbaserade organiseringen av resonemang inte bara förbättrade det slutliga resultatet utan också gjorde lösningen mer ekonomisk, undvikande redundanta beräkningar tack vare ett klokt kombinerande av mellanliggande slutsatser. Liknande vinster erhölls även vid andra testuppgifter, i synnerhet där det krävs aggregering av heterogen information. Forskarna noterar att GoT är effektivast just för komposita uppgifter som består av flera element: «Graph-of-Thoughts passar särskilt väl för uppgifter som på ett naturligt sätt dekomponeras till mindre deluppgifter som löses separat med efterföljande sammanslagning av resultaten»[1]. I sådana fall kan tankegrafen täcka alla aspekter av problemet och syntetisera en mer fullständig lösning än vid följande av en enda resonemangslinje.
För en mer nyanserad förståelse av varför ett sätt att konstruera ledtråden är bättre än ett annat föreslogs i 2024 års arbete ett särskilt mått — «tankens volym» (volume of a thought)[1]. Volymen definieras för varje enskild tanke (grafens hörn) som antalet andra tankar från vilka man via riktade kanter kan nå den aktuella (enkelt uttryckt: hur många mellanliggande steg den är skyldig sin information)[1]. I Chain-of-Thought stöder sig varje tanke på bara en föregångare, varför dess volym är lika med 1 (linjär kedja). I tanketrädet kan volymen vara större, men är ändå begränsad av strukturen hos den enskilda grenen. I grafen kan ett enskilt hörn tack vare aggregering ackumulera bidraget från många andra — dess «volym» är avsevärt högre[1]. Det har visats att GoT gör det möjligt för slutliga slutsatser att stödjas på en väsentligt större volym av föregående tankar och förena deras innehåll. Detta faktum återspeglar en djupare täckning av lösningsrymden och tjänar som en kvantitativ förklaring av fördelarna med grafbaserat resonemang jämfört med enklare scheman.
Jämförelse och betydelse
Graph-of-Thoughts representerar idag den mest generaliserade formen av strukturerat prompting för LLM. I jämförelsetabeller över olika scheman (CoT, CoT med självkonsistens, ToT och GoT) understryks att bara GoT stöder godtycklig topologi för tankeprocessen[1]. Det inbegriper möjligheterna hos alla tidigare ansatser: det kan fungera både som en enda kedja, som ett träd med förgreningar och som en kombination av flera kedjor, om detta passar för att lösa uppgiften[1]. Det viktigaste är att det inte finns strikta begränsningar för kopplingen mellan steg, vilket teoretiskt gör rymden av möjliga resonemangsstrategier maximalt bred[1].
Det är viktigt att förstå att GoT:s flexibilitet medför ett pris i form av ökad kontrollkomplexitet. Implementeringen av en tankegraf kräver en extern orkestreringsalgoritm som avgör när och vilka tankar som ska genereras, vilka av dem som ska väljas ut eller kombineras, när processen ska stoppas och ett svar lämnas. I enkel CoT behöver inga sådana beslut fattas — modellen genererar själv ett linjärt resonemang till slut. I ToT faller en del av styrningen på trädets sökalgoritm (till exempel val av nod för utbyggnad). I GoT är frihetsgraden högre, och metodens effektivitet beror på kvaliteten hos de heuristiker som utvärderar mellanresultaten samt på den korrekta konstruktionen av ledtrådar vid varje steg[1]. Således kan Graph-of-Thoughts betraktas inte bara som ett frågeformat, utan som en resonemangsstruktur som läggs ovanpå interaktionsprocessen med LLM — ett slags dynamisk plan enligt vilken modellen löser uppgiften, och som användaren (eller kontrollprogrammet) styr denna process.
Framväxten av Graph-of-Thoughts återspeglar strävan att göra arbetet med stora språkmodeller mer tolkningsbart och styrbart. Genom att explicit ange lösningens struktur uppnår forskarna inte bara bättre kvalitet, utan får också möjligheten att analysera hur modellen nådde en viss slutsats. Detta för NLP-ansatserna närmare klassiska metoder för algoritmisk sökning och planering, men nu är utförandet av stegen överlämnat till en neural nätverksmodell. En del experter betraktar strukturerade ledtrådar (tankeekedjor, -träd, -grafer) som en lovande riktning som kan övervinna «svart låda»-begränsningarna hos djupa modeller och öka tillförlitligheten hos deras arbete med komplexa uppgifter[4][4].
Graph-of-Thoughts-metodologin fortsätter att aktivt utvecklas. Kod och exempel för implementering av GoT publicerade författarna i öppen tillgång[1], vilket möjliggjorde för forskarsamhället att experimentera med den nya ansatsen. Det uppstår även utvidgningar: till exempel multimodala versioner av tankegrafen som kombinerar text med bilder och andra typer av data[3][3], samt försök att integrera GoT:s idéer direkt i modellernas arkitektur (som i det nämnda arbetet av Yao et al., 2023). År 2025 publicerades en detaljerad taxonomiöversikt över metoderna Chain-of-Thought, Tree-of-Thoughts och Graph-of-Thoughts, som systematiserar den ackumulerade kunskapen och beskriver de teoretiska grunderna för sådana ansatser[4][4]. Allt detta vittnar om det vetenskapliga samfundets stora intresse för strukturerad styrning av LLM:ernas tänkande. Graph-of-Thoughts har redan etablerat sig som ett effektivt verktyg för lösning av komplexa uppgifter och kommer sannolikt att bli grunden för ytterligare innovationer inom AI-lösningar som kombinerar stora språkmodellers kraft med transparensen och logiken hos klassiska algoritmer.
Externa länkar
- Originalartikel «Graph of Thoughts: Solving Elaborate Problems with Large Language Models» på arXiv
- HTML-version av originalartikeln
- Översikt «Demystifying Chains, Trees, and Graphs of Thoughts» på arXiv
- Artikel «Beyond Chain-of-Thought, Effective Graph-of-Thought Reasoning in Language Models» på arXiv
- Multimodal Graph-of-Thoughts — artikel av Deepgram
- LLMs Graph of Thoughts Framework — artikel på Medium
Litteratur
- 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.
Noter
- ↑ 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]
- ↑ Besta, Maciej et al. «Graph of Thoughts: Solving Elaborate Problems with Large Language Models». arXiv. [2]
- ↑ 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.0 4.1 4.2 4.3 4.4 4.5 Wei, Jason et al. «Demystifying Chains, Trees, and Graphs of Thoughts». arXiv. [4]
- ↑ Wo, Jacek. «LLMs Graph of Thoughts Framework. Case study». Medium. [5]
- ↑ 6.0 6.1 6.2 Yao, Yuqing et al. «Beyond Chain-of-Thought, Effective Graph-of-Thought Reasoning in Language Models». arXiv. [6]