الذكاء الاصطناعي

Temperature و Top-P، التحكّم بإبداع النموذج

شرح Temperature و Top-P في نماذج AI، كيف يؤثّران على المخرج، ومتى تستخدم كل قيمة.

فريق مقالات، قسم التقنية ٣ سبتمبر ٢٠٢٦ 4 دقيقة قراءة

كل مخرج من نموذج AI فيه عنصر عشوائي متحكَّم به. Temperature وTop-P يحدّدان مقدار هذا العشوائي. فهمهما يفتح تحكّماً في جودة ونوع المخرج.

Temperature، درجة الحرارة

الشرح البسيط

النموذج، عند توليد كل كلمة تالية، يحسب احتمالات لعدّة كلمات. Temperature يحدّد كم يميل لاختيار الكلمة الأعلى احتمالاً vs. كلمة أقلّ.

  • Temperature = 0: النموذج يختار دائماً الكلمة الأعلى احتمالاً. مخرج ثابت متوقّع.
  • Temperature = 0.5: يوازن بين الأعلى والأقلّ احتمالاً.
  • Temperature = 1: عشوائية متوسّطة (الافتراضي).
  • Temperature = 1.5-2: عشوائي جدّاً، أحياناً غير منطقي.

متى تستخدم كل قيمة

| المهمّة | Temperature الموصى | |---|---| | حسابات، برمجة، JSON | 0 - 0.2 | | إجابات واقعية، تلخيص | 0.2 - 0.5 | | كتابة عامّة، مقالات | 0.5 - 0.8 | | إبداع، شعر، قصص | 0.8 - 1.2 | | عصف ذهني | 1.0 - 1.5 | | تجارب فنية | 1.5 - 2.0 |

قاعدة: كل ما ازدادت الحاجة للدقّة → قلّل Temperature. كل ما ازدادت الحاجة للإبداع → زدها.

مثال عملي

البرومت: "أعطني اسماً لمقهى سعودي عصري"

Temperature = 0: "مقهى الرياض" (متوقّع) Temperature = 0.7: "قهوة قيام" (متوازن، إبداعي) Temperature = 1.5: "زجاجة قهوة" (غريب، قد لا يعجب)

Top-P، Nucleus Sampling

الشرح البسيط

بدل التحكّم بالعشوائية، Top-P يحدّد من أيّ فئة اختيار. النموذج يرتّب الكلمات بالاحتمالات ويختار من أعلى X% منها.

  • Top-P = 0.1: يختار من أعلى 10% احتمالاً. مخرج محافظ.
  • Top-P = 0.5: من أعلى 50%.
  • Top-P = 0.9: من أعلى 90% (الافتراضي في كثير من النماذج).
  • Top-P = 1.0: بلا قيد.

الفرق عن Temperature

  • Temperature يعدّل كل الاحتمالات (يجعلها متساوية أكثر أو مركّزة أكثر)
  • Top-P يقصّ الاحتمالات المنخفضة تماماً، ويختار من الأعلى فقط

متى Top-P أفضل من Temperature

Anthropic توصي بـTop-P للمهام الجادّة لأنّه يمنع "الكلمات الغريبة" التي قد تظهر أحياناً مع Temperature عالٍ.

القاعدة الذهبية: استخدم واحداً فقط

لا تعدّل الاثنَين معاً. اختر:

  • استخدم Temperature وثبّت Top-P = 1
  • أو استخدم Top-P وثبّت Temperature = 1

استخدام الاثنَين معاً يعطي نتائج غير متوقّعة.

أين تجد هذه البارامترات

ChatGPT العادي

لا تستطيع تعديلها في واجهة chat.openai.com. OpenAI يضبطها لك (عادةً Temperature = 0.7-1، Top-P = 1).

بديل: استخدم Custom GPTs لتحديد سلوك مخصّص.

ChatGPT Playground / API

response = openai.ChatCompletion.create(
    model="gpt-5",
    messages=[...],
    temperature=0.7,
    top_p=1.0
)

Claude Console / API

