كان نموذجنا غبياً: كيف أنقذنا الضبط الدقيق (Fine-Tuning) من جحيم الإجابات السطحية؟

يا جماعة الخير، السلام عليكم ورحمة الله. معكم أخوكم أبو عمر.

خلوني أحكيلكم هالشغلة اللي صارت معي ومع الفريق قبل فترة. كنا متحمسين كثير لمشروع جديد، بدنا نبني مساعد ذكي لمتجر إلكتروني متخصص ببيع المنتجات الحرفية والتقليدية. قلنا لحالنا، “خلص، زمن الذكاء الاصطناعي وصل، وبدنا نستخدم أحدث نموذج لغوي كبير (LLM) عشان يرد على استفسارات الزباين”. الحماس كان واصل للسما، والقهوة ما كانت تفارق مكاتبنا.

ربطنا النموذج، وبدأنا الاختبارات الأولية. أول سؤال سألناه كان بسيط: “مرحبا، بدي أسأل عن تطريز ثوب العروس الخليلي، كم غرزة فيه؟”. انتظرنا الإجابة بفارغ الصبر، وتوقعنا رد خبير، لكن الصدمة كانت كبيرة. رد النموذج: “أنا آسف، لا أملك معلومات كافية عن عدد الغرز في ثوب معين. لكن التطريز الفلسطيني فن عريق وجميل…”.

يا إلهي! إجابة من ويكيبيديا! إجابة سطحية وباردة زي “يوم ماطر في لندن”. حاولنا مرة ثانية بسؤال عن سياسة الشحن لمنطقة معينة، فأعطانا جواب عام عن “سياسات الشحن العالمية”. وقتها حسيت بإحباط شديد، كأني جبت خبير عالمي في الفيزياء عشان يصلحلي حنفية المطبخ. النموذج كان ذكي، نعم، لكنه “غبي” في مجالنا. ما بفهم “اللهجة” تبعتنا، ولا خصوصية منتجاتنا. باختصار، كان “خواجة” بحكي مع أولاد بلد. قعدت مع الشباب، واحد فينا حكى بنبرة يأس: “شو هاد يا أبو عمر؟ النموذج أغبى من أسئلتنا!”. ضحكنا ضحكة صفرة، وعرفنا وقتها إننا أمام مشكلة حقيقية، وإن الاعتماد على النماذج العامة “كما هي” هو طريق مسدود.

لماذا فشل النموذج العام؟ لعنة “المعرفة السطحية”

قبل ما نلوم النموذج ونحكي عنه “غبي”، لازم نفهم طبيعته. النماذج اللغوية الكبيرة مثل GPT-4 أو Llama أو غيرها، تم تدريبها على كمية هائلة من بيانات الإنترنت العامة. هي أشبه بشخص قرأ كل كتب مكتبة ضخمة، من روايات شكسبير إلى مقالات ويكيبيديا ومنشورات وسائل التواصل الاجتماعي. عنده معرفة واسعة جداً، لكنها غير متخصصة.

المشكلة تكمن هنا بالضبط:

  • غياب السياق المتخصص: النموذج لا يعرف المصطلحات الدقيقة لمجالك. “الثوب الخليلي” بالنسبة له مجرد كلمات، لا يفهم تاريخها أو قيمتها أو تفاصيلها الدقيقة.
  • عدم فهم “شخصية” العلامة التجارية: كل عمل له نبرة صوت (Tone of Voice) خاصة به. هل هي رسمية؟ ودودة؟ فكاهية؟ النموذج العام يتحدث بنبرة محايدة ومملة.
  • بيانات داخلية غير متاحة: النموذج لا يعلم شيئاً عن سياسات شركتك الداخلية، أسعار منتجاتك المحدثة، أو تفاصيل الشحن الخاصة بك. هذه معلومات خاصة ليست على الإنترنت.

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

الضبط الدقيق (Fine-Tuning): تعليم “الخواجة” لهجتنا

وهنا يأتي دور المنقذ: الضبط الدقيق أو الـ Fine-Tuning. الفكرة بسيطة بعبقريتها. بدلاً من بناء نموذج من الصفر (وهو أمر مكلف ومعقد جداً)، نأخذ هذا النموذج العام الذكي (الخواجة) وندخله “دورة تدريبية مكثفة” في مجالنا.

الفكرة زي لما تعلّم الشب الصغير صنعة أبوه. هو عنده أساسيات الحياة، بيعرف يمشي ويحكي، لكنك بتعلمه أسرار المهنة، المصطلحات الخاصة، وكيف يتعامل مع الزباين. أنت لا تعيد بناء شخصيته من الصفر، بل “تضبطه” ليصبح خبيراً في مجالك.

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

كيف قمنا بذلك؟ دليل أبو عمر العملي خطوة بخطوة

الشغل ما كان سهل، بده طولة بال وصبر، لكن النتيجة كانت تستحق كل دقيقة. إليكم الخطوات العملية اللي مشينا عليها.

الخطوة الأولى: البيانات هي الذهب الجديد يا خال!

