کدگذاری نمودارها برای مدل های زبان بزرگ

GraphQA روی کارهای ساده مرتبط با نمودارها تمرکز می کند، مانند بررسی وجود یال، محاسبه تعداد گره ها یا یال ها، یافتن گره هایی که به یک گره خاص متصل هستند و بررسی چرخه های یک نمودار. این وظایف ممکن است اساسی به نظر برسند، اما نیاز به درک روابط بین گره ها و لبه ها دارند. GraphQA با پوشش انواع مختلف چالش‌ها، از شناسایی الگوها گرفته تا ایجاد ارتباطات جدید، به مدل‌ها کمک می‌کند تا یاد بگیرند که چگونه نمودارها را به طور موثر تجزیه و تحلیل کنند. این وظایف اساسی برای استدلال پیچیده‌تر روی نمودارها، مانند یافتن کوتاه‌ترین مسیر بین گره‌ها، شناسایی جوامع یا شناسایی گره‌های تأثیرگذار، حیاتی هستند. علاوه بر این، GraphQA شامل تولید نمودارهای تصادفی با استفاده از الگوریتم‌های مختلف مانند Erdős-Rényi، شبکه‌های بدون مقیاس، مدل Barabasi-Albert و مدل بلوک تصادفی، و همچنین ساختارهای نمودار ساده‌تر مانند مسیرها، نمودارهای کامل و نمودارهای ستاره‌ای است که مجموعه‌ای متنوع را ارائه می‌کند. داده ها برای آموزش

هنگام کار با نمودارها، ما همچنین باید راه هایی را برای پرسیدن سوالات مربوط به گراف پیدا کنیم که LLM ها بتوانند آن را درک کنند. تحریک اکتشافی استراتژی های مختلفی برای انجام این کار است. بیایید موارد رایج را تجزیه کنیم:

  • ضربه صفر: به سادگی کار را توصیف کنید (“آیا چرخه ای در این نمودار وجود دارد؟”) و به LLM بگویید آن را انجام دهد. هیچ نمونه ای ارائه نشده است.
  • چند شات: این مثل این است که قبل از معامله واقعی، یک آزمون تمرینی کوچک به LLM بدهید. ما چند نمونه سوال نمودار و پاسخ صحیح آنها را ارائه می دهیم.
  • زنجیره ای از فکر: در اینجا، ما به LLM نشان می دهیم که چگونه یک مشکل را گام به گام با مثال هایی تجزیه کند. هدف این است که به آن بیاموزیم در مواجهه با نمودارهای جدید، «فرایند فکری» خود را ایجاد کند.
  • Zero-CoT: مشابه CoT، اما به‌جای مثال‌های آموزشی، به LLM یک اعلان ساده مانند «بیایید قدم به قدم فکر کنیم» می‌دهیم تا خرابی حل مسئله خودش را آغاز کند.
  • کیسه (ایجاد یک نمودار): این به طور خاص برای وظایف نمودار است. عبارت “Let's build a graph…” را به توضیحات اضافه می کنیم و به LLM کمک می کنیم تا بر ساختار نمودار تمرکز کند.

ما راه‌های مختلفی را برای ترجمه نمودارها به متن که LLMها می‌توانند با آن کار کنند، بررسی کردیم. سوالات کلیدی ما این بود:

  • رمزگذاری گره: چگونه گره های جداگانه را نشان می دهیم؟ گزینه های آزمایش شده شامل اعداد صحیح ساده، نام های رایج (افراد، کاراکترها) و حروف می باشد.
  • رمزگذاری لبه: چگونه روابط بین گره ها را توصیف کنیم؟ روش‌ها شامل علامت‌گذاری پرانتز، عباراتی مانند “دوست هستیم” و نمایش نمادین مانند فلش بود.

کدهای مختلف گره و لبه به طور سیستماتیک ترکیب شدند. این منجر به عملکردهایی مانند آنچه در شکل زیر است: