الوصف
nanoGPT هو مستودع GitHub مصمم ليكون أبسط وأسرع طريقة لتدريب وضبط نماذج المحولات التوليدية المدربة مسبقًا (GPT) متوسطة الحجم. تم تطويره بواسطة Andrej Karpathy، ويعطي الأولوية للوضوح والكفاءة، مما يجعله موردًا ممتازًا للمبتدئين والممارسين ذوي الخبرة في التعلم العميق على حد سواء.
الفلسفة الأساسية وراء nanoGPT هي توفير قاعدة كود نظيفة ومفهومة تسمح للمستخدمين بفهم أساسيات تدريب GPT بسرعة. يتضمن المستودع نصًا تدريبيًا موجزًا (حوالي 300 سطر) وتعريفًا لنموذج GPT (حوالي 300 سطر أيضًا)، والذي يمكنه اختياريًا تحميل الأوزان من نقاط التحقق الخاصة بـ OpenAI GPT-2. هذه البساطة تسهل التعديل والتجريب.
تشمل القدرات الرئيسية لـ nanoGPT القدرة على تدريب النماذج من الصفر أو ضبط نقاط التحقق المدربة مسبقًا الموجودة. يوفر المستودع أمثلة لإعادة إنتاج GPT-2 (124 مليون معلمة) على مجموعات بيانات مثل OpenWebText، مما يوضح فعاليته. يدعم التدريب على وحدات معالجة رسومات فردية، وإعدادات وحدات معالجة رسومات متعددة، وحتى بيئات تعتمد على وحدة المعالجة المركزية فقط، مع تكوينات محددة لقدرات الأجهزة المختلفة.
يستهدف nanoGPT باحثي الذكاء الاصطناعي، ومهندسي التعلم الآلي، والطلاب الذين يرغبون في التعمق في الجوانب العملية لتدريب نماذج اللغة الكبيرة. يجعل تنفيذه المباشر مثاليًا للأغراض التعليمية، مما يسمح للمستخدمين بفهم الأعمال الداخلية لنماذج GPT دون أن تطغى عليهم الأطر المعقدة. تكمن القيمة المقترحة في سهولة الوصول إليه وسرعته والقدرة على تحقيق نتائج كبيرة بموارد حسابية متواضعة نسبيًا.
يتضمن المستودع أيضًا نصوصًا لإعداد البيانات، وأخذ عينات من النماذج المدربة، وقياس الأداء. يؤكد على استخدام ميزات PyTorch الحديثة لتحسين الأداء، مثل `torch.compile()`. في حين أن nanoGPT نفسه يعتبر الآن مهملًا لصالح مشاريع أحدث مثل nanochat، إلا أنه يظل موردًا قيمًا لفهم تقنيات تدريب GPT الأساسية.
الميزات الأساسية لـ nanoGPT
مستودع بسيط وسريع لتدريب/ضبط نماذج GPT
قاعدة كود بسيطة وقابلة للقراءة لفهم معمارية GPT
يعيد إنتاج أداء GPT-2 (124 مليون معلمة) على OpenWebText
يدعم التدريب من الصفر أو ضبط النماذج المدربة مسبقًا
يتضمن نصوصًا لإعداد البيانات والتدريب وأخذ العينات
محسّن للأداء باستخدام ميزات PyTorch 2.0
قابل للتشغيل على وحدات معالجة رسومات فردية، وعقد وحدات معالجة رسومات متعددة، ووحدات معالجة مركزية
يسهل التجريب مع المعلمات الفائقة وأحجام النماذج
يمكنه تحميل نقاط التحقق الخاصة بـ OpenAI GPT-2
يوفر أمثلة لتدريب GPT على مستوى الأحرف
يتضمن نصًا لقياس الأداء لتحليل أداء النموذج
البدء مع nanoGPT
استنساخ: احصل على مستودع nanoGPT من GitHub.
تثبيت: قم بإعداد تبعيات Python اللازمة باستخدام pip.
إعداد البيانات: قم بتشغيل نصوص إعداد البيانات لمجموعة البيانات التي اخترتها (مثل شكسبير، OpenWebText).
تكوين: اضبط معلمات التدريب في ملفات التكوين (مثل حجم الدفعة، معدل التعلم، حجم النموذج).
تدريب: قم بتنفيذ نص التدريب بتكوينك.
أخذ عينات: قم بإنشاء نص من نموذجك المدرب باستخدام نص أخذ العينات.
ضبط دقيق: ابدأ التدريب من نقطة تحقق مدربة مسبقًا بمعدل تعلم أقل.
حالات استخدام nanoGPT
- تدريب نماذج GPT
- بحث نماذج اللغة
- إعادة إنتاج الأبحاث
- أداة تعليمية
- توليد النصوص
- ضبط النماذج








