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

Sumit Soman وَ Sujoy Roychowdhury

LaTeX

مُلَخَّص

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

مقدمة

يتطلب التعامل مع الأسئلة المطولة توليد استجابات فقرية من نماذج اللغة الكبيرة.

تحديات الاسترجاع المعزز للوثائق الفنية متعددة الأبعاد (xu2023retrieval, toro2023dynamic). سبق تقييم العوامل التي تؤثر على أداء الاسترجاع، مثل تضمين الوثائق في السياق، ونماذج اللغة الكبيرة، وأنواع المقاييس المختلفة (chen2023understanding). لتطوير هذا العمل، نجري تجارب على الوثائق الفنية التي تتعلق بمصطلحات الاتصالات والبطاريات لفحص تأثير طول القطعة، والبحث المعتمد على الكلمات الرئيسية، وترتيب النتائج المسترجعة في خط أنابيب الاسترجاع المعزز.

الإعداد التجريبي

تعتمد تجاربنا على مواصفات طبقة التحكم في الوصول للوسائط (Medium Access Control) والطبقة الفيزيائية (Physical Layer) لشبكة IEEE اللاسلكية (9363693)، ومعجم المصطلحات القياسي للبطاريات الثابتة من IEEE (7552407). نعالج معجم التعريفات والوثيقة بالكامل بشكل منفصل، إذ تعتمد العديد من الأسئلة المتوقعة على التعريفات. نستخرج الأسئلة بناءً على المعرفة المجالية، ونقدم تقارير عن النتائج التجريبية لـ 42 استفساراً تمثيلياً عبر الوثائق. يمكن استخدام نماذج تضمين متعددة (reimers2019sentence)، ونستخدم نموذج MPNET (song2020mpnet) للوثيقة كاملةً - باستثناء الجداول والتعليقات التوضيحية. بالنسبة للمعجم، نقسم المصطلح والتعريف ونولد تضمينات منفصلة لكل منهما، بالإضافة إلى الفقرة الكاملة التي تحتوي على المصطلح والتعريف معاً. راجع (soman2023observations) لمراجعة نماذج اللغة الكبيرة الأخرى في قطاع الاتصالات، لكننا اخترنا نموذج llama2-7b-chat (touvron2023llama) لأنه مجاني ويحمل ترخيصاً متوافقاً مع الاستخدام التجاري. نقيم عدة أسئلة ونقدم تقارير عن الأسئلة المختارة للتحقق من ملاحظاتنا. للرجوع إليها، يتم توفير الأوامر المستخدمة لنموذج اللغة الكبيرة في الملحق [app:appA].

الملاحظات

لاحظنا أولاً أن تضمين الجمل يصبح أقل موثوقية مع زيادة طول القطعة. يوضح الملحق [app:appB] الرسم البياني لتقدير الكثافة النوية (KDE) لدرجات التشابه الكوزيني عبر أطوال الجمل المختلفة. أخذنا 10,970 جملة وفحصنا التشابه الزوجي بينها. لوحظ تشابه عالي عندما تكون الجمل طويلة نسبياً. وتشير توزيعات التشابه الأعلى للأطوال الأكبر إلى وجود تطابقات زائفة، تحققنا منها يدوياً لبعض العينات. وجدنا أنه عندما يحتوي كل من الاستعلام والوثيقة المستعلم عنها على أكثر من 200 كلمة، يظهر توزيع التشابه ثنائي القمم، بينما عندما يتجاوز أحدهما ذلك فقط، يظهر ارتفاع طفيف ولكنه أقل وضوحاً عند الدرجات العليا.

ملخص الملاحظات

يُلخص الجدول [tab:observations] فرضياتنا والملاحظات الرئيسية؛ تستعرض الملحق [app:appC] استعلامات العينة ونتائجها. نفترض أن تقسيم التعريفات عن المصطلحات يمكن أن يحسِّن النتائج (H1)، وأن درجات التشابه تشكل مقياساً جيداً (H2)، وأن موقع الكلمات الرئيسية يؤثر في النتائج (H3)، وأن حساب التشابه على مستوى الجمل يعزز الاسترجاع (H4) وجودة التوليد (H5)، إضافةً إلى أن الإجابات المبنية على الاختصارات تخضع لتأثيرات معينة (H6)، كما يؤثر ترتيب النتائج المسترجعة في أداء المولد (H7). استندت H2 إلى نتائج توزيعات التشابه المشار إليها سابقاً، واستندت H7 إلى (chen2023understanding)، والبقية استنتجناها من تجاربنا الخاصة.

