Generated Knowledge Prompting (FA)

From Systems analysis Wiki
Jump to navigation Jump to search

Generated Knowledge Prompting (GKP، پرامپتینگ با تولید دانش) — روشی در prompt engineering است که برای بهبود توانایی مدل‌های زبانی بزرگ (LLM) در حل وظایفی که نیازمند استدلال و اتکا به دانش واقعی هستند، توسعه یافته است[1]. ایده اصلی GKP این است که مدل را وادار می‌کند وظیفه را در دو مرحله انجام دهد: ابتدا مجموعه‌ای از حقایق مرتبط با موضوع پرسش را تولید کند، و سپس با تکیه بر این دانش، پاسخ نهایی را تدوین نماید[2].

این رویکرد به LLM اجازه می‌دهد دانش پارامتری درونی خود را که به‌صورت ضمنی در میلیاردها پارامتر کدگذاری شده اما در پرسش‌های استاندارد اغلب قابل دسترس نیست، فعال کرده و به‌کار گیرد. GKP مشکلی را حل می‌کند که در آن مدل‌ها «نمی‌دانند که چه می‌دانند»، و به آن‌ها کمک می‌کند تا حقایق پراکنده را برای ساختن استنتاج صحیح به هم پیوند دهند[2].

تاریخچه و منشأ

روش Generated Knowledge Prompting برای نخستین بار در مقاله علمی «Generated Knowledge Prompting for Commonsense Reasoning» که توسط گروهی از پژوهشگران به سرپرستی Jiacheng Liu تهیه شده بود، معرفی گردید. نسخه اولیه این اثر در ۱۵ اکتبر ۲۰۲۱ در آرشیو پیش‌چاپ arXiv منتشر شد و نسخه نهایی آن در کنفرانس معتبر Association for Computational Linguistics (ACL) در سال ۲۰۲۲ ارائه گردید[1].

GKP یکی از نخستین و مهم‌ترین روش‌هایی بود که پیشنهاد داد پارادایم تعامل با LLM را تغییر دهیم و تمرکز را از تولید فوری پاسخ به یک فرآیند شناختی دو مرحله‌ای منتقل کنیم.

مکانیزم دو مرحله‌ای

مکانیزم GKP وظیفه پیچیده را به دو زیرفرآیند ساده‌تر تقسیم می‌کند: استخراج اطلاعات مرتبط و استفاده بعدی از آن برای استنتاج.

مرحله ۱: تولید دانش (Knowledge Generation)

در مرحله اول، از یک مدل زبانی («تولیدکننده دانش») برای ایجاد چندین (M) قطعه دانش مرتبط با پرسش اصلی استفاده می‌شود. این فرآیند با استفاده از تکنیک few-shot prompting آغاز می‌شود، که در آن چند نمونه برای یادگیری «در متن» به مدل ارائه می‌شود.

پرامپت تولید دانش ساختار کاملاً مشخصی دارد:

  1. دستورالعمل: راهنمای کلی، مانند: «چند حقیقت درباره موضوع تولید کن».
  2. نمونه‌های نمایشی: چند جفت «پرسش-دانش» که توسط انسان نوشته شده‌اند. این نمونه‌ها نقش بسیار مهمی دارند، زیرا به مدل می‌آموزند چه نوع اطلاعاتی مفید تلقی می‌شود. در عین حال، دانش تولیدشده نباید مستقیماً حاوی خود پاسخ باشد.
  3. پرسش جدید: درخواست اصلی کاربر که برای آن باید دانش تولید شود.

برای یک پرسش، M نوع دانش تولید می‌شود (در اثر اصلی M=20)، تا در مرحله دوم مجموعه‌ای متنوع از حقایق در دسترس باشد[1].

مرحله ۲: یکپارچه‌سازی دانش و تشکیل پاسخ (Knowledge Integration)

در مرحله دوم، از مدل زبانی دیگری («مدل استنتاج») استفاده می‌شود که می‌تواند در حالت zero-shot کار کند یا برای وظیفه خاصی fine-tune شده باشد.