أول وأهم خطوة. إذا كانت بياناتك سيئة، ستحصل على نموذج “سيء ومُتخصص”، وهذه كارثة أكبر. ركزنا على جمع وإعداد “الكنز” الخاص فينا:

  1. جمع البيانات: جمعنا كل شيء يمكن أن يمثل “المعرفة” التي نريد أن يكتسبها النموذج. هذا شمل:
    • محادثات خدمة العملاء السابقة (بعد إخفاء هوية المستخدمين طبعاً).
    • قائمة الأسئلة الشائعة (FAQ) مع إجاباتها النموذجية.
    • وصف المنتجات التفصيلي من موقعنا.
    • وثائق السياسات الداخلية (الشحن، الإرجاع، إلخ).
  2. تنظيف وتنسيق البيانات: هذه هي “الصنعة”. قمنا بتحويل كل هذه البيانات إلى صيغة “سؤال وجواب” أو “تعليمات واستجابة”. الهدف هو إنشاء أمثلة واضحة للنموذج ليتعلم منها. الصيغة الأكثر شيوعاً هي JSONL (JSON Lines)، حيث كل سطر هو كائن JSON مستقل.

نصيحة من القلب: لا تستهينوا بهذه المرحلة. قضينا حوالي 70% من وقت المشروع في جمع وتنظيف وإعداد البيانات. كلما كانت بياناتك عالية الجودة وتعكس الواقع، كانت نتيجة الضبط الدقيق أفضل بكثير. “Garbage in, garbage out” (إذا أدخلت قمامة، ستحصل على قمامة) هي الحكمة الأولى في عالم البيانات.

مثال على شكل البيانات بصيغة JSONL لضبط نموذج على طريقة OpenAI:


{"messages": [{"role": "system", "content": "أنت مساعد خبير في متجر الحرف التقليدية. كن ودوداً ومساعداً."}, {"role": "user", "content": "كم سعر الكوفية الخليلية؟"}, {"role": "assistant", "content": "أهلاً بك! الكوفية الخليلية الأصلية المصنوعة من القطن الصافي سعرها 30 دولاراً. لدينا منها باللونين الأبيض والأسود. هل تود إضافتها للسلة؟"}]}
{"messages": [{"role": "system", "content": "أنت مساعد خبير في متجر الحرف التقليدية. كن ودوداً ومساعداً."}, {"role": "user", "content": "هل تشحنون إلى كندا؟ وما هي المدة؟"}, {"role": "assistant", "content": "نعم بالتأكيد، نشحن إلى جميع أنحاء كندا عبر شريكنا للشحن الدولي. يستغرق الشحن عادةً من 7 إلى 14 يوم عمل."}]}

الخطوة الثانية: اختيار الأدوات والنموذج الأساس

بعد تجهيز البيانات، حان وقت اختيار العدّة. هناك خيارات كثيرة:

  • واجهات برمجة التطبيقات (APIs): شركات مثل OpenAI, Google, Cohere توفر APIs سهلة لعملية الضبط الدقيق. أنت ترفع ملف البيانات، وهم يتولون الباقي. هذا الخيار هو الأسهل للمبتدئين.
  • المكتبات مفتوحة المصدر: هنا تكمن القوة الحقيقية للمطورين. مكتبات مثل Hugging Face Transformers و Axolotl و PEFT تمنحك تحكماً كاملاً بالعملية. يمكنك اختيار أي نموذج مفتوح المصدر (مثل Llama 3, Mistral) وضبطه على أجهزتك الخاصة (أو على السحابة).

نحن اخترنا البدء بـ OpenAI API لسرعة التجربة، ثم انتقلنا لاستخدام مكتبة Hugging Face مع نموذج Mistral-7B للحصول على تحكم أكبر وتكلفة أقل على المدى الطويل.

الخطوة الثالثة: عملية الضبط الدقيق (The Training Job)

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


from openai import OpenAI
client = OpenAI()

# 1. Upload your training data file
training_file = client.files.create(
  file=open("training_data.jsonl", "rb"),
  purpose="fine-tune"
)

# 2. Start the fine-tuning job
client.fine_tuning.jobs.create(
  training_file=training_file.id,
  model="gpt-3.5-turbo", # The base model you want to fine-tune
  hyperparameters={
    "n_epochs": 3 # How many times to go over the data
  }
)

المعاملات المهمة (Hyperparameters) مثل n_epochs (عدد مرات مرور النموذج على بياناتك) و learning_rate (معدل التعلم) هي مفاتيح التحكم في جودة التدريب. تحتاج إلى بعض التجربة للوصول إلى أفضل القيم لمجموعات البيانات المختلفة.

الخطوة الرابعة: التقييم والتكرار.. هل نجحنا؟

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

  1. مجموعة بيانات الاختبار (Test Set): قبل البدء، قم بتقسيم بياناتك. 80% للتدريب و 20% للاختبار. لا تُظهر بيانات الاختبار للنموذج أثناء التدريب أبداً.
  2. التقييم المقارن: اطرح نفس الأسئلة على النموذج العام الأصلي وعلى نموذجك المخصص. قارن الإجابات.
  3. التقييم البشري: في النهاية، لا يوجد أفضل من الحكم البشري. هل الإجابة صحيحة؟ هل هي مفيدة؟ هل نبرتها مناسبة؟

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

