Ultralytics YOLO27:

تصدير Axelera AI والنشر#

تتعاون Ultralytics مع Axelera AI لتمكين الاستدلال عالي الأداء والموفر للطاقة على أجهزة الذكاء الاصطناعي الطرفي. صدّر نماذج Ultralytics YOLO وانشرها مباشرةً على Metis® AIPU باستخدام Voyager SDK.

منظومة Axelera AI للنشر الطرفي لـ YOLO

توفر Axelera AI تسريعًا عتاديًا مخصصًا لـالرؤية الحاسوبية على الحافة، باستخدام بنية تدفق بيانات خاصة والحوسبة داخل الذاكرة، لتقديم ما يصل إلى 856 TOPS باستهلاك منخفض للطاقة.

اختيار العتاد المناسب#

تقدم Axelera AI عوامل شكل متنوعة لتناسب قيود النشر المختلفة. يساعد المخطط أدناه في تحديد العتاد الأمثل لنشر Ultralytics YOLO.

مجموعة المنتجات العتادية#

صُممت مجموعة عتاد Axelera لتشغيل Ultralytics YOLO26 والإصدارات الأقدم بكفاءة عالية من حيث عدد الإطارات في الثانية لكل واط.

بطاقات التسريع#

تتيح هذه البطاقات تسريع الذكاء الاصطناعي في الأجهزة المضيفة الحالية، مما يسهل عمليات النشر في البيئات القائمة.

المنتجعامل الشكلالحوسبةالأداء (INT8)التطبيق المستهدف
Metis PCIe x4PCIe Gen3 x164x من Metis AIPU856 TOPSتحليلات الفيديو عالية الكثافة، والمدن الذكية
Metis PCIe x1PCIe Gen3 x11x من Metis AIPU214 TOPSالحواسيب الصناعية، وإدارة طوابير الانتظار في قطاع التجزئة
Metis M.2M.2 2280 M-Key1x من Metis AIPU214 TOPSالطائرات المسيّرة، والروبوتات، والأجهزة الطبية المحمولة
Metis M.2 MAXM.2 22801x من Metis AIPU214 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 فهو مدعوم.

المهمةYOLOv8YOLO11YOLO26
كشف✅✅✅
تجزئة✅✅❌
دلالي❌❌✅
العمق❌❌❌
تصنيف✅✅✅
الوضعية✅✅✅
OBB✅✅✅
ملاحظة

لا يدعم أمر 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#

  1. أضف مفتاح مستودع Axelera:

    sudo sh -c "curl -fsSL https://software.axelera.ai/artifactory/api/security/keypair/axelera/public | gpg --dearmor -o /etc/apt/keyrings/axelera.gpg"
  2. أضف المستودع إلى 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"
  3. ثبّت برنامج التشغيل وحمّله. يتطلب SDK 1.8 الإصدار 1.6.2 أو أحدث من metis-dkms، لذا سيُثبّت هنا أحدث إصدار:

    sudo apt update
    sudo apt install -y metis-dkms
    sudo modprobe metis
حافظ على توافق إصدار برنامج تشغيل النواة مع SDK

يُثبّت برنامج تشغيل النواة بشكل منفصل عن حزم 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 للتأكد من اكتشاف الجهاز.

يُنزّل SDK تلقائيًا عند التشغيل الأول

سيؤدي أول 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 تجعل النماذج المصدّرة الحالية غير صالحة

يرفع 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")

وسيطات التصدير#

المعاملالنوعالافتراضيالوصف
formatstr'axelera'التنسيق المستهدف لعتاد Axelera Metis AIPU.
imgszint أو tuple640حجم الصورة المُدخلة إلى النموذج.
batch*int1يحدد حجم الدفعة للاستدلال بنموذج التصدير، أو الحد الأقصى لعدد الصور التي سيعالجها النموذج المُصدّر بالتزامن في وضع predict.
quantizeint أو str8/تلقائيدقة التكميم. يُشترط 8 (INT8)، ويُفعّل تلقائيًا لـ Axelera AIPU. يحل محل الخيارين المتوقفين half/int8. راجع تكميم INT8.
datastrNoneملف YAML لمجموعة بيانات المعايرة؛ أما التصنيف فيتطلب دليل مجموعة بيانات أو اسم مجموعة بيانات مضمّنة. إذا لم يُحدّد، تختار Ultralytics مجموعة بيانات معايرة خاصة بالمهمة.
fractionfloat أو int أو list1.0مجموعة المعايرة الفرعية كنسبة أو عدد صور أو نسب/أعداد [train, val, test]. تترك القوائم ذات العنصرين test كاملًا، بينما تتجاوزه 0 (يوصى بـ 100-400 صورة).
devicestrNoneجهاز التصدير: 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)
YOLOv8n847771
YOLO11n746574
YOLO26n648.6484.9

تستند معايير الأداء إلى بيانات Axelera AI. يعتمد معدل FPS الفعلي على حجم النموذج، وتجميع الدفعات، ودقة الإدخال.

هذه أرقام معدل نقل المضيف، وقد قاسها مستودع النماذج باستخدام مسار البث في Voyager SDK عبر ملف فيديو بدقة 720p. أما استدعاء predict واحد فيُبلغ عن زمن الاستجابة لكل صورة، وهي كمية مختلفة.

تطبيقات واقعية#

تتيح Ultralytics YOLO على أجهزة Axelera حلولاً متقدمة للحوسبة الطرفية:

  1. درّب نموذجك باستخدام وضع التدريب من Ultralytics
  2. صدّر النموذج إلى تنسيق Axelera باستخدام model.export(format="axelera")
  3. تحقّق من الدقة باستخدام yolo val للتأكد من الحد الأدنى لفقدان التكميم
  4. استدلّ باستخدام yolo predict للتحقق النوعي
  5. انشر النموذج ضمن مسار متكامل عالي الأداء من دون الاعتماد على 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.

التعليقات