Home
Login
SJTU-IPADS/PowerInfer

PowerInfer هو محرك استدلال سريع للنماذج اللغوية الكبيرة، مصمم خصيصًا للنشر المحلي، ويستخدم التنشيط المتفرق وهيكل CPU/GPU المختلط لتحقيق استدلال LLM سريع على أجهزة المستهلك.

MITC++ 8.2kSJTU-IPADS Last Updated: 2025-02-19
https://github.com/SJTU-IPADS/PowerInfer

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

PowerInfer هو محرك استنتاج نماذج اللغة الكبيرة (LLM) عالي السرعة، تم تطويره بواسطة مختبر IPADS بجامعة شنغهاي جياو تونغ، وهو مصمم خصيصًا لأجهزة الكمبيوتر الشخصية المزودة بوحدة معالجة رسومات (GPU) واحدة للمستهلك. يكمن الابتكار الأساسي للمشروع في الاستفادة من خصائص الموضعية العالية المتأصلة في استنتاج نماذج اللغة الكبيرة، من خلال تحسين أداء الاستنتاج باستخدام أنماط تنشيط الخلايا العصبية الموزعة وفقًا لقانون القوة.

خلفية المشروع

يواجه استنتاج نماذج اللغة الكبيرة التقليدية تحديات حسابية وذاكرية هائلة، خاصة عند نشر نماذج كبيرة على أجهزة المستهلك. يتغلب PowerInfer على هذه التحديات من خلال تحليل متعمق لأنماط تنشيط الشبكات العصبية، واكتشاف رؤية أساسية: عدد قليل من الخلايا العصبية "الساخنة" يتم تنشيطها باستمرار في جميع المدخلات، بينما تتغير غالبية الخلايا العصبية "الباردة" وفقًا لمدخلات محددة.

المبادئ التقنية الأساسية

آلية الخلايا العصبية الساخنة والباردة

يعتمد تصميم PowerInfer على الملاحظات الأساسية التالية:

  • الخلايا العصبية الساخنة: عدد قليل من الخلايا العصبية التي يتم تنشيطها باستمرار في جميع المدخلات.
  • الخلايا العصبية الباردة: غالبية الخلايا العصبية التي تتغير وفقًا لمدخلات محددة.
  • توزيع قانون القوة: يتبع تنشيط الخلايا العصبية نمط توزيع قانون القوة.

هندسة هجينة لوحدة معالجة الرسومات ووحدة المعالجة المركزية

استنادًا إلى خصائص الخلايا العصبية الساخنة والباردة، يتبنى PowerInfer استراتيجية استنتاج هجينة مبتكرة:

  • وحدة معالجة الرسومات (GPU): تحميل مسبق للخلايا العصبية النشطة الساخنة، لتحقيق وصول سريع.
  • وحدة المعالجة المركزية (CPU): حساب الخلايا العصبية النشطة الباردة، مما يقلل بشكل كبير من متطلبات ذاكرة وحدة معالجة الرسومات.
  • جدولة ذكية: تقليل كبير في النفقات العامة لنقل البيانات بين وحدة المعالجة المركزية ووحدة معالجة الرسومات.

الميزات والوظائف الأساسية

🚀 استنتاج عالي الأداء

  • أداء السرعة: متوسط سرعة إنشاء الرموز المميزة يصل إلى 13.20 رمزًا مميزًا/ثانية، ويمكن أن تصل الذروة إلى 29.08 رمزًا مميزًا/ثانية.
  • مقارنة الأداء: تحسين الأداء يصل إلى 11.69 مرة مقارنة بـ llama.cpp.
  • كفاءة الأجهزة: الأداء على RTX 4090 أقل بنسبة 18٪ فقط من وحدة معالجة الرسومات A100 من فئة الخادم.

🧠 تقنيات التحسين الذكي

  • متنبئ تكيفي: تحسين ديناميكي للتنبؤ بتنشيط الخلايا العصبية.
  • عامل تشغيل التناثر الحساس للخلايا العصبية: تحسين كفاءة حساب التناثر.
  • تصميم مركز الموضعية: الاستفادة الكاملة من خصائص التنشيط المتناثر.

🔧 سهولة الاستخدام والتوافق

  • تكامل بسيط: متوافق مع نماذج ReLU المتناثرة الشائعة.
  • نشر محلي: مُحسَّن بعمق لأجهزة المستهلك.
  • التوافق مع الإصدارات السابقة: يدعم معظم طرق استخدام llama.cpp.

النماذج المدعومة

سلسلة النماذج المدعومة حاليًا

سلسلة النماذج حجم المعلمات الميزات
سلسلة Falcon 40B تحسين وظيفة التنشيط ReLU
سلسلة Llama2 7B/13B/70B دعم السلسلة بأكملها
ProSparse Llama2 7B/13B ~90٪ تناثر، أداء قريب من النسخة الأصلية
سلسلة Bamboo 7B أداء وسرعة فائقة موجودة جنبًا إلى جنب

