تصدير Axelera AI والنشر#
تتعاون Ultralytics مع Axelera AI لتمكين الاستدلال عالي الأداء والموفر للطاقة على أجهزة الذكاء الاصطناعي الطرفي. صدّر نماذج Ultralytics YOLO وانشرها مباشرةً على Metis® AIPU باستخدام Voyager SDK.
توفر Axelera AI تسريعًا عتاديًا مخصصًا لـالرؤية الحاسوبية على الحافة، باستخدام بنية تدفق بيانات خاصة والحوسبة داخل الذاكرة، لتقديم ما يصل إلى 856 TOPS باستهلاك منخفض للطاقة.
اختيار العتاد المناسب#
تقدم Axelera AI عوامل شكل متنوعة لتناسب قيود النشر المختلفة. يساعد المخطط أدناه في تحديد العتاد الأمثل لنشر Ultralytics YOLO.
مجموعة المنتجات العتادية#
صُممت مجموعة عتاد Axelera لتشغيل Ultralytics YOLO26 والإصدارات الأقدم بكفاءة عالية من حيث عدد الإطارات في الثانية لكل واط.
بطاقات التسريع#
تتيح هذه البطاقات تسريع الذكاء الاصطناعي في الأجهزة المضيفة الحالية، مما يسهل عمليات النشر في البيئات القائمة.
| المنتج | عامل الشكل | الحوسبة | الأداء (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 ووحدة CPU من Rockchip RK3588 بمعمارية ARM.
- محطات العمل: أبراج مؤسسية من Dell (Precision 3460XE) وLenovo (ThinkStation P360 Ultra).
- الحواسيب الصناعية: أنظمة متينة من Advantech وAetina مصممة لـأتمتة التصنيع.
المهام المدعومة#
تقدير العمق غير مدعوم: إذ تنتج وحدة العمق عوامل تشغيل لا يستطيع مترجم Metis AIPU تحويلها إلى تعليمات أدنى مستوى. كما أن تقسيم المثيلات في YOLO26 غير مدعوم من قِبل Ultralytics export، لكن يمكن نشره عبر Voyager SDK كما هو موضح أدناه. أما التقسيم الدلالي في YOLO26 فهو مدعوم.
لا يدعم أمر Ultralytics export تقسيم المثيلات في YOLO26 حتى الآن. يمكن للمستخدمين الذين يحتاجون إلى 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-dkmsبالإصدار 1.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 الإصدار 1.6.2 أو أحدث من
metis-dkms، لذا سيُثبّت هنا أحدث إصدار: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
# تحميل نموذج YOLO26
model = YOLO("yolo26n.pt")
# # تصدير النموذج إلى تنسيق Axelera
model.export(format="axelera") # creates 'yolo26n_axelera_model'from ultralytics import YOLO
# # تحميل نموذج Axelera المُصدّر
model = YOLO("yolo26n_axelera_model")
# تنفيذ الاستدلال
results = model("https://ultralytics.com/images/bus.jpg")from ultralytics import YOLO
# # تحميل نموذج Axelera المُصدّر
model = YOLO("yolo26n_axelera_model")
# # التحقق من الدقة على مجموعة بيانات COCO8
metrics = model.val(data="coco8.yaml")وسيطات التصدير#
| المعامل | النوع | الافتراضي | الوصف |
|---|---|---|---|
format | str | 'axelera' | التنسيق المستهدف لعتاد Axelera Metis AIPU. |
imgsz | int أو tuple | 640 | حجم الصورة المُدخلة إلى النموذج. |
batch* | int | 1 | يحدد حجم الدفعة للاستدلال بنموذج التصدير، أو الحد الأقصى لعدد الصور التي سيعالجها النموذج المُصدّر بالتزامن في وضع predict. |
quantize | int أو str | 8/تلقائي | دقة التكميم. يُشترط 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#
تحقق وحدة AIPU Metis أقصى معدل نقل مع تقليل استهلاك الطاقة إلى أدنى حد.
| النموذج | معدل إطارات Metis PCIe في الثانية (FPS) | معدل إطارات Metis M.2 في الثانية (FPS) |
|---|---|---|
| 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.
أقصى أداء#
تُجمّع النماذج لصورة واحدة. يؤدي تمرير عدة صور إلى التنبؤ إلى توجيهها عبر مجدول Axelera (Voyager SDK 1.8 أو أحدث)، لذا يعمل batch>1 على النحو الصحيح، لكنه لا يكون أسرع من batch=1 عند قياسه من البداية إلى النهاية على جهاز واحد:
yolo predict model=yolo26n_axelera_model source=path/to/images batch=8لأحمال الإنتاج التي تتطلب أقصى معدل نقل، يوفّر Axelera Voyager SDK ما يلي:
- مسارات استدلال متدفقة تُبقي عدة إطارات قيد المعالجة
- تجميع نموذج واحد عبر عدة أنوية
- استدلال مقسّم إلى مربعات للكاميرات ذات الدقة الأعلى
راجع مستودع النماذج للاطّلاع على معايير أداء 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.