Top-p sampling (FA)

From Systems analysis Wiki
Jump to navigation Jump to search

نمونه‌گیری Top‑p، که با نام نمونه‌گیری هسته‌ای (انگلیسی: Nucleus Sampling) نیز شناخته می‌شود، یک روش تصادفی رمزگشایی برای مدل‌های زبانی خودبازگشتی است که به‌طور گسترده در مدل‌های زبانی بزرگ (LLM) نیز به‌کار می‌رود. این روش در سال ۲۰۱۹ توسط آری هولتزمن و همکاران پیشنهاد شد (پیش‌چاپ arXiv — آوریل ۲۰۱۹؛ انتشار در ICLR 2020) به‌عنوان جایگزینی پیشرفته برای نمونه‌گیری ثابت Top‑k. ایده اصلی آن — انتخاب پویای مجموعه کاندیداها در هر گام تولید بر اساس آستانه احتمال تجمعی p است.[1]

پیشینه تاریخی: مشکل انحطاط عصبی متن

پیش از ظهور Top‑p، راهبردهای غالب رمزگشایی جستجوی حریصانه (greedy search) و جستجوی پرتویی (beam search) بودند که بر پارادایم بیشینه‌سازی درستنمایی — یعنی انتخاب دنباله‌ای از token‌ها با بالاترین احتمال تجمعی — استوار بودند. جستجوی حریصانه در هر گام به‌صورت محلی token با بیشترین احتمال را انتخاب می‌کند، در حالی که جستجوی پرتویی چند فرضیه تولید را به‌صورت موازی دنبال می‌کند.[1]

اگرچه این روش‌ها در وظایف بسته (ترجمه ماشینی، استخراج داده) کارآمد بودند، در انتقال به وظایف تولید متن باز (نوشتن داستان، سیستم‌های مکالمه‌ای) اغلب به انحطاط عصبی متن منجر می‌شدند — یعنی تباهی خروجی، که در آن متن قالبی می‌شود، انسجام خود را از دست می‌دهد یا در تکرار گیر می‌کند. این پدیده به‌تفصیل در اثر هولتزمن و همکاران با عنوان The Curious Case of Neural Text Degeneration توصیف شده است.[1]

مایستر و همکاران مشکل انحطاط را به این موضوع نسبت می‌دهند که متن انسانی تمایل دارد محتوای اطلاعاتی نزدیک به آنتروپی شرطی مورد انتظار را حفظ کند، نه صرفاً احتمال محلی هر token بعدی را بیشینه سازد.[2]

گزینه جایگزین نمونه‌گیری تصادفی خالص (sampling without truncation) بود، که در آن token به‌صورت تصادفی متناسب با احتمالش انتخاب می‌شود. اما این روش مشکل معکوسی به بار آورد: تابع Softmax هرگز احتمال دقیقاً صفر به هیچ token‌ای نمی‌دهد، بنابراین در واژگانی با ده‌ها هزار کلمه همواره ناحیه‌ای وسیع از token‌های پر سروصدا وجود دارد. در نمونه‌گیری خالص، خطر افتادن در دم توزیع نامطمئن افزایش می‌یابد، که می‌تواند انسجام متن تولیدشده را کاهش دهد.[1][3] نیاز به ترکیب غنای انتخاب تصادفی با قابلیت اطمینان محدودیت‌های قطعی، به توسعه روش‌های برش توزیع منجر شد که پرچم‌دار آن‌ها نمونه‌گیری هسته‌ای (Top‑p) است.[1][4]

توضیح ساده

نمونه‌گیری Top-p روشی است برای محدود کردن انتخاب token بعدی تنها به محتمل‌ترین گزینه‌ها، بدون اینکه تعداد آن‌ها از پیش تعیین شود.

هنگام تولید متن، مدل زبانی در هر گام ادامه‌های ممکن را ارزیابی کرده و به هر یک احتمالی نسبت می‌دهد. برخی token‌ها بسیار محتمل‌اند، برخی دیگر به اندازه متوسط، و بخش بزرگی از واژگان «دم» توزیع را تشکیل می‌دهند: گزینه‌هایی با احتمال بسیار کم که از نظر فنی مجازند، اما اغلب تصادفی، نامناسب یا مخل انسجام متن هستند.

نمونه‌گیری Top-p این دم کم‌احتمال را نه با تعداد ثابت token، بلکه با مجموع احتمال قطع می‌کند. ابتدا همه کاندیداها از پرمحتمل‌ترین تا کم‌محتمل‌ترین مرتب می‌شوند. سپس حداقل مجموعه‌ای از token‌های بالایی انتخاب می‌شود که مجموع احتمال آن‌ها به آستانه تعیین‌شده p — مثلاً ۰٫۹ یا ۰٫۹۵ — برسد. پس از آن token بعدی تنها از این مجموعه به‌صورت تصادفی انتخاب می‌شود و تمام گزینه‌های دیگر حذف می‌شوند.

