تعلم النموذج بالأمثلة: تقنية Few-shot

تعلم النموذج بالأمثلة: تقنية Few-shot

45 دقيقة
٢٥ أغسطس ٢٠٢٦
المرحلة 1 من 5

ما هي تقنية Few-shot ولماذا هي مهمة؟

ما هو التعلّم ببعض الأمثلة (Few-shot Learning) ولماذا يهمّك؟

عندما تتعامل مع نموذج لغوي كبير مثل GPT-4 أو Claude أو Gemini، فإنك غالباً ما تطلب منه إنجاز مهمة بوصفٍ نصي فقط. لكن في كثير من الحالات، يكون الوصف غير كافٍ. قد يفهم النموذج الكلمات، لكنه لا يفهم بالضرورة النمط الذي تريده بالضبط: هل تريد إجابة مختصرة أم مفصّلة؟ بأي لهجة؟ بأي تنسيق؟ وكيف يتعامل مع الحالات الحدّية؟

هنا يأتي دور التعلّم ببعض الأمثلة (Few-shot Learning). الفكرة بسيطة وعميقة في آن واحد: بدلاً من أن تشرح للنموذج ما تريد بالكلمات فقط، تعطيه أمثلة حقيقية من المدخلات والمخرجات المتوقعة داخل الأمر نفسه. هذه الأمثلة بمثابة "عقد عمل" مصغّر يوضح للنموذج النمط المطلوب بدقة متناهية.

لماذا يهمّك هذا الأمر؟ لأن النماذج اللغوية مدربة على كميات هائلة من النصوص المتنوعة. عندما تعطيها أمراً بدون أمثلة، فإنها "تخمّن" النمط الذي تريده بناءً على احتمالاتها الإحصائية. وقد يكون تخمينها خاطئاً أو عاماً. أما عندما تعطيها ثلاثة أمثلة فقط، فإنك تحوّل المهمة من "تخمين" إلى "محاكاة نمط محدد". النتيجة: دقة أعلى، تنسيق ثابت، وأسلوب مطابق لما تريده تماماً.

المشكلة الحقيقية التي يحلّها Few-shot Learning

لنفترض أنك تعمل في قسم خدمة العملاء، وتريد تصنيف مئات رسائل الشكاوى والاستفسارات تلقائياً إلى فئات مثل: "مشكلة في الفوترة"، "استفسار عن منتج"، "شكوى تقنية". إذا كتبت أمراً مثل: "صنّف رسالة العميل التالية"، فسيقوم النموذج بتصنيفها، لكنه قد يستخدم فئات مختلفة في كل مرة، أو يضيف تعليقات غير مرغوبة، أو يخلط بين "استفسار" و"شكوى".

أما مع Few-shot Learning، فأنت تعرّف النموذج على الفئات الثلاث بدقة، وتعطيه مثالاً واحداً على كل فئة، ثم تطلب منه تصنيف الرسائل الجديدة بنفس النمط تماماً. النتيجة: تصنيف موحّد، بدون شرح زائد، وبدون أخطاء في تسمية الفئات.

مثال عملي مفصّل: تحليل المشاعر في تقييمات المنتجات

لنأخذ مثالاً ملموساً. لنفترض أنك تدير متجراً إلكترونياً وتريد تحليل تقييمات العملاء لمنتج "سماعات رأس لاسلكية". أنت تريد تصنيف كل تقييم إلى: إيجابي، محايد، أو سلبي. لكنك تريد أيضاً أن يستخرج النموذج السبب الرئيسي للتقييم في جملة واحدة.

إليك الأمر الذي قد تكتبه بدون أمثلة:

صنّف التقييم التالي إلى إيجابي أو محايد أو سلبي، واذكر السبب:
"السماعة ممتازة لكن البطارية تنفد بسرعة"

قد يعطيك النموذج إجابة مثل: "إيجابي، لأن المستخدم أعجب بالسماعة". هذه إجابة غير دقيقة، لأن التقييم مختلط. النموذج لم يفهم أنك تريد التعامل مع التقييمات المختلطة بطريقة محددة.

الآن، لنكتب نفس المهمة بأسلوب Few-shot Learning مع ثلاثة أمثلة:

مهمتك: تصنيف تقييمات العملاء لمنتج "سماعات رأس لاسلكية".
لكل تقييم، حدد الفئة (إيجابي، محايد، سلبي) ثم اذكر السبب الرئيسي في جملة واحدة.

أمثلة:

