Ultralytics YOLO27: Tham gia danh sách chờ.
Get Started

Xuất và triển khai trên Axelera AI#

Ultralytics hợp tác với Axelera AI để hỗ trợ suy luận hiệu năng cao, tiết kiệm năng lượng trên các thiết bị Edge AI. Xuất và triển khai trực tiếp model Ultralytics YOLO lên Metis® AIPU bằng Voyager SDK.

Hệ sinh thái triển khai edge Axelera AI cho YOLO

Axelera AI cung cấp khả năng tăng tốc phần cứng chuyên dụng cho thị giác máy tính ở biên, sử dụng kiến trúc luồng dữ liệu độc quyền và điện toán trong bộ nhớ để mang lại hiệu năng lên đến 856 TOPS với mức tiêu thụ điện năng thấp.

Lựa chọn phần cứng phù hợp#

Axelera AI cung cấp nhiều dạng thiết bị để đáp ứng các giới hạn triển khai khác nhau. Biểu đồ dưới đây giúp xác định phần cứng tối ưu cho triển khai Ultralytics YOLO của bạn.

Danh mục phần cứng#

Dòng phần cứng Axelera được tối ưu để chạy Ultralytics YOLO26 và các phiên bản cũ với hiệu suất FPS trên mỗi watt cao.

Card tăng tốc#

Các card này cho phép tăng tốc AI trên các thiết bị host hiện có, hỗ trợ triển khai trên hạ tầng hiện hữu.

Sản phẩmDạng thiết bịNăng lực tính toánHiệu năng (INT8)Ứng dụng mục tiêu
Metis PCIe x4PCIe Gen3 x164x Metis AIPU856 TOPSPhân tích video mật độ cao, thành phố thông minh
Metis PCIe x1PCIe Gen3 x11x Metis AIPU214 TOPSPC công nghiệp, quản lý hàng đợi trong bán lẻ
Metis M.2M.2 2280 M-Key1x Metis AIPU214 TOPSDrone, robot, thiết bị y tế di động
Metis M.2 MAXM.2 22801x Metis AIPU214 TOPSMôi trường cần quản lý nhiệt nâng cao

Hệ thống tích hợp#

Đối với các giải pháp trọn gói, Axelera hợp tác với các nhà sản xuất để cung cấp hệ thống đã được xác thực trước cho Metis AIPU.

  • Bo mạch tính toán Metis: Thiết bị edge độc lập kết hợp Metis AIPU với CPU ARM Rockchip RK3588.
  • Máy trạm: Máy dạng tower cho doanh nghiệp của Dell (Precision 3460XE) và Lenovo (ThinkStation P360 Ultra).
  • PC công nghiệp: Các hệ thống gia cường của Advantech và Aetina, được thiết kế cho tự động hóa sản xuất.

Các tác vụ được hỗ trợ#

Axelera hỗ trợ xuất model cho cả bảy tác vụ của Ultralytics. Phân đoạn ngữ nghĩa và ước tính độ sâu chỉ khả dụng với YOLO26, dòng model duy nhất có các head này.

Các model phát hiện, phân đoạn đối tượng, pose và OBB của YOLO26 xuất head one-to-one không cần NMS theo mặc định, và runtime Axelera giải mã head này trên host. Truyền nms=True để xuất head one-to-many thay thế; head này đạt điểm thấp hơn trên Metis: model phát hiện YOLO26n đạt mAP50-95 0.212 trên COCO128 theo cách đó, so với 0.453 khi dùng head không cần NMS.

Tác vụYOLOv8YOLO11YOLO26
Phát hiện✅✅✅
Phân đoạn✅✅✅
Ngữ nghĩa❌❌✅
Độ sâu❌❌✅
Phân loại✅✅✅
Tư thế✅✅✅
OBB✅✅✅
Hiệu chỉnh model độ sâu bằng hình ảnh từ các cảnh của riêng bạn

Các khoảng lượng tử hóa được xác định từ hình ảnh hiệu chỉnh; giá trị mặc định cho độ sâu, depth8.yaml, gồm bốn khung hình trong nhà. Trên tập val gồm 654 hình ảnh của NYU Depth V2, model độ sâu YOLO26n được hiệu chỉnh bằng giá trị mặc định đó đạt delta1 0.742 trên Metis, so với 0.783 của model PyTorch; trong khi đó, 100 khung hình huấn luyện NYU cho kết quả 0.780. Truyền data= cùng YAML của dataset có phân tách val chứa ít nhất 100 hình ảnh từ các cảnh mà model sẽ xử lý; quá trình hiệu chỉnh đọc phân tách val.

