الوحدة 3 — تقطير المعرفة وضغطها
تقطير المعرفة (Knowledge Distillation) فكرة اقترحها جيفري هينتون ورفاقه سنة 2015: بدلًا من تدريب نموذج صغير من الصفر على بيانات معنونة يدويًّا، ندعه يتعلّم من نموذج كبير سابق. المعلّم يعرف الجواب الصحيح ويعرف أيضًا درجات الثقة بين جميع الاحتمالات، وهذه الدرجات تحمل معلومات أغنى بكثير من مجرّد بطاقة صحيحة أو خاطئة.
في سياق الدورة، لدينا نموذج كبير عبر واجهة برمجيّة يعمل جيّدًا على تصنيف بطاقات الدعم، ونريد أن ننقل هذا الأداء إلى نموذج صغير محلّي يمكن تشغيله دون سحابة.
مبدأ المعلّم والتلميذ
المعلّم نموذج كبير مدرَّب مسبقًا، ذو أدا ء ممتاز على المهمّة. التلميذ نموذج أصغر، عادةً من نفس العائلة أو من عائلة قريبة، نريد أن يقارب أداء المعلّم على جزء محدود من العمل.
في التصنيف التقليديّ، البطاقة المُعنَونة تعطينا فقط الفئة الصحيحة (مثلًا: «مالي»). أمّا المعلّم فيعطينا توزيعًا كاملًا: 82% مالي، 9% تقني، 6% استرداد، 2% شحن، 1% آخر. هذا التوزيع، ويسمّى الأهداف اللينة (Soft targets)، أغنى بكثير: يخبر التلميذ ليس فقط أنّ الجواب «مالي»، بل أيضًا أنّ الحدود مع «الاسترداد» ضعيفة، وأنّ التمييز عن «تقني» مؤكّد.
يُدرَّب التلميذ عندها بدالّة خسارة مركّبة:
حيث درجة الحرارة التي تُنعِّم توزيع المعلّم لجعل الفروق الصغيرة أوضح للتلميذ، و الوزن بين الخسارتين. قيمة نموذجيّة: و .
التقطير بالمخرجات
هذه أبسط صيغ التقطير. للحصول عليه، نحتاج إلى وصول إلى الاحتمالات من المعلّم، لا فقط إلى النصّ النهائيّ. كثير من الواجهات التجاريّة لا تتيح الاحتمالات، أو تتيحها فقط لعدد محدود من الجُملات الأولى.
عندما تكون الاحتمالات متاحة: نمرّر بضعة آلاف من البطاقات على المعلّم، نحفظ توزيعاته، ثمّ ندرّب التلميذ على استنساخ هذه التوزيعات مع البقاء قريبًا من الجواب الحقيقيّ.
عندما لا تكون متاحة: نلجأ إلى التقطير على المخرجات النصّيّة. المعلّم يعطينا فقط النصّ الناتج (الفئة كاسم، أو الملخّص كنصّ)، ونعامل هذا النصّ كأنّه العلامة الصحيحة. الجودة أدنى قليلًا لكنّها تظلّ فعّالة إن كان المعلّم أفضل بوضوح من العلامات البشريّة المتاحة.
التقطير بالبيانات الاصطناعيّة
الأسلوب الأكثر عمليّة اليوم. بدلًا من الانتظار حتّى تتراكم بطاقات معنونة، نطلب من المعلّم أن يولّد بيانات: مثلًا خمسة آلاف بطاقة دعم اصطناعيّة تُشبه ما نراه في الإنتاج، مع فئاتها وملخّصاتها.
المطالبة تُصمَّم بعناية: نعطي المعلّم عيّنة من البطاقات الحقيقيّة كسياق، نطلب منه توليد بطاقات جديدة بنفس التوزيع الأسلوبيّ (اللهجة، الأخطاء الشائعة، تنوّع المواضيع)، ونطلب منه أن يعنونها بنفسه. بعد المراجعة السريعة لعيّنة، يصبح لدينا مجموعة تدريب موسّعة يمكن استخدامها في ضبط دقيق كلاسيكيّ للتلميذ.
هذا الأسلوب أنقذ فرقًا كثيرة من عنق زجاجة العلامات اليدويّة، وسمح ببناء نماذج صغيرة متخصّصة في أسابيع بدل أشهر.
تقطير المعلّم على بطاقات الدعم
الخطوات العمليّة في مشروعنا:
- جمع 500 بطاقة حقيقيّة معنونة يدويًّا للتحقّق من الجودة النهائيّة (مجموعة اختبار).
- جمع 500 بطاقة حقيقيّة أخرى بلا علامات كأمثلة أسلوب.
- توليد 5000 بطاقة اصطناعيّة بواسطة المعلّم، مع فئتها وملخّصها.
- ضبط دقيق للتلميذ (Qwen 2.5 بـ3 مليارات مكمَّم) على البيانات الاصطناعيّة.
- تقييم على البطاقات الحقيقيّة الـ500 المحجوزة.
النتيجة التي نتحصّل عليها عادة: تلميذ يخسر 3 إلى 5 نقاط دقّة مقارنة بالمعلّم، لكنّه أسرع بعشرة أضعاف وأرخص بمعامل كبير.
جودة التقطير محكومة بجودة المطالبة التي نولّد بها، وبتنوّع الأمثلة المُعطاة للمعلّم كسياق. مطالبة كسولة تنتج بيانات مكرّرة، ونموذجًا مقطَّرًا سطحيًّا. اقضِ وقتك على المطالبة، لا على المعمار.
متى لا يُنصَح بالتقطير
- إذا كان المعلّم نفسه ضعيفًا على المهمّة: التقطير لا يخترع جودة.
- إذا كانت المهمّة تتطلّب معرفة عامّة واسعة: التلميذ الصغير لا يملك سعة تحمّل هذه المعرفة، مهما كان معلّمه بارعًا.
- إذا كانت البيانات الحقيقيّة المعنونة وفيرة جدًّا: قد يكفي ضبط دقيق مباشر بلا تقطير.
الخلاصة
- التقطير ينقل معرفة نموذج كبير إلى نموذج صغير بأهداف لينة أغنى من العلامة الصلبة.
- التقطير على المخرجات النصّيّة كافٍ عندما لا تُتاح احتمالات المعلّم.
- التقطير بالبيانات الاصطناعيّة هو الأسلوب العمليّ الأكثر شيوعًا اليوم، ويلغي عنق زجاجة العلامات اليدويّة.
- جودة التقطير محكومة بجودة المطالبة وتنوّع أمثلة السياق، لا بحجم المعلّم وحده.
الوحدة التالية: التقليم والتكميم — طريقتان لتقليص النموذج دون إعادة تدريبه من الصفر.