Graph of Thoughts (HU)

From Systems analysis Wiki
Jump to navigation Jump to search

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. 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]