نماذج اللغة2023متوسط12 دقيقة قراءة

الكتب المدرسية هي كل ما تحتاجه

Textbooks Are All You Need

Gunasekar, S. · Zhang, Y. · Aneja, J. · Mendes, C. C. T. · Del Giorno, A. · Gopi, S. · Javaheripi, M. · Kauffmann, P. · de Rosa, G. · Saarikivi, O. · Salim, A. · Shah, S. · Behl, H. S. · Wang, X. · Bubeck, S. · Eldan, R. · Kalai, A. T. · Lee, Y. T. · Li, Y. — arXiv

المشكلة

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

الإسهام

نموذج phi-1، محوِّل بـ 1.3 مليار معامل دُرِّب على 7 مليارات رمز فقط من بيانات مُنتقاة بعناية «بجودة الكتب المدرسية» — مزيج من شيفرات الويب المُرشَّحة (6 مليارات رمز) وكتب مدرسية وتمارين مُولَّدة صناعياً باستخدام GPT-3.5 (مليار رمز). رغم أنه أصغر بعشر مرات في حجم النموذج وبمئة مرة في حجم البيانات مقارنة بالمنافسين، يحقّق phi-1 نسبة 50.6% على معيار و55.5% على معيار MBPP، متفوّقاً على معظم نماذج الشيفرة مفتوحة المصدر. تكشف الورقة أيضاً عن قدرات ناشئة مفاجئة بعد على مجموعة تمارين صغيرة، منها القدرة على استخدام واجهات برمجية ومكتبات لم يرها النموذج أثناء مرحلة الضبط الدقيق.

الأثر

أحدثت هذه الورقة تحوّلاً في تركيز مجتمع الذكاء الاصطناعي من مبدأ «وسِّع كل شيء» إلى «انتقِ بياناتك بعناية». أثبتت أن قادرة على كسر قوانين التحجيم القائمة وتحقيق أداء متقدّم بكلفة ضئيلة. ألهمت phi-1 مباشرةً عائلة نماذج phi (phi-1.5 وphi-2 وphi-3) ونشّطت الأبحاث في توليد البيانات الصناعية وتنقيح البيانات والتدريب الكفوء. أثبتت أن النماذج الصغيرة المُدرَّبة جيداً قادرة على منافسة العمالقة — ما يُتيح الوصول إلى ذكاء اصطناعي عالي الأداء على نطاق أوسع.

تخيّل طالبَي طبّ يستعدّان لامتحان البورد. الطالب الأول يُعطى مكتبة جامعية كاملة — ملايين الصفحات، معظمها غير ذي صلة، وكثير منها متناقض، وبعضها خاطئ تماماً. الطالب الثاني يتلقّى كتاباً مدرسياً واحداً: موجزاً ومُعَدّاً بخبرة، يحوي شروحات واضحة وتمارين تطبيقية في نهاية كل فصل.

من ينجح أولاً؟ الطالب الثاني — بفارق كبير. ليس لأنه قرأ أكثر، بل لأن كل صفحة قرأها علّمته شيئاً حقيقياً.

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

المشكلة: شيفرات الويب كتاب مدرسي سيء

الوصفة المعتادة لتدريب نماذج الشيفرة البرمجية بحلول عام 2023 كانت: اجمع ملايين الملفات من مستودعات مفتوحة المصدر مثل The Stack، واجمعها مع أسئلة وأجوبة من StackOverflow، ثم درِّب محوِّلاً ضخماً على مئات المليارات من الرموز. نماذج مثل StarCoder (15.5 مليار معامل، تريليون رمز) وCodeGen (16.1 مليار معامل، 577 مليار رمز) سارت على هذا المنهج.

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

خمّن المؤلفون أن النماذج اللغوية تعاني من المشاكل نفسها. حين لا تربط البيانات اللغة الطبيعية بالشيفرة بشكل واضح وتعليمي، يهدر النموذج قدراته في تعلّم الضجيج بدلاً من أنماط الاستدلال.

