ما هي نماذج فضاء الحالة (SSMs)؟
نماذج فضاء الحالة (SSMs) هي فئة من هياكل الشبكات العصبية المصممة لنمذجة التسلسلات. نشأت من نظرية التحكم الكلاسيكية، وتم تكييفها للتعلم العميق للتعامل مع الاعتماديات طويلة المدى في البيانات بكفاءة أكبر بكثير من الهياكل المهيمنة مثل الترانسفورمرز. يقوم SSM بتعيين تسلسل إدخال إلى “حالة” كامنة ثم يستخدم تلك الحالة لإنتاج مخرجات. تسمح له هذه الآلية بالحفاظ على تمثيل مضغوط لتاريخ التسلسل، مما يتيح تعقيدًا زمنيًا خطيًا بالنسبة لطول التسلسل، وهو تحسن كبير على التعقيد التربيعي للترانسفورمرز.
هيكلية Mamba
Mamba هو تطبيق حديث ومؤثر للغاية لـ SSM قدم ابتكارًا رئيسيًا: آلية اختيار. على عكس نماذج SSM السابقة التي كانت ثابتة زمنيًا، فإن معلمات Mamba تعتمد على المدخلات. هذا يسمح للنموذج بالتركيز بشكل انتقائي على أجزاء من تسلسل الإدخال أو تجاهلها، مما يؤدي إلى “نسيان” المعلومات غير ذات الصلة والاحتفاظ بما هو مهم. هذا الضغط الانتقائي للحالة هو ما يمنح Mamba قوته وكفاءته، مما يسمح له بمطابقة أو تجاوز أداء نماذج الترانسفورمر الأكبر حجمًا في مجموعة متنوعة من المهام.
الميزات الرئيسية
- تعقيد زمني خطي: تتوسع الحسابات خطيًا (O(L)) مع طول التسلسل، مما يجعلها سريعة بشكل استثنائي للتسلسلات الطويلة جدًا مقارنة بالتوسع التربيعي (O(L²)) للترانسفورمرز.
- ضغط الحالة الانتقائي: تسمح آلية الاختيار المعتمدة على الإدخال للنموذج بإدارة ذاكرته بذكاء، مع التركيز على البيانات ذات الصلة وتصفية الضوضاء.
- خوارزمية مدركة للعتاد: يستخدم Mamba خوارزمية مسح متوازية محسّنة لوحدات معالجة الرسومات الحديثة، مما يقلل من اختناقات الوصول إلى الذاكرة ويزيد من الإنتاجية الحسابية.
- هيكلية مبسطة: يدمج SSM الانتقائي في كتلة واحدة، ليحل محل كتل الانتباه و MLP المنفصلة الموجودة في الترانسفورمرز، مما يؤدي إلى تصميم أكثر تجانسًا وكفاءة.
- أداء فائق: أظهر أداءً متفوقًا في مهام نمذجة اللغة وعلم الجينوم والصوت، وغالبًا ما يتفوق على الترانسفورمرز ذات الحجم المكافئ أو الأكبر.
حالات الاستخدام
- علم الجينوم: نمذجة تسلسلات الحمض النووي الطويلة للغاية، والتي تعتبر باهظة من الناحية الحسابية بالنسبة للترانسفورمرز القياسية.
- معالجة اللغات الطبيعية (NLP): تحليل وتلخيص وتوليد المستندات الطويلة حيث يكون السياق عبر آلاف التوكنات أمرًا بالغ الأهمية.
- تحليل السلاسل الزمنية: التنبؤ وتحليل البيانات المالية أو بيانات أجهزة الاستشعار عالية التردد على مدى فترات طويلة.
- معالجة الصوت: توليد وفهم أشكال الموجات الصوتية الخام، والتي هي بطبيعتها تسلسلات طويلة ومستمرة.
البدء
للبدء مع Mamba، يمكنك تثبيت الحزمة الرسمية وتشغيل نموذج بسيط.
أولاً، قم بتثبيت الحزم اللازمة:
```bash pip install torch causal-conv1d mamba-ssm
إليك مثال بأسلوب “Hello World” لإنشاء نموذج Mamba في Python:
```python import torch from mamba_ssm import Mamba
تكوين النموذج
batch_size = 4 sequence_length = 1024 model_dimension = 768
إنشاء موتر إدخال عشوائي
x = torch.randn(batch_size, sequence_length, model_dimension).cuda()
إنشاء نموذج Mamba
model = Mamba( d_model=model_dimension, # بُعد النموذج d_model d_state=16, # عامل توسيع حالة SSM d_conv=4, # عرض الالتفاف المحلي expand=2, # عامل توسيع الكتلة ).cuda()
التمرير الأمامي
y = model(x)
print(“شكل الإدخال:”, x.shape) print(“شكل الإخراج:”, y.shape)
الإخراج المتوقع:
شكل الإدخال: torch.Size([4, 1024, 768])
شكل الإخراج: torch.Size([4, 1024, 768])
التسعير
نماذج فضاء الحالة، بما في ذلك تطبيق Mamba البارز، هي نتاج أبحاث مفتوحة المصدر. وهي مجانية للاستخدام بموجب ترخيص Apache 2.0. ترتبط التكاليف فقط بالموارد الحسابية المطلوبة للتدريب والاستدلال.