عن المشروع

# Cactus Cactus هو محرك ذكاء اصطناعي هجين بين الحوسبة الطرفية والسحابية مصمم للأجهزة المحمولة والأجهزة القابلة للارتداء. يوفر حزمة كاملة لاستدلال الذكاء الاصطناعي على الجهاز، بما في ذلك التكميم والنوى ومخطط الحوسبة ومحرك وقت التشغيل. ## البنية ينقسم المشروع إلى أربع طبقات رئيسية: - **Cactus Engine**: يوفر واجهات برمجة متوافقة مع OpenAI لمهام النصوص والكلام والرؤية، بما في ذلك إكمال الدردشة والبث واستدعاء الأدوات والنسخ والتضمينات وRAG والتسليم السحابي. - **Cactus Graph**: مخطط حوسبة بدون نسخ لعمليات الموترات مثل ضرب المصفوفات والانتباه والتطبيع ودوال التنشيط. - **Cactus Kernels**: نوى CPU/GPU محسّنة لـ Apple وSamsung وPixel ومنصات محمولة أخرى، باستخدام ARM NEON SIMD. - **Cactus Quants**: تقنية تكميم مخصصة قائمة على الدوران تدعم دقة من 4 بتات إلى 1 بت. ## البدء السريع (Mac) التثبيت عبر Homebrew والتشغيل: ```bash brew install cactus-compute/cactus/cactus cactus run ``` ## الميزات الرئيسية - **الحوسبة الهجينة بين الطرفية والسحابة**: يوجه الاستعلامات الصعبة تلقائيًا إلى السحابة بناءً على ثقة النموذج المحلي. - **دعم النماذج**: يعمل مع عائلات نماذج Liquid وGemma وWhisper وParakeet وQwen. يمكن تحويل أي نموذج من HuggingFace تجريبيًا. - **ارتباطات متعددة**: Swift وKotlin وFlutter وReact Native وPython وRust. - **استدعاء الأدوات على الجهاز**: يتضمن نموذجًا بـ 26 مليون معامل يسمى "Needle" لاستدعاء الأدوات على الجهاز. - **أدوات CLI**: أوامر لتشغيل النماذج والنسخ والخدمة والتحويل والقياس والاختبار. ## الأداء تظهر المعايير أداءً قويًا على شرائح Apple والأجهزة المحمولة. على سبيل المثال، على Mac M5 Max، يحقق المحرك 2964 رمزًا/ثانية للتعبئة المسبقة و154 رمزًا/ثانية لفك التشفير لمعيار LLM بسياق 1k. على iPhone 17 Pro، يحقق 729 رمزًا/ثانية للتعبئة المسبقة و37 رمزًا/ثانية لفك التشفير. ## جودة المخرجات يتم تقييم جودة التكميم عبر معايير متعددة (ARC وHellaSwag وWinoGrande وMMLU وGPQA وGSM8K وHumanEval وBFCL). يحافظ تكميم CQ4 على جودة قريبة من نموذج FP16 الأصلي في معظم المهام. ## الاستخدام يوفر CLI أوامر لـ: - `cactus run`: تشغيل نموذج مع خيارات بتات التكميم والخلفية وإدخال الصور/الصوت والأدوات والمزيد. - `cactus transcribe`: نسخ مباشر من الميكروفون أو نسخ ملفات. - `cactus download`: تنزيل حزم النماذج الجاهزة. - `cactus convert`: تحويل نماذج HuggingFace إلى أوزان Cactus CQ. - `cactus serve`: بدء خادم HTTP محلي متوافق مع OpenAI. - `cactus code`: تشغيل وكيل برمجة بالذكاء الاصطناعي. - `cactus benchmark`: تشغيل مجموعات المعايير. - `cactus test`: تشغيل مجموعات الاختبار. ## التوثيق يتوفر توثيق مفصل لكل مكون: - Cactus Engine (C API) - Cactus Graph (C++) - Cactus Kernels (C++) - Cactus Quants (C++) - Cactus Hybrid (C/Python) - حزمة Python ## الاقتباس إذا استخدمت Cactus في البحث، يرجى الاقتباس: ```bibtex @software{cactus, title = {Cactus: AI Inference Engine for Phones & Wearables}, author = {Ndubuaku, Henry and Cactus Team}, url = {https://github.com/cactus-compute/cactus}, year = {2025} } ```