افتح في المختبر
قارن بين شيفرة «بجودة الكتاب المدرسي» (اليسار) وشيفرة مسحوبة من الويب (اليمين). بدّل بين الأمثلة لترى الفرق في الوضوح والقيمة التعليمية.
تستيقظ التجربة عند وصولك…

الحلّ: ثلاث مجموعات بيانات مُنتقاة

يستخدم خط إنتاج تدريب phi-1 ثلاث مجموعات بيانات صُنعت بعناية لا يتجاوز مجموعها 7 مليارات رمز — جزء ضئيل مما يستخدمه المنافسون. تخيّل هذا الخط كنظام تعليمي من ثلاث مراحل: أولاً مكتبة مُرشَّحة تضم أفضل الشيفرات المتاحة، ثم كتاب مدرسي صناعي كتبه معلّم ذكي، وأخيراً مجموعة تمارين للتطبيق العملي.

1. الشيفرة المُرشَّحة (نحو 6 مليارات رمز). بدأ المؤلفون بملفات بايثون من مستودع The Stack ومنتدى StackOverflow — أكثر من 35 مليون ملف. استخدموا GPT-4 لتقييم «القيمة التعليمية» لعيّنة صغيرة (نحو 100 ألف ملف)، ثم درّبوا مصنِّف غابة عشوائية على التضمينات من نموذج CodeGen المُدرَّب مسبقاً لترشيح الباقي. هذا المصنِّف يعمل كأمين مكتبة لا يحتفظ إلا بالكتب التي تستحق القراءة.

2. الكتب المدرسية الصناعية (أقل من مليار رمز). طلبوا من GPT-3.5 توليد كتب بايثون تعليمية — شروحات بلغة طبيعية تتخلّلها مقتطفات شيفرة تغطي مواضيع من الخوارزميات الأساسية إلى هياكل البيانات. ولضمان التنوّع، حدّدوا المواضيع والجمهور المستهدف في المحثّات، كما لو طلبوا من مؤلف كتابة فصول لقرّاء مختلفين.

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

افتح في المختبر
استكشف خط إنتاج البيانات ثلاثي المراحل لنموذج phi-1. انقر على كل مرحلة لترى حجم المجموعة وتركيبتها ودورها في التدريب.
تستيقظ التجربة عند وصولك…

ترشيح الجودة: GPT-4 بدور أمين المكتبة

عملية الترشيح ذكية في بساطتها. بدلاً من مراجعة ملايين الملفات يدوياً، استخدم المؤلفون GPT-4 للحكم على «القيمة التعليمية» لعيّنة صغيرة — نحو 100 ألف مقتطف من The Stack وStackOverflow. المحثّ طلب من GPT-4 تقييم ما إذا كان كل مقتطف مفيداً «لطالب هدفه تعلّم مفاهيم البرمجة الأساسية».

ثم درّبوا مصنِّف غابة عشوائية باستخدام تضمينات الإخراج من نموذج CodeGen 350M المُدرَّب مسبقاً كسمات. هذا المصنِّف يعمل كبديل سريع عن حكم GPT-4، ما يتيح ترشيح ملايين الملفات بكفاءة. النتيجة: من 35 مليون ملف، احتفظوا فقط بالملفات ذات القيمة التعليمية العالية — نحو 6 مليارات رمز.

حتى بدون البيانات الصناعية، هذا الترشيح وحده رفع أداء HumanEval من 12.19% (بيانات Stack بدون ترشيح) إلى 17.68%. ومع إضافة الكتب المدرسية الصناعية، وصل الأداء إلى 20.12% لنموذج بـ 350 مليون معامل — قبل أي ضبط دقيق.

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

البيانات الصناعية: تأليف الكتاب المدرسي بالذكاء الاصطناعي

الكتاب المدرسي الصناعي هو ربما الجزء الأكثر إبداعاً في خط الإنتاج. استخدم المؤلفون GPT-3.5 لتوليد فصول تعليمية في بايثون — فقرات من الشرح باللغة الطبيعية تتخلّلها شيفرة عاملة. التحدي الأساسي كان التنوّع: لو طلبت من GPT-3.5 ببساطة «اكتب كتاب بايثون»، ستحصل على خوارزميات الترتيب والأنماط الأساسية نفسها مكرّرة إلى ما لا نهاية.