Cài đặt#

Yêu cầu nền tảng

Để xuất sang định dạng Axelera, cần có:

  • Hệ điều hành: Chỉ Linux (khuyến nghị Ubuntu 22.04/24.04)
  • Phần cứng: Bộ tăng tốc Axelera AI (thiết bị Metis)
  • Python: Phiên bản 3.10, 3.11, 3.12 và 3.13
  • PyTorch: torch>=2.8,<2.15
  • Voyager SDK: 1.9.0; quá trình xuất cài đặt phiên bản devkit này và quá trình suy luận cài đặt phiên bản runtime này
  • Trình điều khiển kernel Metis: metis-dkms 1.7.0 trở lên, được cài đặt riêng với pip
  • Dependency hệ thống: sudo apt install libgl1 (OpenCV yêu cầu, không được bao gồm thông qua pip)

Cài đặt Ultralytics#

pip install ultralytics

Để xem hướng dẫn chi tiết, hãy tham khảo hướng dẫn Cài đặt Ultralytics. Nếu gặp khó khăn, hãy xem hướng dẫn Các sự cố thường gặp của chúng tôi.

Cài đặt driver Axelera#

  1. Thêm khóa repository 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. Thêm repository vào apt:

    Chọn đoạn lệnh phù hợp bên dưới với hệ điều hành đang sử dụng.

    # 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. Cài đặt trình điều khiển và tải trình điều khiển. SDK 1.9 yêu cầu metis-dkms 1.7.0 trở lên, vì vậy phiên bản mới nhất được cài đặt tại đây:

    sudo apt update
    sudo apt install -y metis-dkms
    sudo modprobe metis
Đồng bộ driver kernel với SDK

Trình điều khiển kernel được cài đặt riêng với các gói Python SDK, vì vậy sau khi nâng cấp SDK, bạn cũng phải cập nhật trình điều khiển lên phiên bản tối thiểu mà SDK yêu cầu — 1.7.0 đối với SDK 1.9. Không có bước kiểm tra nào trong quá trình cài đặt; trình điều khiển thấp hơn phiên bản tối thiểu sẽ khiến thiết bị không khả dụng: axdevice báo phiên bản cần thiết và không mở được thiết bị.

