أدلة الذكاء الاصطناعي · 10 دقيقة للقراءة

ما هو RAG؟ شرح التوليد المعزز بالاسترجاع

يسترجع RAG المستندات ذات الصلة قبل أن يجيب النموذج، مما يتيح له استخدام معلومات حديثة أو خاصة إلى جانب المعرفة التي اكتسبها أثناء التدريب.

رسم توضيحي لمستندات وكتب تتدفق إلى قمع مضيء، ثم تمر عبر دماغ على شكل شبكة عصبية ينتج مستندًا مكتملًا

التوليد المعزز بالاسترجاع (RAG) هو أسلوب يبحث فيه النظام عن مقاطع ذات صلة في فهرس مستندات خارجي، ثم يمررها إلى نموذج لغوي قبل أن يولّد إجابة. وبدلًا من الاعتماد على الأوزان المثبتة أثناء التدريب وحدها، يستطيع النموذج الإجابة باستخدام معلومات خاصة أو داخلية أو محدّثة مؤخرًا.

لا يعرف النموذج اللغوي التقليدي سوى ما ورد في بيانات تدريبه حتى تاريخ انتهاء معرفته. فإذا سأل مستخدم عن سياسة استرداد الأموال الداخلية في شركتك، أو مواصفات واجهة برمجية صدرت حديثًا، أو سجل حساب حُدّث قبل خمس دقائق، فلن يتمكن النموذج الأساسي من معرفة الإجابة اعتمادًا على ذاكرته وحدها. يسد RAG هذه الفجوة بربط خطوة البحث بخطوة التوليد: يسترجع الحقائق ذات الصلة أولًا، ثم يولّد إجابة تستند إلى النص المسترجع.

ماذا يعني التوليد المعزز بالاسترجاع؟

يعني التوليد المعزز بالاسترجاع الجمع بين نظام لاسترجاع المعلومات ونموذج لتوليد النصوص، بحيث تستند المخرجات إلى مستندات خارجية تُسترجع عند الاستعلام. وبدلًا من توقع أن تحفظ الشبكة العصبية كل حقيقة في معاملاتها، يتعامل RAG مع فهرس نصي خارجي ككتاب مفتوح يستطيع النموذج مراجعته قبل الإجابة.

على المستوى العام، يتبع كل سير عمل في RAG مرحلتين أساسيتين:

  1. الاسترجاع: عندما يرسل المستخدم مطالبة، يحوّل النظام الاستعلام إلى طلب بحث في مخزن بيانات خارجي، مثل قاعدة بيانات متجهية أو فهرس بحث بالكلمات المفتاحية أو مزيج منهما، ويسترجع المقاطع النصية الأكثر صلة.
  2. التوليد: يدرج النظام المقاطع المسترجعة في سياق النموذج إلى جانب سؤال المستخدم الأصلي، ثم يولّد النموذج اللغوي إجابة بناءً على المقاطع المقدمة.

نظرًا إلى جلب النص المرجعي بصورة ديناميكية لكل طلب، يمكنك تحديث ما يعرفه النظام بتحديث فهرس المستندات بدلًا من إعادة تدريب النموذج الأساسي. ولهذا يُعد RAG من الأساليب الشائعة لبناء مساعدي الدعم، وأنظمة البحث في الوثائق الداخلية، وأدوات الأسئلة والأجوبة المتخصصة. ويُستخدم أيضًا في تطبيقات إبداعية تستعين فيها الفرق بأدوات مخصصة لسير العمل مثل AI Studio Video لإنتاج الوسائط، وبواجهات برمجية نصية لاسترجاع المعرفة.

كيف اختلفت ورقة RAG المنشورة عام 2020 عن أسلوب RAG اليوم؟

يعود مصطلح «التوليد المعزز بالاسترجاع» إلى ورقة نشرها باتريك لويس وزملاؤه عام 2020 (arXiv:2005.11401)، جمعت بين نموذج مُدرَّب مسبقًا لتحويل تسلسل إلى تسلسل وفهرس متجهات كثيف لمحتوى Wikipedia. أما المطورون اليوم فيستخدمون المصطلح عادةً للإشارة إلى خط عمل أبسط لبناء المطالبات. ويساعد فهم النهجين على توضيح سبب وصف «RAG» بطريقتين مختلفتين قليلًا في الأبحاث والوثائق الهندسية.

معمارية لويس وزملائه لعام 2020

