المرحلة الرابعة: التعلم العميق والشبكات العصبية
برنامج تعليمي كامل لبناء نماذج لغوية كبيرة من الصفر، مع تطبيق تدريجي لهندسة GPT باستخدام PyTorch، بما في ذلك الممارسة الكاملة للتدريب المسبق والضبط الدقيق والنشر.
مقدمة تفصيلية لدورة LLMs-from-scratch
نظرة عامة على المشروع
LLMs-from-scratch هو مورد تعليمي شامل أنشأه سيباستيان راشكا، يهدف إلى تعليم كيفية بناء نماذج اللغة الكبيرة (LLM) من الصفر. هذا المشروع هو المستودع الرسمي للكود الخاص بكتاب "Build a Large Language Model (From Scratch)".
الميزات الأساسية
📚 أهداف التعلم
- فهم كيفية عمل نماذج اللغة الكبيرة من الداخل والخارج.
- بناء نموذج اللغة الكبير الخاص بك خطوة بخطوة من خلال البرمجة.
- تعلم طرق تدريب وتطوير النماذج الأساسية وراء نماذج مثل ChatGPT.
- إتقان تقنيات تحميل وضبط دقيق لأوزان النماذج المدربة مسبقًا.
🎯 منهجية التدريس
- البرمجة من الصفر: تطبيق باستخدام PyTorch من البداية، دون الاعتماد على مكتبات LLM خارجية.
- خطوة بخطوة: كل مرحلة مشروحة بنصوص واضحة ورسوم بيانية وأمثلة.
- عملي للغاية: إنشاء نماذج تعليمية صغيرة ولكنها كاملة الوظائف.
- موارد مصاحبة غنية: تتضمن دورة فيديو مدتها 17 ساعة و15 دقيقة.
هيكل الدورة
محتوى الفصول
الفصل الأول: فهم نماذج اللغة الكبيرة (Understanding large language models)
- مقدمة لمفاهيم LLM الأساسية
- نظرة عامة على بنية النموذج
الفصل الثاني: التعامل مع البيانات النصية (Working with text data)
- الكود الرئيسي:
ch02.ipynb,dataloader.ipynb - المعالجة المسبقة للنصوص وتحميل البيانات
- حلول التمارين:
exercise-solutions.ipynb
الفصل الثالث: برمجة آليات الانتباه (Coding attention mechanisms)
- الكود الرئيسي:
ch03.ipynb,multihead-attention.ipynb - تطبيق آلية الانتباه الذاتي
- شرح مفصل لآلية الانتباه متعدد الرؤوس
الفصل الرابع: تطبيق نموذج GPT من الصفر (Implementing a GPT model from scratch)
- الكود الرئيسي:
ch04.ipynb,gpt.py - تطبيق بنية GPT الكاملة
- شرح مفصل لمكونات النموذج
الفصل الخامس: التدريب المسبق على بيانات غير مُصنفة (Pretraining on unlabeled data)
- الكود الرئيسي:
ch05.ipynb,gpt_train.py,gpt_generate.py - سير عمل التدريب المسبق
- تطبيق توليد النصوص
الفصل السادس: الضبط الدقيق لمهام التصنيف (Finetuning for classification)
- الكود الرئيسي:
ch06.ipynb,gpt_class_finetune.py - تعديل النموذج لمهام تصنيف محددة
- تقنيات واستراتيجيات الضبط الدقيق
الفصل السابع: الضبط الدقيق لاتباع التعليمات (Finetuning to follow instructions)
- الكود الرئيسي:
ch07.ipynb,gpt_instruction_finetuning.py - طرق الضبط الدقيق للتعليمات
- تقييم النموذج:
ollama_evaluate.py
محتوى الملاحق
الملحق أ: مقدمة إلى PyTorch
- الكود:
code-part1.ipynb,code-part2.ipynb - التدريب الموازي للبيانات الموزعة:
DDP-script.py - مقدمة سريعة لأساسيات PyTorch
الملاحق ب-هـ
- الملحق ب: مراجع ومزيد من القراءة
- الملحق ج: ملخص حلول التمارين
- الملحق د: إضافة ميزات إضافية
- الملحق هـ: الضبط الدقيق الفعال للمعلمات
مواد إضافية (Bonus Materials)
موارد إضافية للفصل الخامس
- طرق بديلة لتحميل الأوزان: تقنيات مختلفة لتحميل أوزان النموذج.
- التدريب المسبق على مجموعة بيانات Project Gutenberg: التدريب على مجموعة كبيرة من النصوص.
- تحسينات حلقة التدريب: إضافة ميزات تحسين متنوعة.
- مجدولات معدل التعلم: تحسين عملية التدريب.
- ضبط المعلمات الفائقة: تحسين المعلمات الفائقة للتدريب المسبق.
- بناء واجهة مستخدم: واجهة مستخدم للتفاعل مع نموذج LLM المدرب مسبقًا.
- تحويل النموذج:
- تحويل GPT إلى Llama
- تطبيق Llama 3.2 من الصفر
- نماذج Qwen3 الكثيفة ونماذج الخبراء المختلطة (MoE)
- تطبيق Gemma 3 من الصفر
- تحميل الأوزان بكفاءة في الذاكرة: تحسين تحميل النموذج.
- توسيع مُجزئ Tiktoken BPE: إضافة رموز جديدة.
- نصائح لتحسين أداء PyTorch: تسريع تدريب LLM.
موارد إضافية للفصل السادس
- تقنيات متقدمة للضبط الدقيق للتصنيف.
موارد إضافية للفصل السابع
- أدوات مجموعة البيانات: البحث عن التكرارات التقريبية وإنشاء إدخالات بصيغة المبني للمجهول.
- تقييم الاستجابة: استخدام OpenAI API و Ollama لتقييم استجابات التعليمات.
- توليد مجموعة البيانات: توليد مجموعات بيانات للضبط الدقيق للتعليمات.
- تحسين مجموعة البيانات: تحسين جودة مجموعات بيانات الضبط الدقيق للتعليمات.
- توليد مجموعة بيانات التفضيلات: باستخدام Llama 3.1 70B و Ollama.
- محاذاة DPO: تطبيق تحسين التفضيل المباشر (Direct Preference Optimization).
- واجهة المستخدم: التفاعل مع نموذج GPT المضبوط دقيقًا للتعليمات.
موارد نماذج الاستدلال (من مستودع reasoning-from-scratch)
- أساس Qwen3
- طرق تقييم النموذج
المتطلبات التقنية
المعرفة المسبقة
- ✅ ضروري: أساس قوي في برمجة Python.
- ✅ مفيد: معرفة أساسية بالشبكات العصبية العميقة.
- ✅ مفيد: أساسيات PyTorch (يتوفر ملحق أ لمقدمة سريعة).
متطلبات الأجهزة
- 💻 جهاز كمبيوتر محمول عادي يكفي: تم تصميم كود الفصول الرئيسية للعمل على أجهزة الكمبيوتر المحمولة العادية.
- 🚀 تسريع تلقائي لوحدة معالجة الرسوميات (GPU): إذا كانت متاحة، سيستخدم الكود وحدة معالجة الرسوميات تلقائيًا.
- ⚡ لا حاجة لأجهزة مخصصة: لضمان إمكانية تعلم شريحة واسعة من الجمهور.
بيئة البرمجيات
- Python 3.x
- PyTorch
- تعتمد على تفاصيل أخرى في دليل الإعداد (setup directory).
الموارد المصاحبة
دورة الفيديو
- 📹 دورة فيديو كاملة مدتها 17 ساعة و15 دقيقة
- عروض توضيحية للبرمجة لكل فصل.
- يمكن استخدامها كمورد تعليمي مستقل أو بالاقتران مع الكتاب.
- منصة Manning: Master and Build Large Language Models
كتاب المتابعة
"Build A Reasoning Model (From Scratch)"
- يمكن اعتباره تكملة.
- يبدأ بنماذج مدربة مسبقًا.
- يطبق طرق استدلال مختلفة:
- توسيع وقت الاستدلال
- التعلم المعزز
- تقنيات التقطير
- يحسن قدرات الاستدلال للنموذج.
- مستودع GitHub: reasoning-from-scratch
موارد الاختبار
ملف PDF مجاني من 170 صفحة: "Test Yourself On Build a Large Language Model (From Scratch)"
- حوالي 30 سؤال اختبار لكل فصل مع الإجابات.
- يساعد على اختبار مستوى الفهم.
- متاح للتنزيل مجانًا من موقع Manning.
حلول التمارين
- يحتوي كل فصل على عدة تمارين.
- ملخص الحلول في الملحق ج.
- دفاتر الأكواد المقابلة موجودة في مجلدات كل فصل.
- مثال:
./ch02/01_main-chapter-code/exercise-solutions.ipynb
- مثال:
الحصول على المشروع
طرق التنزيل
الطريقة 1: التنزيل المباشر لملف ZIP
# انقر على زر Download ZIP في صفحة GitHub
الطريقة 2: استنساخ Git
git clone --depth 1 https://github.com/rasbt/LLMs-from-scratch.git
تنظيم الكود
- كل فصل له مجلد مستقل:
ch02/,ch03/, إلخ. - الكود الرئيسي في المجلد الفرعي
01_main-chapter-code/. - الموارد الإضافية في المجلدات المرقمة المقابلة.
مسار التعلم المقترح
النموذج الذهني
يوفر الكتاب خريطة ذهنية واضحة تلخص جميع المحتويات المغطاة:
- فهم أساسيات LLM
- معالجة البيانات النصية
- آليات الانتباه
- تطبيق بنية GPT
- تقنيات التدريب المسبق
- طرق الضبط الدقيق
- تطبيقات عملية
توصيات التعلم
- للمبتدئين: ابدأ من الفصل الأول، وتعلم بالترتيب، وأكمل تمارين كل فصل.
- لذوي الخبرة: يمكن تخطي الفصول المألوفة والتركيز على مواضيع محددة.
- للممارسين: استخدم المواد الإضافية لاستكشاف مواضيع متقدمة.
- للباحثين: ارجع إلى تنسيق الاقتباس للاستشهاد بهذا المورد في أبحاثك.
المجتمع والدعم
قنوات الملاحظات
- 💬 منتدى Manning: المنتدى الرسمي
- 💭 مناقشات GitHub: قسم المناقشات
- 🤝 نرحب بجميع أشكال الملاحظات والأسئلة وتبادل الأفكار.
إرشادات المساهمة
- نظرًا لوجود كتاب مطبوع مطابق، يتم الحفاظ على اتساق الكود في الفصول الرئيسية.
- لا يتم قبول المساهمات التي توسع محتوى الفصول الرئيسية حاليًا.
- لضمان الاتساق مع محتوى الكتاب المادي وتوفير تجربة تعلم سلسة.
معلومات الاستشهاد
تنسيق شيكاغو (Chicago format)
Raschka, Sebastian. Build A Large Language Model (From Scratch). Manning, 2024. ISBN: 978-1633437166.
تنسيق BibTeX
@book{build-llms-from-scratch-book,
author = {Sebastian Raschka},
title = {Build A Large Language Model (From Scratch)},
publisher = {Manning},
year = {2024},
isbn = {978-1633437166},
url = {https://www.manning.com/books/build-a-large-language-model-from-scratch},
github = {https://github.com/rasbt/LLMs-from-scratch}
}
روابط رئيسية
- 📖 مستودع GitHub: https://github.com/rasbt/LLMs-from-scratch
- 🛒 ناشر Manning: http://mng.bz/orYv
- 🛒 شراء من Amazon: https://www.amazon.com/gp/product/1633437167
- 📹 دورة الفيديو: https://www.manning.com/livevideo/master-and-build-large-language-models
- 🧠 متابعة نماذج الاستدلال: https://github.com/rasbt/reasoning-from-scratch
- 📄 وثائق الإعداد: setup/README.md
ملخص
هذا مورد تعليمي شامل ومنظم لـ LLM، مناسب لـ:
- 🎓 المتعلمين الذين يرغبون في فهم كيفية عمل LLM بعمق.
- 👨💻 المطورين الذين يرغبون في ممارسة تطبيق نماذج GPT.
- 🔬 الباحثين العاملين في مجال معالجة اللغة الطبيعية (NLP) والتعلم العميق.
- 🚀 المتحمسين للتكنولوجيا المهتمين بالذكاء الاصطناعي والتعلم الآلي.
من خلال هذا المشروع، ستحصل على القدرة الكاملة على بناء وتدريب وضبط نماذج اللغة الكبيرة من الصفر.