عن المشروع
tiny-llm هي دورة عملية لمهندسي الأنظمة الذين يرغبون في فهم استدلال نماذج اللغة الكبيرة (LLM) من البداية إلى النهاية. تُعتبر هذه الدورة نظيرًا لخدمة LLM لمشروع Needle في جامعة كارنيجي ميلون (CMU): حيث يبني المتعلمون المسار الذي يحمّل نموذج Qwen3، ويحوّل الرموز إلى logits، ويولّد النص.
تبدأ الدورة بعمليات المصفوفات والعمليات الحسابية على المصفوفات، ثم تقدم النوى (kernels) وآليات الخدمة حسب حاجة النموذج الجاري. يتم الحفاظ على صغر حجم التنفيذ بحيث يمكن قراءته بالكامل، وربط المعادلات بحركة الذاكرة، وإشغال النوى، ونمو KV-cache، والتجميع، وجدولة الطلبات.
تم بناء الدورة على مصفوفات MLX وبيئة تشغيل MLX الموسعة دون طبقات شبكات عصبية عالية المستوى. عندما يعلّم فصل مشغلًا معينًا، يقوم المتعلمون بتنفيذ ذلك المشغل في Python أو C++ أو Metal بدلاً من استدعاء عملية MLX المحسّنة المقابلة. يعمل MLX كمرجع للصحة وخط أساس للأداء.
يغطي مسار التعلم الذي يستمر أربعة أسابيع ما يلي:
- الأسبوع الأول: بناء نموذج Qwen3 من عمليات مصفوفات mlx.core، بما في ذلك الانتباه (attention)، وRoPE، وGQA، وRMSNorm، وMLP، وأخذ العينات (sampling)، وحلقة الانحدار الذاتي (autoregressive loop).
- الأسبوع الثاني: تسريع طلب واحد باستخدام kv-cache، وcapacity-cache، وأوزان W4 المضغوطة، وSIMD matrix prefill، والبدائيات المدمجة (fused primitives)، وtiled prefill.
- الأسبوع الثالث: بناء نسخة مصغرة من vLLM مع تجميع مستمر (continuous batching)، وقبول مجزأ (chunked admission)، وKV cache مقسم إلى صفحات (paged KV cache)، وانتباه مباشر مقسم إلى صفحات (direct paged attention)، وpaged FlashAttention.
- الأسبوع الرابع: بناء وكيل برمجي (coding agent) مع حلقة وكيل مُتحقق منها، وفحص مساحة العمل، وتعديلات معتمدة، وأوامر تحقق، ونقاط توقف واستئناف (checkpoint-and-resume)، وضغط السياق (context compaction)، وتوقفات فحص وتوجيه (inspect-and-steer pauses)، وتقييم النتائج، وفروع موجهة متفرعة (forked steered branches)، وأدلة أدوات محدودة (bounded tool evidence).
يستهدف المشروع Apple Silicon لأنه يوفر بيئة محلية عملية بمساحة ذاكرة مشتركة واحدة ووصول مباشر إلى نوى Metal. نموذج Qwen3-4B كبير بما يكفي لإظهار تكاليف عرض النطاق الترددي للوزن والانتباه والذاكرة المؤقتة الحقيقية، بينما يظل صغيرًا بما يكفي للتكرار المحلي.
يُنشر الكتاب على skyzh.github.io/tiny-llm. يحتوي المستودع على حزمة tiny_llm لتنفيذات الطلاب وtiny_llm_ref مع الحل المرجعي. يتتبع جدول خارطة الطريق حالة التنفيذ والاختبارات والتوثيق والمراجعة التحريرية لكل فصل.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.