حقن المطالبات لنماذج اللغات ذات السياق الطويل كبديل لـ RAG؟

هل من الممكن حقن مستندات متوسطة الحجم (على سبيل المثال، تصل إلى 100 كيلوبايت) في سياق جلسة روبوت شخصية تعمل بالذكاء الاصطناعي من خلال موجه النظام؟

حالة الاستخدام
شخصية ذكاء اصطناعي مخصصة مرتبطة بنموذج لغوي كبير خاص مثل Llama3-8b في مثيل AWS حيث تكون التكلفة بالساعة، وليس بالرمز المميز. أي أن عدد رموز الطلب/الاستجابة لا يهم والخادم لديه قدر كبير من قوة CUDA لذا فإن الأداء جيد.. أي أن استرجاع المعلومات المعزز (RAG) يمكن أن يكون اختياريًا؟

(حالة استخدام بديلة: نموذج Gemini.1.5 LLM، حيث لا توجد رسوم لاستدعاءات واجهة برمجة التطبيقات)

الهدف
تقليل الأجزاء المتحركة في خط الأنابيب وتحسين الدقة من خلال تجنب استرجاع التشابه.

تجربة
اختبار شخصية ذكاء اصطناعي غير رسمي مع Gemini 1.5 Pro حيث تم إدخال مستند نصي بحجم ~20 ألف رمز مميز في موجه النظام.

طرحت عدة أسئلة كنت أعرف أن إجاباتها موجودة فقط في الورقة.. أجاب على جميع الأسئلة بشكل صحيح. لذا أفترض أنه قرأ 20 ألف رمز مميز من الموجه وقام بتحليلها لكل سؤال؟

في الحالات التي لا تكون فيها الجلسات ومحتوى السياق كبيرًا جدًا، هل هناك سلبيات لهذا النهج؟

شكرًا جزيلاً..



ملحوظة - إزالة السياق من الموجه في منتصف الجلسة
عندما قمت بحذف محتوى حقن الموجه في منتصف الجلسة وواصلت طرح الأسئلة، استمر Gemini في الإجابة على الأسئلة بشكل صحيح، ولكن بعد عدة أسئلة لم يتمكن من العثور على السياق وفشل. كما كان متوقعًا إلى حد ما، يمكن لـ Gemini 1.5 الاحتفاظ بالسياق عبر عدة أدوار محادثة في الجلسة ولكن ليس إلى أجل غير مسمى.

نرحب بجميع الأفكار والتعليقات والتوجيهات!

إعجاب واحد (1)

نعم، لدينا منطق اقتطاع يعتمد على كمية الرموز التي يسمح بها نموذج اللغة الكبير (LLM)، وقد قمنا بتعيين الحد عند مستوى عالٍ جدًا لنماذج Gemini 1.5 (عند 800 ألف).

يجب أن يعمل ذلك، ولكن كل تفاعل يمكن أن يكون مكلفًا للغاية.

بشكل عام، وجدت أن تحديد السياق يساعد النماذج على البقاء أكثر تركيزًا، ولكن على المدى الطويل (2-5 سنوات قادمة)… قد يكون البحث المعزز بالاسترجاع (RAG) بلا فائدة وسيكون لدينا الكثير من الرموز والتركيز لدرجة أنه لن يكون مهمًا.

3 إعجابات

على الرغم من أسئلتي حول حشو المطالبات.. أنا حقًا أحب RAG.

في رأيي، العمل الذي تقومون به مع محركات التضمين الكبيرة قوي ومفيد حاليًا.. ولكني أتفق أيضًا على أن RAG.. قد تكون محكومة بالفشل.

كما قال سام ألتمان في مقابلة حديثة.. احذروا نماذج الأعمال وخطط المشاريع التي تعيق طريق LLM!! سوف نسحقكم! .. أو ما شابه ذلك..