وجدنا أن الاسترجاع بناءً على اختيار النتائج حسب درجات التشابه ليس مفيداً دائماً. بالنسبة للاستعلامات 1 و 2 و 5، عندما توجد عبارة الاستعلام في المصطلح أو التعريف، تتحقق أعلى درجات التشابه. بالنسبة للاستعلام 3، تُسترجع النتيجة الصحيحة في المرتبة الثانية باستخدام تضمين التعريف، بينما في الحالات الأخرى لا تُسترجع النتيجة وتكون درجات التشابه متقاربة. أما بالنسبة للاستعلامين 4 و 6، فلا نتمكن من استرجاع النتيجة الصحيحة رغم أن الدرجات توحي بخلاف ذلك. وبناءً عليه، قد يؤدي اختيار النتائج بناءً على درجات التشابه إلى تحسين أداء المولد الثانوي. نقيم أداء المولد على استعلاماتنا بناءً على النتائج المسترجعة باستخدام أعلى \(k\) تعريفات مسترجعة ومصطلحاتها وتعريفاتها، حيث يوفر السياق الأفضل استجابات مولدة أدق. بالنسبة للاختصارات وتوسعاتها، لا يضيف المولد أي قيمة إضافية.

لاسترجاع الوثيقة الكاملة، ندرس البحث عن التشابه على مستوى الجمل والفقرات بشكل مستقل. في الحالة الأولى، نسترجع الفقرة التي تنتمي إليها الجملة ونختار أعلى \(k\) فقرات مميزة من الجمل الأكثر تشابهاً. نلاحظ أن البحث عن التشابه على مستوى الجمل مع استخدام الفقرات في التوليد يوفر أداء استرجاع وتوليد أفضل. يذكر المؤلفون في (chen2023understanding) أن ترتيب المعلومات المقدمة مهم، لكننا لم نلاحظ فروقاً عند تبديل الفقرات المسترجعة. كما نلاحظ أن استجابات المولد تفشل أحياناً بسبب الاسترجاع الخاطئ أو المعلومات الوهمية أو التوليف غير الدقيق، كما هو موضح في (chen2023understanding).

نوصي بتطبيق هذه الأساليب في نظم الأسئلة والأجوبة، وخصوصاً مع الأسئلة الطويلة.

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

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

الأسلوب

استرجاع ملفات النمط

تعليمات التنسيق العامة

العناوين: المستوى الأول

العناوين: المستوى الثاني

العناوين: المستوى الثالث

الاقتباسات، الأشكال، الجداول، المراجع

الاستشهادات داخل النص

يجب أن تستند الاستشهادات داخل النص إلى حزمة natbib وتتضمن أسماء عائلات المؤلفين والسنة (مع استخدام بناء الجملة “وآخرون” لأكثر من مؤلفين اثنين). عندما يتم ذكر المؤلفين أو النشر داخل الجملة، يجب ألا يكون الاستشهاد بين قوسين باستخدام \citet{} (كما في “انظر (Hinton06) لمزيد من المعلومات.”). وإلا، يجب أن يكون الاستشهاد بين قوسين باستخدام \citep{} (كما في “تظهر التعلم العميق وعداً لتحقيق تقدم نحو الذكاء الاصطناعي (Bengio+chapter2007).”).

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

الحواشي السفلية

الأشكال

الجداول

جميع الجداول يجب أن تكون مركزة، نظيفة، وواضحة. لا تستخدم جداول مرسومة باليد. يجب أن يظهر رقم الجدول وعنوانه قبل الجدول. انظر الجدول [sample-table].