برای مثال، اگر مدل عبارت «امروز در خیابان باران شدیدی...» را ادامه دهد، در میان محتمل‌ترین گزینه‌ها ممکن است «باران» (۰٫۴۵)، «رگبار» (۰٫۲۵)، «برف» (۰٫۱۵) و «باد» (۰٫۱۰) باشند. با آستانه p=0.90، الگوریتم token‌ها را به ترتیب نزولی احتمال جمع می‌زند: ۰٫۴۵ + ۰٫۲۵ = ۰٫۷۰ (کمتر از ۰٫۹۰)، «برف» را اضافه می‌کند: ۰٫۷۰ + ۰٫۱۵ = ۰٫۸۵ (هنوز کمتر از ۰٫۹۰)، «باد» را اضافه می‌کند: ۰٫۸۵ + ۰٫۱۰ = ۰٫۹۵ (آستانه تجاوز شد). هسته از چهار token تشکیل شده است. تمام گزینه‌های کم‌تکرارتر حذف می‌شوند و احتمال‌های باقیمانده بهنجارسازی می‌شوند: به این ترتیب، احتمال token «باران» پس از بهنجارسازی برابر 0.45/0.9547.4% خواهد بود و مولد token بعدی را دقیقاً از این توزیع به‌روزشده انتخاب می‌کند.

تفاوت اصلی با Top‑k در این است که Top‑k همیشه تعداد ثابتی از بهترین کلمات (مثلاً ۵۰) را انتخاب می‌کند، در حالی که Top‑p تعداد گزینه‌ها را از پیش تعیین نمی‌کند: گاهی ممکن است ۳ کلمه باشد، گاهی ۲۰ — همه چیز بستگی دارد به اینکه دقیقاً در آن گام احتمال‌ها چگونه توزیع شده‌اند. به همین دلیل این روش با زمینه سازگار می‌شود و به قطع «دم» token‌های کم‌احتمال کمک می‌کند و متن را طبیعی‌تر می‌سازد.

مثال دیگری. برای مثال، مدل عبارت «او برای صبحانه یک...گرم نوشید» را ادامه می‌دهد. در میان محتمل‌ترین ادامه‌ها ممکن است باشند: «چای» (۰٫۵۰)، «قهوه» (۰٫۳۰)، «شکلات» (۰٫۰۸)، «آبگوشت» (۰٫۰۴)، «ماست» (۰٫۰۳). اگر آستانه p=0.80 تعیین شده باشد، الگوریتم شروع به جمع زدن احتمال‌ها از بالا به پایین می‌کند: ۰٫۵۰ برای «چای»، سپس ۰٫۵۰ + ۰٫۳۰ = ۰٫۸۰. آستانه قبلاً محقق شده، پس هسته تنها از دو token تشکیل می‌شود: «چای» و «قهوه». تمام گزینه‌های دیگر حذف می‌شوند. پس از بهنجارسازی، احتمال «چای» در داخل هسته 0.50/0.80=62.5% و احتمال «قهوه» 0.30/0.80=37.5% می‌شود. token بعدی تنها بین این دو گزینه انتخاب می‌شود.

به عبارت دیگر، مدل ابتدا ادامه‌های کم‌احتمال و نامناسب را حذف می‌کند، سپس از میان باقیمانده‌ها انتخاب می‌کند. این به مدل کمک می‌کند واضح‌تر، طبیعی‌تر و بدون «نویز» اضافه بنویسد.

مفهوم

ایده اصلی Top‑p — در هر گام انتخاب کوچک‌ترین مجموعه از محتمل‌ترین token‌هایی که مجموع احتمال آن‌ها از آستانه تعیین‌شده p (هسته، انگلیسی: nucleus) کمتر نباشد.

به‌صورت رسمی، فرض کنید x(1),x(2), token‌های واژگان V هستند که به ترتیب نزولی احتمال شرطی P(xx1:i1) مرتب شده‌اند. آنگاه هسته V(p) به‌عنوان کوتاه‌ترین پیشوند این دنباله مرتب‌شده تعریف می‌شود که جرم تجمعی آن به آستانه می‌رسد:

m=min{n:j=1nP(x(j)x1:i1)p},V(p)={x(1),,x(m)}.

به عبارت دیگر، این کوچک‌ترین مجموعه از محتمل‌ترین token‌ها است که مجموع احتمال آن‌ها از p کمتر نیست.[1]

پس از تعیین هسته، احتمال token‌های خارج از V(p) صفر می‌شود و احتمال‌های داخل هسته بهنجارسازی می‌شوند (بر جرم تجمعی واقعی p=xV(p)P(xx1:i1) تقسیم می‌شوند تا مجموع برابر ۱ شود). token بعدی از این توزیع برش‌خورده و بهنجارشده نمونه‌گیری می‌شود.

سازگاری پویا

  • در توزیع «تیز» (مدل مطمئن است) هسته کوچک است: چند token بسنده است تا جرم ≥ p شود، که انسجام را افزایش می‌دهد. در حالت حدی، اگر احتمال محتمل‌ترین token از p تجاوز کند (مثلاً P(x(1))=0.96 با p=0.95)، هسته به یک token تقلیل می‌یابد و Top‑p عملاً به رمزگشایی حریصانه (greedy search) تبدیل می‌شود.
  • در توزیع «مسطح» (ادامه‌های معقول بسیاری وجود دارد) هسته بزرگ است: انتخاب گسترش می‌یابد و تنوع افزایش می‌یابد.[1]