في الورقة الأصلية لعام 2020 والمقال البحثي المرافق من Meta AI، صوّر الباحثون النماذج اللغوية على أنها تملك نوعين من الذاكرة:

  • الذاكرة المعلمية: المعرفة المخزنة في أوزان الشبكة العصبية، وتحديدًا نموذج BART مُدرَّب مسبقًا لتحويل تسلسل إلى تسلسل.
  • الذاكرة غير المعلمية: المعرفة المخزنة في فهرس متجهات كثيف خارجي لمقالات Wikipedia، يُستعلم فيه باستخدام أداة استرجاع عصبية تسمى Dense Passage Retrieval ‏(DPR).

في هذا الإعداد البحثي، دُرّبت أداة الاسترجاع وأداة التوليد معًا من البداية إلى النهاية. وقدمت الورقة صيغتين لكيفية تأثير المقاطع المسترجعة في التوليد:

  • RAG-Sequence: يستخدم النموذج المقاطع المسترجعة نفسها لتوليد تسلسل المخرجات كاملًا.
  • RAG-Token: يمكن للنموذج الاستعانة بمقاطع مسترجعة مختلفة لكل رمز يولّده.

في اختبارات الإجابة عن الأسئلة مفتوحة المجال الواردة في جداول الورقة (arXiv:2005.11401)، حقق RAG-Sequence درجة 44.5 Exact Match في اختبار Natural Questions، متفوقًا على نماذج المقارنة من نوع seq2seq المعتمدة على المعلمات وحدها، وعلى معماريات الاسترجاع والاستخراج التي اختبرتها الدراسة.

الأسلوب الهندسي اليوم

في تطوير التطبيقات الحديثة، نادرًا ما تدرّب الفرق أداة الاسترجاع وأداة التوليد معًا. وبدلًا من ذلك، يشير «RAG» غالبًا إلى خط عمل يُنفّذ عند الاستدلال، ويعتمد على نماذج تضمين جاهزة وواجهات برمجية عامة لنماذج LLM:

  1. تقسيم المستندات إلى مقاطع أصغر تُسمى أجزاء.
  2. تحويل تلك الأجزاء إلى تضمينات متجهية وتخزينها في فهرس.
  3. استرجاع الأجزاء الأكثر تطابقًا عند الاستعلام.
  4. إعادة ترتيب النتائج اختياريًا لتحسين مدى صلتها.
  5. إدراج الأجزاء النصية المسترجعة مباشرةً في المطالبة وطلب الإجابة من LLM.

تُسمى كل من المعمارية العصبية المتكاملة من البداية إلى النهاية لعام 2020 وخط العمل الحالي الذي يدرج النص في المطالبة باسم RAG. وفي هندسة البرمجيات اليومية، يُقصد عادةً خط العمل الحديث ما لم يذكر المتحدث صراحةً تدريب أداة استرجاع مع نموذج seq2seq.

كيف يعمل خط RAG الحديث خطوة بخطوة؟

يقسم نظام RAG المستخدم في بيئة الإنتاج عمله إلى مسارين منفصلين: خط استيعاب يعمل دون اتصال ويُعد المستندات ويفهرسها، وخط استعلام يعمل عبر الاتصال ويُنفّذ كلما طرح مستخدم سؤالًا. وتفصل أدلة المعمارية، مثل إرشادات AWS للتوليد المعزز بالاسترجاع ودليل RAG من مركز AWS لابتكار الذكاء الاصطناعي التوليدي، هذه المراحل إلى مكونات مستقلة يمكن ضبط كل منها على حدة.

1. خط الاستيعاب (فهرسة البيانات)

قبل أن يرسل أي مستخدم مطالبة، يحتاج النظام إلى جعل المستندات المصدر قابلة للبحث:

  • تحميل المستندات وتنظيفها: استخراج النص العادي والبيانات الوصفية، مثل العناوين والروابط والطوابع الزمنية وأذونات الوصول، من ملفات PDF أو مواقع الويكي أو قواعد البيانات أو ملفات Markdown، مع إزالة التنسيق المعطوب وعناصر الصفحات المتكررة.
  • التجزئة: تقسيم المستندات الطويلة إلى أجزاء أصغر لاسترجاع المقاطع ذات الصلة فقط بدلًا من الأدلة كاملةً. إذا كانت الأجزاء صغيرة جدًا، فقدت السياق المحيط وانقطعت الأفكار في منتصفها؛ وإذا كانت كبيرة جدًا، أدخلت معلومات غير ذات صلة وزادت استهلاك الرموز. وغالبًا ما تضيف الفرق تداخلًا بسيطًا بين الأجزاء المتجاورة كي لا تفقد الجمل عند الحدود معناها.
  • التضمين: تمرير كل جزء عبر نموذج تضمين لتحويل نصه إلى متجه رقمي كثيف يمثل معناه الدلالي.
  • الفهرسة: تخزين تلك المتجهات، إلى جانب النص الأصلي ومرشحات البيانات الوصفية، في قاعدة بيانات متجهية أو محرك بحث هجين يجمع بين تشابه المتجهات ومطابقة الكلمات المفتاحية، مثل BM25.

