MODULE 04 / LESSON 26

LLM Sampling Strategies: کنترل تصادفی بودن در تولید متن

مفهوم اصلی یکی از بخش‌های مهم کار با LLM ، درک و کنترل میزان Randomness (تصادفی بودن) در نحوه انتخاب Tokenهای بعدی است. هر Token که LLM به متن اضافه می‌کند، نتیجه یک: انتخاب تصادفی وزن‌دهی‌شده بر اساس احتمال Tokenها است. با تنظیم…

نویسنده: محمد ابوطالبی۸۴۱ واژهماژول ۴: LLM & Prompting

مفهوم اصلی

یکی از بخش‌های مهم کار با LLM، درک و کنترل میزان Randomness (تصادفی بودن) در نحوه انتخاب Tokenهای بعدی است.

هر Token که LLM به متن اضافه می‌کند، نتیجه یک:

انتخاب تصادفی وزن‌دهی‌شده بر اساس احتمال Tokenها

است.

با تنظیم پارامترهای Sampling می‌توان رفتار LLM را کنترل کرد.


نحوه انتخاب Token در LLM

وقتی LLM یک Token جدید تولید می‌کند:

  1. تمام Tokenهای موجود در Vocabulary بررسی می‌شوند.
  2. برای هر Token یک احتمال محاسبه می‌شود.
  3. یک Token بر اساس این توزیع احتمال انتخاب می‌شود.

مثال

Prompt:

The sky is ...

توزیع احتمال ممکن است به شکل زیر باشد:

Token احتمال
blue 50%
bright 25%
سایر Tokenها کمتر از 10%

مفهوم Probability Distribution

شکل توزیع احتمال نشان‌دهنده میزان اطمینان مدل است.


توزیع با قله بلند

اگر یک Token احتمال بسیار بیشتری داشته باشد:

  • مدل مطمئن‌تر است.
  • انتخاب‌های کمی وجود دارند.

توزیع تخت

اگر احتمال Tokenها نزدیک به هم باشد:

  • مدل عدم اطمینان بیشتری دارد.
  • مسیرهای بیشتری برای ادامه متن وجود دارد.

روش‌های کنترل Sampling

مهم‌ترین روش‌ها:

  1. Greedy Decoding
  2. Temperature
  3. Top-k Sampling
  4. Top-p Sampling
  5. Repetition Penalty
  6. Logit Biasing

1. Greedy Decoding

مفهوم اصلی

در Greedy Decoding:

مدل همیشه Token با بیشترین احتمال را انتخاب می‌کند.

یعنی:

Highest Probability Token → انتخاب

مزایای Greedy Decoding

خروجی Deterministic

اگر:

  • Prompt یکسان باشد.

خروجی:

  • همیشه یکسان خواهد بود.

معایب Greedy Decoding

1. خروجی قابل پیش‌بینی

متن ممکن است:

  • عمومی
  • خشک
  • تکراری

شود.


2. گیر کردن در حلقه تکراری

LLM فقط Token محتمل‌تر را انتخاب می‌کند.

اگر وارد یک الگوی تکراری شود:

ممکن است همان کلمات را بارها تولید کند.


کاربرد Greedy Decoding

مناسب برای:

  • Code Completion
  • Debug کردن سیستم

جایی که خروجی ثابت اهمیت دارد.


2. Temperature

مفهوم اصلی

Temperature یک پارامتر برای کنترل شکل توزیع احتمال است.

می‌توان آن را مانند:

یک درجه تنظیم برای میزان خلاقیت یا تصادفی بودن مدل

در نظر گرفت.


Temperature پایین

مثلاً:

Temperature = 0

نتیجه:

  • توزیع بسیار محدود می‌شود.
  • فقط محتمل‌ترین Token انتخاب می‌شود.

در این حالت:

LLM تقریباً Greedy Decoding انجام می‌دهد.


Temperature متوسط

مثلاً:

Temperature = 1

رفتار پیش‌فرض مدل است.


Temperature بالا

مثلاً:

Temperature = 1.1 تا 1.3

نتیجه:

  • Tokenهای کم‌احتمال شانس بیشتری پیدا می‌کنند.
  • خروجی متنوع‌تر و خلاقانه‌تر می‌شود.

مشکل Temperature خیلی بالا

اگر مقدار خیلی زیاد شود:

  • احتمال Tokenهای بی‌معنی هم افزایش پیدا می‌کند.
  • متن ممکن است غیرمنطقی شود.

نکته مهم

Temperature ترتیب احتمال Tokenها را تغییر نمی‌دهد.

فقط احتمال انتخاب آن‌ها را تغییر می‌دهد.


3. Top-k Sampling