مقایسه با روش‌های دیگر رمزگشایی

Top‑p در مقابل Top‑k

  • Top‑k همیشه از تعداد ثابت k محتمل‌ترین token‌ها انتخاب می‌کند. در توزیع‌های «تیز» ممکن است گزینه‌های کم‌احتمال اضافی «برای رسیدن به تعداد» اضافه شوند، و در توزیع‌های «مسطح» برعکس — ادامه‌های معقول که در میان برتر‌k نیستند حذف می‌شوند.
  • Top‑p اندازه مجموعه کاندیداها را بر اساس داده‌های هر گام تنظیم می‌کند که رفتار را در انواع مختلف توزیع‌ها انعطاف‌پذیرتر و پایدارتر می‌کند.[1]
  • در عمل، Top‑k و Top‑p می‌توانند به‌صورت همزمان استفاده شوند. در این حالت ابتدا برتر‑k token انتخاب می‌شود و سپس در داخل این مجموعه محدود هسته با آستانه p جستجو می‌شود. ترتیب دقیق و انگیزه بستگی به پیاده‌سازی دارد، اما این ترکیب به‌عنوان یک روش رایج مستند شده است.[5]

به طور ساده، Top-k از پیش تصمیم می‌گیرد چند گزینه باقی بماند، در حالی که Top-p به موقعیت نگاه می‌کند و به اندازه‌ای که در آن زمینه لازم است باقی می‌گذارد. به همین دلیل Top-p معمولاً انعطاف‌پذیرتر است و Top-k ساده‌تر و قابل پیش‌بینی‌تر.

Top‑p در مقابل دما

  • دما (temperature) کل شکل توزیع را تغییر می‌دهد (آن را تیزتر یا هموارتر می‌کند)، اما token‌ها را قطع نمی‌کند: حتی گزینه‌های کم‌احتمال شانس غیرصفر حفظ می‌کنند.[5]
  • Top‑p یک برش سخت دم توزیع اعمال می‌کند — token‌های کم‌احتمال کاملاً از نمونه‌گیری حذف می‌شوند، که به جلوگیری از ادامه‌های آشکارا نامناسب کمک می‌کند.[1]
  • ترتیب اعمال. در pipeline‌های استاندارد (مثلاً در Hugging Face Transformers) ابتدا دما به logit‌ها اعمال می‌شود (شکل توزیع تغییر می‌کند)، سپس ممکن است Top‑k اعمال شود، و تنها پس از آن Top‑p (برش دم). این توضیح می‌دهد چرا «اثر مضاعف» سخت کنترل می‌شود: تغییر دما خود جرم تجمعی را تغییر می‌دهد که Top‑p سپس با آن کار می‌کند.[5]

به طور ساده، دما تغییر می‌دهد چقدر آزادانه مدل کلمات را انتخاب می‌کند، در حالی که Top-p تعیین می‌کند کدام گزینه‌ها اصلاً قابل انتخاب هستند. به همین دلیل دما بر درجه تصادفی بودن تأثیر می‌گذارد، و Top-p — بر اینکه مدل چقدر می‌تواند به سمت ادامه‌های کم‌احتمال‌تر برود.

ترتیب عملیات در پیاده‌سازی Hugging Face Transformers

ترتیب اعمال پردازشگرهای نمونه‌گیری به کتابخانه خاص بستگی دارد. در Hugging Face Transformers (از نسخه v4.x به بعد) برای سه‌گانه پارامترهای مورد بحث، پردازشگرهای logit به‌طور پیش‌فرض به ترتیب زیر اضافه می‌شوند:[5][6]

  1. مقیاس‌بندی دمایی logit‌ها. logit هر token بر مقدار دما تقسیم می‌شود پیش از توان‌گیری تابع Softmax. دما شکل توزیع را تغییر می‌دهد و آن را برای فیلترگذاری بعدی آماده می‌کند.
  2. فیلتر Top‑k (در صورت پیکربندی): واژگان را به تعداد ثابتی از کاندیداها کاهش می‌دهد.
  3. فیلتر Top‑p: برش تجمعی بر مجموعه token‌های از پیش محدود‌شده اعمال می‌شود.
  4. بهنجارسازی مجدد احتمال‌های باقیمانده و نمونه‌گیری تصادفی.

در عمل، ترکیب دمای متوسط (۰٫۷) با هسته گسترده Top‑p (۰٫۹۵) و محدودیت Top‑k (۵۰) رایج است: دما تنوع پایه را فراهم می‌کند، Top‑k به‌عنوان یک ایمن‌ساز خشن عمل می‌کند، و Top‑p تنظیم دقیق وابسته به زمینه را انجام می‌دهد.[5]

به طور ساده، مدل ابتدا با دما انتخاب را کم‌وبیش «آزاد» می‌کند، سپس در صورت لزوم تعداد کاندیداها را از طریق Top-k محدود می‌کند، و سپس گزینه‌های بسیار ضعیف را از طریق Top-p حذف می‌کند. این ترتیب کمک می‌کند ابتدا ماهیت کلی انتخاب تنظیم شود، سپس موارد زاید قطع شوند.