تنسيق النموذج

يستخدم PowerInfer تنسيق PowerInfer GGUF متخصص، يتضمن:

  • أوزان نماذج اللغة الكبيرة (LLM).
  • أوزان المتنبئ.
  • معلومات إحصائية عن التنشيط.

الهيكل التقني

تصميم النظام

┌─────────────────┐    ┌─────────────────┐
│   الخلايا العصبية الساخنة       │───▶│      وحدة معالجة الرسومات        │
│  (تنشيط مستمر)      │    │   (وصول سريع)     │
└─────────────────┘    └─────────────────┘
                              │
                              ▼
┌─────────────────┐    ┌─────────────────┐
│   الخلايا العصبية الباردة       │───▶│      وحدة المعالجة المركزية        │
│  (تنشيط مشروط)      │    │   (حساب مرن)     │
└─────────────────┘    └─────────────────┘

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

  1. متنبئ التنشيط: يتنبأ بذكاء بأنماط تنشيط الخلايا العصبية.
  2. مدير الذاكرة: يحسن تخصيص ذاكرة وحدة معالجة الرسومات/وحدة المعالجة المركزية.
  3. عامل التشغيل المتناثر: يعالج الحساب المتناثر بكفاءة.
  4. المجدول: يوزع مهام الحساب بذكاء.

دعم النظام الأساسي

الأنظمة الأساسية التي تم اختبارها

  • Linux: وحدة معالجة مركزية x86-64 مع مجموعة تعليمات AVX2، تدعم وحدة معالجة الرسومات NVIDIA.
  • Windows: وحدة معالجة مركزية x86-64 مع مجموعة تعليمات AVX2، تدعم وحدة معالجة الرسومات NVIDIA.
  • macOS: شريحة Apple M (وحدة المعالجة المركزية فقط، تحسين الأداء محدود).
  • وحدة معالجة الرسومات AMD: مدعومة من خلال ROCm.

متطلبات الأجهزة

  • وحدة المعالجة المركزية: معالج x86-64 يدعم مجموعة تعليمات AVX2.
  • وحدة معالجة الرسومات: سلسلة NVIDIA RTX أو وحدة معالجة الرسومات AMD (اختياري).
  • الذاكرة: تعتمد على حجم النموذج.
  • التخزين: مساحة كافية لتخزين ملفات النموذج.

معايير الأداء

أداء RTX 4090

النموذج PowerInfer llama.cpp نسبة التسريع
Falcon-40B 11.2 رمزًا مميزًا/ثانية 1.0 رمزًا مميزًا/ثانية 11.2x
Llama2-70B 8.1 رمزًا مميزًا/ثانية 2.7 رمزًا مميزًا/ثانية 3.0x
Llama2-13B 24.8 رمزًا مميزًا/ثانية 8.9 رمزًا مميزًا/ثانية 2.8x

أداء RTX 2080Ti (تكميم INT4)

النموذج PowerInfer llama.cpp نسبة التسريع
Falcon-40B 6.8 رمزًا مميزًا/ثانية 0.85 رمزًا مميزًا/ثانية 8.0x
Llama2-70B 5.2 رمزًا مميزًا/ثانية 1.7 رمزًا مميزًا/ثانية 3.1x

التثبيت والاستخدام

متطلبات البيئة

  • CMake (3.17+)
  • Python (3.8+) و pip (19.3+)
  • سلسلة أدوات CUDA (إذا كنت تستخدم وحدة معالجة الرسومات NVIDIA).

التثبيت الأساسي

git clone https://github.com/SJTU-IPADS/PowerInfer
cd PowerInfer
pip install -r requirements.txt

# NVIDIA GPU
cmake -S . -B build -DLLAMA_CUBLAS=ON
cmake --build build --config Release

# CPU only
cmake -S . -B build
cmake --build build --config Release

تنزيل النموذج

# استخدم huggingface-cli لتنزيل النموذج
huggingface-cli download --resume-download --local-dir ReluLLaMA-7B \
  --local-dir-use-symlinks False PowerInfer/ReluLLaMA-7B-PowerInfer-GGUF

تشغيل الاستنتاج

# الاستنتاج الأساسي
./build/bin/main -m ./ReluLLaMA-7B-PowerInfer-GGUF/llama-7b-relu.powerinfer.gguf \
  -n 128 -t 8 -p "كان يا مكان في قديم الزمان"

# تقييد استخدام VRAM
./build/bin/main -m ./ReluLLaMA-7B-PowerInfer-GGUF/llama-7b-relu.powerinfer.gguf \
  -n 128 -t 8 -p "كان يا مكان في قديم الزمان" --vram-budget 8

آخر التحديثات والتطورات

