الوصف
تقدم Mamba بنية نموذج فضاء حالة (SSM) جديدة تعالج قيود النماذج دون التربيعية السابقة في التعامل مع البيانات الكثيفة المعلومات، مثل نمذجة اللغة. وهي تبني على التقدم في نماذج فضاء الحالة المهيكلة، وتدمج تصميمًا فعالًا ومدركًا للأجهزة مستوحى من FlashAttention. يسمح هذا النهج لـ Mamba بتحقيق أداء واعد، مما يجعلها بديلاً تنافسيًا لبنيات المحولات.
يكمن جوهر Mamba في طبقة SSM الانتقائية الخاصة بها، والتي تم تفصيلها في القسم 3 والخوارزمية 2 من الورقة البحثية المصاحبة. يتم دمج هذه الطبقة في كتلة بنية Mamba، وتعمل كوحدة رئيسية داخل المستودع. تم تحسين التطبيق لتحقيق الكفاءة، والاستفادة من التقنيات التي تمكن نمذجة التسلسل في الوقت الخطي.
تقدم Mamba إصدارات مختلفة، بما في ذلك Mamba و Mamba-2 و Mamba-3، كل منها بتطبيقات وتكوينات معلمات محددة. Mamba-3، على سبيل المثال، تقدم قدرات نمذجة تسلسل محسنة باستخدام مبادئ فضاء الحالة وتدعم أوضاع MIMO (متعدد المدخلات متعدد المخرجات). يوفر المستودع رمزًا لهذه الكتل، جنبًا إلى جنب مع أمثلة لاستخدامها في PyTorch، مما يوضح كيفية دمجها في نماذج مخصصة.
للتطبيق العملي، توفر Mamba نماذج مدربة مسبقًا متاحة على Hugging Face، تغطي نطاقًا من الأحجام من 130 مليون إلى 2.8 مليار معلمة. تم تدريب هذه النماذج على مجموعات بيانات كبيرة مثل The Pile و SlimPajama. يتضمن المستودع أيضًا نصوصًا لتقييمات zero-shot باستخدام مكتبة lm-evaluation-harness، مما يسمح للمستخدمين بقياس أداء النموذج على مهام معالجة اللغة الطبيعية المختلفة. يتم أيضًا توفير نصوص الاستدلال لاختبار زمن استجابة الإنشاء والإنتاجية باستخدام استراتيجيات أخذ عينات مختلفة.
يشمل الجمهور المستهدف لـ Mamba الباحثين والمطورين الذين يعملون في مجال معالجة اللغة الطبيعية، ونمذجة التسلسلات، والتعلم العميق. كفاءتها وأداؤها يجعلانها مناسبة للمهام التي تتطلب معالجة تسلسلات طويلة حيث قد تصبح المحولات التقليدية باهظة الثمن حسابيًا. المشروع مفتوح المصدر، ويشجع مساهمات المجتمع والتطوير الإضافي.
أبرز ملامح بنية Mamba SSM
بنية نموذج فضاء الحالة الانتقائي (SSM)
تصميم مدرك للأجهزة لتطبيق فعال
قدرات نمذجة التسلسل في الوقت الخطي
تطبيقات كتل Mamba و Mamba-2 و Mamba-3
دعم التكامل مع PyTorch
نماذج مدربة مسبقًا متاحة على Hugging Face
نصوص تقييم zero-shot باستخدام lm-evaluation-harness
نصوص استدلال لقياس زمن استجابة الإنشاء والإنتاجية
دعم التدريب بالدقة المختلطة (PyTorch AMP)
دعم ROCm لوحدات معالجة الرسومات AMD
البدء مع بنية Mamba SSM
تثبيت PyTorch و CUDA: تأكد من تثبيت إصدار PyTorch متوافق ومجموعة أدوات CUDA.
تثبيت حزمة Mamba: استخدم pip لتثبيت حزمة Mamba الأساسية وتبعياتها.
دمج كتل Mamba: استورد وحدات Mamba في كود PyTorch الخاص بك لبناء النموذج.
تحميل النماذج المدربة مسبقًا: استخدم Hugging Face لتنزيل وتحميل نماذج Mamba المدربة مسبقًا.
تشغيل التقييمات: استخدم نصوص lm-evaluation-harness لتقييم أداء النموذج على مهام معالجة اللغة الطبيعية.
إجراء الاستدلال: استخدم النصوص المقدمة لتوليد النص وقياس سرعة الاستدلال.
حالات استخدام بنية Mamba SSM
- نمذجة اللغة
- نمذجة التسلسلات
- البيانات الكثيفة المعلومات
- أبحاث التعلم العميق
- معالجة اللغة الطبيعية