توصیه: تنظیم یک پارامتر در هر بار

ارائه‌دهندگان مدل توصیه می‌کنند هنگام تنظیم سبک تولید یا temperature یا top_p را تغییر دهید، اما نه هر دو را به‌طور همزمان. این توصیه در مستندات رسمی OpenAI، Azure OpenAI و Anthropic آمده است.[7][8][9]

توجیه عملی: هر دو پارامتر بر شکل توزیع احتمال تأثیر می‌گذارند (دما شیب منحنی را تغییر می‌دهد و Top‑p نقطه برش را تعیین می‌کند)، بنابراین تغییر همزمان آن‌ها تشخیص را دشوار می‌کند — نمی‌توان تعیین کرد کدام پارامتر دقیقاً منجر به بهبود یا بدتر شدن خروجی شده است. علاوه بر این، با مقادیر بسیار پایین هر دو پارامتر (مثلاً Temperature ≈ 0 و Top‑p ≈ 0.01) هسته در عمل به یک token تقلیل می‌یابد و نمونه‌گیری عملاً به جستجوی حریصانه تبدیل می‌شود.[7]

تعدادی از مدل‌های reasoning علاوه بر این تنظیم این پارامترها را در سطح API محدود می‌کنند که سؤال تغییر همزمان آن‌ها را برای چنین مدل‌هایی بی‌موضوع می‌کند (ر.ک. بخش «سازگاری با کتابخانه‌ها و API»).[7]

یک اکتشاف مهندسی رایج: برای وظایفی که نیاز به بازتولیدپذیری بالا دارند — استفاده از دمای پایین (تا صفر)؛ برای وظایف خلاقانه — دما را در سطح پایه (۱٫۰) نگه داشته و تنوع را با پارامتر Top‑p تنظیم کنید، یا Top‑p را روی ۱٫۰ ثابت کنید و دما را تغییر دهید. توصیه‌های خاص ممکن است بین ارائه‌دهندگان متفاوت باشد.[7][9]

تأثیر بر واقع‌بینی و توهمات

انتخاب راهبرد رمزگشایی می‌تواند نه تنها بر سبک متن تولیدشده، بلکه بر فراوانی و نوع خطاهای واقعی نیز تأثیر بگذارد. پدیده توهمات — تولید مطمئنانه اطلاعات نادرست یا مغایر با زمینه — یکی از مشکلات اصلی هوش مصنوعی مولد است. تحقیقات تجربی نشان می‌دهد که تأثیر راهبردهای نمونه‌گیری بر توهمات به وظیفه، مدل و تنظیمات پارامتر خاص بستگی دارد.[3][10]

مکانیسم بروز خطا در نمونه‌گیری تصادفی

با مقادیر بالای Top‑p (مثلاً ۰٫۹۵) مدل هسته‌ای تشکیل می‌دهد که ۹۵٪ جرم احتمالی را در بر می‌گیرد. در حالت‌های آنتروپی بالا (مثلاً هنگام تلاش برای پاسخ دادن به یک واقعیت کمتر شناخته‌شده) این هسته ممکن است صدها token کم‌احتمال را شامل شود. نمونه‌گیری تصادفی در چنین شرایطی می‌تواند token‌ای استخراج کند که از نظر دستوری صحیح اما از نظر معنایی با حقیقت واقعی بی‌ارتباط است. پس از قرار گرفتن در زمینه، چنین token‌ای می‌تواند بر گام‌های بعدی تولید تأثیر بگذارد، زیرا مدل با در نظر گرفتن همه token‌های قبلی از جمله token‌های اشتباه، تولید را ادامه می‌دهد.[3][1]

دوگانگی وظایف باز و بسته

آزمایش‌های بزرگ‌مقیاس وابستگی کیفیت تولید به نوع وظیفه را نشان می‌دهند. در وظایف نوشتن مقاله یا سیستم‌های مکالمه‌ای، روش‌های تصادفی (Top‑p، Temperature) همچنان پیشرو هستند، در حالی که در حوزه‌های کاملاً قطعی ممکن است به‌طور قابل توجهی از رویکردهای قطعی عقب باشند.[10]

در benchmark‌های سنتز کد برنامه (HumanEval، MBPP) و حل مسائل ریاضی (GSM8K)، روش‌های قطعی (Beam Search، Greedy Decoding) نتایج بهتری نسبت به رویکردهای مبتنی بر Top‑p نشان می‌دهند. مجموعه داده GSM8K که شامل ۸٫۵ هزار مسئله ریاضی است که به ۲ تا ۸ گام محاسباتی نیاز دارند، آسیب‌پذیری انتخاب تصادفی در چنین وظایفی را نشان می‌دهد: تزریق تصادفی از طریق توزیع برش‌خورده Top‑p می‌تواند زنجیره استدلال مدل (Chain‑of‑Thought) را در هر یک از گام‌های میانی مختل کند. تان و همکاران تأکید می‌کنند که اثربخشی روش رمزگشایی به‌شدت به وظیفه خاص وابسته است (task‑dependent).[10]

