Axelera AI 내보내기 및 배포#
Ultralytics는 Axelera AI와 협력하여 Edge AI 디바이스에서 고성능·고에너지 효율 추론을 지원합니다. Ultralytics YOLO 모델을 Voyager SDK를 사용해 Metis® AIPU로 직접 내보내고 배포하세요.
Axelera AI는 독자적인 데이터플로 아키텍처와 메모리 내 컴퓨팅을 활용해 엣지에서 컴퓨터 비전을 위한 전용 하드웨어 가속을 제공하며, 낮은 전력 소비로 최대 856 TOPS를 구현합니다.
적합한 하드웨어 선택#
Axelera AI는 다양한 배포 제약 조건에 맞는 여러 폼 팩터를 제공합니다. 아래 차트를 통해 Ultralytics YOLO 배포에 최적의 하드웨어를 선택할 수 있습니다.
하드웨어 제품군#
Axelera 하드웨어 제품군은 높은 와트당 FPS 효율로 Ultralytics YOLO26 및 이전 버전을 실행하도록 최적화되어 있습니다.
가속기 카드#
이 카드를 사용하면 기존 호스트 디바이스에 AI 가속 기능을 추가하여 기존 인프라 활용 배포를 구현할 수 있습니다.
| 제품 | 폼 팩터 | 컴퓨팅 | 성능(INT8) | 대상 애플리케이션 |
|---|---|---|---|---|
| Metis PCIe x4 | PCIe Gen3 x16 | 4x Metis AIPU | 856 TOPS | 고밀도 비디오 분석, 스마트 시티 |
| Metis PCIe x1 | PCIe Gen3 x1 | 1x Metis AIPU | 214 TOPS | 산업용 PC, 소매점 대기열 관리 |
| 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와 Rockchip RK3588 ARM CPU를 결합한 독립형 엣지 디바이스입니다.
- 워크스테이션: Dell(Precision 3460XE) 및 Lenovo(ThinkStation P360 Ultra)의 엔터프라이즈 타워형 시스템입니다.
- 산업용 PC: 제조 자동화를 위해 설계된 Advantech 및 Aetina의 견고한 시스템입니다.
지원 작업#
깊이 추정은 지원되지 않습니다. 깊이 헤드가 Metis AIPU 컴파일러에서 낮은 수준 연산으로 변환할 수 없는 연산자를 출력하기 때문입니다. YOLO26 인스턴스 세그멘테이션도 Ultralytics export에서 지원되지 않지만, 아래 설명과 같이 Voyager SDK를 통해 배포할 수 있습니다. YOLO26 시맨틱 세그멘테이션은 지원됩니다.
YOLO26 인스턴스 세그멘테이션은 아직 Ultralytics export 명령을 통해 지원되지 않습니다. 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 커널 드라이버:
pip과 별도로 설치된metis-dkms1.6.2 이상 - 시스템 종속성:
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에 저장소를 추가합니다.
사용 중인 OS에 맞는 아래 명령을 선택하세요.
# 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에는
metis-dkms1.6.2 이상이 필요하므로 여기서는 최신 버전을 설치합니다.sudo apt update sudo apt install -y metis-dkms sudo modprobe metis
커널 드라이버는 Python SDK 패키지와 별도로 설치되므로 SDK를 업그레이드한 후에는 드라이버도 해당 SDK의 최소 요구 버전( SDK 1.8의 경우 1.6.2)까지 업데이트해야 합니다. 설치 시에는 이 버전이 확인되지 않으며, 최소 버전보다 낮은 드라이버를 사용하면 디바이스를 사용할 수 없습니다. 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:03단계: Metis 커널 드라이버 설치도 참조하세요. Ubuntu에서 이전 SDK를 사용 중이라면 드라이버를 업데이트하고 커널 모듈을 다시 로드하세요(재부팅할 필요 없음).
sudo apt update
sudo apt install -y metis-dkms
sudo rmmod metis
sudo modprobe metis그런 다음 axdevice을 다시 실행하여 디바이스가 감지되는지 확인합니다.
Axelera 모델을 사용한 첫 yolo export format=axelera 또는 yolo predict 실행 시 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/simpleSDK 1.8에서는 컴파일된 .axm 모델 형식 버전이 상향되므로 이전 SDK로 생성한 _axelera_model 디렉터리는 로드 시 거부됩니다. 업그레이드 후 각 모델을 다시 내보내세요.
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/auto | 양자화 정밀도입니다. Axelera AIPU에는 8(INT8)이 필요하며 자동으로 활성화됩니다. 더 이상 사용되지 않는 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 벤치마크#
Metis AIPU는 에너지 소비를 최소화하면서 처리량을 극대화합니다.
| 모델 | Metis PCIe FPS(초당 프레임 수) | Metis M.2 FPS(초당 프레임 수) |
|---|---|---|
| YOLOv8n | 847 | 771 |
| YOLO11n | 746 | 574 |
| YOLO26n | 648.6 | 484.9 |
Axelera AI 데이터 기반 벤치마크입니다. 실제 FPS는 모델 크기, 배치 처리, 입력 해상도에 따라 달라집니다.
이는 호스트 처리량 수치로, 720p 비디오 파일에서 Voyager SDK의 스트리밍 파이프라인을 사용해 모델 동물원에서 측정했습니다. 단일 predict 호출은 대신 이미지별 지연 시간을 보고하며, 이는 다른 측정값입니다.
실제 애플리케이션#
Ultralytics YOLO를 Axelera 하드웨어에서 실행하면 고급 엣지 컴퓨팅 솔루션을 구현할 수 있습니다:
- 스마트 리테일: 매장 최적화를 위한 실시간 객체 카운팅 및 히트맵 분석.
- 산업 안전: 제조 환경에서 지연 시간이 짧은 PPE 감지.
- 드론 분석: 농업 및 수색·구조 작업을 위해 UAV에서 고속 객체 감지를 수행합니다.
- 교통 시스템: 엣지 기반 차량 번호판 인식 및 속도 추정.
권장 워크플로#
- Ultralytics Train Mode를 사용해 모델을 학습합니다.
model.export(format="axelera")을 사용해 Axelera 형식으로 내보냅니다.yolo val을 사용해 정확도를 검증하고 양자화 손실을 최소화합니다.- 정성적 검증을 위해
yolo predict을 사용해 예측합니다. - PyTorch 종속성 없이 고성능 엔드 투 엔드 파이프라인에 배포합니다.
axelera-rt을 사용한 조합 가능한 Python 파이프라인은 Voyager SDK의 YOLO 예제를 참조하세요.
장치 상태 점검#
Axelera 장치가 정상적으로 작동하는지 확인합니다:
# if axdevice cannot be found, please run at least one inference (see above) to ensure the required packages are installed
axdevice자세한 진단 정보는 AxDevice 문서를 참조하세요.
최대 성능#
모델은 단일 이미지용으로 컴파일됩니다. 여러 이미지를 Predict에 전달하면 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 커뮤니티를 방문하세요.
자주 묻는 질문#
예. 지원되는 레이어와 연산을 사용하는 경우, Ultralytics Train Mode로 학습한 모든 모델을 Axelera 형식으로 내보낼 수 있습니다.
이미지 100~400장을 권장합니다. 400장을 초과해도 추가적인 이점은 없으며 양자화 시간이 늘어납니다. 최적의 균형을 찾으려면 이미지 100장, 200장, 400장으로 실험해 보세요.
SDK, 드라이버, 컴파일러 도구는 Axelera Developer Portal에서 이용할 수 있습니다.