التقييم: "الصوت واضح جداً والتصميم مريح، أنصح به بشدة"
الفئة: إيجابي
السبب: جودة الصوت والراحة في الاستخدام

التقييم: "السماعة تعمل بشكل جيد لكن السعر مرتفع قليلاً"
الفئة: محايد
السبب: أداء جيد لكن السعر غير مناسب

التقييم: "توقفت عن العمل بعد أسبوعين فقط، خيبة أمل كبيرة"
الفئة: سلبي
السبب: عطل سريع في الجهاز

الآن صنّف التقييم التالي بنفس الطريقة تماماً:

التقييم: "السماعة ممتازة لكن البطارية تنفد بسرعة"
الفئة:

لاحظ الفرق. في الأمر الثاني، أنت لم تشرح للنموذج كيف يصنّف، بل أريته أمثلة على التصنيف الصحيح. النموذج سيتعلم من الأمثلة أن التقييم المختلط (إيجابي وسلبي معاً) يجب أن يُصنّف بناءً على الوزن النسبي، وأن السبب يجب أن يكون جملة مختصرة بدون كلمة "لأن".

النتيجة المتوقعة من النموذج ستكون:

الفئة: محايد
السبب: جودة صوت جيدة لكن عمر البطارية قصير

هذا هو جوهر Few-shot Learning: أنت لا تخبر النموذج بالقواعد، بل تُريه النمط. والنموذج بارع جداً في استنتاج القواعد من الأمثلة.

لماذا تعمل هذه الطريقة؟ (من منظور تقني)

النماذج اللغوية الكبيرة تعمل عبر التنبؤ بالكلمة التالية بناءً على السياق. عندما تعطيها أمثلة، فإنك توسّع "سياق" المهمة. النموذج يرى أن المخرجات السابقة كانت بنمط معين (فئة ثم سبب)، فيحاكي هذا النمط. هذا ليس سحراً، بل هو استغلال ذكي لطريقة عمل النموذج. الدراسات البحثية (مثل ورقة GPT-3 الأصلية من OpenAI عام 2020) أظهرت أن إضافة أمثلة قليلة في الأمر تحسّن الأداء بشكل ملحوظ مقارنة بالأمر بدون أمثلة، خاصة في المهام التي تتطلب تنسيقاً محدداً أو استدلالاً منطقياً.

خطوات تطبيقية يمكنك اتباعها حرفياً

إليك الخطوات العملية لبناء أمر Few-shot فعال، يمكنك تطبيقها الآن في أي أداة مثل ChatGPT أو Claude أو Gemini:

  1. حدد المهمة بدقة: اكتب جملة واحدة تصف المهمة. مثال: "تصنيف رسائل البريد الإلكتروني إلى: عاجل، مهم، أو عادي".
  2. حدد تنسيق المخرجات: قرر كيف تريد أن تبدو الإجابة. هل تريد جدولاً؟ قائمة؟ جملة واحدة؟ كن محدداً.
  3. اكتب 3 إلى 5 أمثلة متنوعة: يجب أن تغطي الأمثلة الحالات المختلفة. إذا كانت مهمتك تصنيف رسائل، أعط مثالاً واحداً على كل فئة. إذا كانت المهمة كتابة بريد إلكتروني، أعط مثالين بأسلوبين مختلفين.
  4. اجعل الأمثلة واقعية: استخدم أسماء ومنتجات وسياقات حقيقية. الأمثلة الغامضة مثل "منتج جيد" لا تعلم النموذج شيئاً. استخدم "السماعة اللاسلكية من نوع X" بدلاً من "المنتج".
  5. اختبر ثم عدّل: بعد كتابة الأمر، جرّبه على مدخل واحد. إذا كانت النتيجة غير مطابقة، عدّل الأمثلة. غالباً ما تكون المشكلة في أن الأمثلة غير واضحة أو غير متنوعة بما يكفي.

مثال إضافي: تنسيق مخرجات منظم

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

استخرج من السيرة الذاتية التالية: الاسم، سنوات الخبرة، المهارات التقنية.
أخرج النتيجة بصيغة JSON بالحقول التالية: name, years_experience, skills

مثال:
السيرة: "أحمد محمد، مهندس برمجيات بخبرة 7 سنوات في تطوير تطبيقات الويب باستخدام Python وDjango وReact"
النتيجة: {"name": "أحمد محمد", "years_experience": 7, "skills": ["Python", "Django", "React"]}

السيرة الجديدة:
"سارة خالد، محللة بيانات بخبرة 4 سنوات، أعمل مع SQL وPower BI وExcel، وأتقن لغة R"
النتيجة:

