Self-consistency prompting (FA)

From Systems analysis Wiki
Jump to navigation Jump to search

رمزگشایی خودسازگار (به انگلیسی: Self-Consistency Prompting, SC) — روش یا راهبردی در رمزگشایی در prompt engineering است که برای افزایش دقت و قابلیت اطمینان مدل‌های زبانی بزرگ (LLM) در حل مسائلی طراحی شده که به استدلال چندمرحله‌ای نیاز دارند، مانند معماهای حسابی و منطقی[1]. این روش در سال ۲۰۲۲ توسط پژوهشگران Google Research به عنوان پیشرفتی بر تکنیک «زنجیره افکار» (Chain-of-Thought, CoT) پیشنهاد شد.

ایده اصلی این است که به جای اکتفا به یک خروجی «حریصانه» تک‌رشته‌ای، چندین مسیر استدلالی متنوع برای یک سؤال یکسان تولید شود، سپس پاسخ نهایی‌ای که در بین این مسیرها بیشترین تکرار را دارد، انتخاب گردد. این رویکرد بر یک اصل شهودی استوار است: اگر مدل از طریق مسیرهای مختلف به طور مکرر به یک نتیجه واحد برسد، آن نتیجه با احتمال بالا درست است[1].

زمینه و پیش‌زمینه

روش Self-Consistency توسعه‌ای مستقیم از تکنیک Chain-of-Thought (CoT) است. تکنیک CoT، که توسط Wei و همکاران (۲۰۲۲) پیشنهاد شد، توانایی LLMها را در حل مسائل پیچیده با وادار کردن مدل به نوشتن صریح گام‌های حل، به طور قابل توجهی بهبود بخشید[2]. اما در پیاده‌سازی پایه CoT از «رمزگشایی حریصانه» (greedy decoding) استفاده می‌شود که در آن در هر گام، محتمل‌ترین token بعدی انتخاب می‌شود. این موضوع محدودیتی ایجاد می‌کند: اگر مدل در مرحله‌ای اولیه خطا کند، نمی‌تواند از آن مسیر نادرست منحرف شده و آن را اصلاح کند. Self-Consistency دقیقاً برای حل همین مشکل پیشنهاد شد[1].

مکانیزم کارکرد

الگوریتم Self-Consistency رویکرد حریصانه قطعی را با رویه‌ای به نام «نمونه‌گیری و سپس تجمیع» جایگزین می‌کند و از مراحل زیر تشکیل شده است[1]:

  1. تولید چندین مسیر استدلالی: به جای یک پاسخ، مدل چندین بار (مثلاً تا ۴۰ بار) برای یک پرسش یکسان با استفاده از روش زنجیره افکار راه‌حل تولید می‌کند. برای به دست آوردن مسیرهای استدلالی متنوع، از روش‌های رمزگشایی تصادفی مانند نمونه‌گیری دما (با پارامتر دما > ۰) استفاده می‌شود.
  2. تجمیع و انتخاب پاسخ: از تمام زنجیره‌های استدلالی تولیدشده، تنها پاسخ‌های نهایی (مثلاً مقدار عددی) استخراج می‌شوند. سپس پرتکرارترین پاسخ در میان آن‌ها انتخاب و به عنوان پاسخ نهایی ارائه می‌شود.

این رویکرد اصل «self-ensembling» را شبیه‌سازی می‌کند، که در آن چندین خروجی از یک مدل واحد برای افزایش قابلیت اطمینان و هموار کردن خطاهای تصادفی به کار می‌رود[3].

کارایی و نتایج

در پژوهش اصلی، Self-Consistency افزایش قابل توجهی در دقت روی تعدادی از benchmark های محبوب، به ویژه در مسائل نیازمند استدلال حسابی و منطقی، نشان داد.

  • روی benchmark مسائل ریاضی GSM8K، دقت مدل PaLM-540B از ۵۶.۶٪ (با CoT) به ۷۴.۴٪ (با Self-Consistency) افزایش یافت که نشان‌دهنده بهبودی معادل ۱۷.۸٪ است.
  • روی سایر مسائل حسابی مانند SVAMP و AQuA، بهبود به ترتیب +۱۱.۰٪ و +۱۲.۲٪ بود.
  • در مسائل نیازمند منطق و استدلال بر اساس دانش عمومی مانند StrategyQA، بهبود +۶.۴٪ بود[1].

به‌کارگیری Self-Consistency امکان ثبت رکوردهای جدید عملکرد (state-of-the-art) را روی بسیاری از benchmark ها با استفاده از مدل‌های بزرگ مانند GPT-3 175B و PaLM 540B فراهم آورد[1].