فرآیند یکپارچه‌سازی به شکل زیر انجام می‌شود:

  1. افزوده‌سازی پرسش: پرسش اصلی (q) به‌ترتیب با هر یک از M قطعه دانش تولیدشده (km) ترکیب می‌شود. در نتیجه، M+1 پرسش افزوده‌شده (شامل پرسش اصلی بدون دانش) ایجاد می‌گردد.
  2. ارزیابی و انتخاب پاسخ: مدل استنتاج احتمال شرطی هر گزینه پاسخ احتمالی (a) را برای هر پرسش افزوده‌شده ارزیابی می‌کند. پاسخ نهایی گزینه‌ای است که حداقل برای یکی از پرسش‌ها بیشترین امتیاز احتمال را دریافت کرده باشد.

این مکانیزم دو مرحله‌ای نوعی فرآیند فراشناختی را معرفی می‌کند: «پیش از پاسخ دادن، فکر کن و آنچه را که درباره این موضوع می‌دانی صورت‌بندی کن».

اثربخشی و نتایج آزمون

اثربخشی GKP بر روی تعدادی از benchmark های دانشگاهی برای ارزیابی استدلال مبتنی بر منطق متعارف بررسی شد. این روش بهبود قابل توجهی در عملکرد نسبت به رویکردهای پایه نشان داد.

خلاصه نتایج GKP در benchmark های اصلی (داده‌ها از Liu et al., 2022)[1]
نام benchmark وظیفه دقت مدل پایه (%) دقت با GKP (%) افزایش (%)
NumerSense منطق متعارف عددی 64.05 72.47 +8.42
CommonsenseQA منطق متعارف عمومی 39.89 47.26 +7.37
CommonsenseQA 2.0 منطق متعارف عمومی 70.20 73.03 +2.83
QASC منطق متعارف علمی 76.74 80.33 +3.59

بیشترین افزایش در حالت zero-shot مشاهده می‌شود، که توانایی GKP در فعال‌سازی مؤثر دانش درونی مدل بدون fine-tuning اضافی را اثبات می‌کند.

تحلیل مقایسه‌ای با سایر تکنیک‌ها

GKP در مقابل Chain-of-Thought (CoT)

تفاوت اصلی میان GKP و Chain-of-Thought (CoT) در نوع اطلاعات تولیدشده است:

  • GKP دانش اعلامی تولید می‌کند — حقایق، تعاریف، گزاره‌هایی درباره جهان («چه»). این روش زمینه اضافی را در اختیار مدل می‌گذارد.
  • CoT دانش رویه‌ای تولید می‌کند — گام‌های منطقی، محاسبات، توالی استنتاج‌ها («چگونه»). این روش مسیر استدلال را به مدل ارائه می‌دهد.

بنابراین، GKP پایه واقعی را فراهم می‌کند و CoT ساختار منطقی استنتاج را[3].

GKP در مقابل Retrieval-Augmented Generation (RAG)

بر خلاف GKP، روش Retrieval-Augmented Generation (RAG) از منابع دانش بیرونی و غیر پارامتری استفاده می‌کند.

  • GKP از دانش درونی که مدل در طول آموزش فراگرفته استفاده می‌کند. این روش مدل را وادار می‌کند آنچه را که از قبل می‌داند «به یاد بیاورد».
  • RAG از دانش بیرونی برگرفته از پایگاه‌های داده، اسناد یا اینترنت استفاده می‌کند. این روش مدل را وادار می‌کند اطلاعات را در جهان خارج «جستجو کند».

انتخاب بین GKP و RAG به وظیفه بستگی دارد: GKP زمانی مؤثر است که دانش مورد نیاز عمومی بوده و در داده‌های آموزشی به‌خوبی نمایان باشد، در حالی که RAG برای داده‌های بسیار تخصصی، تازه یا اختصاصی ضروری است.