لاحظ أنك حددت الحقول بدقة، وأعطيت مثالاً واحداً فقط. هذا كافٍ غالباً لأن المهمة واضحة والتنسيق محدد.

نصيحة الخبراء

لا تظن أن المزيد من الأمثلة يعني نتائج أفضل دائماً. في الواقع، 3 إلى 5 أمثلة جيدة ومتنوعة أفضل من 10 أمثلة متشابهة. النموذج يتعلم من التنوع، ليس من التكرار. إذا أعطيت 10 أمثلة كلها عن منتجات إلكترونية، ثم سألته عن منتج غذائي، فسيحاول تقليد النمط الإلكتروني. ركّز على جودة الأمثلة وتنوعها، وليس على كمّها. أيضاً، ضع الأمثلة الأكثر أهمية أو الأكثر اختلافاً في نهاية قائمة الأمثلة، لأن النموذج يميل إلى إعطاء وزن أكبر للسياق الأقرب للمدخل الجديد.

الأخطاء الشائعة عند استخدام Few-shot Learning

الأخطاء الشائعة

  • أمثلة غير متناسقة: إذا كان مثالك الأول يخرج السبب بجملة طويلة والثاني بجملة قصيرة، فسيخلط النموذج بينهما. تأكد من أن جميع الأمثلة تتبع نفس البنية تماماً.
  • نسيان تحديد التنسيق: إذا لم تخبر النموذج أن المخرجات يجب أن تكون JSON أو جدولاً، فسيختار هو التنسيق. حدد التنسيق صراحةً في بداية الأمر.
  • أمثلة غير واقعية: إذا كتبت مثالاً مثل "التقييم: شيء ما، الفئة: إيجابي"، فلن يتعلم النموذج شيئاً. استخدم أمثلة حقيقية من عملك أو من سياقات واقعية.
  • عدم فصل الأمثلة عن المدخل الجديد: استخدم كلمة واضحة مثل "الآن" أو "المدخل الجديد:" قبل إعطاء المهمة الفعلية. هذا يساعد النموذج على فهم أن الجزء الأخير هو ما يجب معالجته، وليس مثالاً إضافياً.
  • تجاهل الحالات الحدّية: إذا كانت مهمتك تصنيف رسائل، وتوقع أن بعض الرسائل قد تكون مختلطة، فقم بتضمين مثال على رسالة مختلطة في أمثلتك. هذا يمنع النموذج من التخبط عند مواجهة حالة مشابهة.

متى تستخدم Few-shot ومتى لا تستخدمه؟

استخدم Few-shot Learning عندما:

  • تريد تنسيقاً محدداً للمخرجات (JSON، جدول، قائمة مرقمة).
  • تريد أسلوباً معيناً في الكتابة (رسمي، ودود، تقني).
  • المهمة تتطلب تصنيفاً أو استخراج معلومات بأنماط متعددة.
  • لاحظت أن الأوامر الوصفية الطويلة لا تعطي النتائج التي تريدها.

لا تحتاج إلى Few-shot عندما:

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

تمرين تطبيقي (أقل من 15 دقيقة)

المهمة: أنشئ أمر Few-shot لتصنيف ملاحظات العملاء في متجرك الإلكتروني إلى ثلاث فئات: شكوى، اقتراح، أو استفسار.

الخطوات:

  1. اكتب وصفاً للمهمة في سطر واحد.
  2. اكتب ثلاثة أمثلة، واحد لكل فئة. استخدم ملاحظات واقعية مثل: "المنتج وصل متأخراً أسبوعين" (شكوى)، "لماذا لا توفرون خيار الدفع عند الاستلام؟" (استفسار)، "أقترح إضافة مقاس أكبر للقمصان" (اقتراح).
  3. حدد تنسيق المخرجات: الفئة فقط، أو الفئة مع جملة توضيحية قصيرة.
  4. جرّب أمرك على 3 ملاحظات جديدة لم تكن ضمن الأمثلة.
  5. تحقق: هل كانت الفئات صحيحة؟ هل التزم النموذج بالتنسيق الذي حددته؟ إذا لم يكن كذلك، عدّل أمثلتك.

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

بهذا التمرين، تكون قد طبقت المبدأ الأساسي للتعلّم ببعض الأمثلة، وستلاحظ الفرق في دقة النتائج مقارنة بالأوامر الوصفية التقليدية. هذه المهارة هي أساس بناء أنظمة ذكاء اصطناعي أكثر موثوقية في عملك اليومي.

جاري تحميل التقييمات...