ضع مسافة سطر واحدة قبل عنوان الجدول، ومسافة سطر واحدة بعد عنوان الجدول، ومسافة سطر واحدة بعد الجدول. يجب أن يكون عنوان الجدول بأحرف صغيرة (ما عدا الكلمة الأولى والأسماء الخاصة)؛ ويتم ترقيم الجداول بشكل متسلسل.

التدوين الافتراضي

في محاولة لتشجيع التدوين الموحد، قمنا بتضمين ملف التدوين من الكتاب المدرسي، التعلم العميق (goodfellow2016deep) المتاح على https://github.com/goodfeli/dlbook_notation/. استخدام هذا الأسلوب ليس إلزامياً ويمكن تعطيله بتعليق math_commands.tex.

الأعداد والمصفوفات

\(\displaystyle a\) عدد نسبي (صحيح أو حقيقي)
\(\displaystyle \va\) متجه
\(\displaystyle \mA\) مصفوفة
\(\displaystyle \tA\) تنسور
\(\displaystyle \mI_n\) مصفوفة الهوية بn صفوف وn أعمدة
\(\displaystyle \mI\) مصفوفة الهوية بأبعاد يفترض من السياق
\(\displaystyle \ve^{(i)}\) متجه الأساس القياسي \([0,\dots,0,1,0,\dots,0]\) بواحد في الموضع \(i\)
\(\displaystyle \text{diag}(\va)\) مصفوفة مربعة قطرية بمدخلات قطرية معطاة بواسطة \(\va\)
\(\displaystyle \ra\) متغير عشوائي نسبي
\(\displaystyle \rva\) متغير عشوائي متجهي
\(\displaystyle \rmA\) متغير عشوائي مصفوفي

المجموعات والرسومات

\(\displaystyle \sA\) مجموعة
\(\displaystyle \R\) مجموعة الأعداد الحقيقية
\(\displaystyle \{0, 1\}\) المجموعة التي تحتوي على 0 و1
\(\displaystyle \{0, 1, \dots, n \}\) مجموعة جميع الأعداد الصحيحة بين \(0\) و\(n\)
\(\displaystyle [a, b]\) الفترة الحقيقية التي تشمل \(a\) و\(b\)
\(\displaystyle (a, b]\) الفترة الحقيقية التي تستثني \(a\) لكنها تشمل \(b\)
\(\displaystyle \sA \backslash \sB\) طرح المجموعات، أي المجموعة التي تحتوي على عناصر \(\sA\) التي ليست في \(\sB\)
\(\displaystyle \gG\) رسم بياني
\(\displaystyle \parents_\gG(\ervx_i)\) الآباء لـ \(\ervx_i\) في \(\gG\)

الفهرسة

\(\displaystyle \eva_i\) العنصر \(i\) من المتجه \(\va\)، حيث تبدأ الفهرسة من 1
\(\displaystyle \eva_{-i}\) جميع عناصر المتجه \(\va\) باستثناء العنصر \(i\)
\(\displaystyle \emA_{i,j}\) العنصر \(i, j\) من المصفوفة \(\mA\)
\(\displaystyle \mA_{i, :}\) الصف \(i\) من المصفوفة \(\mA\)
\(\displaystyle \mA_{:, i}\) العمود \(i\) من المصفوفة \(\mA\)
\(\displaystyle \etA_{i, j, k}\) العنصر \((i, j, k)\) من تنسور ثلاثي الأبعاد \(\tA\)
\(\displaystyle \tA_{:, :, i}\) شريحة ثنائية الأبعاد من تنسور ثلاثي الأبعاد
\(\displaystyle \erva_i\) العنصر \(i\) من المتجه العشوائي \(\rva\)

التفاضل والتكامل