لحلّ هذه المشكلة، واستلهاماً من عمل TinyStories، حقن المؤلفون عشوائية في المحثّات. حدّدوا الموضوع (مثلاً: «اكتب عن خوارزميات الرسم البياني لعلماء البيانات») والجمهور المستهدف (مثلاً: «للمبتدئين ذوي خلفية في الإحصاء»)، بحيث يتناول كل فصل مُولَّد البرمجة من زاوية مختلفة.

مجموعة تمارين الشيفرة اتبعت استراتيجية مماثلة لكنها ركّزت على إكمال الدوال — كل تمرين عبارة عن سلسلة توثيقية تصف ما يجب أن تفعله الدالة، وGPT-3.5 يُولّد السلسلة التوثيقية والحلّ معاً. حُقّق التنوّع بتقييد أسماء الدوال، ما يُجبر النموذج على ابتكار تمارين لتوقيعات دوال غير مألوفة.

مثال: مقتطف من الكتاب المدرسي الصناعي — تعليم مفاهيم المصفوفات بالشيفرةpython

مبسَّط لإظهار الفكرة — ليس التنفيذ الحقيقي.

# من مجموعة الكتاب المدرسي الصناعي:
# «المصفوفة المفردة هي التي محدّدها يساوي صفراً»
import numpy as np

def is_singular(A):
    """تحقّق مما إذا كانت المصفوفة مفردة (المحدّد = 0)."""
    det = np.linalg.det(A)
    return det == 0

A = np.array([[1, 2], [2, 4]])
print(is_singular(A))  # True — الصفّان مرتبطان خطياً
مثال: تمرين صناعي — مهمة إكمال دالةpython

مبسَّط لإظهار الفكرة — ليس التنفيذ الحقيقي.

def valid_guessing_letters(word: str, guesses: List[str]) -> List[str]:
    """
    تُعيد الحروف الصالحة للتخمين: الحروف التي لم
    تُخمَّن بعد وموجودة في الكلمة.

    المعاملات:
        word (str): الكلمة المطلوب تخمينها.
        guesses (List[str]): الحروف المُخمَّنة سابقاً.
    المُخرجات:
        List[str]: الحروف الصالحة للتخمين.
    """
    valid_letters = []
    for letter in word:
        if letter not in guesses and letter not in valid_letters:
            valid_letters.append(letter)
    return valid_letters

بنية النموذج: محوِّل تقليدي وبيانات غير تقليدية

بنية phi-1 تقليدية عمداً — لأن الرسالة المركزية للورقة أن البيانات هي ما يهمّ وليس الابتكار في البنية. phi-1 محوِّل فاكّ ترميز فقط بـ 24 طبقة وبُعد خفي 2048 وبُعد MLP داخلي 8192 و32 رأس انتباه. يستخدم تضمينات موضعية دورانية (RoPE) ومكتبة FlashAttention لحساب الانتباه بكفاءة وتكوين MHA + MLP متوازياً كما في CodeGen وPaLM.

النسخة الأصغر phi-1-small تحتوي 350 مليون معامل بـ 20 طبقة وبُعد خفي 1024 و16 رأس انتباه. كلا النموذجين يستخدمان مُرمِّز CodeGen.

التدريب استخدم 8 وحدات معالجة رسوميات NVIDIA A100 بدقة fp16 ومُحسِّن AdamW وجدولة معدل تعلّم بتسخين خطي يليه انحلال خطي وتسرّب بنسبة 0.1 على الانتباه والبقايا. التدريب المسبق لنموذج phi-1-base استغرق أقل من 4 أيام، والضبط الدقيق للحصول على phi-1 احتاج 7 ساعات إضافية فقط.

