بث مباشر 18.11 · الدفعة 318 نوفمبر، 19:00 بتوقيت موسكو — ورشة عملية مجانية لوكلاء الذكاء الاصطناعي · الدفعة 3 تبدأ 23.11ورشة 18 نوفمبر ←الدفعة 3 (23.11)
إصدارتحليل · على الرادارHabr AI→ المصدر

NERVE: كيف نُخفّت «عصبونات SQL» في Qwen 27B ونصلح استعلامات 1C دون إعادة تدريب

نموذج Qwen 27B المضبوط على 1C يخلط بين لغة الاستعلامات في 1C ولغة SQL: الجداول الافتراضية، والمعاملات، والتراكيب الدخيلة. مجموعات البيانات الجديدة لم تحقق سوى أقل من 1% من التحسن. بدلاً من ذلك، عثر المؤلف على العصبونات «المذنبة» في طبقات MLP وخفّتها بضرب أعمدة down_proj في معامل أقل من واحد.

معالج بواسطة الذكاء الاصطناعي من Habr AI؛ بتحرير Hamidun News
NERVE: كيف نُخفّت «عصبونات SQL» في Qwen 27B ونصلح استعلامات 1C دون إعادة تدريب
المصدر: Habr AI. كولاج: Hamidun News.
استمع للمقال
بطاقة الحقائق والأرقام
المعيارالتفاصيل
المصدر الأصليHabr AI ↗
رئيس التحرير
حقيقة رئيسية #1تُبنى الخريطة على الرموز التي يختلف فيها الجواب الصحيح عن الخاطئ
حقيقة رئيسية #2يُتحقق من التعديلات المختارة بالطريقة الجشعة على نصف تحكم مؤجَّل
حقيقة رئيسية #3يعيش التعديل في الأوزان وينتقل إلى GGUF دون تغيير البنية

ألم مألوف: ضبطتَ نموذجاً مفتوحاً على مجال ضيق، ومع ذلك يخطئ بانتظام في الموضع نفسه. مجموعات البيانات الجديدة بالكاد تفيد، وكل دورة لجمع البيانات تكلّف أسابيع. واجه كاتب مقال على Habr هذه المشكلة بالضبط مع Qwen 3.8 27B المضبوط على 1C:Enterprise. يكتب النموذج الشيفرة بلغة 1C المدمجة بشكل مقبول، لكنه يخلط لغة الاستعلامات في 1C مع SQL: يخلط الجداول الافتراضية، ويضع المعاملات في غير موضعها، ويجلب تراكيب غير موجودة في 1C. أضافت مجموعات البيانات الإضافية أقل من 1% من accuracy.

الفرضية: SQL هو المعيق

مفردات اللغتين متشابهة: SELECT وJOIN وWITH. افترض المؤلف أن المعرفة بلغة SQL الحقيقية تسحب النموذج نحو إجابة خاطئة. عندئذٍ يمكن، بدل إعادة التدريب، العثور على العصبونات المحددة المسؤولة عن ذلك وإضعافها. هكذا ظهر خط معالجة NERVE.

العصبون هنا هو مكوّن واحد من المتجه الوسيط في كتلة MLP (يبلغ عددها 17,408 في كل طبقة في Qwen 3.8 27B) مع عمود المصفوفة W_down الذي يكتب فيه. ضرب العمود في m يعني ضرب تنشيط العصبون في m عند كل رمز. القيمة 0 تُطفئ العصبون، و0.5 تُضعفه إلى النصف. لا تتغير البنية، ويصمد التعديل أمام التكميم والتصدير إلى GGUF. عدد المرشحين الإجمالي نحو 1.1 مليون (64 طبقة)، لذا فالبحث الأعمى بلا معنى.

كيف يعمل خط المعالجة

  1. تؤخذ أزواج «استعلام صحيح / استعلام خاطئ»، كما في DPO، نحو ألفي زوج. ولأن الإجابات تتطابق بنسبة 90–95%، تُقارَن فقط الرموز المختلفة التي يجدها difflib. أما المتوسط على الإجابة كلها فكان سيُضعف الإشارة.
  2. تجمع الخطافات (hooks) عند مدخل كل down_proj متوسط تنشيط العصبونات على هذه الرموز. وعلى مستوى كل الأزواج تُحسب القيمة المتوسطة وإحصائية t واتساق الإشارة. يجري الترتيب بحسب |t| كي لا تُنتج زوجان أو ثلاثة أزواج شاذة قادةً زائفين.
  3. يتنبأ الإسناد بالتدرج («التدرج × المدخل») بكيفية تغير margin، أي مدى تفضيل النموذج للإجابة الصحيحة على الخاطئة، إذا خُفّت العصبون. يُعدّ العصبون ذو المساهمة السالبة «خاطئاً». الإسناد مكلف، لذلك يُبنى على 512 زوجاً.
  4. يجرّب الانتقاء الجشع المرشحين واحداً تلو الآخر فوق ما قُبل سابقاً. يبقى التعديل إذا ارتفع margin بما لا يقل عن 0.002 لكل رمز، ولم ينخفض nll على الإجابات الصحيحة بأكثر من 2%. وما دامت المحاولات الفاشلة تُلغى، لم تعد التنبؤات الخطية التراكمية لازمة.

