انتقل إلى المحتوى الرئيسي

جارٍ تحميل المختبر المرئي…

#ragنماذج LLM وTransformers

RAG: الإجابة انطلاقًا من وثائقك.

ما ستُجرّبه

  1. مرحبًا بك في #rag. على اليسار، إحدى عشرة كرة رمادية: دليل موظّف شركة وهمية، مقسَّم إلى مقاطع من 40 كلمة (مع 25% تراكب)، كل واحدة منها مُحوَّلة إلى شعاع ومُلقاة في الفضاء عبر إسقاط ثلاثي الأبعاد. على اليمين، إطاران فارغان: السياق الذي سنُرسله إلى النموذج اللغوي، وإجابته. النموذج اللغوي وحده يُجيب من الذاكرة — ويخترع بثقة حين يجهل: هذه هي الهلوسة. التوليد المعزَّز بالاسترجاع (RAG) يُغيّر القاعدة: نبحث أوّلًا عن المقاطع الأقرب إلى السؤال، نضعها في السياق، ويُجيب النموذج انطلاقًا منها، مع الاستشهاد بمصادره. هنا الترميز الشعاعي مبسَّط (كيس كلمات مثقَّل بـTF-IDF، لا نموذج ترميز حقيقي)، لكن السلسلة الكاملة هي بالضبط نفسها.
  2. لنطرح سؤالًا أوّلًا: /example 1 — «كم يوم عمل عن بُعد في الأسبوع؟». راقب الكرة الزرقاء تسقط داخل السحابة، ثم الروابط الخضراء تمتدّ إلى المقاطع الأقرب.
  3. ماذا لو أبقينا مقطعًا واحدًا فقط؟ /k 1.
  4. لنوسّعه: /k 4. يطلب النظام أربعة جيران.
  5. ركّب الإجابة من هذا السياق: /answer.
  6. الآن سؤال لا علاقة له بالوثائق: /off-topic.
  7. التقسيم إلى مقاطع لا يقلّ أهمية عن الاسترجاع. حوّل إلى مقاطع من 20 كلمة: /chunk 20.
  8. اطرح سؤالًا حقيقيًا مجدّدًا على هذه المقاطع الصغيرة: /example 2 — «كيف أقدّم تقرير المصاريف؟».
  9. دورك للّعب. /documents cooking ثم /example 3 (إنقاذ المايونيز)؛ /documents ai ثم /question ما هي الهلوسة؛ /threshold 0.4 لرؤية المقاطع تتحوّل إلى الرمادي من جديد؛ /overlap 50 لمضاعفة المقاطع؛ /k 8 لحشو السياق بالضجيج؛ /reset للبدء من جديد. تذكّر الثلاثية: قسّم جيّدًا، واسترجع قليلًا لكن ذا صلة، وارفض حين لا يناسب شيء. المحطّة التالية: #alignment-rlhf، حيث نعلّم النموذج أن يفضّل الإجابات الصادقة والمفيدة.

أوامر القناة

  • /documents <company|cooking|ai>يغيّر مجموعة الوثائق (يمسح السؤال).
  • /chunk <20..80>حجم المقطع بالكلمات.
  • /overlap <0..50>حصة الكلمات المُكرَّرة بين مقطعين متتاليين (٪).
  • /k <1..8>العدد الأقصى من المقاطع الموضوعة في السياق.
  • /threshold <0..1>أدنى تشابه ليدخل المقطع إلى السياق.
  • /question <word>اطرح سؤالًا (السطر كاملًا) وشغّل البحث.
  • /answerيُركّب الإجابة من المقاطع المُحتفَظ بها، مع الاستشهاد.
  • /off-topicاطرح سؤالًا لا علاقة له بالوثائق.
  • /example <1|2|3>اطرح سؤالًا جاهزًا للمجموعة الحالية.
  • /resetالعودة إلى دليل الموظّف، مقاطع 40 كلمة، k = 3، العتبة 0.20، بلا سؤال.

المسرد