روش‌های مقابله با توهمات در سطح رمزگشایی

برای مقابله با اثرات توهمی ناشی از نمونه‌گیری تصادفی، روش‌های پیشرفته افزون‌سازی رمزگشایی توسعه یافته‌اند:

  • رمزگشایی تضادی (Contrastive Decoding، DoLa) — شکاف در درستنمایی لگاریتمی بین مدل اصلی و یک مدل کمکی کوچکتر را بهینه می‌کند و به‌عنوان یک فیلتر اعتبارسنجی عمل می‌کند.[10]
  • SH2 (Self‑Highlighted Hesitation) — به‌صورت مصنوعی باعث می‌شود رمزگشا هنگام کار با token‌های با اطمینان پایین «تردید» کند.[11]
  • پیش‌افکنی هدایت‌شده فعال‌سازی‌ها (SEA) — سیگنال‌های توهمی را در سطح بازنمایی‌های برداری سرکوب می‌کند.[11]

ضمناً، مدل‌های مدرن با هم‌راستایی (alignment) باکیفیت درک عمیق‌تری از واقعیت دارند که آنتروپی توزیع‌های درونی آن‌ها را کاهش می‌دهد و آن‌ها را حتی با مقادیر بالای Top‑p کمتر مستعد انحطاط واقعی می‌کند.[10][12]

کاربرد عملی و توصیه‌ها

Top‑p به‌طور گسترده در LLM‌های مدرن به دلیل ترکیب انعطاف‌پذیری و قابلیت کنترل استفاده می‌شود.

  • محدوده معمول مقادیر. در عمل اغلب p0.900.95 استفاده می‌شود. مقدار پیش‌فرض بین ارائه‌دهندگان متفاوت است: در OpenAI `top_p` = 1.0 (برش عملاً غیرفعال است)، در Anthropic — 0.99، در بسیاری از مدل‌های Google Gemini — 0.95.[13] در کتابخانه Hugging Face Transformers، پیش‌فرض چارچوب نیز برابر 1.0 است، هرچند مدل‌های خاص ممکن است آن را در `generation_config.json` خود بازتعریف کنند.[14] بنابراین، ۰٫۹–۰٫۹۵ یک محدوده عملی توصیه‌شده رایج است، اما یک استاندارد پیش‌فرض جهانی نیست.[5][15]
    • مقادیر نزدیک به ۱٫۰ (مثلاً ۰٫۹۸–۰٫۹۹) تنوع را افزایش می‌دهند: token‌های بیشتری وارد هسته می‌شوند.
    • مقادیر کوچک (مثلاً ۰٫۸۰–۰٫۹۰) قطعیت و «محافظه‌کاری» خروجی را افزایش می‌دهند.
    • با p=1، برش Top‑p از بین می‌رود: انتخاب از کل واژگان انجام می‌شود (با در نظر گرفتن دما و فیلترهای رمزگشایی دیگر، اگر فعال باشند).[5]
  • سازگاری با کتابخانه‌ها و API.
    • در Hugging Face Transformers، TopPLogitsWarper پیاده‌سازی شده است که علاوه بر آن از آستانه `min_tokens_to_keep` (پیش‌فرض ۱) استفاده می‌کند. این یک جزئیات محافظ پیاده‌سازی است: با مقادیر استاندارد p(0,1]، هسته خالی از تعریف به وجود نمی‌آید، اما این پارامتر عملکرد صحیح را در موارد مرزی تضمین می‌کند.[16]
    • در برخی API‌ها پارامتر `top_p` در دسترس است، در حالی که `top_k` ممکن است غایب باشد؛ پشتیبانی از پارامترها و معنای آن‌ها به مدل و حالت عملیاتی خاص بستگی دارد. مدل‌های reasoning معمولاً تنظیم تصادفی را در سطح API محدود می‌کنند. برای مثال، در مستندات به‌روز OpenAI پارامترهای `temperature` و `top_p` تنها برای GPT‑5.2 با `reasoning.effort = none` به‌صراحت پشتیبانی می‌شوند؛ درخواست‌ها به GPT‑5.2 یا GPT‑5.1 با مقادیر دیگر `reasoning`، و همچنین مدل‌های قدیمی‌تر GPT‑5 (`gpt‑5`، `gpt‑5‑mini`، `gpt‑5‑nano`) در صورت ارسال این فیلدها خطا ایجاد می‌کنند. مدل‌های reasoning نسل قبلی (o1، o3) نیز آن‌ها را محدود یا ثابت می‌کنند.[7][17][18] در Anthropic، در Claude API با فعال بودن تفکر پیشرفته (extended thinking)، تغییر `temperature` و `top_k` ممنوع است، اما `top_p` در محدوده ۰٫۹۵–۱٫۰ مجاز است؛ در پلتفرم‌های شخص ثالث (مثلاً Amazon Bedrock) محدودیت‌ها ممکن است متفاوت باشند.[19] محدودیت‌های ارائه‌دهندگان اغلب از نسخه‌ای به نسخه دیگر تغییر می‌کنند؛ توصیه می‌شود مستندات به‌روز را بررسی کنید.[8][20]
  • متون طولانی و تکرارپذیری. در یک سری آزمایش‌ها نشان داده شده است که nucleus sampling گرایش به انحطاط (تکرار، عبارات قالبی) را نسبت به greedy/beam و Top‑k ثابت کاهش می‌دهد، به‌ویژه در دنباله‌های طولانی.[1][10]