محدودیت‌ها و خطرات

  • مشکل «توهم»: خطر اصلی GKP احتمال تولید حقایق نادرست است. اگر در مرحله اول مدل گزاره‌ای کاذب تولید کند، در مرحله دوم آن گزاره به‌عنوان واقعیت پذیرفته می‌شود و این به پاسخی مطمئن اما کاملاً نادرست منجر می‌گردد.
  • هزینه‌های محاسباتی: این روش به فراخوانی‌های متعدد LLM نیاز دارد (M+1 فراخوانی برای یک پرسش)، که زمان پاسخ (latency) و هزینه استفاده را در مقایسه با prompting استاندارد به‌طور قابل توجهی افزایش می‌دهد.
  • پیچیدگی طراحی پرامپت: اثربخشی GKP به شدت به کیفیت نمونه‌های few-shot وابسته است که ایجاد آن‌ها وظیفه‌ای غیرتافته و زمان‌بر است.

تکامل و رویکردهای ترکیبی

ایده‌های بنیادین GKP به‌عنوان کاتالیزور توسعه تکنیک‌های پیشرفته‌تر و مطمئن‌تر prompting عمل کردند، از جمله:

  • Hint-before-Solving (HSP): وارث مستقیم ایدئولوژیک GKP که اصل دو مرحله‌ای («ابتدا دانش، سپس عمل») را نه برای پاسخ ساده، بلکه برای فرآیند استدلال پیچیده‌تر در CoT به‌کار می‌گیرد[4].
  • Verify-and-Edit (VE): چارچوبی ترکیبی که پاسخی به مشکل «توهم» در GKP و CoT است. VE ابتدا زنجیره استدلال را تولید می‌کند (مانند CoT)، سپس حقایق کلیدی را به‌صورت خودکار از طریق جستجوی بیرونی بررسی می‌کند (مانند RAG) و پیش از تولید پاسخ نهایی، استدلال‌ها را ویرایش می‌نماید[5].

پیوندها

  • Generated Knowledge Prompting در Prompt Engineering Guide

منابع

  • Liu, J. et al. (2021). Generated Knowledge Prompting for Commonsense Reasoning. arXiv:2110.08387
  • Liu, J. et al. (2022). Generated Knowledge Prompting for Commonsense Reasoning. In *Proc. ACL 2022*. ACL:2022
  • 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
  • Fu, J. et al. (2024). Hint-before-Solving Prompting: Guiding LLMs to Effectively Utilize Encoded Knowledge. arXiv:2402.14310
  • Zhao, R. et al. (2023). Verify-and-Edit: A Knowledge-Enhanced Chain-of-Thought Framework. arXiv:2305.03268
  • Lin, B. et al. (2020). NumerSense: Probing Numerical Commonsense Knowledge of Pre-trained Language Models. Dataset page
  • Talmor, A. et al. (2019). CommonsenseQA: A Question-Answering Challenge Targeting Commonsense Knowledge. ACL paper
  • Khot, T. et al. (2019). QASC: A Dataset for Question Answering via Sentence Composition. arXiv:1910.11473
  • Mu, J. et al. (2023). Learning to Compress Prompts with Gist Tokens. arXiv:2304.08467

یادداشت‌ها

  1. 1.0 1.1 1.2 1.3 Liu, J., Liu, A., Lu, X., et al. (2022). «Generated Knowledge Prompting for Commonsense Reasoning». Proceedings of the 60th Annual Meeting of the Association for Computational Linguistics. [۱]
  2. 2.0 2.1 Liu, J., Liu, A., Lu, X., et al. (2021). «Generated Knowledge Prompting for Commonsense Reasoning». arXiv preprint arXiv:2110.08387. [۲]
  3. Wei, J., Wang, X., Schuurmans, D., et al. (2022). «Chain-of-Thought Prompting Elicits Reasoning in Large Language Models». arXiv preprint arXiv:2201.11903. [۳]
  4. Katz, O., Maman, Y., et al. (2024). «Hint-before-Solving Prompting: Guiding LLMs to Effectively Utilize Scaffolding». arXiv preprint arXiv:2402.14310. [۴]
  5. Zhao, R., Zhang, J., et al. (2023). «Verify-and-Edit: A Knowledge-Enhanced Chain-of-Thought Framework». arXiv preprint arXiv:2305.03268. [۵]