Axelera AI ile Dışa Aktarım ve Dağıtım#
Ultralytics, Edge AI aygıtlarında yüksek performanslı ve enerji verimli çıkarım olanağı sunmak için Axelera AI ile iş ortaklığı yapıyor. Ultralytics YOLO modellerini doğrudan Metis® AIPU'ya Voyager SDK ile dışa aktar ve dağıt.
Axelera AI, özel bir veri akışı mimarisi ve bellek içi bilgi işlem kullanarak uçta bilgisayarlı görü için özel donanım hızlandırması sağlar; düşük güç tüketimiyle 856 TOPS'a kadar performans sunar.
Doğru Donanımı Seçme#
Axelera AI, farklı dağıtım kısıtlarına uygun çeşitli form faktörleri sunar. Aşağıdaki grafik, Ultralytics YOLO dağıtımın için en uygun donanımı belirlemene yardımcı olur.
Donanım Ürün Yelpazesi#
Axelera donanım ürün serisi, yüksek FPS/watt verimliliğiyle Ultralytics YOLO26 ve eski sürümleri çalıştırmak üzere optimize edilmiştir.
Hızlandırıcı Kartlar#
Bu kartlar, mevcut ana makine aygıtlarında AI hızlandırması sağlayarak brownfield dağıtımlarını kolaylaştırır.
| Ürün | Form Faktörü | Hesaplama | Performans (INT8) | Hedef Uygulama |
|---|---|---|---|---|
| Metis PCIe x4 | PCIe Gen3 x16 | 4x Metis AIPU | 856 TOPS | Yüksek yoğunluklu video analitiği, akıllı şehirler |
| Metis PCIe x1 | PCIe Gen3 x1 | 1x Metis AIPU | 214 TOPS | Endüstriyel bilgisayarlar, perakende kuyruk yönetimi |
| Metis M.2 | M.2 2280 M-Key | 1x Metis AIPU | 214 TOPS | Dronlar, robotik, taşınabilir tıbbi aygıtlar |
| Metis M.2 MAX | M.2 2280 | 1x Metis AIPU | 214 TOPS | Gelişmiş termal yönetim gerektiren ortamlar |
Entegre Sistemler#
Kullanıma hazır çözümler sunmak için Axelera, Metis AIPU için önceden doğrulanmış sistemler sağlayan üreticilerle iş ortaklığı yapar.
- Metis Compute Board: Metis AIPU'yu Rockchip RK3588 ARM CPU ile bir araya getiren bağımsız bir uç aygıt.
- İş istasyonları: Dell (Precision 3460XE) ve Lenovo'nun (ThinkStation P360 Ultra) kurumsal masaüstü bilgisayarları.
- Endüstriyel bilgisayarlar: Üretim otomasyonu için tasarlanmış, sağlamlaştırılmış Advantech ve Aetina sistemleri.
Desteklenen Görevler#
Axelera dışa aktarımı, Ultralytics'in yedi görevinin tümünü destekler. Anlamsal segmentasyon ve derinlik tahmini yalnızca bu başlıkları içeren tek aile olan YOLO26 ile kullanılabilir.
YOLO26 algılama, örnek segmentasyonu, poz ve OBB modelleri, NMS içermeyen bire bir başlıklarını varsayılan olarak dışa aktarır ve Axelera çalışma zamanı bu başlığı ana bilgisayarda çözümler. nms=True seçeneğini kullanmak, bunun yerine bire çok başlığını dışa aktarır; bu başlık Metis'te daha düşük performans gösterir: YOLO26n algılama modeli, bu şekilde COCO128 üzerinde mAP50-95 açısından 0.212 elde ederken NMS içermeyen başlıkla 0.453 elde eder.
| Görev | YOLOv8 | YOLO11 | YOLO26 |
|---|---|---|---|
| Algılama | ✅ | ✅ | ✅ |
| Segmentasyon | ✅ | ✅ | ✅ |
| Anlamsal | ❌ | ❌ | ✅ |
| Derinlik | ❌ | ❌ | ✅ |
| Sınıflandırma | ✅ | ✅ | ✅ |
| Poz | ✅ | ✅ | ✅ |
| OBB | ✅ | ✅ | ✅ |
Nicemleme aralıkları kalibrasyon görüntülerinden elde edilir ve derinlik için varsayılan depth8.yaml, dört iç mekân karesi içerir. NYU Depth V2 doğrulama bölümündeki 654 görüntü üzerinde, bu varsayılanla kalibre edilen YOLO26n derinlik modeli Metis'te delta1 0.742 puan alırken PyTorch modeli 0.783 puan alır; NYU eğitim verilerinden alınan 100 kare ise 0.780 puan verir. data= değerini, val bölümü modelin göreceği sahnelerden en az 100 görüntü içeren bir veri kümesi YAML dosyasıyla ilet; kalibrasyon val bölümünü okur.
Kurulum#
Axelera biçimine dışa aktarım için gerekenler:
- İşletim Sistemi: Yalnızca Linux (Ubuntu 22.04/24.04 önerilir)
- Donanım: Axelera AI hızlandırıcısı (Metis aygıtları)
- Python: 3.10, 3.11, 3.12 ve 3.13 sürümleri
- PyTorch:
torch>=2.8,<2.15 - Voyager SDK: 1.9.0; dışa aktarma bu devkit sürümünü, çıkarım ise bu çalışma zamanı sürümünü yükler
- Metis çekirdek sürücüsü:
metis-dkms1.7.0 veya üzeri;pippaketinden ayrı yüklenir - Sistem bağımlılığı:
sudo apt install libgl1(OpenCV tarafından gereklidir,piparacılığıyla yüklenmez)
Ultralytics Kurulumu#
pip install ultralyticsAyrıntılı talimatlar için Ultralytics Kurulum kılavuzumuza bak. Sorun yaşarsan Yaygın Sorunlar kılavuzumuza göz at.
Axelera Sürücüsünün Kurulumu#
-
Axelera deposu anahtarını ekle:
sudo sh -c "curl -fsSL https://software.axelera.ai/artifactory/api/security/keypair/axelera/public | gpg --dearmor -o /etc/apt/keyrings/axelera.gpg" -
Depoyu apt'ye ekle:
Kullanılan işletim sistemine uygun aşağıdaki kod parçacığını seç.
# 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" -
Sürücüyü yükle ve etkinleştir. SDK 1.9,
metis-dkms1.7.0 veya üzerini gerektirir; bu nedenle burada en yeni sürüm yüklenir:sudo apt update sudo apt install -y metis-dkms sudo modprobe metis
Çekirdek sürücüsü, Python SDK paketlerinden ayrı yüklenir; bu nedenle SDK'yı yükselttikten sonra sürücüyü de SDK'nın asgari sürümüne yükseltmen gerekir — SDK 1.9 için bu sürüm 1.7.0'dır. Yükleme sırasında bu gereksinimi denetleyen bir mekanizma yoktur ve asgari sürümden eski bir sürücü aygıtı kullanılamaz hâle getirir: axdevice gerekli sürümü bildirir ve aygıtı açamaz.
[libaxldev.c:285] Found kernel driver version 1.6.2, but at least version 1.7.0 is required. Please update the kernel driver
ERROR: AXR_ERROR_CONNECTION_ERROR: Failed to open device metis-0:4:0Ayrıca 3. Adım: Metis çekirdek sürücüsünü yükle bölümüne bak. Ubuntu'da daha eski bir SDK kullanıyorsan sürücüyü güncelle ve çekirdek modülünü yeniden yükle (yeniden başlatma gerekmez):
sudo apt update
sudo apt install -y metis-dkms
sudo rmmod metis
sudo modprobe metisArdından aygıtın algılandığını doğrulamak için axdevice komutunu yeniden çalıştır.
Axelera modeliyle ilk yolo export format=axelera veya yolo predict çalıştırması, Axelera SDK paketlerini otomatik olarak indirip yükler. Bağlantı hızına bağlı olarak bu işlem birkaç dakika sürebilir ve indirme sırasında ilerleme gösterilmez. Önceden elle yüklemek için:
pip install axelera-devkit==1.9.0 --extra-index-url https://software.axelera.ai/artifactory/api/pypi/axelera-pypi/simple
pip install axelera-rt==1.9.0 --extra-index-url https://software.axelera.ai/artifactory/api/pypi/axelera-pypi/simpleSDK 1.9, derlenmiş .axm model biçiminin sürümünü yükseltmez; bu nedenle 1.8 ile dışa aktarılan _axelera_model dizini değişiklik yapılmadan yüklenir ve çalıştırılır. Yalnızca derleyici iyileştirmelerinden yararlanmak için yeniden dışa aktar.
Biçim sürümünü yükselten bir SDK, eski dizinleri yükleme sırasında reddeder; 1.7 veya önceki bir sürümden yükseltme yapıldığında görülen durum budur:
Error: Unsupported model version: 4.0, expected at least 5.0
Please re-deploy or re-download the model.YOLO Modellerini Axelera'ya Dışa Aktarma#
Axelera biçimi Dışa Aktar, Tahmin ve Doğrula kiplerini destekler. Çıkarım ve doğrulama, Axelera Metis AIPU donanımında çalışır. Modelini dışa aktar, ardından çıkarım yapmak veya doğruluğunu doğrulamak için dışa aktarılan modeli yükle.
from ultralytics import YOLO
# YOLO26 modelini yükle
model = YOLO("yolo26n.pt")
# Modeli Axelera biçimine dışa aktar
model.export(format="axelera") # creates 'yolo26n_axelera_model'from ultralytics import YOLO
# Dışa aktarılan Axelera modelini yükle
model = YOLO("yolo26n_axelera_model")
# Çıkarımı çalıştır
results = model("https://ultralytics.com/images/bus.jpg")from ultralytics import YOLO
# Dışa aktarılan Axelera modelini yükle
model = YOLO("yolo26n_axelera_model")
# COCO8 veri kümesinde doğruluğu doğrula
metrics = model.val(data="coco8.yaml")Dışa Aktarma Bağımsız Değişkenleri#
| Bağımsız değişken | Tür | Varsayılan | Açıklama |
|---|---|---|---|
format | str | 'axelera' | Axelera Metis AIPU donanımı için hedef biçim. |
imgsz | int veya tuple | 640 | Model girdisinin görüntü boyutu. |
batch* | int | 1 | Kalibrasyon toplu iş boyutu. Derlenmiş model, her seferinde tek bir görüntü alır. |
quantize | int veya str | 8/otomatik | Niceleme hassasiyeti. Axelera AIPU için 8 (INT8) gereklidir ve otomatik olarak etkinleştirilir. Kullanımdan kaldırılan half/int8 bayraklarının yerini alır. INT8 niceleme bölümüne bak. |
data | str | None | Kalibrasyon veri kümesi YAML dosyası; sınıflandırma için bunun yerine bir veri kümesi dizini veya yerleşik veri kümesi adı kullanılır. Belirtilmezse Ultralytics, göreve özgü bir kalibrasyon veri kümesi seçer. |
fraction | float, int veya list | 1.0 | Kalibrasyon alt kümesini oran, görüntü sayısı veya [train, val, test] oranları/sayıları olarak belirt. İki öğeli listelerde test tam bırakılırken 0 atlanır (100-400 görüntü önerilir). |
device | str | None | Dışa aktarma aygıtı: GPU (device=0) veya CPU (device=cpu). |
* Modeller tek bir görüntü için derlenir; bu nedenle dışa aktarma sırasında batch yalnızca kalibrasyon toplu iş boyutunu belirler. Bunun yerine, Axelera zamanlayıcısına aynı anda birden fazla görüntü vermek için batch değerini predict öğesine ilet (Voyager SDK 1.8.0 veya üzeri): Maksimum Performans bölümüne bak.
Tüm dışa aktarma seçenekleri için Dışa Aktarma Kipi belgelerine bak.
Çıktı Yapısı#
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 Karşılaştırmaları#
Metis AIPU, enerji tüketimini en aza indirirken verimi en üst düzeye çıkarır.
| Model | Metis PCIe FPS (saniyedeki kare sayısı) | Metis M.2 FPS (saniyedeki kare sayısı) |
|---|---|---|
| YOLOv8n | 847 | 771 |
| YOLO11n | 746 | 574 |
| YOLO26n | 648.6 | 484.9 |
Karşılaştırmalar Axelera AI verilerine dayanır. Gerçek FPS; model boyutuna, toplu işlemeye ve giriş çözünürlüğüne bağlıdır.
Bunlar, Voyager SDK'nın akış hattı kullanılarak 720p video dosyası üzerinde model zoo tarafından ölçülen ana makine verim değerleridir. Tek bir predict çağrısı bunun yerine görüntü başına gecikmeyi bildirir; bu farklı bir ölçümdür.
Gerçek Dünya Uygulamaları#
Ultralytics YOLO'nun Axelera donanımında kullanılması, gelişmiş uç bilişim çözümlerini mümkün kılar:
- Akıllı Perakende: Mağaza optimizasyonu için gerçek zamanlı nesne sayımı ve ısı haritası analizi.
- Endüstriyel Güvenlik: Üretim ortamlarında düşük gecikmeli KKD tespiti.
- Drone Analizi: Tarım ve arama-kurtarma çalışmaları için İHA'larda yüksek hızlı nesne tespiti.
- Trafik Sistemleri: Uçta çalışan plaka tanıma ve hız tahmini.
Önerilen İş Akışı#
- Ultralytics Train Mode ile modelini eğit
model.export(format="axelera")kullanarak Axelera biçimine aktar- Nicemleme kaybının en aza indirildiğini doğrulamak için
yolo valile doğruluğu doğrula - Nitel doğrulama için
yolo predictkullanarak tahmin yap - PyTorch bağımlılığı olmadan yüksek performanslı uçtan uca bir işlem hattına dağıt —
axelera-rtkullanan birleştirilebilir Python işlem hatları için Voyager SDK'da YOLO örneklerine göz at
Cihaz Durum Denetimi#
Axelera cihazının düzgün çalıştığını doğrula:
# if axdevice cannot be found, please run at least one inference (see above) to ensure the required packages are installed
axdeviceAyrıntılı tanılama için AxDevice belgelerine göz at.
Maksimum Performans#
Modeller tek bir görüntü için derlenir ve tek bir görüntü bir AIPU çekirdeğinde çalışır. Birden fazla görüntüyü Predict öğesine ilettiğinde Axelera zamanlayıcısı bu görüntüleri birlikte alır ve aygıtın çekirdeklerine dağıtır:
yolo predict model=yolo26n_axelera_model source=path/to/images batch=32Metis PCIe üzerinde bir dizindeki 128 COCO128 görüntüsü için, üç çalıştırmanın medyanı olan yolo26n değerinin imgsz=640 konumundaki sonucu:
| Voyager SDK | Aygıtlar | batch=1 | batch=8 | batch=32 |
|---|---|---|---|---|
| 1.8.0 | 1 | 36 img/s | 45 img/s | 40 img/s |
| 1.8.0 | 2 | 39 img/s | 41 img/s | 41 img/s |
| 1.9.0 | 1 | 41 img/s | 85 img/s | 109 img/s |
| 1.9.0 | 2 | 35 img/s | 83 img/s | 113 img/s |
SDK 1.9'da aktarım hızını artıran şey toplu iş boyutudur; batch=32 değerinde artış 2,7 kattır; 1.8 ise her toplu iş boyutunda yaklaşık 40 img/s düzeyinde kalır. Çevrimdışı aktarım hızı için büyük bir toplu iş boyutu, görüntü başına gecikmenin önemli olduğu durumlarda ise batch=1 kullan. İkinci bir aygıt, predict değerine çok az katkı sağlar: batch=32 değerinde her görüntü, aygıtta geçirdiği süre kadar, ana bilgisayar tarafındaki ön işlemede yaklaşık 4 ms harcar.
predict ötesinde#
Maksimum verim gerektiren üretim ortamları için Axelera Voyager SDK şunları sunar:
- Birden fazla kareyi işlemde tutan akışlı çıkarım işlem hatları
- Tek bir modeli birden fazla çekirdekte derleme
- Daha yüksek çözünürlüklü kameralar için döşemeli çıkarım
Bu yollar, predict tarafından ana bilgisayarda gerçekleştirilen PyTorch ön ve son işlem adımlarını atlar. FPS karşılaştırmaları için model-zoo sayfasına bak veya üretim desteği için Axelera ile iletişime geç.
Bilinen Sorunlar#
- M.2 güç sınırlamaları: Büyük veya ekstra büyük modeller, güç kaynağı kısıtlamaları nedeniyle M.2 hızlandırıcılarda çalışma zamanı hatalarıyla karşılaşabilir.
Destek için Axelera Community sayfasını ziyaret et.
Sık Sorulan Sorular#
Voyager SDK, YOLOv8, YOLO11 ve YOLO26 modellerinin dışa aktarımını destekler. Model başına görev kullanılabilirliği için Desteklenen Görevler sayfasına göz at.
Evet. Ultralytics Train Mode kullanılarak eğitilen her model, desteklenen katmanları ve işlemleri kullanması koşuluyla Axelera biçimine aktarılabilir.
Axelera'nın Voyager SDK'sı, karma hassasiyetli AIPU mimarisi için modelleri otomatik olarak nicemler. Çoğu nesne tespiti görevinde performans kazanımları (daha yüksek FPS, daha düşük güç tüketimi), mAP üzerindeki minimum etkiyi fazlasıyla telafi eder. Nicemleme, model boyutuna bağlı olarak birkaç saniyeden birkaç saate kadar sürer. Doğruluğu doğrulamak için dışa aktarma işleminden sonra
yolo valkomutunu çalıştır.100 ila 400 görüntü kullanmanı öneririz. 400'den fazlası ek fayda sağlamaz ve nicemleme süresini artırır. En uygun dengeyi bulmak için 100, 200 ve 400 görüntüyle denemeler yap.
SDK, sürücüler ve derleyici araçları Axelera Developer Portal üzerinden edinilebilir.