جایگزین‌های مدرن

پس از انتشار nucleus sampling در سال ۲۰۱۹، چندین روش جایگزین نمونه‌گیری تصادفی پیشنهاد شد که ایده Top‑p را توسعه داده یا تکمیل می‌کنند:

نمونه‌گیری Min‑p

نمونه‌گیری Min‑p (Nguyen و همکاران، ۲۰۲۴) token‌هایی را نگه می‌دارد که احتمال آن‌ها از pmin×P(x(1)) کمتر نباشد، یعنی آستانه‌ای نسبت به محتمل‌ترین token تعیین می‌کند. برای ارائه شفاهی در ICLR 2025 پذیرفته شده؛ در تعدادی از چارچوب‌های محبوب از جمله Hugging Face Transformers[21] و vLLM[22] پیاده‌سازی شده است.[23]

تفاوت کلیدی با Top‑p در نوع آستانه است: Top‑p از یک آستانه مطلق بر اساس مجموع تجمعی احتمال‌ها استفاده می‌کند، در حالی که Min‑p یک آستانه نسبی تعیین می‌کند که از احتمال محتمل‌ترین token مقیاس می‌شود.[23]

از نظر ریاضی الگوریتم به این صورت کار می‌کند: در هر گام حداکثر احتمال Pmax=P(x(1)x1:i1) تعیین می‌شود، سپس آستانه مقیاس‌شده Pthreshold=pmin×Pmax محاسبه می‌شود. تنها token‌هایی که احتمال فردی آن‌ها از این آستانه تجاوز کند وارد مجموعه نهایی می‌شوند.[24]

این سازگاری را تضمین می‌کند: اگر مدل از کلمه بعدی مطمئن است (Pmax=0.9)، با پایه pmin=0.1 آستانه ۰٫۰۹ خواهد بود و به‌شدت token‌های پر سروصدا را قطع می‌کند. اگر مدل مطمئن نباشد (Pmax=0.1)، آستانه به ۰٫۰۱ کاهش می‌یابد و تنوع گسترده‌ای از کاندیداها را به هسته وارد می‌کند.[23]

یک ضعف شناخته‌شده Top‑p در نمونه‌گیری با دمای بالا (T>1.0) آشکار می‌شود: وقتی توزیع به‌طور مصنوعی هموار می‌شود، Top‑p مجبور است تعداد زیادی token کم‌احتمال را برای رسیدن به مجموع تجمعی تعیین‌شده در هسته قرار دهد، که می‌تواند منجر به تخریب انسجام شود.[23] Min‑p در چنین شرایطی بهتر عمل می‌کند. در آزمایش‌های نویسندگان روی benchmark‌های دانش علمی و منطقی (GPQA) با استفاده از مدل Mistral Large در دمای شدید T=3.0، الگوریتم Min‑p دقت ۱۳٫۸۴٪ نشان داد، در حالی که Top‑p استاندارد ۰٫۹ نتیجه ۰٫۸۹٪ داد — در حد نویز تصادفی.[24]

در عین حال، در محافل دانشگاهی بحثی در جریان است: برخی آثار انتقادی (مثلاً arXiv:2506.13681) جهانی بودن مزایای Min‑p را در تمام معیارهای NLP زیر سؤال می‌برند و بر ضرورت مطالعه بیشتر تأکید می‌کنند.[25]

به طور ساده، Min-p همه گزینه‌ها را نه با مجموع کل احتمال‌ها، بلکه با قوی‌ترین گزینه در گام فعلی مقایسه می‌کند. بنابراین، اگر مدل مطمئن باشد، ادامه‌های ضعیف را سخت‌تر حذف می‌کند، و اگر مطمئن نباشد — گزینه‌های مجاز بیشتری باقی می‌گذارد. به این ترتیب Min-p می‌تواند تعادل بین انسجام و تنوع را بهتر حفظ کند، به‌ویژه جایی که Top-p شروع به عبور دادن کلمات ضعیف زیادی می‌کند.

Locally typical sampling

Locally typical sampling (مایستر و همکاران، ۲۰۲۳) token‌هایی را انتخاب می‌کند که بار اطلاعاتی آن‌ها (logP) به آنتروپی شرطی نزدیک است و بر مفهوم نظریه اطلاعاتی معمول بودن تکیه می‌کند.[2]

برخلاف Top‑p که تلاش می‌کند اندازه هسته را با انتخاب token‌های با بیشترین احتمال به حداقل برساند، Locally Typical Sampling یک مسئله بهینه‌سازی بر اساس معیار فاصله اطلاعاتی حل می‌کند. الگوریتم محتوای اطلاعاتی هر token (logP(x)) را محاسبه کرده و فاصله مطلق آن را تا آنتروپی شرطی H مدل اندازه‌گیری می‌کند. token‌ها نه بر اساس احتمال خام، بلکه بر اساس درجه «معمول بودن اطلاعاتی» آن‌ها — نزدیکی به محتوای اطلاعاتی مورد انتظار زمینه — رتبه‌بندی می‌شوند. token‌ها به ترتیب افزایش فاصله تا آنتروپی تا رسیدن به آستانه احتمال تجمعی به هسته اضافه می‌شوند.[2][26]

