Graph of Thoughts (HU)
Graph-of-Thoughts (GoT) — ez egy fogalom a nagy nyelvi modellekkel (LLM, Large Language Models) való munkavégzés területén, amely a modell következtetési folyamatát az egymással összefüggő „gondolatok" (közbenső megoldási lépések) tetszőleges gráfjaként ábrázolja[1]. Ezt a megközelítést Maciej Besta és kutatótársai javasolták az ETH Zurich intézményéből, és 2024-ben publikálták az AAAI konferencián[2]. A Graph-of-Thoughts célja, hogy a prompt engineering (lekérdezéstervezés) lehetőségeit kiterjeszsze a meglévő sémákon túlra, mint például a Chain-of-Thought (gondolatok lánca) és a Tree-of-Thoughts (gondolatok fája)[1]. Ezektől eltérően a GoT megközelítés lehetővé teszi, hogy a modell által generált bármely következtetési egység (gondolat) bármely másikra hivatkozzon, ezáltal ötletek hálózatát alkotva, nem pedig szigorúan lineáris vagy fa szerkezetű struktúrát[3]. Ez — az alkotók állítása szerint — pontosabban tükrözi az emberi gondolkodás összetett, nemlineáris jellegét, és potenciálisan közelíti az LLM következtetési mechanizmusát az emberi agy működéséhez (annak rekurrens neurális kapcsolataival)[1][1].
A Graph-of-Thoughts egy lekérdezésformálási módszer (prompting framework), azaz nem igényli magának a modellnek a további tanítását vagy finomhangolását — ehelyett különleges módon szervezi az LLM-mel való párbeszédet, a modellt egy gráfsémával összekötött gondolat-lépések sorozatán vezetve végig[1]. Ez a struktúra lehetővé teszi a különböző következtetési ágak kombinálását és újrafelhasználását: például a modell párhuzamosan vizsgálhat több hipotézist vagy a feladat több részét, majd a legsikeresebbekből egységes megoldást alkothat[1]. Enciklopédikus stílusban a Graph-of-Thoughts úgy határozható meg, mint az LLM-ekkel végzett strukturált következtetési stratégiák korábbi megközelítéseinek általánosítása, amely maximális rugalmasságot biztosít a gondolkodási folyamatok szervezéséhez egyetlen összetett lekérdezésen belül[1].
Előzmények: Chain-of-Thought és Tree-of-Thoughts
A Graph-of-Thoughts módszer korábbi megközelítésekből nőtt ki, amelyek explicit következtetési struktúrát alkalmaznak a nyelvi modellekkel való munkavégzés során. Az alap megközelítés a Chain-of-Thought (CoT) – „gondolatok lánca". A CoT módszerben a felhasználót arra ösztönzik, hogy a modellhez intézett lekérdezésbe ne csak a feladat feltételét, hanem a válaszhoz vezető közbenső következtetési lépéseket is foglalja bele[1]. A kutatások kimutatták, hogy az anyag ilyen bemutatása jelentősen javítja az LLM-ek képességét összetett feladatok — például matematikai vagy logikai rejtvények — megoldásában, méghozzá magának a modellnek a paramétereit módosítása nélkül[1]. Lényegében a CoT arra készteti a modellt, hogy az összetett problémát lépésről lépésre egyszerűbb szakaszokra bontsa fel, utánozva a gondolatok egymást követő menetét.
Ennek az elgondolásnak a továbbfejlesztése a Self-Consistency technika: egyetlen gondolatlánc helyett több független láncot generálnak, majd kiválasztják a legmeggyőzőbbet[1]. Ez lehetővé teszi a modell számára, hogy különböző megoldási megközelítéseket vizsgáljon, és csökkenti annak kockázatát, hogy egyetlen hibás következtetési vonal mentén haladva téves választ kapjunk. Ugyanakkor még a CoT-láncok sokasága sem teszi lehetővé az „ötletek összevonását": minden lánc elszigetelten vizsgálódik, és a modell csupán a legjobbat választja ki, anélkül hogy azok tartalmát kombinálná.
Ennek a korlátnak a leküzdésére javasolták a Tree-of-Thoughts (ToT) – „gondolatok fája" sémát[1]. A ToT-ban a következtetési folyamat faként szerveződik: minden egyes pontban a modell a gondolat több fejlesztési variánsát (elágazást) hozhatja létre, majd ezeket a közbenső állapotokat értékelik, és kiválasztják a legígéretesebbeket a további elmélyítéshez[1]. Fakeresés alkalmazásával (például szélességi — BFS, vagy mélységi — DFS) és azzal a lehetőséggel, hogy vissza lehet lépni egy csomóponthoz és egy másik ágat fejleszteni, a Tree-of-Thoughts erősebb megoldási mechanizmust biztosít a nyelvi modellnek összetett feladatokhoz, mint a lineáris CoT[1]. Új lehetőségek nyílnak meg, mint például a visszalépés és felülvizsgálat: ha egy ág zsákutcába vezet, vissza lehet térni az előző csomóponthoz, és más utat kipróbálni[1]. Ez a módszertan bizonyítottan hatékony logikai és keresési feladatokban, ahol a variánsok áttekintése és a tervezés nagy szerepet játszik.
A gondolatfa azonban szigorú korlátokat is szab: minden gondolat (a fa csomópontja) csupán egyetlen ághoz tartozik, az interakció csak szülő- és gyermekcsomópontok között zajlik, a különböző ágak pedig nem olvadhatnak össze, és nem cserélhetnek információt[3]. Más szóval az ötletek keresztbe-beporzása (cross-pollination) a különböző hipotézisek között egyetlen megoldáson belül nehézkes: a fa ágai függetlenül fejlődnek, és csak a gyökérben egyesülnek, amikor kiválasztják a legjobb következtetési láncot[3]. A valódi kreatív vagy analitikus gondolkodásban azonban az ember nemritkán visszatér egy korábban megvizsgált ötlethez, és azt kombinálja egy másik következtetési ággal. Az ilyen gondolat-összefonódás túllép a fastruktúra keretein[1].
Ezek a megfigyelések vezették a kutatókat egy rugalmasabb struktúra — a gráf — gondolatához, ahol a gondolatok közötti kapcsolatok nem korlátozottak, és összetett hálózatot alkothatnak. Ahogyan egy 2024-es elemző összefoglalóban megjegyezték, a gondolatok láncainak, fáinak és gráfjainak megjelenése egy új módszerosztály kialakulását tükrözi, amely az LLM-ek képességeit a következtetési folyamat explicit strukturálásával jelentősen megerősítheti[4]. Különösen a strukturált promptok lehetővé tették az LLM-ek eredményeinek észrevehető javítását számos területen — a matematikai feladatok megoldásától és logikai rejtvényektől a tervezésig és akár a kreatív írásig[4]. Ezen az általános háttéren jelent meg a Graph-of-Thoughts séma mint a strukturált prompting módszerek fejlődésének következő lépése.
A Graph-of-Thoughts fogalma: a gondolatok gráfszerkezete
A Graph-of-Thoughts azt javasolja, hogy a nyelvi modell feladatvégzési folyamatát tetszőleges irányított gráfként ábrázoljuk. Formálisan a GoT-ban a gondolatok gráfja csúcsok (gondolatok) és élek (gondolatok közötti függőségek) halmaza[1]. A gráf csúcsát a modell egy gondolata képviseli — ezen a kifejezésen a feladat kontextusától függő bármely tartalmi egységet értjük: ez lehet egy önálló állítás, megoldási lépés, szövegrészlet, bekezdés, kódblokk stb., amelyet a modell egy lekérdezésre válaszul generál[1][1]. A csúcsok közötti él azt jelenti, hogy az egyik gondolatot felhasználták a másik előállításakor — azaz a promptban expliciten jelzik, hogy a modellnek egy meghatározott korábbi eredményre kell támaszkodnia egy új létrehozásához[1]. Az élek tehát függőségeket rögzítenek: a következtetés aktuális lépése melyik korábban kapott adatoktól függ.
A GoT legfontosabb különbsége az egyszerűbb struktúrákhoz képest a gondolatok aggregálásának és összevonásának lehetősége. A gráfban megengedett, hogy egy csúcsnak (új gondolatnak) több előzménye legyen[1]. Ez megfelel annak a helyzetnek, amikor két vagy több különálló következtetési lánc egyesül: a modell egyszerre több korábban generált részletet kap bemenetként, és ezek alapján szintetizált következtetést alkot[1]. Például egy feladat megoldásakor a modell párhuzamosan vizsgálhat két hipotézist, majd létrehozhat egy új gondolatot, amely mindkét hipotézis pozitív oldalait ötvözi és kiküszöböli hiányosságaikat[1][1]. Az ilyen aggregálási műveletek lehetetlenek voltak a faszerkezetű sémában (ahol minden csomópontnak csak egy szülője van), de természetes módon megvalósíthatók a gráfosban[1]. Az ötletek összevonásán túl a gráf lehetővé teszi visszacsatolási hurkok (feedback loops) bevezetését is: alapvetően a GoT struktúra nem tiltja a ciklusokat, azaz a modell visszaküldhet bizonyos eredményt egy korábbi következtetési szakaszba újrafeldolgozásra vagy pontosításra[1]. Az alkotók ezt az agy neurális hálózataiban lévő rekurrens kapcsolatokhoz hasonlítják, ahol az egyik neuroncsoporttól érkező kimenet visszahathat a korábbi rétegekre, zárt gondolkodási köröket alkotva[1].
A Graph-of-Thoughts gyakorlati megvalósítása a modellel való párbeszéd különleges megszervezését igényli. A kutatók kidolgoztak egy moduláris architekturális keretet a GoT számára[1]. Ez tartalmaz komponenseket: (1) az egyes lépések (gondolatok) finom vezérléséhez — a „kontroller" irányítja a gondolatok generálásának sorrendjét és logikáját; (2) a promptok dinamikus kialakításához — minden lépéshez egy speciális modul prompt-ot alkot az aktuális kontextus és a kiválasztott gráfcsúcsok (előzmények) alapján; (3) a modell válaszainak elemzéséhez és értékeléséhez — az LLM-től kapott részleteket minőség, hasznosság vagy a feladat kritériumainak való megfelelés szempontjából elemzik és értékelik[5]. A GoT architektúra így interaktív módban teszi lehetővé a következtetési gráf felépítését: minden lépés után döntés születik arról, hogy milyen új csúcsokat kell hozzáadni, hogyan kell azokat az előzőekhez kapcsolni, melyik ágakat kell folytatni vagy összevonni. A modularitásnak köszönhetően ez a keretrendszer bővíthető új „gondolat-transzformációk" típusaival (például speciális gráfműveletekkel), és adaptálható különböző modellekhez (az alkotók sikeresen tesztelték a GoT-ot GPT-3.5, GPT-4, LLAMA 2 és más LLM-családokon)[1]. Fontos tulajdonság, hogy a GoT nem igényli magának a nyelvi modellnek a paramétermódosítását — minden fejlesztést a lekérdezések intelligensebb felépítésével és a válaszok feldolgozásával érnek el[1]. Ez azt jelenti, hogy a meglévő erős LLM-ek „ahogy vannak" felhasználhatók, és a Graph-of-Thoughts egy felépítményként irányítja azok működését.
Megjegyzendő, hogy a Graph-of-Thought kifejezés egy másik, független fejlesztésben is megjelent, amely eltér Besta és munkatársai megközelítésétől. 2023-ban Yao Yao és szerzőtársai egy módszert javasoltak az LLM-ek következtetésének javítására egy kiegészítő gondolatgráf-enkóder modul segítségével, amely a modell finomhangolását igényelte[6]. „Beyond Chain-of-Thought, Effective Graph-of-Thought Reasoning in Language Models" című munkájuk kétlépéses architektúrát ír le: először az egymással összefüggő közbenső állítások gráfját generálják, majd azt egy speciális enkóder alakítja át és integrálja a modellbe gated fusion mechanizmus révén[6]. Ez a tanítással járó hibrid megközelítés bizonyos pontossági növekedést mutatott a feladatokon, például a multimodális ScienceQA kérdéskészleten a pontosság 85,2%-ról 87,6%-ra nőtt a T5-base modell alkalmazásakor[6]. Ez a megközelítés azonban, bár nevében hasonló, lényegileg különbözik: a modell módosítását (fine-tuning) igényli, és nem prompt engineering séma. Az eredeti GoT megközelítés alkotói (AAAI 2024) egyértelműen jelzik, hogy munkájukban nem foglalkoznak Yao és mtsai. modelljével, mivel kizárólag az LLM paraméterek frissítése nélküli módszerekre összpontosítanak[1]. Így a Graph-of-Thoughts a jelen áttekintés kontextusában kifejezetten egy prompt szintű keretrendszer, nem pedig a neurális hálózat architektúrájának módosítása.
Alkalmazás és eredmények
A GoT alkotói bemutatták előnyeit számos olyan feladaton, amelyeket nehéz megoldani egyetlen közvetlen prompttal (input-output prompting) vagy akár gondolatok láncával. Az ilyen feladatok jellemző tulajdonsága, hogy felbonthatók több részre (részfeladatokra), ezek a részek külön megoldhatók, majd a részeredményekből szintetizálható a teljes válasz[1]. A vizsgált példák között szerepel: rendezetlen lista rendezése, szövegben lévő kulcsszavak megszámlálása (például dokumentum összefoglalásához), halmazműveletek végrehajtása (listák egyesítése, metszete stb.), valamint szöveges dokumentumok összevonása (több forrásból származó információk egyesítése)[1]. Mindezekben az esetekben a Graph-of-Thoughts lehetővé teszi a feladat természetes dekompozícióját. Például rendezésnél a lista részekre bontható, minden részt külön rendeznek önálló gondolati ágként, majd az eredményeket összevonják (a merge sort algoritmushoz hasonlóan); vagy szövegek elemzésekor a modell párhuzamosan nyerhet ki információt különböző dokumentumokból, majd azt egységes egésszé vonhatja össze.
Kísérleti eredmények igazolják a GoT séma hatékonyságát. Besta és munkatársai jelentése szerint a gondolatok gráfja a rendezési feladatban lényegesen javította a megoldás minőségét a korábbi megközelítésekhez képest[1]. A GoT alkalmazásával elért rendezési pontosság 70%-kal magasabb volt, mint az egyszerű CoT gondolatlánccal, és 62%-kal magasabb, mint a ToT gondolatfával[1]. Eközben a módszer csökkenti a számítási erőforrások felhasználását: a modellhez intézett kérések száma (és ennek megfelelően a tokenizált lekérdezési mennyiség) 31%-kal csökkent a Tree-of-Thoughtshoz képest ugyanazon feladatban[1]. Ez azt jelenti, hogy a következtetések gráfos szervezése nemcsak a végeredményt javította, hanem a megoldást gazdaságosabbá is tette, a közbenső következtetések intelligens kombinálásával elkerülve a redundáns számításokat. Hasonló nyereségeket értek el más tesztfeladatokon is, különösen ott, ahol heterogén információk aggregálása szükséges. A kutatók megjegyzik, hogy a GoT leghatékonyabb pontosan a több elemből álló összetett feladatoknál: „A Graph-of-Thoughts különösen alkalmas azokra a feladatokra, amelyek természetes módon kisebb részfeladatokra bonthatók, külön megoldhatók, majd az eredmények összevonhatók"[1]. Ilyen esetekben a gondolatok gráfja képes a probléma minden aspektusát átfogni, és teljesebb jellegű megoldást szintetizálni, mint egyetlen következtetési vonal követésekor.
Az egy prompt-felépítési módszer miért jobb a másiknál kérdés mélyebb megértéséhez a 2024-es munkában egy speciális mérőszámot javasoltak – a „gondolat terjedelme" (volume of a thought)[1]. A terjedelem minden egyes gondolat (a gráf csúcspontja) esetében úgy van meghatározva, mint azon más gondolatok száma, amelyekből irányított éleken keresztül el lehet jutni az adott gondolathoz (egyszerűbben szólva: hány közbenső lépésnek köszönheti az információját)[1]. A Chain-of-Thoughtban minden gondolat csupán egy előzményre támaszkodik, ezért terjedelme egyenlő 1-gyel (lineáris lánc). A gondolatfában a terjedelem nagyobb lehet, de még mindig korlátozott az egyes ágak struktúrájával. A gráfban viszont az aggregálásnak köszönhetően egy csúcs egyszerre sok más hozzájárulását halmozhatja fel — „terjedelme" lényegesen nagyobb[1]. Kimutatták, hogy a GoT lehetővé teszi a végső következtetések számára, hogy lényegesen nagyobb korábbi gondolat-terjedelemre támaszkodva, azok tartalmát összevonva keletkezzenek. Ez a tény a megoldási tér mélyebb lefedettségét tükrözi, és mennyiségi magyarázatot ad a gráfos következtetés előnyeire az egyszerűbb sémákkal szemben.
Összehasonlítás és jelentőség
A Graph-of-Thoughts ma az LLM-ek számára a strukturált prompting leggeneralizáltabb formáját képviseli. A különböző sémák (CoT, önkonzisztenciával kiegészített CoT, ToT és GoT) összehasonlító táblázataiban hangsúlyozzák, hogy csak a GoT támogatja a gondolkodási folyamat tetszőleges topológiáját[1]. Magában foglalja az összes korábbi megközelítés képességeit: működhet egyetlen láncként, elágazásokkal rendelkező faként, és több lánc kombinációjaként is, ha ez megfelel a feladat megoldásának[1]. A lényeg az, hogy nincsenek szigorú korlátok a lépések közötti kapcsolatokra, ami elméletileg a lehetséges következtetési stratégiák terét maximálisan szélessé teszi[1].
Fontos megérteni, hogy a GoT rugalmassága a vezérlés nagyobb összetettsége árán jár. A gondolatok gráfjának megvalósítása egy külső orkesztrálási algoritmust igényel, amely dönt arról, mikor és milyen gondolatokat generáljon, melyeket válasszon ki vagy kombinálja, mikor állítsa le a folyamatot és adjon választ. Az egyszerű CoT-ban ilyen döntéseket nem kell hozni — a modell maga generálja a lineáris következtetést végig. A ToT-ban az irányítás egy részét a fakeresési algoritmus veszi át (például a kibontandó csomópont kiválasztása). A GoT-ban a szabadsági fok magasabb, és a módszer hatékonysága a közbenső eredményeket értékelő heurisztikák minőségétől és a minden lépésnél helyes prompt-konstrukciótól függ[1]. Így a Graph-of-Thoughts nemcsak lekérdezési formatként, hanem az LLM-mel való interakció folyamatára ráhelyezett következtetési struktúraként is tekinthető — egyfajta dinamikus tervként, amelynek mentén a modell megoldja a feladatot, és amelyet a felhasználó (vagy a kontroller program) irányít.
A Graph-of-Thoughts megjelenése azt a törekvést tükrözi, hogy a nagy nyelvi modellek munkája értelmezhetőbbé és irányíthatóbbá váljon. A megoldás struktúrájának explicit megadásával a kutatók nemcsak jobb minőséget érnek el, hanem lehetőséget kapnak arra is, hogy elemezzék, hogyan jutott a modell egy adott következtetéshez. Ez közelíti az NLP megközelítéseit az algoritmikus keresés és tervezés klasszikus módszereihez, de most a lépések végrehajtása neurális hálózati modellre hárul. Számos szakértő tekinti a strukturált promptokat (gondolatok láncait, fáit, gráfjait) ígéretes iránynak, amely képes leküzdeni a mély modellek „fekete doboz" korlátait, és növelni megbízhatóságukat összetett feladatoknál[4][4].
A Graph-of-Thoughts módszertan aktívan fejlődik tovább. A GoT megvalósításához szükséges kódot és példákat az alkotók nyilvánosan elérhetővé tették[1], ami lehetővé tette a közösség számára, hogy kísérletezzen az új megközelítéssel. Kiterjesztések is megjelennek: például a gondolatok gráfjának multimodális változatai, amelyek a szöveget képekkel és más adattípusokkal kombinálják[3][3], valamint kísérletek arra, hogy a GoT ötleteit közvetlenül a modellek architektúrájába integráljuk (mint az említett Yao et al., 2023-as munkában). 2025-ben megjelent a Chain-of-Thought, Tree-of-Thoughts és Graph-of-Thoughts módszerek részletes taxonómiai áttekintése, amely rendszerezi a felhalmozott tudást és leírja az ilyen megközelítések elméleti alapjait[4][4]. Mindez a tudományos közösség nagy érdeklődéséről tanúskodik az LLM gondolkodásának strukturált irányítása iránt. A Graph-of-Thoughts már bebizonyította, hogy hatékony eszköz összetett feladatok megoldásában, és valószínűleg alapját képezi majd a továbbiakban az MI-megoldások innovációinak, amelyek a nagy nyelvi modellek erejét a klasszikus algoritmusok átláthatóságával és logikájával ötvözik.
Hivatkozások
- Az eredeti „Graph of Thoughts: Solving Elaborate Problems with Large Language Models" cikk az arXiv-on
- Az eredeti cikk HTML verziója
- A „Demystifying Chains, Trees, and Graphs of Thoughts" áttekintés az arXiv-on
- A „Beyond Chain-of-Thought, Effective Graph-of-Thought Reasoning in Language Models" cikk az arXiv-on
- Multimodal Graph-of-Thoughts — Deepgram-cikk
- LLMs Graph of Thoughts Framework — cikk a Mediumon
Irodalom
- 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.
Jegyzetek
- ↑ 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]