الابتكارات التقنية

  1. PowerInfer-2: نسخة محسنة للأجهزة المحمولة، تحقق 11.68 رمزًا مميزًا/ثانية على الهواتف الذكية.
  2. TurboSparse: تقنية تناثر منخفضة التكلفة، تحافظ على الأداء مع تقليل المعلمات بشكل كبير.
  3. Bamboo LLM: سلسلة نماذج مطورة ذاتيًا تجمع بين الأداء والسرعة.

سيناريوهات التطبيق

سيناريوهات قابلة للتطبيق

  • مساعد شخصي يعمل بالذكاء الاصطناعي: نشر مساعد شخصي خاص يعمل بالذكاء الاصطناعي محليًا.
  • تطبيقات داخلية للمؤسسات: خدمات ذكاء اصطناعي داخلية تحمي خصوصية البيانات.
  • البحث والتطوير: تطوير نماذج أولية سريعة واختبار النماذج.
  • الحوسبة الطرفية: نشر نماذج اللغة الكبيرة (LLM) في بيئات محدودة الموارد.
  • البحث التعليمي: تعلم ودراسة تقنيات استنتاج النماذج الكبيرة.

ميزات الميزة

  • حماية الخصوصية: يتم إكمال جميع العمليات الحسابية محليًا.
  • فعالية التكلفة: يمكن تحقيق أداء ممتاز باستخدام أجهزة المستهلك.
  • نشر بسيط: لا حاجة إلى تكوينات نظام موزعة معقدة.
  • استجابة سريعة: استنتاج محلي بزمن انتقال منخفض.

مقارنة تقنية

مقابل محركات الاستنتاج التقليدية

الميزة PowerInfer المحركات التقليدية
متطلبات الأجهزة وحدة معالجة رسومات للمستهلك وحدة معالجة رسومات من فئة الخادم
كفاءة الذاكرة وحدة معالجة مركزية/وحدة معالجة رسومات هجينة تحميل وحدة معالجة الرسومات بالكامل
سرعة الاستنتاج تحسين 11.69x أداء قياسي
التكلفة تكلفة منخفضة تكلفة عالية

مقابل llama.cpp

  • الأداء: تحسين السرعة يصل إلى 11.69 مرة.
  • الذاكرة: استخدام أكثر كفاءة للذاكرة.
  • الأجهزة: تنسيق أفضل لوحدة المعالجة المركزية/وحدة معالجة الرسومات.
  • التوافق: يدعم معظم وظائف llama.cpp.

مبادئ تقنية متعمقة

الاستفادة من التناثر

يكمن جوهر PowerInfer في الاستخدام العميق لتناثر الشبكات العصبية:

  1. تحليل نمط التنشيط: اكتشاف توزيع قانون القوة لتنشيط الخلايا العصبية من خلال تحليل كميات كبيرة من البيانات.
  2. آلية التنبؤ: استخدام متنبئ خفيف الوزن للتنبؤ بحالات تنشيط الخلايا العصبية.
  3. الجدولة الديناميكية: تخصيص موارد الحساب ديناميكيًا بناءً على نتائج التنبؤ.

استراتيجيات تحسين الذاكرة

  • التخزين متعدد الطبقات: يتم تخزين البيانات الساخنة في وحدة معالجة الرسومات، ويتم تخزين البيانات الباردة في وحدة المعالجة المركزية.
  • آلية الجلب المسبق: جلب مسبق ذكي للبيانات التي قد تكون مطلوبة.
  • تقنيات الضغط: ضغط البيانات الباردة لتخزينها.

التطوير والمساهمة

اتفاقية المصدر المفتوح

تتبنى PowerInfer اتفاقية المصدر المفتوح، ونرحب بمساهمات المجتمع. يتقبل المشروع بنشاط ملاحظات المشكلات واقتراحات الميزات.

فريق البحث والتطوير

  • مختبر IPADS بجامعة شنغهاي جياو تونغ: فريق التطوير الرئيسي.
  • جامعة تسينغهوا THUNLP: دعم نموذج ReLU المتناثر.
  • مجتمع المصادر المفتوحة: مساهمات وتحسينات مستمرة.

التأثير الأكاديمي

تم نشر أوراق بحثية ذات صلة، مما يوفر أساسًا نظريًا وتوجيهًا عمليًا مهمًا لتحسين استنتاج نماذج اللغة الكبيرة.

ملخص

يمثل PowerInfer اختراقًا كبيرًا في تقنية الاستنتاج المحلية لنماذج اللغة الكبيرة. من خلال آلية الخلايا العصبية الساخنة والباردة المبتكرة والهندسة الهجينة لوحدة المعالجة المركزية/وحدة معالجة الرسومات، نجح في تحقيق أداء استنتاج قريب من مستوى الخادم على أجهزة المستهلك.