النتيجة: من مساعد “أجنبي” إلى “ابن البلد” الخبير

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

قبل الضبط الدقيق:

المستخدم: “مرحبا، بدي أسأل عن تطريز ثوب العروس الخليلي، كم غرزة فيه؟”

النموذج العام: “أنا آسف، لا أملك معلومات كافية عن عدد الغرز في ثوب معين. لكن التطريز الفلسطيني فن عريق وجميل…”

بعد الضبط الدقيق:

المستخدم: “مرحبا، بدي أسأل عن تطريز ثوب العروس الخليلي، كم غرزة فيه؟”

نموذجنا المخصص: “أهلاً وسهلاً بكِ! ثوب العروس الخليلي التقليدي قطعة فنية فريدة، ويختلف عدد الغرز فيه لكنه قد يصل إلى آلاف الغرز المشغولة يدوياً بخيط الحرير على قماش المخمل. هل تقصدين الثوب المعروض في مجموعة ‘تراثنا’؟ يمكنني إعطاؤكِ تفاصيل أدق عنه.”

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

خلاصة أبو عمر ونصيحة من القلب

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

  • النماذج العامة هي نقطة انطلاق ممتازة، وليست نقطة وصول.
  • البيانات المتخصصة والنظيفة هي العنصر السري لنجاح أي مشروع ذكاء اصطناعي مخصص. استثمروا فيها.
  • تقنية الضبط الدقيق (Fine-Tuning) هي الجسر الذي يعبر بك من المعرفة العامة إلى الخبرة المتخصصة.
  • ابدأ صغيراً. لا تحتاج إلى آلاف الأمثلة لترى فرقاً. أحياناً 100 مثال عالي الجودة يمكن أن يصنع المعجزات.

لا تخافوا من تجربة هذه التقنيات. السحر الحقيقي ليس في حجم النموذج، بل في قدرتك على تعليمه وتخصيصه ليفهم عالمك أنت. المستقبل لمن يستطيع أن يطوّع الذكاء الاصطناعي ليخدم أهدافه، لا من يستهلكه فقط. شدّوا حيلكم، فالعلم صنعة، والتجربة برهان. يلا بالتوفيق! 💪

أبو عمر

سجل دخولك لعمل نقاش تفاعلي

كافة المحادثات خاصة ولا يتم عرضها على الموقع نهائياً

آراء من النقاشات

لا توجد آراء منشورة بعد. كن أول من يشارك رأيه!

آخر المدونات

خوارزميات

الذاكرة مقابل الدقة: كيف أنقذتنا مرشحات بلوم (Bloom Filters) من جحيم التحقق من التفرد في البيانات الضخمة؟

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

17 مايو، 2026 قراءة المزيد
تجربة المستخدم والابداع البصري

كان تطبيقنا حصناً منيعاً أمام ذوي الإعاقة: كيف أنقذتنا معايير الوصول (Accessibility) من جحيم الاستبعاد الرقمي؟

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

17 مايو، 2026 قراءة المزيد
الحوسبة السحابية

خوادمنا كانت نائمة 90% من الوقت: كيف أنقذتنا الحوسبة الخوادمية (Serverless) من جحيم الفواتير؟

قصة حقيقية من قلب المعركة التقنية، كيف انتقلنا من دفع فواتير ضخمة لخوادم نائمة معظم الوقت إلى نموذج فعال وموفر للتكاليف باستخدام الحوسبة الخوادمية (Serverless)....

17 مايو، 2026 قراءة المزيد
التوظيف وبناء الهوية التقنية

كانت المقابلات التقنية كابوساً: كيف أنقذني ‘المشروع المنزلي’ من جحيم الخوارزميات على السبورة البيضاء؟

من قلب المعاناة مع ألغاز السبورة البيضاء التي لا تنتهي، أسرد لكم تجربتي كـ "أبو عمر" في عالم المقابلات التقنية. هذه مقالة تكشف كيف كان...

17 مايو، 2026 قراءة المزيد
التوسع والأداء العالي والأحمال

طلبات لا تنتهي؟ كيف أنقذتنا قوائم انتظار الرسائل (Message Queues) من انهيار النظام

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

16 مايو، 2026 قراءة المزيد
التكنلوجيا المالية Fintech

كانت بيانات بطاقات عملائنا قنبلة موقوتة: كيف أنقذنا ‘الترميز’ (Tokenization) من جحيم تخزين البيانات الحساسة؟

أشارككم قصة حقيقية من قلب المعركة التقنية، عندما كانت بيانات بطاقات عملائنا قنبلة موقوتة تهدد مستقبل شركتنا. اكتشفوا كيف كانت تقنية "الترميز" (Tokenization) طوق النجاة...

16 مايو، 2026 قراءة المزيد
البودكاست