افتح في المختبر
استكشف بنية phi-1 وخط تدريبه. انقر على كل مرحلة لرؤية المعاملات الفائقة وتفاصيل التدريب.
تستيقظ التجربة عند وصولك…

كسر قوانين التحجيم: القليل يعني الأكثر

النتائج لافتة. phi-1 بمعاملات لا تتعدّى 1.3 مليار و7 مليارات رمز تدريبية يحقّق 50.6% على HumanEval — متفوّقاً على StarCoder (15.5 مليار معامل، تريليون رمز، 33.6%) وCodeGen-16.1B بنسبة 29.3% وحتى GPT-3.5 بنسبة 47%. لا يتفوّق عليه إلا GPT-4 بنسبة 67% وWizardCoder بنسبة 57.3% على HumanEval (لكنه أضعف على MBPP).

على معيار MBPP (البرامج الأساسية في بايثون)، يسجّل phi-1 نسبة 55.5%، متفوّقاً على كل نموذج في المقارنة باستثناء GPT-4. وهذا لافت بشكل خاص لأن phi-1 دُرِّب على عدد رموز أقل بنحو 100 مرة وهو أصغر بـ 10 مرات من StarCoder.

حتى phi-1-small بـ 350 مليون معامل يحقّق 45% على HumanEval — وهو أداء ينافس نماذج أكبر منه بـ 50 مرة. الخلاصة المحورية: جودة البيانات قادرة على تحويل قوانين التحجيم بشكل جذري بحيث يتفوّق نموذج صغير تغذّى جيداً على نموذج ضخم تغذّى بشكل سيء.

افتح في المختبر
قارن phi-1 مع نماذج الشيفرة الأخرى حسب حجم النموذج وحجم البيانات والأداء على HumanEval. شاهد كيف يكسر phi-1 اتجاه التحجيم المتوقَّع.
تستيقظ التجربة عند وصولك…

المفاجأة: قدرات ناشئة من الضبط الدقيق

النتيجة الأكثر إثارة تتجاوز درجات المعايير. بعد الضبط الدقيق على مجموعة تمارين الشيفرة الصغيرة — التي لا تحتوي إلا على دوال بايثون أساسية تستخدم مكتبات قياسية — يُطوّر phi-1 قدرات غير متوقعة غير موجودة في بيانات الضبط الدقيق.

تحديداً، يستطيع phi-1 المضبوط دقيقاً استخدام مكتبات خارجية مثل PyGame (تطوير الألعاب) وTkinter (الواجهات الرسومية) وPyTorch (التعلّم العميق) وMatplotlib (الرسم البياني) — ولا واحدة منها موجودة في مجموعة CodeExercises. النموذج الأساسي phi-1-base الذي رأى هذه المكتبات أثناء التدريب المسبق لكنه لم يخضع للضبط الدقيق لا يستطيع استخدامها بشكل متماسك.

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

افتح في المختبر
قارن مخرجات phi-1 (بعد الضبط الدقيق) وphi-1-base (تدريب مسبق فقط) وphi-1-small في مهام تستخدم مكتبات خارجية. لاحظ كيف يفتح الضبط الدقيق قدرات غير موجودة في بيانات التدريب.
تستيقظ التجربة عند وصولك…

القيود: ما لا يستطيعه phi-1

phi-1 ليس بدون نقاط ضعف. كونه متخصصاً في بايثون، لا يستطيع توليد شيفرة بلغات أخرى. حجمه الصغير من المعاملات يحدّ من قدرته على التعامل مع مهام معقّدة مثل بناء تطبيق Flask كامل. كما أنه حسّاس لتغييرات المحثّات — ينخفض أداؤه بشكل ملحوظ مع المحثّات الطويلة أو الأخطاء النحوية في التعليمات.

الطبيعة المُنظَّمة لبيانات التدريب تجعل phi-1 أقل متانة أمام التنوّعات الأسلوبية. يُعاني في مهام الاستدلال المكاني والعدّ، وقدراته في المحادثة محدودة مقارنة بالنماذج الأكبر. هذه القيود ليست جوهرية — لكنها تُبرز أن جودة البيانات يمكن أن تُكمّل حجم النموذج لا أن تحلّ محله بالكامل.

