يهدف هذا البرنامج التعليمي إلى المبرمجين المهتمين بفهم اللبنات الأساسية لنماذج اللغة الكبيرة (LLMS) ، وكيفية عمل LLMS ، وكيفية ترميزها من الألف إلى الياء في Pytorch. سنقوم ببدء هذا البرنامج التعليمي مع مقدمة إلى LLMs ، والمعالم الحديثة ، وحالات استخدامها. بعد ذلك ، سنرمز LLM صغير يشبه GPT ، بما في ذلك خط أنابيب إدخال البيانات الخاص به ، ومكونات الهندسة المعمارية الأساسية ، ورمز ما قبل أنفسنا. بعد فهم كيفية ملاءمة كل شيء معًا وكيفية pretrain a llm ، سوف نتعلم كيفية تحميل الأوزان المسبقة و finetune llms باستخدام مكتبات مفتوحة المصدر.
تعتمد مادة الكود على بناء نموذج لغة كبير من كتاب الصفر ويستخدم أيضًا مكتبة Litgpt.
تتوفر هنا بيئة سحابة جاهزة للتنقل ، كاملة مع جميع أمثلة التعليمات البرمجية المثبتة ، هنا. يمكّن ذلك المشاركين من تشغيل جميع التعليمات البرمجية ، وخاصة في أقسام ما قبل الاستعداد والتحية ، على وحدة معالجة الرسومات.
بالإضافة إلى ذلك ، راجع الإرشادات الموجودة في مجلد الإعداد لإعداد جهاز الكمبيوتر الخاص بك لتشغيل الرمز محليًا.
| عنوان | وصف | مجلد | |
|---|---|---|---|
| 1 | مقدمة إلى LLMS | مقدمة في ورشة العمل التي تقدم LLMs ، والمواضيع التي يتم تغطيتها في هذه الورشة ، وتعليمات الإعداد. | 01_intro |
| 2 | فهم بيانات إدخال LLM | في هذا القسم ، نقوم بترميز خط أنابيب إدخال النص عن طريق تنفيذ رمز نصية ومصنف Pytorch مخصص لـ LLM | 02_data |
| 3 | ترميز بنية LLM | في هذا القسم ، سنذهب إلى اللبنات الفردية من LLMs وتجميعها في الكود. لن نغطي جميع الوحدات النمطية بالتفاصيل الدقيقة ولكننا سنركز على الصورة الأكبر وكيفية تجميعها في نموذج يشبه GPT. | 03_Architecture |
| 4 | PRETROINING LLMS | في الجزء 4 ، سنقوم بتغطية عملية تدريبي لـ LLMs وتنفيذ الكود لتسريع بنية النموذج التي قمنا بتنفيذها مسبقًا. نظرًا لأن التدريج مكلف ، فإننا سنقوم فقط بتذوقه على عينة نص صغيرة متوفرة في المجال العام بحيث تكون LLM قادرة على توليد بعض الجمل الأساسية. | 04_pretraining |
| 5 | تحميل الأوزان قبل | نظرًا لأن التدريج هو عملية طويلة ومكلفة ، سنقوم الآن بتحميل الأوزان المسبقة في بنيةنا ذاتية التنفيذ. بعد ذلك ، سنقدم مكتبة Litgpt Open Source ، والتي توفر رمزًا أكثر تطوراً (ولكن لا يزال قابلاً للقراءة) للتدريب والطويلة. سوف نتعلم كيفية تحميل أوزان LLMs PretRained (Llama ، PHI ، Gemma ، Mistral) في litgpt. | 05_weightloading |
| 6 | Finetuning LLMS | سيقدم هذا القسم تقنيات LLM Finetuning ، وسنقوم بإعداد مجموعة بيانات صغيرة للتعليمات ، والتي سنستخدمها بعد ذلك لتصنيع LLM في LITGPT. | 06_finetuning |
(تعتمد مادة الكود على بناء نموذج لغة كبير من كتاب الصفر ويستخدم أيضًا مكتبة Litgpt.)