الوحدة 1 — ما يغيّره التوسّع فعلًا
المشروع الذي سيرافقنا طوال هذه الدورة صريح: نريد نشر مساعد دعم عملاء لشركة متوسّطة تتلقّى بضعة آلاف طلب يوميًا. وقبل أن نناقش نموذجًا مفتوحًا أم مِلكيًا، ونافذةَ سياق، وطريقة خدمة، ينبغي أن نفهم لماذا صارت هذه القرارات مطروحة أصلًا. الجواب لفظة واحدة: التوسّع. لكنّ اللفظة تخفي واقعًا أدقّ ممّا يبدو، وقسمًا من الأدبيات الشائعة يبالغ فيه.
ما لم يكن ممكنًا قبل الحجم
نموذج GPT-2 عام 2019 كان يستطيع إتمام الجمل بأسلوب مقنع. لم يكن يستطيع اتّباع تعليمة بشكل معقول. أضِف مئة ضعف من الوسائط، ومن الرموز، ومن الحساب، فيغدو النموذج قادرًا على: قراءة سؤا ل في نصّه الطبيعي والإجابة عنه، وتلخيص فقرة، وترجمة نصّ بلغة ثانية، وكتابة كود من مواصفة قصيرة، والتفكير خطوة بخطوة إذا طُلب منه ذلك صراحة.
الفرق ليس في نوع الشبكة: البنية بقيت هي نفسها، محوّل قائم على الانتباه الذاتي كما رأيناه في الدورة 12. الفرق في الحجم وفي كمية الرموز. وهذه ملاحظة تخالف الحدس: الجودة النوعية جاءت من الكمية.
التعلّم داخل السياق
ثاني تحوّل جوهري هو التعلّم داخل السياق. يقدَّم النموذج مع أمثلة قليلة داخل المُطالبة نفسها، ثم يُطلب منه إتمام حالة جديدة. لا تحديث وزن، ولا مرور خلفي — فقط توليد بجانب الأمثلة.
from transformers import AutoTokenizer, AutoModelForCausalLM
import torch
tokenizer = AutoTokenizer.from_pretrained("meta-llama/Llama-3.1-8B-Instruct")
modele = AutoModelForCausalLM.from_pretrained(
"meta-llama/Llama-3.1-8B-Instruct", torch_dtype=torch.bfloat16, device_map="auto"
)
mot = """صنّف كلّ رسالة من مساعد الدعم إلى: technique, facturation, autre.
الرسالة: "بطاقتي رُفضت رغم صحّة أرقامها" -> facturation
الرسالة: "لا يفتح التطبيق منذ التحديث الأخير" -> technique
الرسالة: "أوقفوا استقطاعي فورًا وإلّا لجأت للقضاء" -> facturation
الرسالة: "ما رأيكم في الطقس اليوم؟" -> """
entrees = tokenizer(mot, return_tensors="pt").to(modele.device)
sortie = modele.generate(**entrees, max_new_tokens=5, do_sample=False)
print(tokenizer.decode(sortie[0, entrees.input_ids.shape[1]:]))
يُعطي هذا القدر من الأمثلة، ثلاث حالات، تصنيفًا معقولًا. النموذج الأصغر بمئة ضعف لن يفهم البنية أصلًا؛ وسيُ عيد قوالب من التدريب دون علاقة بالمهمّة. وهذا هو التحوّل الوظيفي الذي جعل مساعد الدعم الذي نبنيه ممكنًا: يمكن إعادة توجيه نموذج جاهز بمُطالبة، بدلًا من تدريب مصنِّف من الصفر لكلّ مهمّة صغيرة.
القدرات الطارئة: الوقائع والادّعاءات
نُشِرَت أوراق كثيرة سنة 2022 و2023 تصف قدرات تظهر «فجأة» عند حجم معيّن. تُرسَم المنحنيات: مقياس ما، ثابت قرب الصفر عند الحجم عمليّة فاصلة عائمة للتدريب، ثم يقفز إلى قيمة عالية عند . عبارة «القدرات الطارئة» غزت الأدبيات المهنية والعامّة.
المراجعة النقدية الأدقّ جاءت عام 2023 من فريق ستانفورد: كثير من هذه القفزات كان وهمًا قياسيًا. فحين يُستعمل مقياس ثنائي — صحيح أو خطأ على مهمّة رياضيّة — يقفز من الصفر إلى نجاح ملموس فور تجاوز عتبة معيّنة. لكن حين يُقاس نفس السلوك بمقياس تدريجي — احتمال الرمز الصحيح مثلًا — يظهر أنّ التحسّن كان مستمرًّا ومنتظمًا مع الحجم.
النتيجة العملية للمشروع: التوسّع يُحسِّن قدرات النموذج تحسينًا تدريجيًا، لا فجائيًا. وهذا يعني أنّه لا وجود لعتبة سحرية تُغني عن التقييم على مهمّتنا الخاصّة. سنعود إلى هذا التقييم في الوحدة 9؛ الآن يكفي التذكّر أنّ ما يُوصف بالطارئ ينبغي التحقّق منه، لا القبول به.
التسلسل الزمني في سطور
| السنة | النموذج | الوسائط | ما تغيّر |
|---|---|---|---|
| 2018 | BERT | 340 مليون | تعلّم تمثيلات عبر نمذجة لغوية مُقنَّعة |
| 2019 | GPT-2 | 1.5 مليار | نمذجة سببية مُقنعة على نصوص طويلة |
| 2020 | GPT-3 | 175 مليار | ظهور التعلّم داخل السياق بمقياس ملموس |
| 2022 | InstructGPT | 175 مليار | نموذج مضبوط على التعليمات ومُوَاءَم عبر RLHF |
| 2022 | ChatGPT | — | نموذج محادثة يصل الجمهور العامّ |
| 2023 | LLaMA / LLaMA 2 | 7-70 مليار | نموذج قوي بترخيص سمح: انفجار البيئة المفتوحة |
| 2024 | Llama 3، Mistral، Qwen | 7-70+ مليار | تقارب المفتوح مع المِلكي في مهمّات الإنتاج |
الملاحظة التي تعنينا: من عام 2023 صار في الإمكان نشر نموذج بجودة إنتاجية على حاسوب واحد بمعالج رسومي واحد. وهذا يغيّر معادلة الكلفة تغييرًا جذريًا لمشروع بحجم مشروعنا، ويجعل المسار المفتوح ذا مصداقية.