RAG أم الضبط الدقيق (Fine-tuning): ما الذي يحتاجه مشروعك مع النماذج اللغوية فعلًا
مقارنة RAG والضبط الدقيق للنماذج اللغوية: متى تبحث في مستنداتك، ومتى تضبط النموذج، ومتى تجمع بينهما، ومتى تكفي تعليمات أفضل.
"هل يجب أن نضبط نموذجًا على بياناتنا؟" من أول الأسئلة التي أسمعها في مشاريع الذكاء الاصطناعي. وغالبًا تكون الإجابة الصادقة: "ليس الآن على الأرجح". معظم الفرق التي تطرح هذا السؤال تحتاج في الحقيقة إلى البحث في المستندات، أو إلى تعليمات أفضل، أو إلى الاثنين. للضبط الدقيق مكانه، لكنه يحل مشكلة مختلفة عما يظنه أغلب الناس.
إليك كيف أختار بين RAG والضبط الدقيق، وما تكلفة بناء كل منهما وصيانته، والحالات التي لا تحتاج فيها إلى أي منهما.
الخلاصة السريعة
- RAG (التوليد المعزز بالاسترجاع) يعطي النموذج المعلومة الصحيحة لحظة الإجابة. يبحث النظام في مستنداتك، ويضع المقاطع المناسبة في الطلب، فيجيب النموذج منها.
- الضبط الدقيق (Fine-tuning) يغيّر سلوك النموذج. تواصل تدريبه على أمثلة، فيتعلم صيغة أو أسلوبًا أو مفردات أو مهمة محددة.
قاعدة مفيدة: RAG للمعرفة، والضبط الدقيق للمهارة. إذا كانت المشكلة "النموذج لا يعرف أسعارنا أو سياساتنا أو منتجاتنا"، فهذه معرفة. وإذا كانت "النموذج يعرف ما يكفي لكنه لا يجيب بالطريقة التي نريدها"، فهذه مهارة.
ابدأ بلا هذا ولا ذاك: أصلح التعليمات أولًا
قبل الاختيار، تحقق إن كانت تعليمات واضحة تحل المشكلة. عدد مفاجئ من مشاريع "نحتاج إلى ضبط دقيق" يُحل بـ:
- تعليمات دقيقة، تشمل ما يجب فعله عند غياب المعلومة،
- بضعة أمثلة جيدة لمدخلات ومخرجات متوقعة داخل الطلب،
- صيغة مخرجات محددة، ويُفضّل أن تكون منظمة (JSON بمخطط واضح) إذا كان نظام آخر سيقرؤها،
- اختيار نموذج يناسب المهمة.
هذا يأخذ أيامًا لا أسابيع، ويعطيك نقطة مرجعية. ومن دونها لن تعرف إن كان RAG أو الضبط الدقيق قد أفاد أصلًا.
متى يكون RAG هو الخيار الصحيح
يناسب RAG عندما تعتمد الإجابات على معلومات:
- خاصة بشركتك: كتالوج المنتجات، والعقود، والإجراءات الداخلية، والتذاكر السابقة.
- متغيرة: الأسعار والمخزون والسياسات. تحدّث المستندات فتستخدمها الإجابة التالية، دون إعادة تدريب.
- تحتاج إلى ذكر مصدرها: يستطيع RAG أن يبيّن من أي مستند جاءت الإجابة، ليتحقق منها شخص.
- مقيدة بصلاحيات: يمكنك تصفية ما يحق لكل مستخدم استرجاعه. أما النموذج المضبوط فلا يستطيع "نسيان" مستند لمستخدم واحد.
يقلل RAG أيضًا خطر اختلاق النموذج للمعلومات، لأنه يجيب من نصوص قدمتها له. لكنه لا يلغيه: يجب أن يجد البحث المقطع الصحيح، وأن يلتزم النموذج به. ومعظم إخفاقات RAG التي أراها إخفاقات بحث لا إخفاقات نموذج. كتبت دليلًا منفصلًا عن بناء منظومة RAG تصمد في بيئة الإنتاج.
متى تضبط النموذج اللغوي
يستحق الضبط الدقيق تكلفته عندما تحتاج من النموذج أن يفعل شيئًا بثبات لا تحققه التعليمات بشكل موثوق:
- صيغة أو أسلوب صارم عبر آلاف الطلبات: أسلوب كتابة خاص بالشركة، أو تنسيق تقرير محدد، أو تصنيف بفئات كثيرة.
- مهمة ضيقة ومتكررة يستطيع فيها نموذج صغير مضبوط أن يضاهي نموذجًا عامًا أكبر بكثير. وهذا مهم للتكلفة ولتشغيل النموذج على أجهزتك.
- لغة متخصصة لا يتقنها النموذج الأساسي: مصطلحات تقنية، أو لغة أو لهجة قليلة الحضور في بيانات تدريبه، كالدارجة.
- طلبات أقصر: سلوك يحتاج إلى تعليمات طويلة وأمثلة كثيرة في كل طلب يمكن تضمينه في النموذج نفسه.
اليوم يعني الضبط الدقيق غالبًا الضبط الفعّال للمعاملات، مثل LoRA. بدل تحديث كل أوزان النموذج، تُدرَّب مجموعة صغيرة من الأوزان الإضافية فوق نموذج أساسي ثابت. يحتاج ذلك إلى ذاكرة GPU أقل بكثير، والنتيجة ملف محوّل صغير يمكن تفعيله أو إزالته. وهكذا يصبح ضبط النماذج المفتوحة على أجهزة متواضعة أمرًا واقعيًا.
وما لا يُحسنه الضبط الدقيق: تعليم معلومات تتغير. إذا أدخلت الأسعار في النموذج بالتدريب، فستعيد التدريب مع كل تغيير، ولن ترى بسهولة من أين جاءت الإجابة.
تكلفة كل منهما
RAG:
- بناء منظومة الإدخال والبحث: قراءة المستندات، وتقطيعها، والتضمينات (embeddings)، وفهرس البحث.
- عمل مستمر لإبقاء الفهرس محدّثًا والصلاحيات صحيحة.
- طلبات أطول في كل مرة، لأن المقاطع المسترجعة تُضاف إليها.
الضبط الدقيق:
- جمع بيانات التدريب وتنظيفها. وهذه هي التكلفة الحقيقية. تحتاج عادة إلى مئات أو آلاف الأمثلة الجيدة، وأن تعكس فعلًا ما تريده، بما في ذلك أخطاؤها.
- جولات التدريب والتقييم، وتُعاد كلما تغيّر النموذج الأساسي أو متطلباتك.
- استضافة النموذج المضبوط، أو دفع سعر المزوّد للنماذج المخصصة.
وفي الحالتين تحتاج إلى مجموعة تقييم: بضع مئات من الأمثلة الحقيقية بإجابات مرجعية، لتقيس إن كان أي تغيير قد أفاد. ومن دونها أنت تخمّن.
متى تجمع بينهما
بعض الأنظمة تحتاج إلى الاثنين. نمط شائع: تضبط نموذجًا ليلتزم دائمًا بصيغتك ونبرتك، ثم تستخدم RAG لتزويده بالمعلومات الحالية. مثلًا، مساعد دعم مضبوط على طريقة كتابة أفضل موظفيك، مع إجابات مبنية على سياساتك الحالية. الضبط يتولى كيف يجيب، والاسترجاع يتولى ماذا يقول.
لا أنصح بهذا إلا بعد قياس RAG وحده وثبوت أنه غير كافٍ. فهما مكوّنان تجب صيانتهما بدل مكوّن واحد.
قائمة قرار سريعة
- هل تكفي تعليمات جيدة مع بضعة أمثلة؟ توقف عندها إذن.
- هل المشكلة معلومات ناقصة أو متغيرة؟ استخدم RAG.
- هل تحتاج إلى ذكر المصادر أو صلاحيات لكل مستخدم؟ استخدم RAG.
- هل المشكلة صيغة أو أسلوب أو مهمة ضيقة بحجم كبير؟ فكّر في الضبط الدقيق.
- هل لديك مئات الأمثلة الجيدة؟ إن لم تكن، فلست جاهزًا للضبط الدقيق.
- هل تريد نموذجًا صغيرًا على خوادمك للتكلفة أو الخصوصية؟ ضبط نموذج مفتوح صغير غالبًا هو الطريق.
مسألة البيانات الخاصة
يمكن للنهجين إبقاء البيانات الحساسة داخل الشركة. يعمل RAG مع نموذج محلي وفهرس محلي، فلا تغادر المستندات شبكتك. وضبط نموذج مفتوح على أجهزتك يعني أن بيانات التدريب لا تذهب إلى طرف ثالث. إذا كان هذا ما تفكر فيه، فقد قارنت الخيارات في الذكاء الاصطناعي الخاص وتشغيل النماذج اللغوية داخل الشركة.
تنبيه واحد: النموذج المضبوط قد يعيد أجزاء من بيانات تدريبه. لا تضبطه على بيانات شخصية لا تريد أن يكررها لمستخدم غير مخوّل. ولهذا النوع من البيانات، يكون RAG مع تصفية صلاحيات صحيحة هو الخيار الأكثر أمانًا عادة.
لنعمل معًا
أنا إدريس بريكسين، مهندس برمجيات وتعلّم آلة مقيم في المغرب. أبني أنظمة الذكاء الاصطناعي من البداية إلى النهاية، من الاسترجاع والعمل على النماذج إلى البرمجيات الجاهزة للإنتاج حولها، وأشغّل معظم أنظمتي على نماذج محلية. يمكنك الاطلاع على دراسات حالة لأعمالي.
إذا كنت مترددًا بين RAG والضبط الدقيق، صف لي المهمة في بضعة أسطر. سأخبرك بما كنت سأجربه أولًا، وكيف تقيس إن كان قد نجح.