2. خط الاستعلام (الإجابة عن الأسئلة)

عندما يطرح المستخدم سؤالًا أثناء التشغيل، يجمع خط الاستعلام عناصر المطالبة:

  • معالجة الاستعلام والتضمين: أخذ مدخلات المستخدم، وإعادة صياغتها أو توسيعها اختياريًا لزيادة الوضوح، ثم تحويلها إلى متجه باستخدام نموذج التضمين نفسه تمامًا الذي استُخدم أثناء الاستيعاب.
  • الاسترجاع: البحث في الفهرس عن الأجزاء التي تكون متجهاتها الأقرب إلى متجه الاستعلام، مع الجمع غالبًا بين البحث الدلالي ومطابقة الكلمات المفتاحية والتصفية بالبيانات الوصفية، مثل قصر النتائج على المستندات المسموح للمستخدم الحالي بقراءتها.
  • إعادة الترتيب الاختيارية: تمرير الأجزاء المرشحة أولًا عبر نموذج لإعادة الترتيب يستخدم مُرمِّزًا متقاطعًا، فيقيّم مدى مباشرة إجابة كل مقطع عن الاستعلام المحدد ويقلّص القائمة إلى أفضل النتائج.
  • تجميع المطالبة والتوليد: إدراج المقاطع الأعلى ترتيبًا في قالب مطالبة منظم إلى جانب سؤال المستخدم، وإرسال المدخلات المجمّعة إلى LLM، ثم إعادة الإجابة المولّدة، وغالبًا ما تكون مصحوبة باستشهادات تشير إلى البيانات الوصفية للمصادر.

كيف يقارن RAG بنوافذ السياق الطويلة والضبط الدقيق؟

يعالج RAG ونوافذ السياق الطويلة والضبط الدقيق جوانب مختلفة من تخصيص النماذج، وغالبًا ما تجمع أنظمة الإنتاج بينها بدلًا من اعتبارها خيارات متعارضة. ويعتمد اختيار النهج المناسب على حاجتك إلى حقائق متغيرة، أو فهم واسع في جلسة واحدة، أو تغييرات في سلوك النموذج.

وجه المقارنة التوليد المعزز بالاسترجاع (RAG) نافذة سياق طويلة الضبط الدقيق
الهدف الأساسي تقديم حقائق ذات صلة من مجموعة كبيرة أو متغيرة لكل استعلام تمكين النموذج من قراءة كمية كبيرة من النص ضمن طلب واحد تغيير أسلوب النموذج أو نبرته أو تنسيقه أو سلوكه في مهمة متخصصة
تحديث المعرفة تحديث المستندات في الفهرس الخارجي أو استبدالها استبدال المستندات الأصلية الملصقة في المطالبة جمع أمثلة تدريب جديدة وتشغيل عملية تدريب أخرى
أثر الرموز لكل طلب منخفض إلى متوسط، إذ تُرسل الأجزاء المسترجعة فقط مرتفع، إذ يبقى كل مستند ضمن مدخلات المطالبة منخفض، إذ تُدمج المعرفة أو السلوك في أوزان النموذج
نسبة المعلومات إلى مصادرها يسهل الاستشهاد بأجزاء مسترجعة محددة ممكن، لكن تحديد الموضع أصعب مع المدخلات الضخمة صعب؛ فالأوزان لا تحتفظ باستشهادات صريحة بالمستندات
التحكم في الوصول يُطبّق لكل استعلام عبر مرشحات البيانات الوصفية في الفهرس يجب تطبيق التصفية قبل تجميع المطالبة يصعب عزله؛ فقد يتسرب أي محتوى في الأوزان إلى أي مستخدم

RAG مقارنةً بنوافذ السياق الطويلة

مع دعم النماذج الحديثة لنوافذ سياق كبيرة، قد يبدو من المغري تجاوز الاسترجاع ولصق قاعدة المعرفة بأكملها في كل مطالبة. ينجح ذلك مع عدد قليل من المستندات القصيرة، خصوصًا عند استخدام التخزين المؤقت للمطالبات وKV cache مُهيأة مسبقًا، حتى لا يلزم إعادة معالجة البادئات المتكررة من البداية.

