Neural Processing Unit (NPU)
وحدة المعالجة العصبية (NPU) معالج مصمم لإجراء العمليات الحسابية للشبكات العصبية، ويشغّل النماذج المكمّمة بكفاءة في الهواتف والحواسيب الشخصية والكاميرات.
وحدة المعالجة العصبية (NPU) معالج مصمم لتشغيل الشبكات العصبية، ويعتمد على مصفوفات كبيرة من وحدات الضرب والتراكم التي تغذيها ذاكرة على الشريحة. تكون معظم وحدات NPU كتلًا داخل نظام على شريحة، بجوار CPU وGPU، حيث تنفذ الاستدلال لميزات الكاميرا والصوت والرؤية باستهلاك جزء ضئيل من الطاقة التي يستهلكها المعالجان الآخران. أدرج Kirin 970 من Huawei وA11 Bionic من Apple، الذي قُدّرت قدرة محركه العصبي بـ600 مليار عملية في الثانية، وحدات NPU في الهواتف عام 2017، ثم تبعتها وحدة Hexagon NPU من Qualcomm، ووحدة NPU من Intel في معالجات Core Ultra المحمولة منذ ديسمبر 2023، وشرائح Ryzen AI من AMD. وتشترط أجهزة Copilot+ PC من Microsoft وجود وحدة NPU توفر أكثر من 40 تريليون عملية في الثانية (TOPS). ويشمل الاسم أيضًا شرائح مراكز البيانات: إذ تطلق Huawei على مسرّعات مراكز البيانات Ascend اسم وحدات NPU وتستخدمها لتدريب النماذج الكبيرة.
كيف تختلف وحدات NPU عن CPU وGPU#
تهيمن عمليات ضرب المصفوفات والالتفافات على بيانات متوقعة على استدلال التعلّم العميق، لذا تتخلّص وحدة NPU من معظم منطق التحكم والتخزين المؤقت الذي يحتاج إليه CPU للبرمجة العامة، ومن المرونة التي يحتفظ بها GPU لمعالجة الرسوميات. وتخصص هذه المساحة من الشريحة لمصفوفات حسابية ثابتة الوظيفة، وتُبقي الأوزان والتفعيلات في ذاكرة محلية، لأن نقل البيانات يستهلك طاقة أكثر من إجراء العمليات الحسابية عليها. كما تحسب وحدات NPU بدقة منخفضة، وبالأخص INT8 وFP16، ولهذا يحتاج النموذج عادةً إلى التكميم قبل تشغيله عليها، ولهذا أيضًا يُعبّر عن معدل إنتاجية NPU بوحدة INT8 TOPS. فعلى سبيل المثال، تنفذ Edge TPU من Google أربع TOPS بمعدل TOPS لكل واط.
- CPU: ينفذ أي شيفرة، ويتعامل مع العمليات التي لا تدعمها وحدة NPU، وهو الأبطأ بين المعالجات الثلاثة في حساب المصفوفات الكبيرة.
- GPU: معالج متوازٍ قابل للبرمجة، يدرّب النماذج ويشغّلها بدقة الفاصلة العائمة وبمعدل إنتاجية مرتفع، لكنه يستهلك طاقة أكبر من وحدة NPU.
- TPU: عائلة مسرّعات المصفوفات من Google. تدرّب Cloud TPU النماذج وتخدمها في مراكز البيانات، بينما تُعد Edge TPU وحدة NPU بكل معنى الكلمة.
- الشرائح المحاكية للعصبونات: تعالج النبضات الصادرة عن الشبكات العصبية النبضية، وتناسب المستشعرات المعتمدة على الأحداث، وهو نموذج حوسبة يختلف عن حساب المصفوفات الكثيفة في وحدة NPU.
تشغيل نموذج على وحدة NPU#
تشغّل وحدة NPU برنامجًا مترجمًا بدلًا من رسم بياني لـPyTorch أو ONNX. يحوّل مُترجم الشركة المصنّعة الشبكة مسبقًا أو عند تحميلها في بيئة التشغيل، وغالبًا ما يكمّمها إلى INT8 باستخدام صور معايرة، ويثبّت شكل الإدخال عادةً، ثم يوزّع كل طبقة على العتاد. وتُحال الطبقات التي لا تدعمها وحدة NPU إلى CPU أو GPU، مع نسخ الموترات بين المعالجات عند كل عملية إحالة:
تضيف كل عملية إحالة نقلًا للبيانات وتترك أحد المعالجين بانتظار الآخر، لذا تفضّل البنى المخصصة للأجهزة الطرفية العمليات القياسية مثل الالتفافات وتفعيلات عائلة ReLU والتجميع. وتتولى بيئات التشغيل مثل ONNX Runtime وCore ML من Apple وLiteRT من Google وOpenVINO من Intel تقسيم العمل هذا، وتختار وحدة NPU عند توفرها.
أماكن استخدام وحدات NPU#
تستخدم الهواتف الذكية وحدات NPU في التصوير الحاسوبي والتعرّف على الكلام على الجهاز والتعرّف على الوجوه والترجمة الفورية، ما يُبقي الصور والصوت على الجهاز حفاظًا على خصوصية البيانات. وفي حواسيب الذكاء الاصطناعي، تنفّذ Windows Studio Effects تمويه الخلفية وتصحيح اتجاه النظر والتأطير التلقائي لمكالمات الفيديو على وحدة NPU، ما يترك CPU وGPU متاحين. وفي الذكاء الاصطناعي الطرفي، تشغّل وحدات NPU من Rockchip وHailo وDEEPX كشف الأجسام داخل كاميرات المراقبة والطائرات المسيّرة والروبوتات من دون اتصال بالشبكة.
يصدّر Ultralytics YOLO26 النماذج إلى الصيغ المترجمة التي تحتاج إليها وحدات NPU هذه عبر وضع التصدير، بما في ذلك OpenVINO لوحدات NPU من Intel، وCore ML لمحرك Apple العصبي، وQNN لوحدة Hexagon NPU من Qualcomm، وRKNN لـRockchip، وصيغة .om لـHuawei Ascend. كما يدرّب النماذج على وحدات Ascend NPU، التي يمكن تحديدها باستخدام device="npu:0" أو device="npu:0,1" للتدريب على وحدات NPU متعددة.










