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.
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ẩm | Dạng thiết bị | Năng lực tính toán | Hiệu năng (INT8) | Ứng dụng mục tiêu |
|---|---|---|---|---|
| Metis PCIe x4 | PCIe Gen3 x16 | 4x Metis AIPU | 856 TOPS | Phân tích video mật độ cao, thành phố thông minh |
| Metis PCIe x1 | PCIe Gen3 x1 | 1x Metis AIPU | 214 TOPS | PC công nghiệp, quản lý hàng đợi trong bán lẻ |
| Metis M.2 | M.2 2280 M-Key | 1x Metis AIPU | 214 TOPS | Drone, robot, thiết bị y tế di động |
| Metis M.2 MAX | M.2 2280 | 1x Metis AIPU | 214 TOPS | Mô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.
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#
Để 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-dkms1.7.0 trở lên, được cài đặt riêng vớipip - Dependency hệ thống:
sudo apt install libgl1(OpenCV yêu cầu, không được bao gồm thông quapip)
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#
-
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" -
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" -
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-dkms1.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
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:0Xem 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 metisSau đó chạy lại axdevice để xác nhận thiết bị được phát hiệ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/simpleSDK 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.
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'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")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ểu | Mặc định | Mô tả |
|---|---|---|---|
format | str | 'axelera' | Định dạng đích cho phần cứng Axelera Metis AIPU. |
imgsz | int hoặc tuple | 640 | Kích thước ảnh đầu vào của model. |
batch* | int | 1 | Kích thước batch hiệu chỉnh. Model đã biên dịch xử lý từng hình ảnh một. |
quantize | int hoặc str | 8/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. |
data | str | None | Tệ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ụ. |
fraction | float, int hoặc list | 1.0 | Tậ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). |
device | str | None | Thiế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.
| Model | FPS của Metis PCIe (khung hình/giây) | FPS của Metis M.2 (khung hình/giây) |
|---|---|---|
| YOLOv8n | 847 | 771 |
| YOLO11n | 746 | 574 |
| YOLO26n | 648.6 | 484.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:
- Bán lẻ thông minh: Đếm đối tượng theo thời gian thực và phân tích heatmap để tối ưu hóa cửa hàng.
- An toàn công nghiệp: Phát hiện PPE độ trễ thấp trong môi trường sản xuất.
- Phân tích bằng drone: Phát hiện đối tượng tốc độ cao trên UAV phục vụ nông nghiệp và tìm kiếm cứu nạn.
- Hệ thống giao thông: Nhận dạng biển số và ước tính tốc độ trên thiết bị biên.
Quy trình được khuyến nghị#
- Huấn luyện model bằng Train Mode của Ultralytics
- Xuất sang định dạng Axelera bằng
model.export(format="axelera") - 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 - Dự đoán bằng
yolo predictđể xác thực định tính - 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=32yolo26n 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 SDK | Thiết bị | batch=1 | batch=8 | batch=32 |
|---|---|---|---|---|
| 1.8.0 | 1 | 36 hình ảnh/giây | 45 hình ảnh/giây | 40 hình ảnh/giây |
| 1.8.0 | 2 | 39 hình ảnh/giây | 41 hình ảnh/giây | 41 hình ảnh/giây |
| 1.9.0 | 1 | 41 hình ảnh/giây | 85 hình ảnh/giây | 109 hình ảnh/giây |
| 1.9.0 | 2 | 35 hình ảnh/giây | 83 hình ảnh/giây | 113 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#
- 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 valsau 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.