Home
Login

إطار عمل تعلم عميق فعال وخفيف الوزن، مُحسَّن خصيصًا للأجهزة المحمولة والمضمنة، يدعم الاستدلال والتدريب على النماذج.

Apache-2.0C++ 12.0kalibabaMNN Last Updated: 2025-06-20

MNN - إطار عمل تعلم عميق خفيف الوزن مفتوح المصدر من علي بابا

نظرة عامة على المشروع

MNN هو إطار عمل تعلم عميق فعال وخفيف الوزن يدعم الاستدلال والتدريب على نماذج التعلم العميق، ويتمتع بأداء رائد في الصناعة في الاستدلال والتدريب على الأجهزة الطرفية. حاليًا، تم دمج MNN في أكثر من 30 تطبيقًا من تطبيقات علي بابا، مثل تاوباو، وتيانماو، ويوكو، ودينغدينغ، وشيانيو، وما إلى ذلك، ويغطي أكثر من 70 سيناريو استخدام مثل البث المباشر، وتصوير الفيديو القصير، والتوصيات البحثية، وPailitao، والتسويق التفاعلي، وتوزيع الحقوق، والتحكم في المخاطر الأمنية.

عنوان GitHub: https://github.com/alibaba/MNN

الخصائص الأساسية

1. خفة الوزن القصوى

  • منصة iOS: حجم المكتبة الثابتة لمنصات armv7+arm64 يبلغ حوالي 12 ميجابايت، والزيادة في الملف القابل للتنفيذ بعد الربط تبلغ حوالي 2 ميجابايت
  • منصة Android: حجم مكتبة so الأساسية يبلغ حوالي 800 كيلوبايت (armv7a - c++_shared)
  • استخدام MNN_BUILD_MINI يمكن أن يقلل من حجم الحزمة بنسبة 25٪ تقريبًا
  • يدعم تكميم FP16/Int8، والذي يمكن أن يقلل من حجم النموذج بنسبة 50٪ -70٪

2. دعم واسع النطاق للنماذج

  • دعم الإطار: TensorFlow، Caffe، ONNX، Torchscripts
  • أنواع الشبكات: الشبكات العصبية الشائعة مثل CNN، RNN، GAN، Transformer، إلخ.
  • دعم المشغل:
    • 178 مشغل TensorFlow
    • 52 مشغل Caffe
    • 163 مشغل Torchscripts
    • 158 مشغل ONNX

3. توافق عبر الأنظمة الأساسية

  • المنصات المحمولة: iOS 8.0+، Android 4.3+
  • الأجهزة المدمجة: الأجهزة التي تدعم واجهة POSIX
  • الحوسبة المختلطة متعددة الأجهزة: يعمل CPU و GPU معًا
  • أجهزة إنترنت الأشياء: لديها أيضًا تطبيقات على أجهزة إنترنت الأشياء

4. تحسين الأداء العالي

  • تستخدم كمية كبيرة من كود التجميع المحسن بشكل كامل ARM/x64 CPU
  • استخدم Metal/OpenCL/Vulkan لدعم استدلال GPU على الأجهزة المحمولة
  • استخدم CUDA و Tensor Core لدعم NVIDIA GPU
  • تُستخدم خوارزمية Winograd convolution على نطاق واسع في الالتواءات المتماثلة 3x3 و 4x4 و 5x5 و 6x6 و 7x7 وما إلى ذلك.
  • دعم حساب نصف دقة FP16 لهندسة ARM v8.2، مما يزيد السرعة بمقدار الضعف
  • دعم ARM v8.2 sdot و VNNI، مما يزيد السرعة بمقدار 2.5 مرة

مصفوفة دعم الهندسة المعمارية

الهندسة المعمارية/الدقة عادي FP16 BF16 Int8
CPU
Native B C B B
x86/x64-SSE4.1 A B B A
x86/x64-AVX2 S B B A
x86/x64-AVX512 S B B S
ARMv7a S S(ARMv8.2) S S
ARMv8 S S(ARMv8.2) S(ARMv8.6) S
GPU
OpenCL A S C S
Vulkan A A C A
Metal A S C S
CUDA A S C A
NPU
CoreML A C C C
HIAI A C C C
NNAPI B B C B

شرح: S-موصى به بشدة | A-دعم جيد | B-مدعوم ولكن به مشاكل | C-غير مدعوم

المكونات الأساسية

1. MNN-Converter

أداة تحويل النموذج، تدعم تحويل نماذج الإطارات الأخرى إلى نماذج MNN:

  • يدعم TensorFlow(lite)، Caffe، ONNX، Torchscripts
  • إجراء تحسين الرسم البياني لتقليل الحساب

2. MNN-Compress

أداة ضغط النموذج، تقلل من حجم النموذج وتحسن الأداء

3. MNN-Express

يدعم تنفيذ النموذج للتحكم في التدفق، ويستخدم مشغلات MNN لإجراء حساب عام

4. MNN-CV

مكتبة معالجة صور خفيفة الوزن، تشبه OpenCV ولكنها تعتمد على MNN

5. MNN-Train

يدعم تدريب نموذج MNN

تطبيقات مميزة

MNN-LLM

حل وقت التشغيل للنموذج اللغوي الكبير الذي تم تطويره بناءً على محرك MNN، والهدف هو نشر نموذج LLM محليًا على منصة كل شخص (هاتف/كمبيوتر شخصي/إنترنت الأشياء). الدعم:

  • Qianwen، Baichuan، Zhipu، LLAMA وغيرها من النماذج اللغوية الكبيرة السائدة
  • تطبيق Android LLM متعدد الأنماط
  • توليد النصوص، وفهم الصور، وتحويل الكلام إلى نص، وتوليد الصور من النصوص

MNN-Diffusion

حل وقت التشغيل لنموذج الانتشار المستقر القائم على محرك MNN، والذي يدعم نشر نموذج الانتشار المستقر محليًا على كل منصة.

الإنجازات الأكاديمية

تم نشر نتائج الأبحاث المتعلقة بـ MNN في مؤتمري الأنظمة المتميزين OSDI'22 و MLSys 2020، مما يثبت تأثيرها في الأوساط الأكاديمية والصناعية.

أدوات التطوير

MNN Workbench

يمكن تنزيله من موقع MNN الرسمي، ويوفر:

  • نماذج مدربة مسبقًا
  • أداة تدريب مرئية
  • نشر النموذج بمفتاح واحد على الجهاز

Python API

يوفر واجهة Python سهلة الاستخدام لمهندسي التعلم الآلي، ولا حاجة لكتابة كود C++ للاستدلال والتدريب ومعالجة الصور.

ملخص

باعتباره إطار عمل للتعلم العميق مفتوح المصدر من علي بابا، فقد أصبح MNN خيارًا ممتازًا للنشر على الأجهزة المحمولة والمضمنة بفضل خصائصه الخفيفة الوزن وعالية الأداء وعبر الأنظمة الأساسية. سواء كان الاستدلال التقليدي لنموذج CNN أو أحدث نشر للنموذج اللغوي الكبير، فإن MNN يوفر حلولًا كاملة وهو مجموعة أدوات لا تقدر بثمن لمطوري الذكاء الاصطناعي.

Star History Chart