لكن عندما تنمو مجموعة المستندات إلى آلاف الملفات، يواجه إدراجها كلها في المطالبة عقبتين:

  1. التكلفة وزمن الاستجابة: يؤدي إرسال مطالبات ضخمة في كل دور من المحادثة إلى زيادة الإنفاق على الواجهات البرمجية والوقت حتى ظهور أول رمز؛ ولهذا يظل الاسترجاع الانتقائي من الاستراتيجيات الأساسية عند البحث عن طرق خفض تكلفة واجهات الذكاء الاصطناعي البرمجية.
  2. تراجع الانتباه: لا تنتبه النماذج إلى كل أجزاء المطالبة الضخمة بالقدر نفسه. ومع تراكم النصوص غير ذات الصلة في النافذة، تنخفض الدقة غالبًا في ظاهرة تُعرف باسم تدهور السياق. ويحافظ RAG على تركيز المطالبة باسترجاع المقاطع المهمة للسؤال الحالي فقط.

RAG مقارنةً بالضبط الدقيق

يحدّث الضبط الدقيق أوزان النموذج باستخدام أمثلة منتقاة. وهو فعال عندما تريد من النموذج اتباع مخطط إخراج صارم، أو اعتماد صوت معين للعلامة التجارية، أو تعلم صياغة متخصصة في مجال ما. لكنه ليس وسيلة مناسبة لتعليم النموذج حقائق تتغير بسرعة.

أظهرت ورقة لويس وزملائه لعام 2020 (arXiv:2005.11401) أهمية الذاكرة غير المعلمية للحقائق المتغيرة من خلال تجربة استبدال الفهرس أثناء التشغيل. اختبر الباحثون نموذجهم باستخدام نسخة من Wikipedia لشهر ديسمبر 2016 مقارنةً بنسخة من Wikipedia لشهر ديسمبر 2018، للإجابة عن أسئلة تخص قادة عالميين تغيروا بين التاريخين:

  • عندما تطابقت سنة السؤال مع سنة الفهرس، أجاب النموذج إجابة صحيحة عن 70% من أسئلة قادة عام 2016 باستخدام فهرس 2016، وعن 68% من أسئلة قادة عام 2018 باستخدام فهرس 2018.
  • عندما لم يتطابق الفهرس مع الأسئلة، انخفضت الدقة إلى 12% عند استخدام فهرس 2018 لأسئلة قادة 2016، وإلى 4% عند استخدام فهرس 2016 لأسئلة قادة 2018.

أدى استبدال الفهرس الخارجي وحده إلى تحديث معرفة النظام بحقائق العالم دون إعادة تدريب أي وزن من أوزان النموذج.

أين يفشل RAG؟

تقلل إضافة الاسترجاع إلى نموذج لغوي من التخمين في الموضوعات الخاصة أو الحديثة، لكنها لا تقضي على هلوسة الذكاء الاصطناعي ولا تضمن إجابات دقيقة. ولأن نظام RAG يتكون من أجزاء متعددة، فقد تحدث الإخفاقات في خطوة البحث أو خطوة التوليد:

  • الإخفاق في الاسترجاع: إذا صاغ المستخدم سؤالًا بمصطلحات تختلف عن المستند المصدر، أو فصلت التجزئة جدولًا عن عنوانه، فقد تعجز أداة الاسترجاع عن إظهار المقطع الذي يحتوي على الإجابة. وإذا لم يصل الجزء الصحيح إلى المطالبة، يعمل النموذج دون المعلومات اللازمة.
  • المستندات المشوشة أو القديمة: تعتمد جودة الفهرس على الملفات التي يحتويها. فإذا تضمنت قاعدة المعرفة إصدارَي 2023 و2026 من دليل تهيئة الموظفين دون تصفية واضحة للإصدارات الملغاة، فقد تمرر أداة الاسترجاع تعليمات قديمة إلى النموذج.
  • الإفراط في الاسترجاع: غالبًا ما يأتي جلب 25 جزءًا «احتياطًا» بنتائج عكسية. فحشو المطالبة بمقاطع ضعيفة الصلة يشتت الإجابة الفعلية، ويزيد زمن الاستجابة، وقد يسبب تدهور السياق الذي ينشغل فيه النموذج بتفاصيل تبدو قريبة من المطلوب دون أن تطابقه.
  • حقن المطالبات غير المباشر عبر النص المسترجع: إذا استوعب الفهرس محتوى خارجيًا غير موثوق، مثل رسائل البريد الواردة أو صفحات الويب العامة أو التذاكر التي يقدمها المستخدمون، فقد يزرع مهاجم تعليمات ضارة داخل مستند. وعندما يُسترجع المستند ويُدرج في المطالبة، قد يؤدي إلى هجوم حقن مطالبات يسيطر على سلوك النموذج.
  • تجاهل النموذج للسياق أو إساءة قراءته: حتى عند إدراج المقطع الصحيح تمامًا في المطالبة، قد يسيء مولّد النص فهم النفي، أو يخلط بين جزأين منفصلين بصورة غير دقيقة، أو يمنح معارفه المسبقة من التدريب أولوية على النص المقدم عندما يناقض المقطع المسترجع المعرفة الشائعة.