پیامد این رویکرد: در حالت‌های آنتروپی بالا، الگوریتم به‌طور هدفمند نه‌تنها دم کم‌احتمال پر سروصدا، بلکه کلمات بیش‌ازحد پرمحتمل را که اطلاعات بسیار کمی دارند و متن را کلیشه‌ای می‌کنند نیز حذف می‌کند. این خطر گیر کردن در حلقه انحطاط را کاهش داده و معیارهای تکرارپذیری متن را به شاخص‌های متن‌های نوشته‌شده توسط انسان نزدیک می‌کند.[26]

Tail Free Sampling (TFS)

Tail Free Sampling (TFS) یک رویکرد کمتر رسمی‌سازی‌شده اما از نظر عملی جالب برای شناسایی دم پر سروصدا است که بر تحلیل دیفرانسیلی فضای احتمالی مبتنی است. اگر Top‑p و Min‑p با احتمال‌های مرتبه اول (مجموع تجمعی و کسرهای پایه) کار می‌کنند، TFS مشتق اول و دوم منحنی احتمال مرتب‌شده را تحلیل می‌کند. این روش در وبلاگ ترنتون بریکن توصیف و در تعدادی از موتورهای inference پیاده‌سازی شده است، هرچند به‌صورت مقاله بازبینی‌شده منتشر نشده است.[27]

مسلمات اصلی TFS: ورود حتی یک token پر سروصدا به نمونه یک تهدید نمایی برای کل تولید خودبازگشتی ایجاد می‌کند. با محاسبه مشتق دوم مقادیر احتمال، الگوریتم «فلات»‌ها را مکان‌یابی می‌کند — بخش‌هایی از منحنی که کاهش احتمال‌ها کند می‌شود و به یک دم طولانی و ملایم تبدیل می‌شود. نقطه این انعطاف به مرز برش پویا تبدیل می‌شود: token‌های قبل از آن از نظر معنایی ایمن شناخته می‌شوند و کل دم حذف می‌شود.[27]

علی‌رغم زیبایی ریاضی، TFS به محاسبات فشرده‌تری برای محاسبه مشتقات در زمان واقعی نیاز دارد، به همین دلیل در محصولات تجاری انبوه از الگوریتم‌های سبک‌تر عقب است.[27]

p‑less sampling

p‑less sampling — روشی که مهندس را کاملاً از نیاز به تنظیم ابرپارامترهای برش بی‌نیاز می‌کند.[28] مشکل اساسی همه روش‌های پیشین — از Top‑k و Top‑p تا Min‑p — وابستگی به ابرپارامترهای ایستا است که مقادیر آن‌ها نیاز به تنظیم تخصصی دارند و ممکن است برای یک وظیفه (نوشتن خلاقانه) بهینه اما برای وظیفه دیگری (برنامه‌نویسی) نامناسب باشند.[29]

الگوریتم p‑less، که ریشه در نظریه اطلاعات دارد، در هر گام رمزگشایی یک آستانه برش منحصربه‌فرد ایجاد می‌کند و توپولوژی داخلی کل توزیع احتمال را در زمان واقعی تحلیل می‌کند. نویسندگان از پایداری روش در برابر نوسانات دما (temperature robustness) گزارش می‌دهند: با افزایش دما، روش‌های سنتی ممکن است به‌طور قابل توجهی افت کنند، در حالی که p‑less ثبات کیفیت را حفظ می‌کند. علاوه بر این، به دلیل کنار گذاشتن منطق اسکن تجمعی و بهنجارسازی مجدد هسته‌های بزرگ، روش به گفته نویسندگان کارایی محاسباتی بالاتری در مرحله inference فراهم می‌کند و پاسخ‌های فشرده‌تری بدون از دست دادن دقت در مجموعه داده‌های ریاضی، منطق و نوشتار خلاقانه تولید می‌کند.[29][28]

η‑سمپلینگ

η‑سمپلینگ (Hewitt و همکاران، ۲۰۲۲) از یک آستانه احتمال وابسته به آنتروپی استفاده می‌کند و با زمینه‌های کم‌آنتروپی که Top‑p ممکن است بیش از حد برش دهد سازگار می‌شود.[30]

همچنین ببینید

  • دما
  • مدل‌های زبانی بزرگ

