Graph of Thoughts (HE)
Graph-of-Thoughts (GoT) — זוהי תפיסה בתחום העבודה עם מודלי שפה גדולים (LLM, Large Language Models), המציעה לייצג את תהליך ההיסק של המודל כגרף שרירותי של «מחשבות» קשורות זו בזו (שלבי ביניים בפתרון)[1]. גישה זו הוצעה על ידי קבוצת חוקרים בהנהגת מאצ'יי בסטה (Maciej Besta) מ-ETH Zurich ופורסמה בשנת 2024 בכנס AAAI[2]. מטרת Graph-of-Thoughts היא להרחיב את יכולות הprompt engineering (פיתוח שאילתות) מעבר לסכמות הקיימות, כגון Chain-of-Thought (שרשרת מחשבות) ו-Tree-of-Thoughts (עץ מחשבות)[1]. בניגוד אליהן, גישת GoT מאפשרת לכל קטע היסק שנוצר על ידי המודל (מחשבה) להפנות לכל קטע אחר, ויוצרת רשת רעיונות במקום מבנה לינארי או היררכי קפדני[3]. לטענת המחברים, זה משקף בצורה מדויקת יותר את האופי המורכב והלא-לינארי של החשיבה האנושית, ועשוי לקרב את מנגנון ההיסק של LLM לאופן פעולת המוח האנושי (עם קשרים עצביים מחזוריים)[1][1].
Graph-of-Thoughts הוא מסגרת עבודה לניסוח שאילתות (prompting framework), כלומר אינו דורש אימון נוסף או כיוונון עדין של המודל עצמו — במקום זאת הוא מארגן את הדיאלוג עם ה-LLM באופן מיוחד, ומוביל את המודל דרך סדרת שלבים-«מחשבות» הקשורים לפי סכמת גרף[1]. מבנה כזה מאפשר לשלב ולעשות שימוש חוזר בענפי היסק שונים: לדוגמה, המודל יכול לבחון במקביל מספר השערות או חלקים של משימה, ולאחר מכן לאחד את המוצלחות שבהן לפתרון אחד[1]. בסגנון אנציקלופדי, ניתן להגדיר את Graph-of-Thoughts כהכללה של אסטרטגיות קודמות לחשיבה מובנית עם LLM, המספקת גמישות מרבית בארגון תהליכי חשיבה בתוך שאילתה מורכבת אחת[1].
רקע: Chain-of-Thought ו-Tree-of-Thoughts
שיטת Graph-of-Thoughts צמחה מגישות קודמות המשתמשות במבנה היסק מפורש בעבודה עם מודלי שפה. הגישה הבסיסית היא Chain-of-Thought (CoT) — «שרשרת מחשבות». בשיטת CoT מוצע למשתמש לכלול בשאילתה למודל לא רק את תנאי המשימה, אלא גם שלבי ביניים של ההיסק המובילים לתשובה[1]. מחקרים הראו כי אופן הצגה זה משפר משמעותית את יכולת ה-LLM לפתור משימות מורכבות, כגון בעיות מתמטיות או חידות לוגיות, וזאת ללא שינוי בפרמטרי המודל עצמו[1]. למעשה, CoT מעודד את המודל לפרק שלב אחר שלב בעיה מורכבת לשלבים פשוטים יותר, ומחקה מהלך מחשבה עוקב.
פיתוח של רעיון זה הוא הטכניקה Self-Consistency: במקום שרשרת מחשבות אחת, נוצרות מספר שרשרות עצמאיות, ולאחר מכן נבחרת המשכנעת ביותר[1]. זה מאפשר למודל לשקול גישות שונות לפתרון ומפחית את הסיכון לקבל תשובה שגויה עקב מעקב אחר קו היסק שגוי יחיד. עם זאת, גם ריבוי שרשרות CoT אינו מאפשר «שילוב רעיונות»: כל שרשרת נבחנת בבידוד, והמודל רק בוחר את הטובה שבהן מבלי לשלב את תוכנן.
כדי להתגבר על מגבלה זו הוצעה סכמת Tree-of-Thoughts (ToT) — «עץ מחשבות»[1]. ב-ToT תהליך ההיסק מאורגן כעץ: בכל נקודה המודל יכול לייצר מספר גרסאות לפיתוח המחשבה (ענפים), ולאחר מכן מתבצע הערכה של מצבי הביניים הללו ובחירת המבטיחים ביותר לעיבוי נוסף[1]. בשימוש בחיפוש עצי (לדוגמה, לרוחב — BFS, או לעומק — DFS) ובאפשרות לחזור לצמתים ולפתח ענף אחר, Tree-of-Thoughts מעניק למודל השפה מנגנון חזק יותר לפתרון משימות מורכבות מאשר CoT הלינארי[1]. מתאפשרות יכולות חדשות, כגון נסיגה ועיון מחדש: אם ענף מסוים מוביל למבוי סתום, ניתן לחזור לצומת הקודם ולנסות נתיב אחר[1]. שיטה זו הוכיחה את יעילותה בפתרון משימות לוגיות וחיפוש, שבהן סריקת אפשרויות ותכנון ממלאים תפקיד חשוב.
עם זאת, עץ המחשבות מטיל גם מגבלות נוקשות: כל מחשבה (צומת בעץ) שייכת לענף אחד בלבד, האינטראקציה מתרחשת רק בין צמתי אב ובן, וענפים שונים אינם יכולים להתמזג או להחליף מידע[3]. במילים אחרות, חילופי רעיונות צולבים (cross-pollination) בין השערות שונות במסגרת פתרון אחד הם קשים: ענפי העץ מתפתחים באופן עצמאי ומתאחדים רק בשורש, כאשר נבחרת שרשרת ההיסק הטובה ביותר[3]. בחשיבה יצירתית או אנליטית אנושית אמיתית, אדם נוטה לחזור לרעיון שנבחן קודם לכן ולשלב אותו עם ענף אחר של היסק. שזירה כזו של מחשבות חורגת ממסגרת מבנה העץ[1].
תצפיות אלו הובילו את החוקרים לרעיון של מבנה גמיש יותר — גרף, שבו הקשרים בין מחשבות אינם מוגבלים ויכולים ליצור רשת מורכבת. כפי שמצוין בסקירה האנליטית משנת 2024, הופעת שרשרות, עצים וגרפים של מחשבות משקפת את לידתה של מחלקה חדשה של שיטות, המסוגלות לחזק משמעותית את יכולות ה-LLM באמצעות מיבנוי מפורש של תהליך ההיסק[4]. בפרט, רמזים מובנים אפשרו לשפר ניכר את תוצאות ה-LLM בתחומים רבים — מפתרון בעיות מתמטיות וחידות לוגיות ועד לתכנון ואפילו כתיבה יצירתית[4]. על רקע כללי זה צצה סכמת Graph-of-Thoughts כצעד הבא בפיתוח שיטות prompting מובנה.
תפיסת Graph-of-Thoughts: מבנה גרף של מחשבות
Graph-of-Thoughts מציע לייצג את מהלך ביצוע משימות על ידי מודל השפה כגרף מכוון שרירותי. פורמלית, גרף המחשבות ב-GoT הוא קבוצת צמתים (מחשבות) וצלעות (תלויות בין מחשבות)[1]. כצומת בגרף עומדת מחשבה בודדת של המודל — תחת מונח זה מובנת כל יחידה תוכנית התלויה בהקשר המשימה: זו יכולה להיות טענה בודדת, שלב פתרון, קטע טקסט, פסקה, בלוק קוד וכו', שנוצרו על ידי המודל בתגובה לשאילתה[1][1]. צלע בין צמתים מציינת שמחשבה אחת שימשה ליצירת אחרת — כלומר, בשאילתה נאמר במפורש שעל המודל להסתמך על תוצאה קודמת מסוימת כדי להפיק תוצאה חדשה[1]. כך, הצלעות מציינות תלויות: על אילו נתונים שהתקבלו קודם מסתמך השלב הנוכחי של ההיסק.
ההבדל החשוב ביותר של GoT ממבנים פשוטים יותר הוא אפשרות האגרגציה ומיזוג המחשבות. בגרף מותר שלצומת (מחשבה חדשה) יהיו מספר קודמים[1]. זה תואם את המצב שבו שתיים או יותר שרשרות היסק נפרדות מתאחדות: המודל מקבל כקלט מספר קטעים שנוצרו קודם ועל בסיסם מגבש מסקנה מסונתזת[1]. לדוגמה, בפתרון משימה, המודל יכול לבחון במקביל שתי השערות, ולאחר מכן ליצור מחשבה חדשה המשלבת את הצדדים החיוביים של שתי ההשערות ומסלקת את חסרונותיהן[1][1]. פעולות אגרגציה כאלה לא היו אפשריות במסגרת הסכמה הענפה (שבה לכל צומת יש רק הורה אחד), אך מתממשות באופן טבעי בגרפית[1]. מעבר למיזוג רעיונות, הגרף מאפשר גם להכניס לולאות משוב (feedback loops): באופן עקרוני, מבנה GoT אינו אוסר מחזורים, כלומר המודל יכול להחזיר תוצאה מסוימת לשלב מוקדם יותר של ההיסק לעיבוד חוזר או לדיוק[1]. המחברים קושרים זאת לאנלוגיה עם קשרים מחזוריים ברשתות עצביות של המוח, שבהן פלט קבוצה אחת של נוירונים יכול להשפיע בחזרה על שכבות קודמות, ויוצר מעגלי מחשבה סגורים[1].
מבחינה מעשית, יישום Graph-of-Thoughts דורש ארגון מיוחד של הדיאלוג עם המודל. החוקרים פיתחו מסגרת ארכיטקטונית מודולרית עבור GoT[1]. במסגרת זו מובדלים רכיבים עבור: (1) שליטה עדינה על שלבים (מחשבות) בודדים — ה«בקר» מנהל את הסדר וההיגיון של יצירת המחשבות; (2) עיצוב דינמי של שאילתות — עבור כל שלב מודול מיוחד יוצר prompt על בסיס ההקשר הנוכחי והצמתים הנבחרים בגרף (הקודמים); (3) ניתוח והערכת תגובות המודל — קטעים שהתקבלו מה-LLM מנותחים ומוערכים לפי איכות, תועלת או עמידה בקריטריונים של המשימה[5]. ארכיטקטורת GoT מאפשרת בכך לבנות בצורה אינטראקטיבית את גרף ההיסק: לאחר כל שלב מתקבלת החלטה אילו צמתים חדשים להוסיף, כיצד לחברם לקודמים, אילו ענפים להמשיך או לאחד. הודות למודולריות, ניתן להרחיב מסגרת כזו בסוגים חדשים של «טרנספורמציות מחשבות» (לדוגמה, פעולות מיוחדות עם גרף) ולהתאימה למודלים שונים (המחברים בחנו בהצלחה את GoT עם LLM ממשפחות GPT-3.5, GPT-4, LLAMA 2 ועוד)[1]. תכונה חשובה היא שGoT אינו דורש שינוי בפרמטרים של מודל השפה עצמו — כל השיפורים מושגים בזכות בניית שאילתות נבונה יותר ועיבוד תגובות[1]. משמעות הדבר היא שניתן להשתמש ב-LLM חזקים קיימים «כמות שהם», ו-Graph-of-Thoughts ממלא את תפקיד השכבת-על המנהלת את פעולתם.
יש לציין שהמונח Graph-of-Thought הופיע גם בפיתוח עצמאי אחר, השונה מגישתם של בסטה ועמיתיו. בשנת 2023 הציעו יאו יאו ומחברים שותפים שיטה לשיפור reasoning ב-LLM באמצעות מודול encoder נוסף של גרף מחשבות, דבר שדרש כיוונון עדין של המודל[6]. עבודתם בשם «Beyond Chain-of-Thought, Effective Graph-of-Thought Reasoning in Language Models» מתארת ארכיטקטורה דו-שלבית: תחילה נוצר גרף של טענות ביניים קשורות, לאחר מכן הוא מומר על ידי encoder מיוחד ומשולב במודל דרך מנגנון gated fusion[6]. גישה היברידית זו עם אימון הדגימה עלייה מסוימת בדיוק על משימות, כגון על קבוצת השאלות המולטי-מודלית ScienceQA שבה הדיוק עלה מ-85.2% ל-87.6% בשימוש במודל T5-base[6]. עם זאת, גישה זו, למרות הדמיון בשם, שונה מהותית: היא דורשת שינוי במודל (fine-tuning) ואינה סכמה של prompt engineering. מחברי גישת GoT המקורית (AAAI 2024) מציינים במפורש שאינם בוחנים בעבודתם את מודל יאו ועמיתיו, מאחר שהם מתמקדים דווקא בשיטות ללא עדכון פרמטרי LLM[1]. כך, Graph-of-Thoughts בהקשר של סקירה זו הוא דווקא מסגרת עבודה ברמת השאילתות, ולא שינוי בארכיטקטורת הרשת העצבית.
יישום ותוצאות
מחברי GoT הדגימו את יתרונותיו על שורה של משימות שקשה לפתור באמצעות שאילתה ישירה אחת (input-output prompting) או אפילו עם שרשרת מחשבות. מאפיין טיפוסי של משימות כאלה הוא שניתן לפרק אותן למספר חלקים (תת-משימות), לפתור חלקים אלה בנפרד, ולאחר מכן לסנתז תשובה מלאה מתוצאות חלקיות[1]. בין הדוגמאות שנבחנו: מיון של רשימה לא מסודרת, ספירת מילות מפתח בטקסט (לדוגמה, לצורך תמצות מסמך), ביצוע פעולות על קבוצות (איחוד, חיתוך רשימות וכו'), וכן מיזוג מסמכי טקסט (שילוב מידע ממקורות מרובים)[1]. בכל המקרים הללו Graph-of-Thoughts מאפשר פירוק טבעי של המשימה. לדוגמה, למיון מפוצלת הרשימה לחלקים, כל חלק ממוין בנפרד כענף עצמאי של מחשבות, ולאחר מכן התוצאות מאוחדות (מחקה אלגוריתם כמו merge sort); או בניתוח טקסטים המודל יכול להפיק במקביל מידע ממסמכים שונים, ולאחר מכן לאחד אותו.
תוצאות ניסויות מאשרות את יעילות סכמת GoT. לפי הדו«ח של בסטה ועמיתיו, במשימת המיון הגרף של מחשבות אפשר לשפר משמעותית את איכות הפתרון בהשוואה לגישות קודמות[1]. כך, הדיוק במיון בשימוש ב-GoT היה גבוה ב-70% מאשר עם שרשרת מחשבות פשוטה CoT, וגבוה ב-62% מאשר עם עץ מחשבות ToT[1]. במקביל השיטה מצמצמת את עלות המשאבים החישוביים: מספר הפניות למודל (ובהתאם, נפח השאילתות בטוקנים) ירד ב-31% בהשוואה ל-Tree-of-Thoughts עבור אותה משימה[1]. משמעות הדבר היא שארגון גרפי של ההיסק לא רק שיפר את התוצאה הסופית, אלא גם הפך את הפתרון לחסכוני יותר, תוך הימנעות מחישובים מיותרים בזכות שילוב נבון של מסקנות ביניים. הישגים דומים התקבלו גם על משימות בדיקה אחרות, בעיקר שם שנדרשת אגרגציה של מידע הטרוגני. החוקרים מציינים ש-GoT יעיל ביותר בדיוק עבור משימות קומפוזיטיות, המורכבות ממספר אלמנטים: «Graph-of-Thoughts מתאים במיוחד למשימות שמתפרקות באופן טבעי לתת-משימות קטנות יותר, הניתנות לפתרון בנפרד עם שילוב תוצאות לאחר מכן»[1]. במקרים כאלה גרף המחשבות מסוגל לקלוט את כל היבטי הבעיה ולסנתז פתרון בעל אופי מקיף יותר מאשר במעקב אחר קו היסק אחד.
להבנה עמוקה יותר של הסיבה לכך שאופן בניית שאילתה אחד עדיף על אחר, הוצעה בעבודת 2024 מדד מיוחד — «נפח מחשבה» (volume of a thought)[1]. הנפח מוגדר עבור כל מחשבה בודדת (צומת בגרף) כמספר המחשבות האחרות שממנן ניתן להגיע לצומת זה בצלעות מכוונות (במילים פשוטות, לכמה שלבי ביניים היא חבה את מידעה)[1]. ב-Chain-of-Thought כל מחשבה נסמכת על קודם אחד בלבד, לכן נפחה שווה 1 (שרשרת לינארית). בעץ מחשבות הנפח יכול להיות גדול יותר, אך עדיין מוגבל על ידי מבנה הענף הנפרד. בגרף לעומת זאת, הודות לאגרגציה, צומת בודד יכול לצבור תרומות של רבים אחרים — «נפחו» גבוה משמעותית[1]. הוכח ש-GoT מאפשר למסקנות הסופיות להתבסס על נפח גדול בהרבה של מחשבות קודמות, ולשלב את תוכנן. עובדה זו משקפת כיסוי עמוק יותר של מרחב הפתרונות ומשמשת הסבר כמותי ליתרונות ההיסק הגרפי על פני סכמות פשוטות יותר.
השוואה וחשיבות
Graph-of-Thoughts מייצג כיום את הצורה המוכללת ביותר של prompting מובנה עבור LLM. בטבלאות השוואה של סכמות שונות (CoT, CoT עם עקביות עצמית, ToT ו-GoT) מודגש ש-GoT בלבד תומך בטופולוגיה שרירותית של תהליך החשיבה[1]. הוא כולל את יכולות כל הגישות הקודמות: יכול לפעול גם כשרשרת אחת, גם כעץ עם ענפים, וגם כשילוב של שרשרות מרובות, אם זה מתאים לפתרון המשימה[1]. העיקר — אין מגבלות נוקשות על הקשר בין שלבים, מה שתיאורטית הופך את מרחב האסטרטגיות האפשריות של ההיסק למרחב רחב ביותר[1].
חשוב להבין שגמישות GoT באה במחיר מורכבות שליטה גדולה יותר. יישום גרף המחשבות דורש אלגוריתם-מתאם חיצוני, שיחליט מתי ואילו מחשבות לייצר, אילו מהן לברור או לשלב, מתי להפסיק את התהליך ולמסור תשובה. ב-CoT פשוט אין צורך לקבל החלטות כאלה — המודל בעצמו יוצר היסק לינארי עד סופו. ב-ToT חלק מהשליטה נופל על אלגוריתם החיפוש העצי (לדוגמה, בחירת צומת לפיתוח). ב-GoT לעומת זאת מידת החופש גבוהה יותר, ויעילות השיטה תלויה באיכות ההיוריסטיות המעריכות תוצאות ביניים ובבנייה נכונה של שאילתות בכל שלב[1]. כך, ניתן לראות ב-Graph-of-Thoughts לא רק פורמט של שאילתה, אלא מבנה היסק המוטל על תהליך האינטראקציה עם ה-LLM — סוג של תוכנית דינמית שלפיה המודל פותר משימה, והמשתמש (או תוכנית-בקר) מכוון תהליך זה.
הופעת Graph-of-Thoughts משקפת את השאיפה להפוך את עבודת מודלי השפה הגדולים לפרשנית וניתנת לניהול יותר. בקביעת מבנה הפתרון באופן מפורש, החוקרים לא רק משיגים איכות טובה יותר, אלא גם מקבלים אפשרות לנתח כיצד הגיע המודל למסקנה זו או אחרת. זה מקרב גישות ב-NLP לשיטות חיפוש ותכנון אלגוריתמיות קלאסיות, אך כעת ביצוע השלבים מוטל על מודל רשת עצבית. מספר מומחים רואים ב-prompting מובנה (שרשרות, עצים, גרפים של מחשבות) כיוון מבטיח, המסוגל להתגבר על מגבלות ה«קופסה השחורה» במודלים עמוקים ולהגביר את אמינות פעולתם על משימות מורכבות[4][4].
מתודולוגיית Graph-of-Thoughts ממשיכה להתפתח באופן פעיל. הקוד והדוגמאות ליישום GoT פורסמו על ידי המחברים לגישה ציבורית[1], מה שאיפשר לקהילה להתנסות בגישה החדשה. מופיעים גם הרחבות: לדוגמה, גרסאות מולטי-מודליות של גרף המחשבות, המשלבות טקסט עם תמונות וסוגי נתונים אחרים[3][3], וכן ניסיונות לשלב את רעיונות GoT ישירות בארכיטקטורת מודלים (כמו בעבודת Yao et al., 2023 שהוזכרה). בשנת 2025 יצאה סקירה-טקסונומיה מפורטת של שיטות Chain-of-Thought, Tree-of-Thoughts ו-Graph-of-Thoughts, המסדרת את הידע שנצבר ומתארת את הבסיס התיאורטי של גישות כאלה[4][4]. כל זאת מעיד על עניין גדול של הקהילה המדעית בניהול מובנה של חשיבת LLM. Graph-of-Thoughts כבר הוכיח את עצמו ככלי יעיל לפתרון משימות מורכבות, וסביר להניח שיהווה בסיס לחידושים נוספים בתחום פתרונות הבינה המלאכותית, המשלבים את עוצמת מודלי השפה הגדולים עם שקיפות ולוגיקה של אלגוריתמים קלאסיים.
קישורים
- המאמר המקורי «Graph of Thoughts: Solving Elaborate Problems with Large Language Models» ב-arXiv
- גרסת HTML של המאמר המקורי
- סקירה «Demystifying Chains, Trees, and Graphs of Thoughts» ב-arXiv
- מאמר «Beyond Chain-of-Thought, Effective Graph-of-Thought Reasoning in Language Models» ב-arXiv
- Multimodal Graph-of-Thoughts — מאמר של Deepgram
- LLMs Graph of Thoughts Framework — מאמר ב-Medium
ספרות
- 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.
הערות
- ↑ 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]