قائمة تحقق لبناء نظام RAG موثوق

عند نقل نموذج أولي لنظام RAG إلى الإنتاج، تساعد بعض الممارسات الهندسية المنضبطة على منع أكثر الإخفاقات شيوعًا:

  • حافظ على تحديث الفهرس وإزالة التكرارات: أنشئ خطوط عمل آلية تزيل المستندات المحذوفة، وتؤرشف الإصدارات المستبدلة، وتضيف طوابع زمنية واضحة وروابط المصادر إلى كل جزء مفهرس.
  • استرجع أقل، ولكن بجودة أعلى: بدلًا من حشو المطالبة بعشرات النتائج ضعيفة الصلة، اجمع بين البحث الهجين، أي المتجهات والكلمات المفتاحية، والتصفية بالبيانات الوصفية وأداة إعادة ترتيب، بحيث تمرر إلى أداة التوليد مجموعة صغيرة فقط من المقاطع الغنية بالمعلومات.
  • افصل النص المسترجع غير الموثوق بوضوح عن تعليمات النظام: أحط الأجزاء المسترجعة بفواصل بنيوية صريحة، مثل وسوم XML أو كتل مستندات معنونة، ووجّه مطالبة النظام إلى التعامل مع تلك الكتل بوصفها بيانات مرجعية سلبية فقط، وليس أوامر قابلة للتنفيذ مطلقًا.
  • اطلب من النموذج الامتناع عن الإجابة عند غياب السياق: وجّهه إلى التصريح بوضوح عندما لا تحتوي المقاطع المقدمة على معلومات كافية للإجابة عن السؤال. لا يمكن لتعليمات المطالبة ضمان امتثال النموذج دائمًا، لكنها تمنحه بديلًا أوضح من التخمين الصامت عندما لا يُرجع البحث نتائج.

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

هل يحتاج RAG دائمًا إلى قاعدة بيانات متجهية؟

لا. لا يتطلب التوليد المعزز بالاسترجاع سوى وسيلة لجلب النص ذي الصلة قبل استدعاء النموذج. ومع أن قواعد البيانات المتجهية شائعة للبحث عن التشابه الدلالي، تستخدم أنظمة RAG كثيرة في الإنتاج محركات بحث تقليدية بالكلمات المفتاحية، مثل BM25 في Elasticsearch أو البحث بالنص الكامل في PostgreSQL، أو تستخدم بحثًا هجينًا يجمع بين مطابقة الكلمات المفتاحية والمتجهات.

هل يستطيع RAG منع نموذج LLM من الهلوسة تمامًا؟

لا. يقلل RAG الهلوسة الناتجة عن غياب بيانات التدريب أو تقادمها، لأنه يقدم للنموذج النص المرجعي مباشرةً داخل المطالبة. ومع ذلك، قد يسيء النموذج قراءة مقطع، أو يجمع حقائق من جزأين غير مترابطين بطريقة خاطئة، أو يخمّن إجابة عندما تسترجع أداة البحث مستندات غير ذات صلة.

هل أستخدم RAG أم الضبط الدقيق لوثائق شركتي الداخلية؟

ابدأ باستخدام RAG إذا كان هدفك تمكين النموذج من الإجابة عن أسئلة تتعلق بمستندات داخلية تتغير بمرور الوقت. يتيح لك RAG إضافة الملفات إلى الفهرس أو تعديلها أو حذفها فورًا، وتطبيق أذونات الوصول لكل مستخدم عند الاستعلام. أما الضبط الدقيق فهو أنسب لتعليم النموذج تنسيقًا أو نبرة أو خطوات عمل متسقة.

المصادر

بقلم

Chunyu Cai

Chunyu Cai هو الرئيس التنفيذي لشركة Lotook, LLC ورائد أعمال يكتب عن نماذج الذكاء الاصطناعي ووكلائه وكيف تغير العمل اليومي. يحمل Chunyu Cai درجة الماجستير من Imperial College London.