منابع

  • Holtzman, A., Buys, J., Du, L., Forbes, M., & Choi, Y. (2019؛ منتشرشده در ICLR 2020). The Curious Case of Neural Text Degeneration. arXiv:1904.09751.
  • Fan, A., Lewis, M., & Dauphin, Y. (2018). Hierarchical Neural Story Generation. arXiv:1805.04833.
  • Meister, C., Pimentel, T., Wiher, G., & Cotterell, R. (2023). Locally Typical Sampling. arXiv:2202.00666.
  • Ravfogel, S., Goldberg, Y., & Goldberger, J. (2023). Conformal Nucleus Sampling. ACL Findings 2023.
  • Tan, Q. و همکاران (2024). A Thorough Examination of Decoding Methods in the Era of LLMs. arXiv:2402.06925.
  • Finlayson, M. و همکاران (2024). Closing the Curious Case of Neural Text Degeneration. arXiv:2310.01693.
  • Chen, S. J. و همکاران (2025). Decoding Game: On Minimax Optimality of Heuristic Text Generation Strategies. arXiv:2410.03968.
  • Nguyen, M. و همکاران (2024). Turning Up the Heat: Min-p Sampling for Creative and Coherent LLM Outputs. arXiv:2407.01082.
  • Sen, J. و همکاران (2025). Advancing Decoding Strategies: Enhancements in Locally Typical Sampling for LLMs. arXiv:2506.05387.
  • Bricken, T. Tail Free Sampling. [۳۲].
  • p‑less Sampling: A Robust Hyperparameter-Free Approach for LLM Decoding. arXiv:2509.23234.

یادداشت‌ها

  1. 1.00 1.01 1.02 1.03 1.04 1.05 1.06 1.07 1.08 1.09 1.10 Holtzman, A., Buys, J., Du, L., Forbes, M., & Choi, Y. (2019). The Curious Case of Neural Text Degeneration. arXiv:1904.09751. [۱]
  2. 2.0 2.1 2.2 Meister, C., Pimentel, T., Wiher, G., & Cotterell, R. (2023). Locally Typical Sampling. TACL, Vol. 11. arXiv:2202.00666. [۲]
  3. 3.0 3.1 3.2 Large Language Models Hallucination: A Comprehensive Survey. arXiv:2510.06265. [۳]
  4. Finlayson, M. et al. (2024). Closing the Curious Case of Neural Text Degeneration. arXiv:2310.01693. [۴]
  5. 5.0 5.1 5.2 5.3 5.4 5.5 5.6 Hugging Face Transformers. Generation strategies (top‑k, top‑p, temperature). [۵]
  6. Hugging Face Transformers. generation/utils.py (исходный код). [۶]
  7. 7.0 7.1 7.2 7.3 7.4 OpenAI API Reference. top_p — рекомендация «We generally recommend altering this or temperature but not both». [۷]
  8. 8.0 8.1 Microsoft Learn (Azure OpenAI). Text/Chat Completions — parameters. [۸]
  9. 9.0 9.1 Anthropic API Reference. Messages API — top_p. [۹]
  10. 10.0 10.1 10.2 10.3 10.4 10.5 Tan, Q. et al. (2024). A Thorough Examination of Decoding Methods in the Era of LLMs. arXiv:2402.06925. [۱۰]
  11. 11.0 11.1 From Illusion to Insight: A Taxonomic Survey of Hallucination Mitigation Techniques in LLMs. MDPI. [۱۱]
  12. Survey and analysis of hallucinations in large language models: attribution to prompting strategies or model behavior. Frontiers in AI. [۱۲]
  13. Anthropic. API release notes. [۱۳]
  14. Hugging Face. GenerationConfig (top_p default). [۱۴]
  15. Google AI / Vertex AI. Content generation parameters (topP/topK). [۱۵] [۱۶]
  16. Transformers API. TopPLogitsWarper (параметры и поведение, включая `min_tokens_to_keep`). [۱۷]
  17. OpenAI API. Using reasoning models — parameter support. [۱۸]
  18. OpenAI API. Using GPT-5.2. [۱۹]
  19. Anthropic. Building with extended thinking. [۲۰]
  20. Microsoft Learn (Azure AI Foundry). Reasoning models — supported parameters. [۲۱]
  21. Hugging Face Transformers. MinPLogitsWarper. [۲۲]
  22. vLLM. Sampling Parameters — min_p. [۲۳]
  23. 23.0 23.1 23.2 23.3 Nguyen, M. et al. (2024). Turning Up the Heat: Min-p Sampling for Creative and Coherent LLM Outputs. arXiv:2407.01082. [۲۴]
  24. 24.0 24.1 Nguyen, M. et al. Turning Up the Heat: Min-p Sampling for Creative and Coherent LLM Outputs. [۲۵]
  25. Turning Down the Heat: A Critical Analysis of Min-p Sampling in Language Models. arXiv:2506.13681. [۲۶]
  26. 26.0 26.1 Locally Typical Sampling. Transactions of the ACL, MIT Press. [۲۷]
  27. 27.0 27.1 27.2 Bricken, T. Tail Free Sampling. [۲۸]
  28. 28.0 28.1 p‑less Sampling: A Robust Hyperparameter-Free Approach for LLM Decoding. OpenReview. [۲۹]
  29. 29.0 29.1 p‑less Sampling: A Robust Hyperparameter-Free Approach for LLM Decoding. arXiv:2509.23234. [۳۰]
  30. Hewitt, J., Manning, C. D., & Liang, P. (2022). Truncation Sampling as Language Model Desmoothing. Findings of EMNLP 2022. arXiv:2210.15191. [۳۱]