response = anthropic.Anthropic().messages.create(
    model="claude-sonnet-4-7",
    messages=[...],
    temperature=0.7
)

Gemini API

response = model.generate_content(
    prompt,
    generation_config={
        "temperature": 0.7,
        "top_p": 0.9
    }
)

بارامترات أخرى مفيدة

max_tokens

أقصى طول للمخرج. مهم لأنّ الفوترة بالتوكن.

max_tokens=2000 # لا يتجاوز 2000 توكن في المخرج

frequency_penalty (0 إلى 2)

يعاقب تكرار الكلمات. القيم الأعلى تُقلّل التكرار.

  • 0: بلا عقوبة
  • 0.5: عقوبة متوسّطة
  • 1+: يمنع التكرار بشدّة

presence_penalty (0 إلى 2)

يشجّع النموذج على استخدام كلمات جديدة (لم يستخدمها بعد).

stop sequences

يوقف التوليد عند رؤية نصّ محدّد.

stop=["</response>", "###"]

أمثلة إعدادات جاهزة

للبرمجة الدقيقة

temperature: 0
top_p: 1
max_tokens: 2000

للكتابة الإبداعية

temperature: 0.9
top_p: 1
max_tokens: 1500

للتلخيص الموضوعي

temperature: 0.3
top_p: 0.9
max_tokens: 500

للعصف الذهني

temperature: 1.2
top_p: 1
max_tokens: 1000

لتوليد JSON

temperature: 0
top_p: 1
response_format: {"type": "json_object"}

أخطاء شائعة

1) Temperature = 2 لمقال جادّ

النموذج سيولّد جملاً غير منطقية.

2) Temperature = 0 لمقال إبداعي

المخرج ممل ومتوقّع.

3) تعديل Temperature وTop-P معاً

نتائج غير متوقّعة. اختر واحداً.

4) نسيان max_tokens

المخرج يُقطع في المنتصف.

5) استخدام presence_penalty عالٍ للنصوص العربية

قد يجعل النموذج يتجنّب كلمات طبيعية.

نصائح ذهبية

  1. ابدأ بالافتراضي ثم عدّل حسب الحاجة
  2. جرّب قيماً متطرّفة (0 vs 1.5) على نفس البرومت، لتحسّ الفرق
  3. للإنتاج الحقيقي: ثبّت القيم واختبر جودتها إحصائياً
  4. للتجربة: استخدم Playground قبل الاستثمار في API

المصادر الرسمية


اقرأ أيضاً: هندسة البرومت، الدليل الشامل · System vs User Prompt · Context Window · Chain of Thought

هل أفادك هذا المقال؟

كن أول من يقيّم

الأسئلة الشائعة

بارامتر يحدّد 'عشوائية' المخرج بين 0 و2 (أحياناً حتى 2). 0 = مخرج متوقّع ثابت. 1 = متوازن. 2 = عشوائي جدّاً وأحياناً غير منطقي.
بديل عن Temperature. يُحدّد أن النموذج يختار من أعلى X% من الاحتمالات فقط. 0.9 = من أعلى 90%. 0.5 = من أعلى 50% (أكثر تركيزاً).
غالباً استخدم واحداً فقط. Temperature أشهر وأسهل. Top-P أدقّ للتحكّم بالجودة. Anthropic توصي بـTop-P للمهام الجادّة.
في الواجهة العادية: لا تستطيع (OpenAI يضبطها). في Playground أو API: parameter مباشر. القيم الافتراضية عادةً temp=1, top-p=1.

مقالات ذات صلة

نشرة مقالات الأسبوعية

اشترك تصلك أحدث المقالات + مختارات نادرة كل أحد. بلا سبام، ألغي الاشتراك بضغطة.

لا نشارك بريدك مع أي طرف ثالث. راجع سياسة الخصوصية.

التعليقات

بريدك لن يظهر ولن يُرسل إليه شيء — يُستخدم فقط لمنع الإزعاج.

لا تعليقات بعد — كن أول من يكتب.