تصدير Axelera AI والنشر#
تتعاون Ultralytics مع Axelera AI لتمكين الاستدلال عالي الأداء والكفاءة في استهلاك الطاقة على أجهزة Edge AI. صدّر وانشر نماذج Ultralytics YOLO مباشرةً إلى Metis® AIPU باستخدام Voyager SDK.
توفر Axelera AI تسريعًا مخصصًا للأجهزة من أجل الرؤية الحاسوبية على الحافة، باستخدام بنية تدفق بيانات خاصة والحوسبة داخل الذاكرة لتقديم ما يصل إلى 856 TOPS مع استهلاك منخفض للطاقة.
اختيار الأجهزة المناسبة#
توفر Axelera AI عوامل شكل متنوعة لتلبية قيود النشر المختلفة. يساعد المخطط أدناه في تحديد الأجهزة المثلى لنشر Ultralytics YOLO.
graph TD
A[Start: Select Deployment Target]:::start --> B{Device Type?}:::decide
B -->|Edge Server / Workstation| C{Throughput Needs?}:::decide
B -->|Embedded / Robotics| D{Space Constraints?}:::decide
B -->|Standalone / R&D| E[Dev Kits & Systems]:::proc
C -->|Max Density <br> 30+ Streams| F[**Metis PCIe x4**<br>856 TOPS]:::out
C -->|Standard PC <br> Low Profile| G[**Metis PCIe x1**<br>214 TOPS]:::out
D -->|Drones & Handhelds| H[**Metis M.2**<br>2280 M-Key]:::out
D -->|High Performance Embedded| I[**Metis M.2 MAX**<br>Extended Thermal]:::out
E -->|ARM-based All-in-One| J[**Metis Compute Board**<br>RK3588 + AIPU]:::out
E -->|Prototyping| K[**Arduino Portenta x8**<br>Integration Kit]:::out
click F "https://store.axelera.ai/"
click G "https://store.axelera.ai/"
click H "https://store.axelera.ai/"
click J "https://store.axelera.ai/"
classDef start fill:#4CAF50,color:#fff
classDef proc fill:#2196F3,color:#fff
classDef decide fill:#FF9800,color:#fff
classDef out fill:#9C27B0,color:#fffمجموعة الأجهزة#
صُممت مجموعة أجهزة Axelera لتشغيل Ultralytics YOLO26 والإصدارات السابقة بكفاءة عالية من حيث عدد FPS لكل واط.
بطاقات التسريع#
تتيح هذه البطاقات تسريع الذكاء الاصطناعي على الأجهزة المضيفة الحالية، ما يسهّل عمليات النشر في البيئات القائمة.
| المنتج | عامل الشكل | الحوسبة | الأداء (INT8) | التطبيق المستهدف |
|---|---|---|---|---|
| Metis PCIe x4 | PCIe Gen3 x16 | 4x من Metis AIPU | 856 TOPS | تحليلات الفيديو عالية الكثافة، والمدن الذكية |
| Metis PCIe x1 | PCIe Gen3 x1 | 1x من Metis AIPU | 214 TOPS | أجهزة الكمبيوتر الصناعية، وإدارة الطوابير في قطاع البيع بالتجزئة |
| Metis M.2 | M.2 2280 M-Key | 1x من Metis AIPU | 214 TOPS | الطائرات المسيّرة، والروبوتات، والأجهزة الطبية المحمولة |
| Metis M.2 MAX | M.2 2280 | 1x من Metis AIPU | 214 TOPS | البيئات التي تتطلب إدارة حرارية متقدمة |
الأنظمة المتكاملة#
بالنسبة إلى الحلول الجاهزة، تتعاون Axelera مع الشركات المصنّعة لتوفير أنظمة تم التحقق منها مسبقًا للعمل مع Metis AIPU.
- Metis Compute Board: جهاز طرفي مستقل يقرن Metis AIPU بوحدة المعالجة المركزية ARM من نوع Rockchip RK3588.
- محطات العمل: أبراج مخصصة للمؤسسات من Dell (Precision 3460XE) وLenovo (ThinkStation P360 Ultra).
- أجهزة الكمبيوتر الصناعية: أنظمة متينة من Advantech وAetina مصممة من أجل أتمتة التصنيع.
المهام المدعومة#
تقدير العمق غير مدعوم: يُصدر رأس العمق عوامل تشغيل لا يمكن لمُجمِّع Metis AIPU خفض مستواها. كما أن تجزئة المثيلات لـ YOLO26 غير مدعومة بواسطة Ultralytics export أيضاً، ولكن لا يزال من الممكن نشرها من خلال حزمة أدوات التطوير Voyager SDK كما هو موضح أدناه. تجزئة الدلالات لـ YOLO26 مدعومة.
تجزئة المثيلات لـ YOLO26 غير مدعومة حتى الآن عبر أمر Ultralytics export. يمكن للمستخدمين الذين يحتاجون إلى yolo26-seg النشر عبر Voyager SDK باستخدام deploy.py، والذي يوفر حلماً بديلًا في مساحة المستخدم. ستتم إضافة دعم المُجمِّع الأصلي في إصدار قادم.
التثبيت#
يتطلب التصدير إلى تنسيق Axelera ما يلي:
- نظام التشغيل: Linux فقط (يوصى باستخدام Ubuntu 22.04/24.04)
- الأجهزة: مُسرّع Axelera AI (أجهزة Metis)
- Python: الإصدارات 3.10 و3.11 و3.12 و3.13
- PyTorch:
torch>=2.8,<2.13 - Voyager SDK: 1.8.0؛ يقوم التصدير بتثبيت إصدار حزمة أدوات التطوير هذا ويقوم الاستدلال بتثبيت إصدار وقت التشغيل هذا
- برنامج تشغيل نواة Metis:
metis-dkms1.6.2 أو أحدث، يتم تثبيته بشكل منفصل عنpip - تبعية النظام:
sudo apt install libgl1(مطلوبة من OpenCV، ولا تُضمَّن عبرpip)
تثبيت Ultralytics#
pip install ultralyticsللحصول على تعليمات مفصلة، راجع دليل تثبيت Ultralytics. وإذا واجهت صعوبات، فراجع دليل المشكلات الشائعة.
تثبيت برنامج تشغيل Axelera#
-
أضف مفتاح مستودع Axelera:
sudo sh -c "curl -fsSL https://software.axelera.ai/artifactory/api/security/keypair/axelera/public | gpg --dearmor -o /etc/apt/keyrings/axelera.gpg" -
أضف المستودع إلى apt:
اختر المقتطف المناسب أدناه ليتوافق مع نظام التشغيل المستخدم.
# Ubuntu 22.04 sudo sh -c "echo 'deb [signed-by=/etc/apt/keyrings/axelera.gpg] https://software.axelera.ai/artifactory/axelera-apt-source ubuntu22 main' > /etc/apt/sources.list.d/axelera.list"# Ubuntu 24.04 sudo sh -c "echo 'deb [signed-by=/etc/apt/keyrings/axelera.gpg] https://software.axelera.ai/artifactory/axelera-apt-source ubuntu24 main' > /etc/apt/sources.list.d/axelera.list" -
قم بتثبيت برنامج التشغيل وتحميله. تحتاج حزمة أدوات التطوير SDK الإصدار 1.8 إلى
metis-dkms1.6.2 أو أحدث، لذا يتم تثبيت الأحدث هنا:sudo apt update sudo apt install -y metis-dkms sudo modprobe metis
يتم تثبيت برنامج تشغيل النواة بشكل منفصل عن حزم Python SDK، لذا بعد ترقية حزمة أدوات التطوير SDK، يجب عليك أيضاً تحديث برنامج التشغيل ليصل إلى الحد الأدنى لحزمة أدوات التطوير SDK هذه - وهو 1.6.2 لحزمة أدوات التطوير SDK 1.8. لا يوجد شيء يتحقق من ذلك وقت التثبيت، ويترك برنامج التشغيل الأقل من الحد الأدنى الجهاز غير متوفر: يُبلغ axdevice عن الإصدار المطلوب وفشل في فتح الجهاز.
[libaxldev.c:285] Found kernel driver version 1.5.5, but at least version 1.6.2 is required. Please update the kernel driver
ERROR: AXR_ERROR_CONNECTION_ERROR: Failed to open device metis-0:4:0انظر أيضاً الخطوة 3: تثبيت برنامج تشغيل نواة Metis. إذا كنت تقوم بالفعل بتشغيل حزمة أدوات تطوير SDK سابقة على Ubuntu، فقم بتحديث برنامج التشغيل وإعادة تحميل وحدة النواة (لا يلزم إعادة التشغيل):
sudo apt update
sudo apt install -y metis-dkms
sudo rmmod metis
sudo modprobe metisثم أعد تشغيل axdevice للتأكد من اكتشاف الجهاز.
سيعمل أول yolo export format=axelera أو yolo predict باستخدام نموذج Axelera على تنزيل حزم Axelera SDK وتثبيتها تلقائيًا. وقد يستغرق ذلك عدة دقائق وفقًا لسرعة اتصالك، ولن يظهر أي تقدم أثناء التنزيل. للتثبيت يدويًا مسبقًا:
pip install axelera-devkit==1.8.0 --extra-index-url https://software.axelera.ai/artifactory/api/pypi/axelera-pypi/simple
pip install axelera-rt==1.8.0 --extra-index-url https://software.axelera.ai/artifactory/api/pypi/axelera-pypi/simpleترفع حزمة أدوات التطوير SDK 1.8 إصدار تنسيق نموذج .axm المجمَّع، لذلك يتم رفض أدلة _axelera_model التي تنتجها حزمة أدوات تطوير SDK سابقة وقت التحميل. أعد تصصدير كل نموذج بعد الترقيـة:
Error: Unsupported model version: 4.0, expected at least 5.0
Please re-deploy or re-download the model.تصدير نماذج YOLO إلى Axelera#
يدعم تنسيق Axelera أوضاع التصدير والتنبؤ والتحقق. يُجرى الاستدلال والتحقق على أجهزة Axelera Metis AIPU. صدّر نموذجك، ثم حمّل النموذج المُصدَّر لإجراء الاستدلال أو التحقق من دقته.
from ultralytics import YOLO
# Load a YOLO26 model
model = YOLO("yolo26n.pt")
# Export the model to Axelera format
model.export(format="axelera") # creates 'yolo26n_axelera_model'from ultralytics import YOLO
# Load the exported Axelera model
model = YOLO("yolo26n_axelera_model")
# Run inference
results = model("https://ultralytics.com/images/bus.jpg")from ultralytics import YOLO
# Load the exported Axelera model
model = YOLO("yolo26n_axelera_model")
# Validate accuracy on the COCO8 dataset
metrics = model.val(data="coco8.yaml")وسائط التصدير#
| الوسيطة | النوع | الافتراضي | الوصف |
|---|---|---|---|
format | str | 'axelera' | التنسيق المستهدف لأجهزة Metis AIPU من Axelera. |
imgsz | int أو tuple | 640 | حجم الصورة المُدخلة إلى النموذج. |
batch* | int | 1 | يحدد حجم الدفعة للاستدلال في نموذج التصدير أو الحد الأقصى لعدد الصور التي سيعالجها النموذج المُصدَّر بالتزامن في وضع predict. |
quantize | int أو str | 8/auto | دقة التكميم. يلزم استخدام 8 (INT8)، ويُفعَّل تلقائيًا لـ Axelera AIPU. ويستبدل العلامتين المهجورتين half/int8. راجع تكميم INT8. |
data | str | None | ملف YAML لمجموعة بيانات المعايرة؛ أما التصنيف فيتطلب دليل مجموعة بيانات أو اسم مجموعة بيانات مضمّنة. إذا لم تُحدَّد، تختار Ultralytics مجموعة بيانات معايرة خاصة بالمهمة. |
fraction | float أو int أو list | 1.0 | مجموعة المعايرة الفرعية كنسبة أو عدد صور أو نسب/أعداد [train, val, test]. تُبقي القوائم ذات العنصرين test كاملة، بينما تتخطى 0 (يوصى باستخدام 100-400 صورة). |
device | str | None | جهاز التصدير: GPU (device=0) أو CPU (device=cpu). |
* يتطلب الاستدلال باستخدام batch>1 حزمة أدوات التطوير Voyager SDK 1.8.0 أو أحدث؛ يتم تجميع النماذج لصورة واحدة.
للاطلاع على جميع خيارات التصدير، راجع وثائق وضع التصدير.
بنية المخرجات#
yolo26n_axelera_model/
├── yolo26n.axm # Axelera model file
├── compiler_config_final.toml # Compiler configuration used for the build
└── metadata.yaml # Model metadata (classes, image size, etc.)معايير Axelera AI#
يعمل Metis AIPU على زيادة معدل الإنتاجية إلى أقصى حد مع تقليل استهلاك الطاقة.
| النموذج | FPS لبطاقة Metis PCIe (إطار في الثانية) | FPS لجهاز Metis M.2 (إطار في الثانية) |
|---|---|---|
| YOLOv8n | 847 | 771 |
| YOLO11n | 746 | 574 |
| YOLO26n | 648.6 | 484.9 |
تستند المعايير إلى بيانات Axelera AI. يعتمد FPS الفعلي على حجم النموذج، وحجم الدفعة، ودقة الإدخال.
هذه هي أرقام الإنتاجية للمضيف، والتي تم قياسها بواسطة معرض النماذج باستخدام خط أنابيب التدفق لـ Voyager SDK عبر ملف فيديو بجودة 720p. يُبلغ استدعاء predict الفردي عن زمن الانتقال لكل صورة بدلاً من ذلك، وهي كمية مختلفة.
التطبيقات الواقعية#
يتيح Ultralytics YOLO على أجهزة Axelera حلولًا متقدمة للحوسبة الطرفية:
- البيع بالتجزئة الذكي: عدّ الكائنات في الوقت الفعلي وتحليلات الخرائط الحرارية لتحسين المتاجر.
- السلامة الصناعية: كشف معدات الحماية الشخصية بزمن استجابة منخفض في بيئات التصنيع.
- تحليلات الطائرات المسيّرة: كشف الكائنات عالي السرعة على الطائرات المسيّرة لأغراض الزراعة والبحث والإنقاذ.
- أنظمة المرور: التعرّف على لوحات المركبات وتقدير السرعة على الحافة.
سير العمل الموصى به#
- درّب نموذجك باستخدام وضع التدريب في Ultralytics
- صدّر النموذج إلى تنسيق Axelera باستخدام
model.export(format="axelera") - تحقق من الدقة باستخدام
yolo valللتحقق من ضآلة فقدان التكميم - تنبأ باستخدام
yolo predictلإجراء تحقق نوعي - انشر النموذج في مسار متكامل عالي الأداء من دون تبعية PyTorch — راجع أمثلة YOLO على Voyager SDK لمسارات Python قابلة للتركيب باستخدام
axelera-rt
فحص حالة الجهاز#
تحقق من أن جهاز Axelera يعمل بصورة صحيحة:
# if axdevice cannot be found, please run at least one inference (see above) to ensure the required packages are installed
axdeviceللاطلاع على التشخيصات المفصلة، راجع وثائق AxDevice.
الأداء الأقصى#
يتم تجميع النماذج لصورة واحدة. يؤدي تمرير عدة صور إلى Predict إلى توجيهها عبر مُجدول Axelera (حزمة أدوات التطوير Voyager SDK 1.8 أو أحدث)، لذلك يعمل batch>1 بشكل صحيح، على الرغم من قياسه من البداية إلى النهاية على جهاز واحد، فهو ليس أسرع من batch=1:
yolo predict model=yolo26n_axelera_model source=path/to/images batch=8بالنسبة للإنتاج الذي يتطلب أقصى إنتاجية، توفر حزمة أدوات التطوير Axelera Voyager SDK ما يلي:
- خطوط أنابيب استدلال البث التي تحافظ على عدة إطارات قيد المعالجة
- تجميع نموذج واحد عبر عدة نوى
- الاستدلال الموزّع على مربعات للكاميرات ذات الدقة الأعلى
راجع model-zoo للاطلاع على معايير FPS، أو تواصل مع Axelera للحصول على دعم الإنتاج.
المشكلات المعروفة#
- قيود الطاقة في M.2: قد تواجه النماذج الكبيرة أو الكبيرة جدًا أخطاءً أثناء التشغيل على مسرّعات M.2 بسبب قيود مصدر الطاقة.
للحصول على الدعم، تفضّل بزيارة مجتمع Axelera.
الأسئلة الشائعة#
يدعم Voyager SDK تصدير نماذج YOLOv8 وYOLO11 وYOLO26. راجع المهام المدعومة لمعرفة مدى توفر المهام لكل نموذج.
نعم. يمكن تصدير أي نموذج تم تدريبه باستخدام وضع تدريب Ultralytics إلى تنسيق Axelera، شريطة أن يستخدم طبقات وعمليات مدعومة.
يُجري Voyager SDK من Axelera مَكْمَمة تلقائية للنماذج بما يتناسب مع بنية AIPU ذات الدقة المختلطة. وفي معظم مهام اكتشاف الأجسام، تفوق مكاسب الأداء (FPS أعلى واستهلاك طاقة أقل) بكثير التأثير الطفيف في mAP. تستغرق المَكْمَمة من بضع ثوانٍ إلى عدة ساعات، تبعًا لحجم النموذج. شغّل
yolo valبعد التصدير للتحقق من الدقة.نوصي باستخدام 100 إلى 400 صورة. لا يوفّر استخدام أكثر من 400 صورة أي فائدة إضافية، كما يزيد مدة المَكْمَمة. جرّب استخدام 100 و200 و400 صورة للعثور على التوازن الأمثل.
يتوفر SDK وبرامج التشغيل وأدوات المصرّف عبر بوابة مطوّري Axelera.