الحماية الرئيسية من فرط التخصيص: يُقسَّم val إلى نصفين بحسب تجزئة الاستعلام. تُتخذ القرارات على أحدهما، ويُتحقق من النتيجة على الآخر. لا تُعدّ المجموعة مؤكَّدة إلا إذا ارتفع margin على نصف التحكم ولم يسُؤ nll بما يتجاوز الحد المسموح. تتراكم التعديلات المؤكَّدة في ملف JSON بجوار الخريطة وتُستبعد من المرشحين المستقبليين.

ما اكتُشف في الطريق

الخطأ الأول: بُنيت الخريطة على الرموز المختلفة بينما قيست الجودة على الإجابة كاملة. فخُفّف الأثر نحو 25 مرة. الإصلاح: قناع diff واحد للخريطة وللتحقق. الاكتشاف الثاني: تعزيز العصبونات «الجيدة» أفسد nll في الغالب، بينما أعطى كبت العصبونات الخاطئة ارتفاعاً ثابتاً في margin، ولذلك أصبح وضع suppress هو الأساسي. ومن الملاحظات أيضاً أن التهيج على الإجابات الخاطئة موجود تقريباً في كل طبقة، أي أن السلوك الشبيه بـ SQL موزَّع على عمق الشبكة كله.

القيود والخلاصة

لا توجد في النص المتاح أرقام نهائية: لا نعرف بكم ارتفعت accuracy على نصف التحكم. هذا نموذج واحد ومجموعة بيانات واحدة، والطريقة تعتمد على تقريب خطي ينهار عند تفاعل التعديلات، ولهذا يلزم الانتقاء الجشع. ومع ذلك تبقى الفكرة مفيدة للممارسين: إذا كان لدى النموذج المضبوط خطأ ثابت من نوع «الخلط» مع مجال مجاور، فهناك بديل رخيص لدورة SFT أخرى. يلزم أزواج تفضيل، ومرور forward-backward واحد على عينة، ونصف تحكم نزيه. الدرس الأساسي: احسب المقياس على الرموز نفسها التي بنيت عليها الخريطة، وتحقق دائماً على بيانات لم تشارك في الانتقاء.

القصة

أسئلة وأجوبة حول الخبر

ما أبرز التفاصيل حول الفرضية: SQL هو المعيق؟

مفردات اللغتين متشابهة: SELECT وJOIN وWITH. افترض المؤلف أن المعرفة بلغة SQL الحقيقية تسحب النموذج نحو إجابة خاطئة. عندئذٍ يمكن، بدل إعادة التدريب، العثور على العصبونات المحددة المسؤولة عن ذلك وإضعافها. هكذا ظهر خط معالجة NERVE. العصبون هنا هو مكوّن واحد من المتجه الوسيط في كتلة MLP (يبلغ عددها 17,408 في كل طبقة في Qwen 3.8 27B) مع عمود المصفوفة W_down الذي يكتب فيه. ضرب العمود في m يعني ضرب تنشيط العصبون في m عند كل رمز. القيمة 0 تُطفئ العصبون، و0.5 تُضعفه إلى النصف.

ما أبرز التفاصيل حول كيف يعمل خط المعالجة؟

تؤخذ أزواج «استعلام صحيح / استعلام خاطئ»، كما في DPO، نحو ألفي زوج. ولأن الإجابات تتطابق بنسبة 90–95%، تُقارَن فقط الرموز المختلفة التي يجدها difflib. أما المتوسط على الإجابة كلها فكان سيُضعف الإشارة. تجمع الخطافات (hooks) عند مدخل كل down_proj متوسط تنشيط العصبونات على هذه الرموز. وعلى مستوى كل الأزواج تُحسب القيمة المتوسطة وإحصائية t واتساق الإشارة. يجري الترتيب بحسب |t| كي لا تُنتج زوجان أو ثلاثة أزواج شاذة قادةً زائفين.

ما أبرز التفاصيل حول ما اكتُشف في الطريق؟

الخطأ الأول: بُنيت الخريطة على الرموز المختلفة بينما قيست الجودة على الإجابة كاملة. فخُفّف الأثر نحو 25 مرة. الإصلاح: قناع diff واحد للخريطة وللتحقق. الاكتشاف الثاني: تعزيز العصبونات «الجيدة» أفسد nll في الغالب، بينما أعطى كبت العصبونات الخاطئة ارتفاعاً ثابتاً في margin، ولذلك أصبح وضع suppress هو الأساسي. ومن الملاحظات أيضاً أن التهيج على الإجابات الخاطئة موجود تقريباً في كل طبقة، أي أن السلوك الشبيه بـ SQL موزَّع على عمق الشبكة كله.

ZK
جمال حميدون — مدير المنتجات في Alpina Digital ومدير منتج AlpinaGPT. يبني منتجات الذكاء الاصطناعي منذ 2019. بدأ Hamidun News كمشروع شخصي ثم أصبح مُجمِّعًا إنتاجيًا بأكثر من 6000 قارئ.
✦ Unified AI Workspace · Nomad

Test Frontier LLMs & Autonomous Agents in One Workspace

Run Claude Opus 5.5, GPT-6, Gemini 3.1, and DeepSeek side-by-side in Nomad AI (nomadnet.ai) — unified model routing, deep research, and multimodal workflows under one subscription.

Try Nomad AI →Launch Nomad Agent
ما رأيك؟
جارٍ تحميل التعليقات…