مفهوم اصلی

Top-k تعداد انتخاب‌های ممکن را محدود می‌کند.

مدل فقط اجازه دارد از:

k Token با بیشترین احتمال

انتخاب کند.


مثال

اگر:

Top-k = 5

باشد:

مدل فقط بین 5 Token اول انتخاب می‌کند.


مزیت

از انتخاب Tokenهای بسیار کم‌احتمال جلوگیری می‌کند.


4. Top-p Sampling

مفهوم اصلی

Top-p انتخاب را بر اساس مجموع احتمال‌ها محدود می‌کند.


مثال

فرض کنیم:

Top-p = 85%

مدل از ابتدای توزیع شروع می‌کند و Tokenها را اضافه می‌کند تا مجموع احتمال‌ها به 85٪ برسد.

فقط همان Tokenها اجازه انتخاب دارند.


تفاوت Top-k و Top-p

روش نحوه محدود کردن
Top-k تعداد ثابت Tokenها
Top-p مجموع احتمال Tokenها

رفتار Top-p

Top-p پویا است.

اگر مدل مطمئن باشد:

  • چند Token محدود انتخاب می‌شوند.

اگر مدل نامطمئن باشد:

  • تعداد بیشتری Token وارد انتخاب می‌شوند.

مقایسه Top-k و Top-p

Top-k

همیشه:

مثلاً 5 Token

را انتخاب می‌کند.

حتی اگر توزیع احتمال خیلی متفاوت باشد.


Top-p

با توجه به شکل توزیع تغییر می‌کند.

بنابراین انعطاف بیشتری دارد.


5. Repetition Penalty

مفهوم اصلی

LLMها گاهی تمایل دارند:

  • یک کلمه
  • یا عبارت

را چندبار تکرار کنند.

برای کاهش این مشکل:

از Repetition Penalty استفاده می‌شود.


نحوه کار

احتمال Tokenهایی که قبلاً استفاده شده‌اند کاهش پیدا می‌کند.

نتیجه:

  • متن طبیعی‌تر
  • تنوع بیشتر

6. Logit Biasing

مفهوم اصلی

Logit Bias اجازه می‌دهد احتمال بعضی Tokenهای خاص را تغییر دهیم.


مثال حذف کلمات نامناسب

اگر سیستم RAG نباید کلمات خاصی تولید کند:

می‌توان احتمال آن Tokenها را کاهش داد.


مثال Classification

اگر LLM باید فقط یکی از چند دسته را انتخاب کند:

می‌توان احتمال آن دسته‌ها را افزایش داد.

مثلاً:

Category A
Category B
Category C

ترکیب پارامترهای Sampling

یک ترکیب عمومی مناسب:

Temperature = 0.8

Top-p = 0.9

Repetition Penalty = 1.2

نتیجه:

  • انتخاب Tokenها کمی محافظه‌کارانه‌تر می‌شود.
  • Tokenهای بسیار کم‌احتمال حذف می‌شوند.
  • تکرار کمتر می‌شود.

تنظیم Sampling برای کاربردهای مختلف

پاسخ‌های دقیق و کدنویسی

پیشنهاد:

  • Temperature پایین
  • Top-p پایین

زیرا:

دقت مهم‌تر از خلاقیت است.


کاربردهای خلاقانه

مانند:

  • نویسندگی
  • تولید ایده

پیشنهاد:

  • Temperature بالاتر
  • Top-p بالاتر

نکته مهم در RAG

در سیستم‌های RAG معمولاً هدف:

  • پاسخ دقیق
  • مبتنی بر اطلاعات Retrieved

است.

بنابراین معمولاً:

Sampling محافظه‌کارانه‌تر مناسب‌تر است.


جمع‌بندی

  • هر Token تولیدشده توسط LLM نتیجه یک انتخاب احتمالی است.
  • Greedy Decoding همیشه محتمل‌ترین Token را انتخاب می‌کند و خروجی ثابت می‌دهد.
  • Temperature میزان تصادفی بودن انتخاب Tokenها را کنترل می‌کند.
  • Temperature پایین برای پاسخ‌های دقیق و Temperature بالا برای خلاقیت مناسب است.
  • Top-k انتخاب را به تعداد مشخصی از Tokenهای برتر محدود می‌کند.
  • Top-p انتخاب را بر اساس مجموع احتمال‌ها محدود می‌کند و حالت پویا دارد.
  • Repetition Penalty از تکرار زیاد کلمات جلوگیری می‌کند.
  • Logit Bias امکان تغییر احتمال Tokenهای خاص را فراهم می‌کند.
  • بهترین تنظیمات Sampling باید با آزمایش و متناسب با هدف پروژه انتخاب شوند.