مزایا و محدودیت‌ها

مزایا

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

محدودیت‌ها

  • هزینه محاسباتی بالا: عیب اصلی این است که برای یک پرسش واحد، نیاز به تولید پاسخ به تعداد زیاد (مثلاً ۱۰، ۲۰ یا ۴۰ بار) وجود دارد که به طور متناسب هزینه و زمان استنتاج را افزایش می‌دهد.
  • محدودیت کاربرد: روش استاندارد برای مسائلی که قالب پاسخ به روشنی تعریف شده است (مثلاً عدد، «بله/خیر»، گزینه‌ای از فهرست) که رای‌گیری اکثریتی در آن‌ها ساده است، مؤثرترین عملکرد را دارد. برای مسائل با تولید آزاد (نوشتن مقاله، خلاصه‌سازی) که پاسخ‌ها ذاتاً منحصربه‌فرد هستند، به خوبی کاربرد ندارد.
  • خطر سوگیری سیستماتیک: اگر مدل به طور سیستماتیک استدلال‌های نادرستی تولید کند که به تصادف به یک پاسخ غلط واحد همگرا می‌شوند، Self-Consistency نه تنها خطا را اصلاح نمی‌کند، بلکه اطمینان به آن را تقویت می‌کند.

توسعه روش: Universal Self-Consistency

محدودیت روش پایه در مسائل با قالب پاسخ آزاد در پژوهش‌های بعدی مورد توجه قرار گرفت. در اواخر سال ۲۰۲۳، گروهی از پژوهشگران Google DeepMind رویکرد Universal Self-Consistency (USC) را پیشنهاد دادند[4].

در USC به جای رای‌گیری ساده روی پاسخ‌های نهایی، از خود LLM به عنوان «داور» برای تجمیع استفاده می‌شود. مدل چندین نسخه کامل از راه‌حل تولید می‌کند، سپس یک prompt جدید دریافت می‌کند که از آن خواسته می‌شود «سازگارترین» یا «باکیفیت‌ترین» گزینه را از میان آن‌ها انتخاب کند. این رویکرد اجازه می‌دهد اصول خودسازگاری برای مسائل با قالب پاسخ باز و خلاقانه نیز به کار رود[5].

پیوندها

  • Self-Consistency Improves Chain of Thought Reasoning in Language Models — مقاله علمی اصلی از Google Research.
  • Self-Consistency — راهنما در Prompt Engineering Guide.

منابع

  • Wang, X. et al. (2022). Self-Consistency Improves Chain of Thought Reasoning in Language Models. arXiv:2203.11171.
  • Wei, J. et al. (2022). Chain-of-Thought Prompting Elicits Reasoning in Large Language Models. arXiv:2201.11903.
  • Aggarwal, P. et al. (2023). Let's Sample Step by Step: Adaptive-Consistency for Efficient Reasoning and Coding with LLMs. arXiv:2305.11860.
  • Chen, X. et al. (2023). Universal Self-Consistency with Large Language Models. arXiv:2311.17311.
  • Knappe, T. et al. (2024). Semantic Self-Consistency: Enhancing Language Model Reasoning via Semantic Weighting. arXiv:2410.07839.
  • Liang, X. et al. (2024). Internal Consistency and Self-Feedback in Large Language Models: A Survey. arXiv:2407.14507.
  • Li, T. et al. (2024). Improving Faithfulness of Large Language Models in Summarization via Sliding Generation and Self-Consistency. arXiv:2407.21443.
  • Byerly, A.; Khashabi, D. (2024). How Effective Is Self-Consistency for Long-Context Problems?. arXiv:2411.01101.
  • Novikova, J. et al. (2025). Consistency in Language Models: Current Landscape, Challenges, and Future Directions. arXiv:2505.00268.
  • Admoni, S. et al. (2025). Towards Large Language Models with Self-Consistent Natural Language Explanations. arXiv:2506.07523.

یادداشت‌ها

  1. 1.0 1.1 1.2 1.3 1.4 1.5 Wang, X., Wei, J., Schuurmans, D., et al. (2022). «Self-Consistency Improves Chain of Thought Reasoning in Language Models». arXiv. [۱]
  2. Wei, J., Wang, X., Schuurmans, D., et al. (2022). «Chain-of-Thought Prompting Elicits Reasoning in Large Language Models». NeurIPS 2022.
  3. «Self-Consistency Improves Chain of Thought Reasoning in Language Models - Summary». Portkey. [۲]
  4. Chen, X., et al. (2023). «Universal Self-Consistency with Large Language Models». arXiv. [۳]
  5. «Universal Self-Consistency with Large Language Models». Google DeepMind Publications. [۴]