[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:0

Xem thêm Bước 3: Cài đặt driver kernel Metis. Nếu bạn đang chạy SDK cũ hơn trên Ubuntu, hãy cập nhật driver và tải lại module kernel (không cần khởi động lại):

sudo apt update
sudo apt install -y metis-dkms
sudo rmmod metis
sudo modprobe metis

Sau đó chạy lại axdevice để xác nhận thiết bị được phát hiện.

SDK tự động tải xuống trong lần chạy đầu tiên

Lần đầu chạy yolo export format=axelera hoặc yolo predict với model Axelera, các package Axelera SDK sẽ được tự động tải xuống và cài đặt. Quá trình này có thể mất vài phút tùy tốc độ kết nối; tiến trình tải xuống sẽ không hiển thị. Để cài đặt thủ công trước:

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/simple
Các model xuất bằng SDK 1.8 vẫn hoạt động

SDK 1.9 không nâng phiên bản định dạng model .axm đã biên dịch, vì vậy thư mục _axelera_model xuất bằng phiên bản 1.8 vẫn tải và chạy như cũ. Chỉ xuất lại nếu muốn tận dụng các cải tiến của trình biên dịch.

SDK có nâng phiên bản định dạng sẽ từ chối các thư mục cũ khi tải; đó là thông báo khi nâng cấp từ phiên bản 1.7 trở xuống:

Error: Unsupported model version: 4.0, expected at least 5.0
Please re-deploy or re-download the model.

Xuất model YOLO sang Axelera#

Định dạng Axelera hỗ trợ các chế độ Xuất, Dự đoán và Đánh giá. Suy luận và đánh giá chạy trên phần cứng Axelera Metis AIPU. Hãy xuất model, sau đó tải model đã xuất để chạy suy luận hoặc đánh giá độ chính xác.

Export
from ultralytics import YOLO

# Nạp model YOLO26
model = YOLO("yolo26n.pt")

# # Xuất model sang định dạng Axelera
model.export(format="axelera")  # creates 'yolo26n_axelera_model'
Dự đoán
from ultralytics import YOLO

# # Tải model Axelera đã xuất
model = YOLO("yolo26n_axelera_model")

# Chạy suy luận
results = model("https://ultralytics.com/images/bus.jpg")
Xác thực
from ultralytics import YOLO

# # Tải model Axelera đã xuất
model = YOLO("yolo26n_axelera_model")

# # Đánh giá độ chính xác trên bộ dữ liệu COCO8
metrics = model.val(data="coco8.yaml")

Các tham số xuất model#

Đối sốKiểuMặc địnhMô tả
formatstr'axelera'Định dạng đích cho phần cứng Axelera Metis AIPU.
imgszint hoặc tuple640Kích thước ảnh đầu vào của model.
batch*int1Kích thước batch hiệu chỉnh. Model đã biên dịch xử lý từng hình ảnh một.
quantizeint hoặc str8/autoĐộ chính xác lượng tử hóa. 8 (INT8) là bắt buộc và được tự động bật cho Axelera AIPU. Thay thế các flag half/int8 đã lỗi thời. Xem lượng tử hóa INT8.
datastrNoneTệp YAML của bộ dữ liệu hiệu chỉnh; với phân loại, thay vào đó hãy dùng thư mục bộ dữ liệu hoặc tên bộ dữ liệu tích hợp sẵn. Nếu bỏ qua, Ultralytics sẽ chọn bộ dữ liệu hiệu chỉnh phù hợp với tác vụ.
fractionfloat, int hoặc list1.0Tập con hiệu chỉnh dưới dạng tỷ lệ, số lượng ảnh hoặc tỷ lệ/số lượng [train, val, test]. Danh sách gồm hai phần tử giữ nguyên test, trong khi 0 sẽ bỏ qua phần này (khuyến nghị 100–400 ảnh).
devicestrNoneThiết bị xuất: GPU (device=0) hoặc CPU (device=cpu).

* Model được biên dịch cho một hình ảnh duy nhất, vì vậy tùy chọn xuất batch chỉ đặt kích thước batch hiệu chỉnh. Thay vào đó, truyền batch cho predict để chuyển nhiều hình ảnh cùng lúc cho bộ lập lịch Axelera (Voyager SDK 1.8.0 trở lên): xem Hiệu năng tối đa.

Để xem tất cả tùy chọn xuất, hãy tham khảo tài liệu Chế độ xuất.

Cấu trúc đầu ra#

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.)

Điểm chuẩn Axelera AI#

AIPU Metis tối đa hóa thông lượng đồng thời giảm thiểu mức tiêu thụ năng lượng.

ModelFPS của Metis PCIe (khung hình/giây)FPS của Metis M.2 (khung hình/giây)
YOLOv8n847771
YOLO11n746574
YOLO26n648.6484.9

Điểm chuẩn dựa trên dữ liệu của Axelera AI. FPS thực tế phụ thuộc vào kích thước model, batching và độ phân giải đầu vào.

Đây là số liệu thông lượng phía host, được đo bằng model zoo với pipeline streaming của Voyager SDK trên tệp video 720p. Một lệnh gọi predict riêng lẻ báo cáo độ trễ trên mỗi ảnh, đây là một đại lượng khác.

Ứng dụng thực tế#

Ultralytics YOLO trên phần cứng Axelera hỗ trợ các giải pháp điện toán biên tiên tiến:

  1. Huấn luyện model bằng Train Mode của Ultralytics
  2. Xuất sang định dạng Axelera bằng model.export(format="axelera")
  3. Xác thực độ chính xác bằng yolo val để xác minh mức suy giảm do lượng tử hóa là tối thiểu
  4. Dự đoán bằng yolo predict để xác thực định tính
  5. Triển khai vào pipeline đầu cuối hiệu năng cao mà không phụ thuộc vào PyTorch — xem các ví dụ YOLO trên Voyager SDK để tham khảo pipeline Python có thể kết hợp, sử dụng axelera-rt

Kiểm tra tình trạng thiết bị#

Xác minh thiết bị Axelera của bạn đang hoạt động bình thường:

