عن المشروع

bitnet.cpp هو إطار الاستدلال الرسمي لنماذج اللغة الكبيرة ذات البت الواحد مثل BitNet b1.58. يوفر مجموعة من النوى (kernels) المُحسّنة المصممة لتمكين الاستدلال السريع والدقيق (lossless) لنماذج 1.58 بت على وحدات المعالجة المركزية (CPU) ووحدات معالجة الرسومات (GPU)، مع الإشارة إلى دعم وحدات المعالجة العصبية (NPU) في المستقبل. يعتمد المشروع على إطار llama.cpp، وتستند نواه إلى طرق جدول البحث (lookup-table) التي طورت في T-MAC. القدرات الرئيسية الموضحة في ملف README: - استدلال على CPU للنماذج ذات البت الواحد والبتات الثلاثية، مع تسريعات مُبلغ عنها تتراوح من 1.37x إلى 5.07x على معالجات ARM، ومن 2.37x إلى 6.17x على معالجات x86 مقارنةً بالنماذج ذات الدقة الكاملة، بالإضافة إلى انخفاض استهلاك الطاقة بنسبة 55.4%-70.0% (ARM) و 71.9%-82.2% (x86). - القدرة على تشغيل نموذج BitNet b1.58 بحجم 100 مليار معامل على وحدة معالجة مركزية واحدة بسرعات تُوصف بأنها مماثلة لسرعة القراءة البشرية (5-7 رموز في الثانية). - إطلاق نواة الاستدلال الرسمية لـ GPU في مايو 2025. - أنواع التكميم (Quantization) تشمل I2_S و TL1، مع اختلاف دعم النوى حسب النموذج والمعمارية (x86 مقابل ARM). - تحويل النماذج من نقاط التفتيش .safetensors إلى صيغة GGUF عبر سكربت مساعد. - أدوات اختبار الأداء (e2e_benchmark.py) ومولد نماذج وهمية للتخطيطات غير المدعومة. - وضع الدردشة/المحادثة لنماذج التعليمات (instruct models). النماذج الرسمية البارزة تشمل BitNet-b1.58-2B-4T (2.4 مليار معامل، مدربة على 4 تريليون رمز)، و BitNet-embedding-0.6B، و BitNet-embedding-270M. النماذج المجتمعية المدرجة كمدعومة تشمل bitnet_b1_58-large، و bitnet_b1_58-3B، و Llama3-8B-1.58-100B-tokens، وعائلات Falcon3 و Falcon-E. يتطلب التثبيت Python 3.10+، و CMake 3.22+، و Clang 18+، مع التوصية باستخدام conda. تتضمن خطوات البناء استنساخ المستودع بشكل متكرر (recursively)، وتثبيت تبعيات Python، وتنزيل نموذج، وتشغيل setup_env.py مع اختيار نوع التكميم. يتم تشغيل الاستدلال من خلال run_inference.py مع خيارات للإشارة (prompt)، وعدد الرموز، والخيوط (threads)، وحجم السياق، ودرجة الحرارة، ووضع المحادثة. يتضمن ملف README أيضًا أسئلة شائعة تغطي مشاكل البناء الشائعة، مثل أخطاء std::chrono في llama.cpp، وإعداد clang داخل بيئة conda على Windows. المشروع متاح تحت ترخيص MIT.