Top-k sampling — أخذ العينات Top-k

From Systems analysis wiki
Jump to navigation Jump to search

أخذ العينات Top-k (Top-k sampling) هي طريقة فك تشفير تصادفية تُستخدم في نماذج اللغة الكبيرة (LLM) لتوليد النصوص. هدفها الأساسي هو حصر اختيار التوكن التالي في عدد ثابت (k) من المرشحين الأكثر احتمالًا، مما يسمح بتجنب توليد كلمات غير محتملة وغالبًا ما تكون غير مناسبة. كانت هذه الطريقة من أولى التحسينات على أخذ العينات العشوائي البسيط، ولفترة طويلة، كانت وسيلة شائعة لتحسين تماسك النص المُولَّد.

المفهوم والرياضيات

في كل خطوة من خطوات توليد النص، يُصدر نموذج اللغة القياسي توزيعًا احتماليًا P(x|x1:i1) على كامل المفردات V. يُعدّل أخذ العينات Top-k هذه العملية على النحو التالي:

  1. اختيار المرشحين: يتم اختيار مجموعة فرعية V(k) من كامل المفردات، تتكون من k من التوكنات ذات الاحتمالات الأعلى.
  2. الاستبعاد: يتم تصفير احتمالات جميع التوكنات التي لم تُدرج في V(k).
  3. إعادة التوزيع (التطبيع): يتم إعادةปรับ احتمالات التوكنات المتبقية وعددها k بحيث يصبح مجموعها الجديد مساويًا لـ 1.
  4. أخذ العينات: يتم اختيار التوكن التالي عشوائيًا من هذا التوزيع الجديد المبتور.

وهكذا، يفرض أخذ العينات Top-k حدًا صارمًا على عدد المرشحين: فالكلمات التي يقل ترتيب احتمالها عن k لن يتم اختيارها أبدًا.

تأثير المعلمة k

  • k صغيرة (على سبيل المثال، k=510): تجعل التوليد أكثر تحفظًا وقابلية للتنبؤ. يختار النموذج فقط من مجموعة محدودة جدًا من الكلمات الأكثر احتمالًا. وهذا يزيد من التماسك، ولكنه قد يؤدي إلى نص متكرر وممل.
  • k كبيرة (على سبيل المثال، k=50100): تزيد من تنوع وإبداع النص، حيث يتم تضمين المزيد من الخيارات في العينة. ولكن، هذا يزيد أيضًا من خطر تضمين توكنات أقل صلة أو غير مناسبة.
  • الحالات الحدية:
    • k=1: يكافئ فك التشفير الجشع (greedy decoding). يختار النموذج دائمًا التوكن الأكثر احتمالًا.
    • k = حجم المفردات: يكافئ أخذ العينات القياسي من التوزيع الكامل، دون أي استبعاد.

الأهمية التاريخية

تم اقتراح طريقة Top-k رسميًا في عام 2018 من قبل أنجيلا فان وزملائها كحل فعال لمشكلة تدهور جودة النص عند استخدام أخذ العينات العشوائي الكامل. لقد أظهروا أن تقييد العينة بعدد صغير من المرشحين يحسن بشكل كبير من ترابط القصص المولدة ومعناها.

على سبيل المثال، في الإصدارات المبكرة من GPT-2، تم استخدام المعلمة `top_k=40`، مما سمح للنموذج بتوليد نصوص طويلة ومتماسكة كان من الصعب تحقيقها بالطرق السابقة.

مقارنة مع طرق فك التشفير الأخرى

Top-k vs. Top-p - مقارنة Top-k مع Top-p

تم استبدال Top-k إلى حد كبير بطريقة أكثر تقدمًا وهي أخذ العينات Top-p (nucleus sampling).

  • العيب الرئيسي في Top-k هو عدم قدرته على التكيف. فالقيمة الثابتة لـ k لا تأخذ في الاعتبار شكل التوزيع الاحتمالي:
    • عندما يكون التوزيع حادًا (sharp) (أي أن النموذج واثق من بضعة توكنات)، قد يقوم Top-k بتوسيع العينة بشكل مصطنع ليشمل مرشحين غير محتملين.
    • عندما يكون التوزيع مسطحًا (flat) (أي أن النموذج غير متأكد والعديد من التوكنات لها احتمالات متقاربة)، قد يستبعد Top-k العديد من الخيارات المناسبة قبل الأوان.
  • Top-p، على النقيض من ذلك، يُكيّف حجم العينة ديناميكيًا، حيث يختار التوكنات بناءً على مجموع احتمالاتها التراكمي. وهذا يجعله أكثر مرونة وموثوقية.

Top-k vs. Temperature - مقارنة Top-k مع درجة الحرارة

  • درجة الحرارة (Temperature) تغير شكل التوزيع الاحتمالي بأكمله، لكنها لا تستبعد أي توكنات. فهي تؤثر على الاحتمالات النسبية لجميع المرشحين.
  • Top-k يفرض استبعادًا صارمًا، مستبعدًا تمامًا التوكنات التي تقع خارج أفضل k مرشح.

عمليًا، يمكن استخدام Top-k مع درجة الحرارة: أولاً، تغير درجة الحرارة التوزيع، ثم يقوم Top-k باستبعاد المرشحين.

التطبيق العملي

على الرغم من أن أخذ العينات Top-p يعتبر اليوم الخيار المفضل، إلا أن Top-k لا يزال يُستخدم في بعض الحالات، خاصة عندما تكون هناك حاجة إلى تحكم بسيط وبديهي في حجم العينة.

  • القيم النموذجية: عمليًا، تُستخدم قيم k تتراوح بين 20 و100، اعتمادًا على التوازن المطلوب بين التماسك والتنوع.
  • التوصيات: لمعظم المهام، يوصى باستخدام Top-p. إذا تم استخدام Top-k، فيجب دمجه مع درجة حرارة معتدلة واختيار قيمة k بعناية لتناسب المهمة المحددة.

المراجع

  • Fan, A. et al. (2018). Hierarchical Neural Story Generation. arXiv:1805.04833.
  • Holtzman, A. et al. (2020). The Curious Case of Neural Text Degeneration. arXiv:1904.09751.
  • Holtzman, A. et al. (2024). Closing the Curious Case of Neural Text Degeneration. OpenReview:dONpC9GL1o.
  • Meister, C. et al. (2023). Locally Typical Sampling. arXiv:2202.00666.
  • Su, Y.; Collier, N. (2022). Contrastive Search Is What You Need for Neural Text Generation. arXiv:2210.14140.
  • O’Brien, S.; Lewis, M. (2023). Contrastive Decoding Improves Reasoning in Large Language Models. arXiv:2309.09117.
  • Finlayson, M. et al. (2024). Basis-Aware Truncation Sampling for Neural Text Generation. arXiv:2412.14352.
  • Tan, Q. et al. (2024). A Thorough Examination of Decoding Methods in the Era of Large Language Models. arXiv:2402.06925.
  • Yu, S. et al. (2023). Conformal Nucleus Sampling. arXiv:2305.02633.
  • Chen, S. J. et al. (2025). Decoding Game: On Minimax Optimality of Heuristic Text Generation Methods. arXiv:2410.03968.
  • Sen, J. et al. (2025). Advancing Decoding Strategies: Enhancements in Locally Typical Sampling for LLMs. arXiv:2506.05387.

انظر أيضًا

  • نماذج اللغة الكبيرة