\(\displaystyle\frac{d y} {d x}\) مشتقة \(y\) بالنسبة لـ \(x\)
[2ex] \(\displaystyle \frac{\partial y} {\partial x} \) المشتقة الجزئية لـ \(y\) بالنسبة لـ \(x\)
\(\displaystyle \nabla_\vx y \) التدرج لـ \(y\) بالنسبة لـ \(\vx\)
\(\displaystyle \nabla_\mX y \) مشتقات المصفوفة لـ \(y\) بالنسبة لـ \(\mX\)
\(\displaystyle \nabla_\tX y \) تنسور يحتوي على مشتقات \(y\) بالنسبة لـ \(\tX\)
\(\displaystyle \frac{\partial f}{\partial \vx} \) مصفوفة جاكوبي \(\mJ \in \R^{m\times n}\) لـ \(f: \R^n \rightarrow \R^m\)
\(\displaystyle \nabla_\vx^2 f(\vx)\text{ or }\mH( f)(\vx)\) مصفوفة هيسيان لـ \(f\) في نقطة الإدخال \(\vx\)
\(\displaystyle \int f(\vx) d\vx \) التكامل المحدد على كامل نطاق \(\vx\)
\(\displaystyle \int_\sS f(\vx) d\vx\) التكامل المحدد بالنسبة لـ \(\vx\) على المجموعة \(\sS\)

نظرية الاحتمالات والمعلومات

\(\displaystyle P(\ra)\) توزيع احتمالي على متغير متقطع
\(\displaystyle p(\ra)\) توزيع احتمالي على متغير مستمر، أو على متغير لم يتم تحديد نوعه
\(\displaystyle \ra \sim P\) المتغير العشوائي \(\ra\) له التوزيع \(P\)
\(\displaystyle \E_{\rx\sim P} [ f(x) ]\text{ or } \E f(x)\) توقع \(f(x)\) بالنسبة لـ \(P(\rx)\)
\(\displaystyle \Var(f(x)) \) التباين لـ \(f(x)\) تحت \(P(\rx)\)
\(\displaystyle \Cov(f(x),g(x)) \) التغاير بين \(f(x)\) و\(g(x)\) تحت \(P(\rx)\)
\(\displaystyle H(\rx) \) إنتروبيا شانون للمتغير العشوائي \(\rx\)
\(\displaystyle \KL ( P \Vert Q ) \) تباعد كولباك-لايبلر بين P وQ
\(\displaystyle \mathcal{N} ( \vx ; \vmu , \mSigma)\) التوزيع الطبيعي على \(\vx\) بمتوسط \(\vmu\) وتباين \(\mSigma\)

الدوال

\(\displaystyle f: \sA \rightarrow \sB\) الدالة \(f\) بمجال \(\sA\) ومدى \(\sB\)
\(\displaystyle f \circ g \) تركيب الدالتين \(f\) و\(g\)
\(\displaystyle f(\vx ; \vtheta) \) دالة في \(\vx\) بمعامل \(\vtheta\). (أحياناً نكتب \(f(\vx)\) ونحذف الوسيط \(\vtheta\) لتبسيط التدوين)
\(\displaystyle \log x\) اللوغاريتم الطبيعي لـ \(x\)
\(\displaystyle \sigma(x)\) سيجمويد لوجستي، \(\displaystyle \frac{1} {1 + \exp(-x)}\)
\(\displaystyle \zeta(x)\) سوفت بلس، \(\log(1 + \exp(x))\)
\(\displaystyle || \vx ||_p \) القيمة \(\normlp\) لـ \(\vx\)
\(\displaystyle || \vx || \) القيمة \(\normltwo\) لـ \(\vx\)
\(\displaystyle x^+\) الجزء الموجب من \(x\)، أي \(\max(0,x)\)
\(\displaystyle \1_\mathrm{condition}\) تساوي 1 إذا كان الشرط صحيحاً، و0 خلاف ذلك

التعليمات النهائية

إعداد ملفات بوست سكريبت أو بي دي إف

هوامش في LaTeX

بيان URM

يقر الكتاب بأن على الأقل مؤلف رئيسي واحد في هذا العمل يلبي معايير URM لمسار الأوراق الصغيرة في ICLR 2024.

الملحق أ

الأوامر المستخدمة لنموذج اللغة الكبير في تجاربنا هي كما يلي:

الملحق ب

الملحق C - المواد التكميلية

نوفر مستودع Git مجهول يحتوي على:

بالإضافة إلى ذلك، نقدم تفاصيل بالنسبة للفرضيات في الجدول [tab:observations] من خلال تقديم استفسارات نموذجية والنتائج المسترجعة والمولدة.