يحتوي هذا المستودع على الكود لتطوير وتدريب وتصنيع LLM يشبه GPT وهو مستودع التعليمات البرمجية الرسمي للكتاب يبني نموذج لغة كبير (من الصفر).
في بناء نموذج لغة كبير (من نقطة الصفر) ، ستتعلم وفهم مدى عمل نماذج اللغة الكبيرة (LLMS) من الداخل إلى الخارج عن طريق ترميزها من الألف إلى الياء ، خطوة بخطوة. في هذا الكتاب ، سأرشدك من خلال إنشاء LLM الخاص بك ، وشرح كل مرحلة بنص واضح ومخططات وأمثلة.
تعكس الطريقة الموضحة في هذا الكتاب تدريب وتطوير النموذج الخاص بك الصغير ولكن الوظيفي للأغراض التعليمية النهج المستخدم في إنشاء نماذج تأسيس واسعة النطاق مثل تلك التي تقف وراء ChatGPT. بالإضافة إلى ذلك ، يتضمن هذا الكتاب رمزًا لتحميل أوزان النماذج الكبيرة المسبقة للتأثير.
لتنزيل نسخة من هذا المستودع ، انقر فوق زر تنزيل zip أو تنفيذ الأمر التالي في المحطة الخاصة بك:
git clone --depth 1 https://github.com/ranpy13/Learning-LLM.git(إذا قمت بتنزيل حزمة الكود من موقع Manning ، فيرجى النظر في زيارة مستودع الرمز الرسمي على Github على https://github.com/ranpy13/learning-llm للحصول على أحدث التحديثات.)
يرجى ملاحظة أن ملف README.md هو ملف Markdown ( .md ). إذا قمت بتنزيل حزمة الرمز هذه من موقع Manning على موقع Manning وعرضها على جهاز الكمبيوتر المحلي الخاص بك ، فإنني أوصي باستخدام محرر Markdown أو معاينة للعرض المناسب. إذا لم تكن قد قمت بتثبيت محرر Markdown حتى الآن ، فإن MarkText هو خيار مجاني جيد.
يمكنك بدلاً من ذلك عرض هذه الملفات والملفات الأخرى على github على https://github.com/ranpy13/learning-llm في متصفحك ، مما يؤدي إلى تخفيض التنقل تلقائيًا.
نصيحة
إذا كنت تبحث عن إرشادات حول تثبيت حزم Python و Python وإعداد بيئة الكود الخاصة بك ، أقترح قراءة ملف readMe.md الموجود في دليل الإعداد.
| عنوان الفصل | الرمز الرئيسي (للوصول السريع) | كل الكود + التكميلية |
|---|---|---|
| توصيات الإعداد | - | - |
| الفصل 1: فهم نماذج اللغة الكبيرة | لا رمز | - |
| الفصل 2: العمل مع البيانات النصية | - CH02.Ipynb - dataloader.ipynb (ملخص) - التمرينات | ./CH02 |
| الفصل 3: آليات انتباه الترميز | - CH03.Ipynb - Multihead-attention.ipynb (ملخص) - التمرينات | ./CH03 |
| الفصل 4: تنفيذ نموذج GPT من الصفر | - CH04.Ipynb - gpt.py (ملخص) - التمرينات | ./CH04 |
| الفصل 5: ما قبل التدريب على بيانات غير مسماة | - CH05.Ipynb - gpt_train.py (ملخص) - gpt_generate.py (ملخص) - التمرينات | ./CH05 |
| Ch 6: Finetuning لتصنيف النص | - CH06.Ipynb - gpt_class_finetune.py - التمرينات | ./CH06 |
| Ch 7: Finetuning لمتابعة التعليمات | - CH07.Ipynb - gpt_instruction_finetuning.py (ملخص) - Ollama_evaluate.py (ملخص) - التمرينات | ./CH07 |
| التذييل أ: مقدمة إلى Pytorch | - رمز part1.ipynb - رمز part2.ipynb - DDP-script.py - التمرينات | ./appendix-a |
| التذييل ب: المراجع والمزيد من القراءة | لا رمز | - |
| التذييل ج: حلول التمرين | لا رمز | - |
| التذييل د: إضافة أجراس وصفارات إلى حلقة التدريب | - Appendix-d.ipynb | ./appendix-d |
| التذييل E: FineTuning-الكفاءة مع المعلمة مع Lora | - التذييل- e.ipynb | ./appendix-e |
يلخص النموذج العقلي أدناه المحتويات المشمولة في هذا الكتاب.
تم تصميم الرمز في الفصول الرئيسية لهذا الكتاب لتشغيله على أجهزة الكمبيوتر المحمولة التقليدية ضمن إطار زمني معقول ولا يتطلب أجهزة متخصصة. يضمن هذا النهج أن الجمهور الواسع يمكنه التعامل مع المواد. بالإضافة إلى ذلك ، يستخدم الرمز تلقائيًا وحدات معالجة الرسومات إذا كانت متوفرة. (يرجى الاطلاع على مستند الإعداد للحصول على توصيات إضافية.)
تحتوي العديد من المجلدات على مواد اختيارية كمكافأة للقراء المهتمين:
أرحب بجميع أنواع التعليقات ، وأفضل مشاركة عبر منتدى مانينغ أو مناقشات جيثب. وبالمثل ، إذا كان لديك أي أسئلة أو تريد فقط ترتد الأفكار من الآخرين ، فالرجاء عدم التردد في نشرها في المنتدى أيضًا.
يرجى ملاحظة أنه نظرًا لأن هذا المستودع يحتوي على الكود المقابل لكتاب طباعة ، لا يمكنني حاليًا قبول المساهمات التي من شأنها تمديد محتويات رمز الفصل الرئيسي ، حيث أنه سيقدم انحرافات عن الكتاب المادي. يساعد الاحتفاظ به ثابتًا في ضمان تجربة سلسة للجميع.
إذا وجدت هذا الكتاب أو الرمز مفيدًا لبحثك ، فيرجى التفكير في ذلك.
الاقتباس على غرار شيكاغو:
راشكا ، سيباستيان. بناء نموذج لغة كبير (من الصفر) . مانينغ ، 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/ranpy13/Learning-LLM}
}