يحتوي هذا المستودع على التعليمات البرمجية الخاصة بالتطوير والتدريب المسبق والضبط الدقيق لمادة LLM تشبه GPT وهو مستودع التعليمات البرمجية الرسمي لكتاب إنشاء نموذج لغة كبير (من الصفر).
في بناء نموذج لغة كبير (من الصفر) ، ستتعلم وتفهم كيفية عمل نماذج اللغة الكبيرة (LLMs) من الداخل إلى الخارج عن طريق ترميزها من الألف إلى الياء، خطوة بخطوة. في هذا الكتاب، سأرشدك خلال إنشاء ماجستير إدارة الأعمال الخاص بك، موضحًا كل مرحلة بنص واضح ورسوم بيانية وأمثلة.
الطريقة الموصوفة في هذا الكتاب لتدريب وتطوير نموذجك الصغير ولكن الوظيفي للأغراض التعليمية تعكس النهج المستخدم في إنشاء نماذج أساسية واسعة النطاق مثل تلك التي تقف وراء ChatGPT. بالإضافة إلى ذلك، يتضمن هذا الكتاب تعليمات برمجية لتحميل أوزان النماذج الأكبر حجمًا المدربة مسبقًا للضبط الدقيق.
لتنزيل نسخة من هذا المستودع، انقر فوق الزر Download ZIP أو قم بتنفيذ الأمر التالي في جهازك الطرفي:
git clone --depth 1 https://github.com/rasbt/LLMs-from-scratch.git
(إذا قمت بتنزيل حزمة التعليمات البرمجية من موقع Manning، يرجى زيارة مستودع التعليمات البرمجية الرسمي على GitHub على https://github.com/rasbt/LLMs-from-scratch للحصول على آخر التحديثات.)
يرجى ملاحظة أن ملف README.md
هذا هو ملف Markdown ( .md
). إذا قمت بتنزيل حزمة التعليمات البرمجية هذه من موقع Manning على الويب وتقوم بعرضها على جهاز الكمبيوتر المحلي الخاص بك، فإنني أوصي باستخدام محرر Markdown أو المعاينة للعرض المناسب. إذا لم تكن قد قمت بتثبيت محرر Markdown بعد، فإن MarkText يعد خيارًا مجانيًا جيدًا.
يمكنك بدلاً من ذلك عرض هذا الملف وغيره من الملفات على GitHub على https://github.com/rasbt/LLMs-from-scratch في متصفحك، مما يعرض Markdown تلقائيًا.
نصيحة
إذا كنت تبحث عن إرشادات حول تثبيت حزم Python وPython وإعداد بيئة التعليمات البرمجية الخاصة بك، أقترح عليك قراءة الملف README.md الموجود في دليل الإعداد.
عنوان الفصل | الرمز الرئيسي (للوصول السريع) | كل الكود + التكميلي |
---|---|---|
توصيات الإعداد | - | - |
الفصل 1: فهم نماذج اللغات الكبيرة | لا يوجد رمز | - |
الفصل 2: العمل مع البيانات النصية | - ch02.ipynb - dataloader.ipynb (ملخص) - تمرين-حلول.ipynb | ./ch02 |
الفصل 3: ترميز آليات الانتباه | - ch03.ipynb - multihead-attention.ipynb (ملخص) - تمرين-حلول.ipynb | ./ch03 |
الفصل الرابع: تنفيذ نموذج GPT من الصفر | - ch04.ipynb - gpt.py (ملخص) - تمرين-حلول.ipynb | ./ch04 |
الفصل الخامس: التدريب المسبق على البيانات غير المسماة | - ch05.ipynb - gpt_train.py (ملخص) - gpt_generate.py (ملخص) - تمرين-حلول.ipynb | ./ch05 |
الفصل 6: الضبط الدقيق لتصنيف النص | - ch06.ipynb - gpt_class_finetune.py - تمرين-حلول.ipynb | ./ch06 |
الفصل 7: الضبط الدقيق لاتباع التعليمات | - ch07.ipynb - gpt_instruction_finetuning.py (ملخص) - ollama_evaluate.py (ملخص) - تمرين-حلول.ipynb | ./ch07 |
الملحق أ: مقدمة إلى PyTorch | - كود Part1.ipynb - كود Part2.ipynb - DDP-script.py - تمرين-حلول.ipynb | ./الملحق-أ |
الملحق ب: المراجع والقراءات الإضافية | لا يوجد رمز | - |
الملحق ج: حلول التمرين | لا يوجد رمز | - |
الملحق د: إضافة أجراس وصفارات إلى حلقة التدريب | - التذييل-D.ipynb | ./الملحق-د |
الملحق هـ: الضبط الدقيق الفعال للمعلمات باستخدام LoRA | - التذييل-E.ipynb | ./الملحق-E |
يلخص النموذج العقلي أدناه المحتويات التي يغطيها هذا الكتاب.
تم تصميم التعليمات البرمجية الموجودة في الفصول الرئيسية من هذا الكتاب لتعمل على أجهزة الكمبيوتر المحمولة التقليدية خلال إطار زمني معقول ولا تتطلب أجهزة متخصصة. يضمن هذا النهج أن يتمكن جمهور واسع من التفاعل مع المادة. بالإضافة إلى ذلك، يستخدم الكود تلقائيًا وحدات معالجة الرسومات إذا كانت متوفرة. (يُرجى الاطلاع على مستند الإعداد للحصول على توصيات إضافية.)
تحتوي العديد من المجلدات على مواد اختيارية كمكافأة للقراء المهتمين:
أرحب بجميع أنواع التعليقات، ومن الأفضل مشاركتها عبر منتدى Manning أو مناقشات GitHub. وبالمثل، إذا كانت لديك أية أسئلة أو كنت ترغب فقط في تبادل الأفكار مع الآخرين، فيرجى عدم التردد في نشرها في المنتدى أيضًا.
يرجى ملاحظة أنه نظرًا لأن هذا المستودع يحتوي على الكود المطابق للكتاب المطبوع، فلا يمكنني حاليًا قبول المساهمات التي من شأنها توسيع محتويات رمز الفصل الرئيسي، لأنها قد تؤدي إلى انحرافات عن الكتاب المادي. يساعد الحفاظ على اتساقها على ضمان تجربة سلسة للجميع.
إذا وجدت هذا الكتاب أو الكود مفيدًا لبحثك، فيرجى التفكير في الاستشهاد به.
الاقتباس على غرار شيكاغو:
راشكا، سيباستيان. بناء نموذج لغة كبير (من الصفر) . مانينغ، 2024. ردمك: 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}
}