التوليد المعزَّز بالاسترجاع (RAG)
بنية يقوم فيها النظام قبل الإجابة بـاسترجاع أقرب الفقرات من مخزن الوثائق إلى السؤال، ثم إعطائها للنموذج اللغوي بوصفها سياقًا. تعتمد الإجابة بعد ذلك على مصادر حديثة وقابلة للتحقّق، بدل الاعتماد على ذاكرة النموذج وحدها.
المقطع (Chunk)
جزء من وثيقة (بضع عشرات إلى بضع مئات من الكلمات) يُفهرَس كوحدة. القصير جدًا يقطع الجمل ويفقد المعنى؛ والطويل جدًا يخلط المواضيع ويُخفّف السياق. تجزئة المقاطع هي أوّل مقبض في نظام RAG.
الترميز الشعاعي (Embedding)
شعاع عددي يُمثّل النصّ بحيث يكون نصّان قريبان في المعنى قريبين في الفضاء. يُتعلَّم نموذج ترميز حقيقي؛ ونستعمل هنا نموذجًا مبسّطًا (كيس كلمات مُثقَّل بـTF-IDF ومُهشَّم في 32 بُعدًا) لا يُقرّب إلا الجذور المتطابقة.
قاعدة البيانات الشعاعية
فهرس يُخزّن ترميزات المقاطع ويُجيب بسرعة على سؤال «أيّ الأشعّة أقرب إلى هذا الشعاع؟». على النطاق الواسع، يستعمل بنى تقريبية (HNSW وIVF) لتفادي مقارنة السؤال بكل شعاع.
التشابه الجيبيّ
جيب تمام الزاوية بين شعاعين: 1 حين يتّجهان الاتجاه ذاته، و0 حين يكونان متعامدين (لا شيء مشترك). لا يتأثّر بطول النصّ، وهو المقياس المرجعي لمقارنة الترميزات الشعاعية.
البحث عن أقرب k جار
مرحلة الاسترجاع: تُرتّب المقاطع حسب تشابهها مع السؤال ويُحتفَظ بـk الأعلى. k الصغير: سياق دقيق لكن ناقص؛ وk الكبير: أشمل لكن مليء بالضجيج ومكلِف. عمليًا نسترجع بسخاء ثم نُعيد الترتيب بنموذج أدقّ.
التراكب (Overlap)
حصة الكلمات التي يُعيدها مقطع من المقطع السابق. تمنح الجمل المقطوعة عند حدّ فرصة ثانية لتظهر كاملة في المقطع التالي، مقابل فهرس أكبر ونسخ مُكرَّرة في السياق.
نافذة السياق
النصّ الذي يتلقّاه النموذج اللغوي ليُجيب: السؤال زائدًا المقاطع المسترجَعة. مقيَّدة برموز، وكل رمز يُكلّف؛ ولذلك نُدخل فيها عددًا قليلًا من المقاطع، لكنّه مُنتقًى بعناية.
الهلوسة
إجابة سلسة وواثقة وخاطئة، يُنتجها نموذج يسدّ ثغرة في معرفته. يُقلّل RAG منها بتوفير الحقائق في السياق، وبإتاحة الرفض حين لا يوجد ممرّ ذو صلة.
الإرساء والاستشهاد بالمصادر
ربط كل ادّعاء في الإجابة بالممرّ الذي يدعمه، مثلًا برقم [1] أو [2]. يستطيع المستخدم التحقّق، ونستطيع نحن رصد الجمل التي لا يدعمها شيء. النظام المُرسَى يعرف أيضًا أن يقول «لا أعرف من الوثائق».

قنوات أخرى في نماذج LLM وTransformers

  • #tokenizationالتقطيع وBPE: كيف يُقطِّع نموذج LLM النص.
  • #attentionالانتباه الذاتي: كل كلمة تنظر إلى الأخريات.
  • #transformer-blockكتلة المحوّل: الانتباه، الوصلات التجاوزية، التسوية، شبكة FFN.
  • #generation-temperatureالتوليد: الحرارة وtop-k وtop-p.
  • #ragRAG: الإجابة انطلاقًا من وثائقك.
  • #alignment-rlhfالمحاذاة وRLHF: تعلّم ما يفضّله البشر.