دراسة الاستئصال: كل مكوِّن من البيانات مهم

تُقدّم الورقة دراسة استئصال واضحة من خلال الشكل 2.1. لنماذج بـ 350 مليون معامل، التدريب على بيانات Stack بدون ترشيح يعطي 11% فقط على HumanEval. التحوّل إلى مجموعة CodeTextbook المُرشَّحة (بدون تمارين صناعية) يرفع النسبة إلى 20%. والضبط الدقيق على CodeExercises يدفعها إلى 45%.

لنماذج بـ 1.3 مليار معامل، النمط أكثر وضوحاً. phi-1-base المُدرَّب على CodeTextbook يحقّق 29% — مُعادلاً لنموذج Replit-Finetuned (2.7 مليار معامل مُدرَّب على رموز أكثر بمئة مرة). وإضافة الضبط الدقيق على CodeExercises ترفع النسبة إلى 50.6%.

كل مكوِّن يبني على سابقه: الترشيح يرفع الحدّ الأدنى، والكتب المدرسية الصناعية تُعلّم الاستدلال، والتمارين تُحفّز توطيد المعرفة في مهارات قابلة للتنفيذ.

افتح في المختبر
كل مجموعة أعمدة توضّح كيف تُحسّن إضافة مكوّنات جودة البيانات أداء HumanEval. انقر للمقارنة بين نموذجَي 350 مليون و1.3 مليار معامل.
تستيقظ التجربة عند وصولك…

الإرث: جودة البيانات تصبح حدوداً بحثية

  1. 2021

    Codex (أوبن إيه آي)

    أرسى معيار توليد الشيفرة بإطلاق HumanEval. دُرِّب على 100 مليار رمز من الشيفرة — منهج «بيانات أكثر».

  2. 2023

    TinyStories (إلدان ولي)

    أثبت أن نموذجاً بـ 10 ملايين معامل يستطيع توليد نصوص إنجليزية متماسكة حين يُدرَّب على قصص صناعية عالية الجودة. ألهم منهج phi-1.

  3. 2023

    phi-1 — هذه الورقة

    أثبتت أن البيانات بجودة الكتاب المدرسي قادرة على كسر قوانين التحجيم في توليد الشيفرة وتحقيق أداء متقدّم بـ 1.3 مليار معامل و7 مليارات رمز.

  4. 2023

    phi-1.5

    وسّع منهج الكتاب المدرسي إلى الاستدلال بالمنطق العام في اللغة الطبيعية بنموذج 1.3 مليار معامل ينافس نماذج أكبر بـ 5 مرات.

  5. 2024

    phi-2 وphi-3 وثورة النماذج الصغيرة

    استمرّت عائلة phi في النمو مُثبتةً أن التدريب المُرتكز على البيانات يتعمّم عبر المجالات. تبنّى المجتمع الأوسع البيانات الصناعية وتنقيح البيانات كأولويات بحثية من الدرجة الأولى.

أظهرت phi-1 لمجتمع الذكاء الاصطناعي أن الطريق إلى نماذج أفضل لا يمرّ دائماً عبر معالجات رسومية أكبر وبيانات أكثر. أحياناً يمرّ عبر مكتبات أفضل وكتب مدرسية أفضل وتمارين أفضل. الرسالة المركزية للورقة — «الجودة قبل الكمّ» — أصبحت مبدأً موجِّهاً لتطوير الذكاء الاصطناعي الكفوء، وأثرها يمتدّ إلى ما هو أبعد بكثير من توليد الشيفرة.

المرجعGunasekar, Zhang, Aneja, Mendes, Del Giorno, Gopi, Javaheripi, Kauffmann, de Rosa, Saarikivi, Salim, Shah, Behl, Wang, Bubeck, Eldan, Kalai, Lee, Li. Textbooks Are All You Need. arXiv, 2023.

مصطلحات هذه الورقة