# if axdevice cannot be found, please run at least one inference (see above) to ensure the required packages are installed
axdevice

Để xem chẩn đoán chi tiết, hãy tham khảo tài liệu AxDevice.

Hiệu năng tối đa#

Model được biên dịch cho một hình ảnh duy nhất và một hình ảnh chỉ chạy trên một lõi AIPU. Truyền nhiều hình ảnh cho Predict sẽ chuyển tất cả cùng lúc cho bộ lập lịch Axelera, bộ lập lịch này phân bổ chúng trên các lõi của thiết bị:

yolo predict model=yolo26n_axelera_model source=path/to/images batch=32

yolo26n tại imgsz=640 trên 128 hình ảnh COCO128 trong một thư mục, Metis PCIe, giá trị trung vị của ba lần chạy:

Voyager SDKThiết bịbatch=1batch=8batch=32
1.8.0136 hình ảnh/giây45 hình ảnh/giây40 hình ảnh/giây
1.8.0239 hình ảnh/giây41 hình ảnh/giây41 hình ảnh/giây
1.9.0141 hình ảnh/giây85 hình ảnh/giây109 hình ảnh/giây
1.9.0235 hình ảnh/giây83 hình ảnh/giây113 hình ảnh/giây

Trên SDK 1.9, batch giúp tăng thông lượng, lên 2,7 lần tại batch=32, trong khi phiên bản 1.8 duy trì gần 40 hình ảnh/giây ở mọi kích thước batch. Dùng batch lớn để đạt thông lượng cao khi xử lý ngoại tuyến và dùng batch=1 khi độ trễ trên mỗi hình ảnh là yếu tố quan trọng. Thiết bị thứ hai chỉ cải thiện đôi chút cho predict: tại batch=32, mỗi hình ảnh đã mất khoảng 4 ms cho bước tiền xử lý trên host, tương đương thời gian xử lý trên thiết bị.

Ngoài predict#

Đối với môi trường production cần thông lượng tối đa, Axelera Voyager SDK cung cấp:

  • Pipeline suy luận streaming duy trì nhiều frame đang được xử lý
  • Biên dịch một model trên nhiều lõi
  • Suy luận theo vùng chia ô cho camera độ phân giải cao hơn

Các phương thức đó bỏ qua bước tiền xử lý và hậu xử lý PyTorch mà predict thực hiện trên host. Xem model-zoo để tham khảo benchmark FPS hoặc liên hệ Axelera để được hỗ trợ triển khai sản xuất.

Các vấn đề đã biết#

Các hạn chế đã biết
  • Hạn chế về nguồn điện của M.2: Các model lớn hoặc cực lớn có thể gặp lỗi runtime trên bộ tăng tốc M.2 do giới hạn nguồn cấp.

Để được hỗ trợ, hãy truy cập Cộng đồng Axelera.

Câu hỏi thường gặp#

  • Voyager SDK hỗ trợ xuất các model YOLOv8, YOLO11 và YOLO26. Xem Các tác vụ được hỗ trợ để biết những tác vụ có sẵn cho từng model.

  • Có. Mọi model được huấn luyện bằng Train Mode của Ultralytics đều có thể xuất sang định dạng Axelera, miễn là model sử dụng các layer và phép toán được hỗ trợ.

  • Voyager SDK của Axelera tự động lượng tử hóa model cho kiến trúc AIPU độ chính xác hỗn hợp. Với phần lớn tác vụ phát hiện đối tượng, lợi ích về hiệu năng (FPS cao hơn, mức tiêu thụ điện năng thấp hơn) vượt xa mức ảnh hưởng tối thiểu đến mAP. Thời gian lượng tử hóa dao động từ vài giây đến vài giờ tùy theo kích thước model. Chạy yolo val sau khi xuất để xác minh độ chính xác.

  • Chúng tôi khuyến nghị dùng từ 100 đến 400 ảnh. Dùng hơn 400 ảnh không mang lại lợi ích bổ sung mà còn làm tăng thời gian lượng tử hóa. Hãy thử nghiệm với 100, 200 và 400 ảnh để tìm ra mức cân bằng tối ưu.

  • SDK, driver và công cụ biên dịch có sẵn tại Cổng thông tin dành cho nhà phát triển Axelera.

Bình luận