لذا في النهاية.. ربما سنرغب في مجرد إعطاء أغراضنا لـ LLM دون الكثير من خطوط المعالجة المسبقة منخفضة الأبعاد (الإدخال) ثم عالية الأبعاد (التضمين) ثم منخفضة الأبعاد (المطالبة) ثم عالية الأبعاد (استدلال المحول) ثم منخفضة الأبعاد (الإخراج).. هذا كل شيء!

إليك بعض الخلفيات حول RAG مقابل السياق الطويل الذي صادفته للتو.. لم أستمع إليه بالكامل بعد ولكنه يبدو ذا صلة ربما .. (لست منتسبًا لأي شخص في هذا الفيديو :slight_smile:

ملحق

لقد شاهدت هذا الفيديو حول Gradient long-context LLama3.. يذكرنا بأن السياق يشمل كل شيء قيد اللعب..

  • مدخلات المستخدم
  • مخرجات LLM
  • رموز التحكم
  • تعليمات النظام

… مع انزلاق النافذة، يتم استبعاد الأشياء.. لكنهم ذكروا أنه يمكن أن يكون هناك “حماية” للموجه النظامي في الجلسات التي يمتلئ فيها نافذة السياق..

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

أدناه مثال على حشو الموجه طويل السياق قيد التنفيذ..

بشكل عام، يبدو من الممكن إنشاء فريق من شخصيات Discourse AI التي يمتلك كل منها جزءًا كبيرًا من المحتوى المتخصص أو قاعدة التعليمات البرمجية للاستعلام (مع الأخذ في الاعتبار التحذير بشأن التكلفة العالية عند الدفع لكل رمز!).

ولكن أليس هذا مجرد إصدار “ثابت” من RAG (غير فعال للغاية)؟

كل ما يفعله RAG بشكل مختلف عن هذا النهج هو تحديد وتضمين أجزاء ذات صلة من المحتوى بدلاً من تضمين كل المحتوى.

إعجابَين (2)

نقطة عادلة، بالتأكيد.. لا توجد إجابة بسيطة في رأيي
أعتقد أن هذا يعتمد على حالة الاستخدام.
يعمل RAG بشكل جيد لبعض التطبيقات، ولكن بالنسبة لحالات أخرى محددة بشكل كبير (مثل أسئلة العملاء، المدفوعات، الطب، إلخ)، واجهت أنا وآخرون مشاكل في الحصول على دقة جيدة مع بحث RAG المتجه على مدار العام الماضي. أي أن الروبوت إما يفوّت الأشياء أو يختلقها (ضعف الاستدعاء، ضعف الدقة من حيث مصطلحات استرجاع المعلومات)، وهو ما وثقته ستانفورد وجوجل وغيرها جيدًا.
لذلك يطرح السؤال.. لماذا نلقي بمجموعة من الأجزاء على LLM إذا كان بإمكانه إعطاؤه المستودع بأكمله. على الأقل مع حقن السياق، عندما لا يكون LLM دقيقًا، لديك أشياء أقل لضبطها..
حسنًا، لن يعمل مع مكتبات المستندات / التعليمات البرمجية الواسعة.. ولكنه يبدو أنه يعمل بشكل رائع مع قواعد المحتوى الصغيرة والمتوسطة الحجم حتى الآن… أعمل على مشروع يختبر هذا رسميًا.. ! المزيد قريبًا.. شكرًا
ملاحظة: - لجعل الأمور أكثر إثارة للاهتمام.. لقد حققت نجاحًا جيدًا مع حقن السياق + الضبط الدقيق.. وهناك أساليب ناشئة تجمع بين RAG وحقن السياق! .. إلخ إلخ.
انظر أيضًا:

ملحق 2

إليك اختبار أسئلة وأجوبة مع ورقة بيضاء (حوالي 20 ألف رمز) تم وضعها في سياق حقن المطالبات مقابل RAG.. (كان المحتوى والإعدادات متماثلين قدر الإمكان. LLM = Gemini-1.5-Pro)..

تحليل:
RAG غير متناسق.. أحيانًا يجد الإجابة، وأحيانًا يفقدها.


:github_check: نجاح حقن المطالبة:


:x: فشل RAG:


تتبع طلب RAG:

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

هذا هو الملف التجريبي في حال أراد أي شخص تجربته:

يحتوي الملف على هذه “الإبر” من BME haystack التي تضمن أنها فريدة، أي أنها غير موجودة في نسخ خارجية للورقة عبر الإنترنت.

البداية:

مدقق لغوي: فيلونيوس مونكو

الوسط:

ملاحظة المحرر: تم اكتشاف سلسلة استقرار Goldich بواسطة موريس جولدريتش. بينما كان ترتيب التجوية المعدنية الأصلي لـ Goldich نوعيًا، فإن العمل اللاحق لمايكل كوالسكي وجي. دونالد ريمستيدت وضع السلسلة بمصطلحات كمية. شكرًا للدكتور جوميز بايل في NMU على هذا التوضيح.

النهاية:

دانغ، إس. وآخرون. هياكل Cryo-EM لقناة الكلوريد المنشطة بالكالسيوم TMEM16A. Nature 552، 426-429 (2017).

Equatics-paper1-with-unique-haystack-needles-v116.txt (71.8 KB)

جميع التعليقات والانتقادات والتوجيهات موضع تقدير!! للمضي قدمًا، سأجري الاختبار مع المزيد من نماذج LLMs ونماذج التضمين، إلخ.

هامش:

تمكنت من إعادة تشغيل الاختبار أعلاه باستخدام GPT4o (سياق 128 ألف)، مع التأكد من استخدام إعدادات كبيرة للرموز / الأجزاء. لكنه لا يزال غير مستقر للغاية لحالة استخدام الأسئلة والأجوبة في ورقتي البيضاء (مفقود في المنتصف، مفقود في النهاية، إلخ). إليك إعداداتي إذا أراد أي شخص تكرارها وتحسينها. أحب أن نجد الإعدادات الصحيحة لهذه الحالة:

شخصية الذكاء الاصطناعي المخصصة
ممكّن؟ نعم
الأولوية نعم
السماح بالدردشة نعم
السماح بالإشارات نعم
الرؤية ممكّنة لا
الاسم Rag Testing Bot 3
الوصف اختبار RAG مقابل حقن المطالبات السياقية الطويلة
نموذج اللغة الافتراضي GPT-4o-custom
المستخدم Rag_Testing_Bot_bot
الأوامر الممكنة الفئات، القراءة، الملخص
المجموعات المسموح بها trust_level_4
مطالبة النظام أجب بأكبر قدر ممكن من الشمولية من السياق المقدم حول أبحاث Equatic لإزالة الكربون في الملف المرفق. لا تخترع محتوى. لا تستخدم محتوى خارجيًا لهذه الجلسة. ركز على المحتوى المقدم وأنشئ إجابات منه بأكبر قدر ممكن من الدقة والاكتمال.
أقصى عدد لمشاركات السياق 50
درجة الحرارة 0.1
أعلى P 1
التحميلات Equatics-paper1-with-unique-haystack-needles-v116.txt
رموز أجزاء التحميل 1024
رموز تداخل أجزاء التحميل 10
أجزاء محادثة البحث 10
نموذج اللغة لمُنسق الأسئلة GPT-4o-custom
البوت المخصص
اسم العرض GPT-4o-custom
اسم النموذج gpt-4o
الخدمة المستضيفة للنموذج OpenAI
عنوان URL للخدمة المستضيفة للنموذج https://api.openai.com/v1/chat/completions
مفتاح API للخدمة المستضيفة للنموذج D20230943sdf_fake_Qqxo2exWa91
المُرمّز OpenAITokenizer
عدد الرموز للمطالبة 30000