빠른 시작 가이드: Ultralytics YOLO26을 사용하는 NVIDIA Jetson#
이 종합 가이드에서는 NVIDIA Jetson 디바이스에 Ultralytics YOLO26을 배포하는 방법을 자세히 안내합니다. 또한 이러한 작고 강력한 디바이스에서 YOLO26의 성능을 보여 주는 벤치마크를 제공합니다.
최대 2070 FP4 TFLOPS의 AI 연산 성능과 128GB의 메모리를 제공하며 전력 소비를 40W에서 130W 사이로 구성할 수 있는 최신 NVIDIA Jetson AGX Thor Developer Kit를 반영하여 이 가이드를 업데이트했습니다. NVIDIA Jetson AGX Orin보다 7.5배 이상 높은 AI 연산 성능과 3.5배 향상된 에너지 효율을 제공하여 가장 널리 사용되는 AI 모델을 원활하게 실행할 수 있습니다.
Watch: How to use Ultralytics YOLO26 on NVIDIA Jetson Devices

이 가이드는 최신 안정 버전인 JetPack 7.2를 실행하는 NVIDIA Jetson AGX Thor Developer Kit (Jetson T5000) 및 NVIDIA Jetson AGX Orin Developer Kit (64GB), JetPack 릴리스 JP6.1을 실행하는 NVIDIA Jetson Orin Nano Super Developer Kit, JetPack 릴리스 JP6.0/ JetPack 릴리스 JP5.1.3을 실행하는 NVIDIA Jetson Orin NX 16GB 기반의 Seeed Studio reComputer J4012, JetPack 릴리스 JP4.6.1을 실행하는 NVIDIA Jetson Nano 4GB 기반의 Seeed Studio reComputer J1020 v2에서 테스트되었습니다. 최신 디바이스와 레거시 디바이스를 포함한 모든 NVIDIA Jetson 하드웨어 제품군에서 작동할 것으로 예상됩니다.
NVIDIA Jetson이란 무엇인가요?#
NVIDIA Jetson은 엣지 디바이스에 가속화된 AI(인공지능) 연산을 제공하도록 설계된 임베디드 컴퓨팅 보드 시리즈입니다. 이 작고 강력한 디바이스는 NVIDIA의 GPU 아키텍처를 기반으로 하며, 클라우드 컴퓨팅 리소스에 의존하지 않고 디바이스에서 직접 복잡한 AI 알고리즘과 딥러닝 모델을 실행할 수 있습니다. Jetson 보드는 로보틱스, 자율주행 차량, 산업 자동화 및 낮은 지연 시간과 높은 효율로 AI 추론을 로컬에서 수행해야 하는 기타 애플리케이션에 자주 사용됩니다. 또한 이러한 보드는 ARM64 아키텍처를 기반으로 하며 기존 GPU 컴퓨팅 디바이스보다 낮은 전력으로 작동합니다.
NVIDIA Jetson 시리즈 비교#
NVIDIA Jetson AGX Thor는 NVIDIA Blackwell 아키텍처를 기반으로 하는 최신 NVIDIA Jetson 제품군으로, 이전 세대와 비교해 AI 성능이 크게 향상되었습니다. 아래 표에서는 해당 생태계의 일부 Jetson 디바이스를 비교합니다.
| Jetson AGX Thor(T5000) | Jetson AGX Orin 64GB | Jetson Orin NX 16GB | Jetson Orin Nano Super | Jetson AGX Xavier | Jetson Xavier NX | Jetson Nano | |
|---|---|---|---|---|---|---|---|
| AI 성능 | 2070 TFLOPS | 275 TOPS | 100 TOPS | 67 TOPS | 32 TOPS | 21 TOPS | 472 GFLOPS |
| GPU | 96 Tensor Cores를 탑재한 2560코어 NVIDIA Blackwell 아키텍처 GPU | 64 Tensor Cores를 탑재한 2048코어 NVIDIA Ampere 아키텍처 GPU | 32 Tensor Cores를 탑재한 1024코어 NVIDIA Ampere 아키텍처 GPU | 32 Tensor Cores를 탑재한 1024코어 NVIDIA Ampere 아키텍처 GPU | 64 Tensor Cores를 탑재한 512코어 NVIDIA Volta 아키텍처 GPU | 48 Tensor Cores를 탑재한 384코어 NVIDIA Volta™ 아키텍처 GPU | 128코어 NVIDIA Maxwell™ 아키텍처 GPU |
| GPU 최대 주파수 | 1.57 GHz | 1.3 GHz | 918 MHz | 1020 MHz | 1377 MHz | 1100 MHz | 921MHz |
| CPU | 14코어 Arm® Neoverse®-V3AE 64비트 CPU, 1MB L2 + 16MB L3 | 12코어 NVIDIA Arm® Cortex A78AE v8.2 64비트 CPU, 3MB L2 + 6MB L3 | 8코어 NVIDIA Arm® Cortex A78AE v8.2 64비트 CPU, 2MB L2 + 4MB L3 | 6코어 Arm® Cortex®-A78AE v8.2 64비트 CPU, 1.5MB L2 + 4MB L3 | 8코어 NVIDIA Carmel Arm®v8.2 64비트 CPU, 8MB L2 + 4MB L3 | 6코어 NVIDIA Carmel Arm®v8.2 64비트 CPU, 6MB L2 + 4MB L3 | 쿼드 코어 Arm® Cortex®-A57 MPCore 프로세서 |
| CPU 최대 주파수 | 2.6 GHz | 2.2 GHz | 2.0 GHz | 1.7 GHz | 2.2 GHz | 1.9 GHz | 1.43GHz |
| 메모리 | 128GB 256비트 LPDDR5X 273GB/s | 64GB 256비트 LPDDR5 204.8GB/s | 16GB 128비트 LPDDR5 102.4GB/s | 8GB 128비트 LPDDR5 102GB/s | 32GB 256비트 LPDDR4x 136.5GB/s | 8GB 128비트 LPDDR4x 59.7GB/s | 4GB 64비트 LPDDR4 25.6GB/s |
더 자세한 비교 표는 공식 NVIDIA Jetson 페이지의 사양 비교 섹션을 참조하세요.
NVIDIA JetPack이란 무엇인가요?#
Jetson 모듈을 구동하는 NVIDIA JetPack SDK는 엔드투엔드 가속 AI 애플리케이션을 구축하기 위한 가장 종합적인 개발 환경을 제공하며 출시까지 걸리는 시간을 단축합니다. JetPack에는 부트로더, Linux 커널, Ubuntu 데스크톱 환경 및 GPU 컴퓨팅, 멀티미디어, 그래픽, 컴퓨터 비전 가속을 위한 전체 라이브러리 세트를 포함하는 Jetson Linux가 포함되어 있습니다. 또한 호스트 컴퓨터와 개발 키트 모두를 위한 샘플, 문서, 개발자 도구를 제공하며, 스트리밍 비디오 분석을 위한 DeepStream, 로보틱스를 위한 Isaac, 대화형 AI를 위한 Riva와 같은 상위 수준 SDK를 지원합니다.
NVIDIA Jetson에 JetPack 플래시하기#
NVIDIA Jetson 디바이스를 준비한 후 가장 먼저 할 일은 디바이스에 NVIDIA JetPack을 플래시하는 것입니다. NVIDIA Jetson 디바이스를 플래시하는 방법은 여러 가지가 있습니다.
- 공식 Jetson AGX Thor, AGX Orin 또는 Orin Nano Developer Kit에서 JetPack 7.2를 사용하려면 통합 Jetson ISO를 다운로드하여 USB 플래시 드라이브에 기록한 다음 AGX Thor, AGX Orin 또는 Orin Nano에 해당하는 디바이스별 빠른 시작 가이드를 따르세요. JetPack 7.2부터 Orin Nano는 더 이상 다운로드 가능한 SD 카드 이미지를 사용하지 않습니다. ISO USB 설치 프로그램이 디바이스의 microSD 카드 또는 NVMe SSD에 Jetson Linux를 설치합니다.
- Jetson Orin Nano Developer Kit에서 JetPack 6을 의도적으로 사용하려는 경우 NVIDIA의 JetPack 6.x 업데이트 및 SD 카드 지침을 따르세요.
- 다른 NVIDIA Development Kit을 보유하고 있다면 SDK Manager를 사용하여 디바이스에 JetPack을 플래시할 수 있습니다.
- Seeed Studio reComputer J4012 디바이스를 보유하고 있다면 포함된 SSD에 JetPack을 플래시할 수 있으며, Seeed Studio reComputer J1020 v2 디바이스를 보유하고 있다면 eMMC/SSD에 JetPack을 플래시할 수 있습니다.
- NVIDIA Jetson 모듈로 구동되는 다른 타사 디바이스를 보유하고 있다면 명령줄 플래시 방법을 따르는 것이 좋습니다.
위의 방법 1, 4, 5를 사용하는 경우 시스템을 플래시하고 디바이스를 부팅한 후 디바이스 터미널에서 "sudo apt update && sudo apt install nvidia-jetpack -y"를 실행하여 필요한 나머지 JetPack 구성 요소를 모두 설치하세요.
Jetson 디바이스별 JetPack 지원#
아래 표에서는 다양한 NVIDIA Jetson 디바이스에서 지원되는 NVIDIA JetPack 버전을 보여 줍니다.
| JetPack 4 | JetPack 5 | JetPack 6 | JetPack 7 | |
|---|---|---|---|---|
| Jetson Nano | ✅ | ❌ | ❌ | ❌ |
| Jetson TX2 | ✅ | ❌ | ❌ | ❌ |
| Jetson Xavier NX | ✅ | ✅ | ❌ | ❌ |
| Jetson AGX Xavier | ✅ | ✅ | ❌ | ❌ |
| Jetson AGX Orin | ❌ | ✅ | ✅ | ✅ |
| Jetson Orin NX | ❌ | ✅ | ✅ | ✅ |
| Jetson Orin Nano | ❌ | ✅ | ✅ | ✅ |
| Jetson AGX Thor | ❌ | ❌ | ❌ | ✅ |
Docker로 빠르게 시작하기#
NVIDIA Jetson에서 Ultralytics YOLO26을 가장 빠르게 시작하는 방법은 Jetson용 사전 빌드 Docker 이미지를 사용하여 실행하는 것입니다. 위 표를 참조하여 보유한 Jetson 디바이스에 맞는 JetPack 버전을 선택하세요.
t=ultralytics/ultralytics:latest-jetson-jetpack4
sudo docker pull $t && sudo docker run -it --ipc=host --runtime=nvidia $tlatest-nvidia-arm64 이미지는 CUDA 13.4 및 TensorRT 11.2를 포함하는 NVIDIA PyTorch 26.08을(를) 사용합니다. NVIDIA은(는) 호환성 표에 PyTorch용 JetPack 7.1을(를) 나열하지만, TensorRT 11.2.1은(는) Thor을(를) 포함하여 JetPack을(를) 지원하지 않습니다. 지원되는 호스트의 PyTorch 워크로드에만 이 이미지를 사용하십시오. Jetson TensorRT 내보내기의 경우 JetPack 릴리스에서 지원하는 TensorRT 10.x 런타임과 함께 아래의 기본 설치를 사용하십시오. Thor 또는 Orin의 JetPack 7.2에는 별도의 컨테이너 유효성 검사가 필요합니다. 대상 GPU 및 TensorRT 버전에 맞게 엔진을 다시 빌드하십시오.
JetPack 4, 5 및 6 이미지의 경우 NVIDIA Jetson에서 TensorRT 사용을(를) 계속 참고하십시오. 위의 JetPack 7.1 이미지는 PyTorch 워크로드 전용입니다.
네이티브 설치로 시작하기#
Docker 없이 네이티브로 설치하려면 아래 단계를 참조하세요.
JetPack 7.2에서 실행하기#
Ultralytics 패키지 설치#
여기서는 Jetson에 Ultralytics 패키지를 설치합니다. 내보내기 종속성은 모델을 처음 내보낼 때 자동으로 설치되므로 여기서는 기본 패키지만 필요합니다. TensorRT가 Jetson 디바이스에서 최고의 성능을 이끌어 낼 수 있도록 주로 NVIDIA TensorRT 내보내기에 중점을 둡니다.
-
패키지 목록을 업데이트하고 pip를 설치한 후 최신 버전으로 업그레이드하기
sudo apt update sudo apt install python3-pip -y pip install -U pip -
ultralyticspip 패키지 설치pip install ultralytics -
디바이스 재부팅
sudo reboot
PyTorch 및 Torchvision 설치#
위의 ultralytics 설치 과정에서 Torch와 Torchvision이 설치됩니다. 그러나 pip를 통해 설치된 이 두 패키지는 CUDA 13을 사용하는 JetPack 7.2 디바이스에서 실행하기에 호환되지 않습니다. 따라서 수동으로 설치해야 합니다.
JP7.2에 맞는 torch 및 torchvision 설치
pip install torch torchvision --index-url https://download.pytorch.org/whl/cu130onnxruntime-gpu 설치#
JetPack, Python 및 CUDA 버전과 일치하는 ONNX Runtime GPU 휠을 사용하십시오. 현재 PyPI 릴리스에는 ARM64 휠이 포함되어 있지만, 모든 JetPack 릴리스에 대한 디바이스 전용 패키지를 대체하지는 않습니다.
여기서는 Python3.12을 지원하는 onnxruntime-gpu 1.24.0을 다운로드하여 설치합니다.
pip install https://github.com/ultralytics/assets/releases/download/v0.0.0/onnxruntime_gpu-1.24.0-cp312-cp312-linux_aarch64.whlJetPack 6.1에서 실행하기#
Ultralytics 패키지 설치#
여기서는 Jetson에 Ultralytics 패키지를 설치합니다. 내보내기 종속성은 모델을 처음 내보낼 때 자동으로 설치되므로 여기서는 기본 패키지만 필요합니다. TensorRT가 Jetson 디바이스에서 최고의 성능을 이끌어 낼 수 있도록 주로 NVIDIA TensorRT 내보내기에 중점을 둡니다.
-
패키지 목록을 업데이트하고 pip를 설치한 후 최신 버전으로 업그레이드하기
sudo apt update sudo apt install python3-pip -y pip install -U pip -
ultralyticspip 패키지 설치pip install ultralytics -
디바이스 재부팅
sudo reboot
PyTorch 및 Torchvision 설치#
위의 ultralytics 설치 과정에서 Torch와 Torchvision이 설치됩니다. 그러나 pip를 통해 설치된 이 두 패키지는 ARM64 아키텍처를 기반으로 하는 Jetson 플랫폼과 호환되지 않습니다. 따라서 사전 빌드된 PyTorch pip wheel을 수동으로 설치하고 Torchvision을 소스에서 컴파일하거나 설치해야 합니다.
JP6.1에 맞는 torch 2.10.0 및 torchvision 0.25.0 설치
pip install https://github.com/ultralytics/assets/releases/download/v0.0.0/torch-2.10.0-cp310-cp310-linux_aarch64.whl
pip install https://github.com/ultralytics/assets/releases/download/v0.0.0/torchvision-0.25.0-cp310-cp310-linux_aarch64.whlJetson용 PyTorch 페이지에서 다양한 JetPack 버전에 대한 모든 PyTorch 버전에 액세스할 수 있습니다. PyTorch와 Torchvision의 호환성에 대한 자세한 목록은 PyTorch 및 Torchvision 호환성 페이지를 참조하세요.
torch 2.10.0의 종속성 문제를 해결하려면 cuDSS을 설치하세요.
wget https://developer.download.nvidia.com/compute/cudss/0.7.1/local_installers/cudss-local-tegra-repo-ubuntu2204-0.7.1_0.7.1-1_arm64.deb
sudo dpkg -i cudss-local-tegra-repo-ubuntu2204-0.7.1_0.7.1-1_arm64.deb
sudo cp /var/cudss-local-tegra-repo-ubuntu2204-0.7.1/cudss-*-keyring.gpg /usr/share/keyrings/
sudo apt-get update
sudo apt-get -y install cudssonnxruntime-gpu 설치#
JetPack, Python 및 CUDA 버전과 일치하는 ONNX Runtime GPU 휠을 사용하십시오. 현재 PyPI 릴리스에는 ARM64 휠이 포함되어 있지만, 모든 JetPack 릴리스에 대한 디바이스 전용 패키지를 대체하지는 않습니다.
사용 가능한 모든 onnxruntime-gpu 패키지는 JetPack 버전, Python 버전 및 기타 호환성 세부 정보별로 정리되어 Jetson Zoo ONNX Runtime 호환성 매트릭스에 제공됩니다.
Python 3.10을 지원하는 JetPack 6에서는 다음과 같이 onnxruntime-gpu 1.23.0을 설치할 수 있습니다.
pip install https://github.com/ultralytics/assets/releases/download/v0.0.0/onnxruntime_gpu-1.23.0-cp310-cp310-linux_aarch64.whl또는 onnxruntime-gpu 1.20.0의 경우:
pip install https://github.com/ultralytics/assets/releases/download/v0.0.0/onnxruntime_gpu-1.20.0-cp310-cp310-linux_aarch64.whlJetPack 5.1.2에서 실행하기#
Ultralytics 패키지 설치#
여기서는 Jetson에 Ultralytics 패키지를 설치합니다. 내보내기 종속성은 모델을 처음 내보낼 때 자동으로 설치되므로 여기서는 기본 패키지만 필요합니다. TensorRT가 Jetson 디바이스에서 최고의 성능을 이끌어 낼 수 있도록 주로 NVIDIA TensorRT 내보내기에 중점을 둡니다.
-
패키지 목록을 업데이트하고 pip를 설치한 후 최신 버전으로 업그레이드하기
sudo apt update sudo apt install python3-pip -y pip install -U pip -
ultralyticspip 패키지 설치pip install ultralytics -
디바이스 재부팅
sudo reboot
PyTorch 및 Torchvision 설치#
위의 ultralytics 설치 과정에서 Torch와 Torchvision이 설치됩니다. 그러나 pip를 통해 설치된 이 두 패키지는 ARM64 아키텍처를 기반으로 하는 Jetson 플랫폼과 호환되지 않습니다. 따라서 사전 빌드된 PyTorch pip wheel을 수동으로 설치하고 Torchvision을 소스에서 컴파일하거나 설치해야 합니다.
-
현재 설치된 PyTorch 및 Torchvision 제거
pip uninstall torch torchvision -
JP5.1.2에 맞는
torch 2.1.0및torchvision 0.16.2설치pip install https://github.com/ultralytics/assets/releases/download/v0.0.0/torch-2.1.0a0+41361538.nv23.06-cp38-cp38-linux_aarch64.whl pip install https://github.com/ultralytics/assets/releases/download/v0.0.0/torchvision-0.16.2+c6f3977-cp38-cp38-linux_aarch64.whl
Jetson용 PyTorch 페이지에서 다양한 JetPack 버전에 대한 모든 PyTorch 버전에 액세스할 수 있습니다. PyTorch와 Torchvision의 호환성에 대한 자세한 목록은 PyTorch 및 Torchvision 호환성 페이지를 참조하세요.
onnxruntime-gpu 설치#
JetPack, Python 및 CUDA 버전과 일치하는 ONNX Runtime GPU 휠을 사용하십시오. 현재 PyPI 릴리스에는 ARM64 휠이 포함되어 있지만, 모든 JetPack 릴리스에 대한 디바이스 전용 패키지를 대체하지는 않습니다.
사용 가능한 모든 onnxruntime-gpu 패키지는 JetPack 버전, Python 버전 및 기타 호환성 세부 정보별로 정리되어 Jetson Zoo ONNX Runtime 호환성 매트릭스에 제공됩니다. 여기서는 Python3.8을 지원하는 onnxruntime-gpu 1.17.0를 다운로드하여 설치합니다.
wget https://nvidia.box.com/shared/static/zostg6agm00fb6t5uisw51qi6kpcuwzd.whl -O onnxruntime_gpu-1.17.0-cp38-cp38-linux_aarch64.whl
pip install onnxruntime_gpu-1.17.0-cp38-cp38-linux_aarch64.whlonnxruntime-gpu은 NumPy 버전을 자동으로 최신 버전으로 되돌립니다. 따라서 다음 명령을 실행하여 문제를 해결할 수 있도록 NumPy를 1.23.5로 다시 설치해야 합니다.
pip install numpy==1.23.5
NVIDIA Jetson에서 TensorRT 사용하기#
Ultralytics에서 지원하는 모든 모델 내보내기 형식 중에서 TensorRT은(는) NVIDIA Jetson 디바이스에서 가장 높은 추론 성능을 제공하므로 Jetson 배포에 가장 추천하는 방식입니다. 내보내기 전에 JetPack 릴리스용으로 제공되는 TensorRT Python 바인딩을 설치하고 python3 -c "import tensorrt; print(tensorrt.__version__)"을(를) 통해 확인하십시오. JetPack 6/7에서 지원되는 TensorRT 10.x 런타임을 유지하고, TensorRT 11.2.1(으)로 교체하지 마십시오. 설정 지침 및 고급 사용법은 전용 TensorRT 통합 가이드을(를) 참조하십시오.
로컬에서 빌드 환경을 구성하지 않고도 브라우저에서 내보낼 수 있습니다. Ultralytics Platform 모델 내보내기 탭에서 TensorRT와 원하는 Jetson 대상을 선택하세요. Thor 선택 항목은 실제 Thor 하드웨어에서 검증됩니다. 현재 제공되는 6개의 Orin 선택 항목은 AGX-Orin에서 빌드된 후보 엔진을 생성하므로 배포 전에 대상 Orin SKU에서 검증하세요.
TensorRT는 빌드 GPU에서 엔진의 프로파일링과 튜닝을 수행합니다. 대상의 GPU 아키텍처 및 TensorRT/CUDA 런타임을 일치시키고, 다운로드한 모든 엔진을 배포 디바이스에서 검증하세요. 동일한 아키텍처의 Orin SKU라고 해서 자동으로 이식성이 보장되는 것은 아니며, 최상의 결과를 얻으려면 INT8 보정에 대상 디바이스를 사용해야 합니다.
모델을 TensorRT로 변환하고 inference 실행#
PyTorch 형식의 YOLO26n 모델을 TensorRT로 변환하여 export된 모델로 inference를 실행합니다.
from ultralytics import YOLO
# Load a YOLO26n PyTorch model
model = YOLO("yolo26n.pt")
# Export the model to TensorRT
model.export(format="engine") # creates 'yolo26n.engine'
# Load the exported TensorRT model
trt_model = YOLO("yolo26n.engine")
# Run inference
results = trt_model("https://ultralytics.com/images/bus.jpg")모델을 다른 모델 형식으로 export할 때 사용할 수 있는 추가 인수는 Export 페이지에서 확인하세요.
NVIDIA 딥 러닝 가속기(DLA) 사용#
NVIDIA 딥 러닝 가속기(DLA)는 에너지 효율과 성능을 위해 딥 러닝 추론을 최적화하는 NVIDIA Jetson 디바이스에 내장된 특수 하드웨어 구성 요소입니다. GPU에서 작업을 오프로딩하여 GPU를 더 집약적인 프로세스에 사용할 수 있도록 함으로써, DLA는 높은 처리량을 유지하면서도 더 낮은 전력 소비로 모델을 실행할 수 있도록 하므로 임베디드 시스템과 실시간 AI 애플리케이션에 적합합니다.
NVIDIA은(는) TensorRT 10.7을(를) DLA 지원이 포함된 마지막 릴리스로 나열하며, TensorRT 11.0, 11.1 및 11.2은(는) DLA을(를) 지원하지 않습니다. JetPack 버전에서 지원하는 DLA 호환 TensorRT 릴리스를 사용하십시오. TensorRT 11.2.1은(는) GPU 전용 내보내기를 포함하여 JetPack을(를) 지원하지 않습니다.
다음 Jetson 디바이스에는 DLA 하드웨어가 탑재되어 있습니다.
| Jetson 디바이스 | DLA 코어 | DLA 최대 주파수 |
|---|---|---|
| Jetson AGX Orin 시리즈 | 2 | 1.6 GHz |
| Jetson Orin NX 16GB | 2 | 614 MHz |
| Jetson Orin NX 8GB | 1 | 614 MHz |
| Jetson AGX Xavier 시리즈 | 2 | 1.4 GHz |
| Jetson Xavier NX 시리즈 | 2 | 1.1 GHz |
from ultralytics import YOLO
# Load a YOLO26n PyTorch model
model = YOLO("yolo26n.pt")
# Export the model to TensorRT with DLA enabled (only works with FP16 or INT8)
model.export(format="engine", device="dla:0", quantize=16) # dla:0 or dla:1 corresponds to the DLA cores
# Load the exported TensorRT model
trt_model = YOLO("yolo26n.engine")
# Run inference
results = trt_model("https://ultralytics.com/images/bus.jpg")DLA 내보내기를 사용할 때 일부 레이어는 DLA에서 실행되지 않을 수 있으며, 실행을 위해 GPU로 폴백됩니다. 이러한 폴백은 추가 지연 시간을 발생시키고 전체 추론 성능에 영향을 줄 수 있습니다. 따라서 DLA는 전적으로 GPU에서 실행되는 TensorRT와 비교하여 추론 지연 시간을 줄이는 것이 주된 목적이 아닙니다. 대신 처리량을 늘리고 에너지 효율을 개선하는 것이 주된 목적입니다.
NVIDIA Jetson YOLO26 벤치마크#
YOLO26 벤치마크는 Ultralytics 팀이 11개의 서로 다른 모델 포맷을 대상으로 속도와 정확도를 측정하기 위해 실행했습니다: PyTorch, TorchScript, ONNX, OpenVINO, TensorRT, TF SavedModel, TF GraphDef, TF Lite, MNN, NCNN, ExecuTorch. 벤치마크는 NVIDIA Jetson AGX Thor Developer Kit, NVIDIA Jetson AGX Orin Developer Kit (64GB), NVIDIA Jetson Orin Nano Super Developer Kit 및 Jetson Orin NX 16GB 장치로 구동되는 Seeed Studio reComputer J4012에서 기본 입력 이미지 크기 640의 FP32 정밀도로 실행되었습니다.
비교 차트#
모든 모델 내보내기가 NVIDIA Jetson에서 작동하지만, 아래 비교 차트에는 PyTorch, TorchScript, TensorRT만 포함했습니다. 이러한 형식은 Jetson의 GPU를 사용하며 최상의 결과를 보장하기 때문입니다. 다른 모든 내보내기 형식은 CPU만 사용하므로 위 세 가지 형식만큼 성능이 좋지 않습니다. 모든 내보내기의 벤치마크는 이 차트 다음 섹션에서 확인할 수 있습니다.
NVIDIA Jetson AGX Thor Developer Kit#
NVIDIA Jetson AGX Orin Developer Kit (64GB)#
NVIDIA Jetson Orin Nano Super Developer Kit#
NVIDIA Jetson Orin NX 16GB#
상세 비교 표#
아래 표는 11개의 서로 다른 포맷(PyTorch, TorchScript, ONNX, OpenVINO, TensorRT, TF SavedModel, TF GraphDef, TF Lite, MNN, NCNN, ExecuTorch)에 걸친 5개의 서로 다른 모델(YOLO26n, YOLO26s, YOLO26m, YOLO26l, YOLO26x)의 벤치마크 결과를 나타내며, 각 조합의 상태, 크기, mAP50-95(B) 메트릭 및 추론 시간을 제공합니다.
NVIDIA Jetson AGX Thor Developer Kit#
| 형식 | 상태 | 디스크 크기(MB) | mAP50-95(B) | 추론 시간 (ms/im) |
|---|---|---|---|---|
| PyTorch | ✅ | 5.3 | 0.4798 | 7.39 |
| TorchScript | ✅ | 9.8 | 0.4789 | 4.21 |
| ONNX | ✅ | 9.5 | 0.4767 | 6.58 |
| OpenVINO | ✅ | 10.1 | 0.4794 | 17.50 |
| TensorRT (FP32) | ✅ | 13.9 | 0.4791 | 1.90 |
| TensorRT (FP16) | ✅ | 7.6 | 0.4797 | 1.39 |
| TensorRT (INT8) | ✅ | 6.5 | 0.4273 | 1.52 |
| TF SavedModel | ✅ | 25.7 | 0.4764 | 47.24 |
| TF GraphDef | ✅ | 9.5 | 0.4764 | 45.98 |
| TF Lite | ✅ | 9.9 | 0.4764 | 182.04 |
| MNN | ✅ | 9.4 | 0.4784 | 21.83 |
Ultralytics 8.4.7로 벤치마크 수행
추론 시간에는 전처리 및 후처리가 포함되지 않습니다.
NVIDIA Jetson AGX Orin Developer Kit (64GB)#
| 형식 | 상태 | 디스크 크기(MB) | mAP50-95(B) | 추론 시간 (ms/im) |
|---|---|---|---|---|
| PyTorch | ✅ | 5.3 | 0.4790 | 11.58 |
| TorchScript | ✅ | 9.8 | 0.4770 | 4.60 |
| ONNX | ✅ | 9.5 | 0.4770 | 9.87 |
| OpenVINO | ✅ | 9.6 | 0.4820 | 28.80 |
| TensorRT (FP32) | ✅ | 11.5 | 0.0450 | 4.18 |
| TensorRT (FP16) | ✅ | 7.9 | 0.0450 | 2.62 |
| TensorRT (INT8) | ✅ | 5.4 | 0.4640 | 2.30 |
| TF SavedModel | ✅ | 24.6 | 0.4760 | 71.10 |
| TF GraphDef | ✅ | 9.5 | 0.4760 | 70.02 |
| TF Lite | ✅ | 9.9 | 0.4760 | 227.94 |
| MNN | ✅ | 9.4 | 0.4760 | 32.46 |
| NCNN | ✅ | 9.3 | 0.4810 | 29.93 |
Ultralytics 8.4.32로 벤치마크 수행
추론 시간에는 전처리 및 후처리가 포함되지 않습니다.
NVIDIA Jetson Orin Nano Super Developer Kit#
| 형식 | 상태 | 디스크 크기(MB) | mAP50-95(B) | 추론 시간 (ms/im) |
|---|---|---|---|---|
| PyTorch | ✅ | 5.3 | 0.4790 | 15.60 |
| TorchScript | ✅ | 9.8 | 0.4770 | 12.60 |
| ONNX | ✅ | 9.5 | 0.4760 | 15.76 |
| OpenVINO | ✅ | 9.6 | 0.4820 | 56.23 |
| TensorRT (FP32) | ✅ | 11.3 | 0.4770 | 7.53 |
| TensorRT (FP16) | ✅ | 8.1 | 0.4800 | 4.57 |
| TensorRT (INT8) | ✅ | 5.3 | 0.4490 | 3.80 |
| TF SavedModel | ✅ | 24.6 | 0.4760 | 118.33 |
| TF GraphDef | ✅ | 9.5 | 0.4760 | 116.30 |
| TF Lite | ✅ | 9.9 | 0.4760 | 286.00 |
| MNN | ✅ | 9.4 | 0.4760 | 68.77 |
| NCNN | ✅ | 9.3 | 0.4810 | 47.50 |
Ultralytics 8.4.33으로 벤치마크 수행
추론 시간에는 전처리 및 후처리가 포함되지 않습니다.
NVIDIA Jetson Orin NX 16GB#
| 형식 | 상태 | 디스크 크기(MB) | mAP50-95(B) | 추론 시간 (ms/im) |
|---|---|---|---|---|
| PyTorch | ✅ | 5.3 | 0.4799 | 13.90 |
| TorchScript | ✅ | 9.8 | 0.4787 | 11.60 |
| ONNX | ✅ | 9.5 | 0.4763 | 14.18 |
| OpenVINO | ✅ | 9.6 | 0.4819 | 40.19 |
| TensorRT (FP32) | ✅ | 11.4 | 0.4770 | 7.01 |
| TensorRT (FP16) | ✅ | 8.0 | 0.4789 | 4.13 |
| TensorRT (INT8) | ✅ | 5.5 | 0.4489 | 3.49 |
| TF SavedModel | ✅ | 24.6 | 0.4764 | 92.34 |
| TF GraphDef | ✅ | 9.5 | 0.4764 | 92.06 |
| TF Lite | ✅ | 9.9 | 0.4764 | 254.43 |
| MNN | ✅ | 9.4 | 0.4760 | 48.55 |
| NCNN | ✅ | 9.3 | 0.4805 | 34.31 |
Ultralytics 8.4.33으로 벤치마크 수행
추론 시간에는 전처리 및 후처리가 포함되지 않습니다.
다양한 버전의 NVIDIA Jetson 하드웨어에서 실행된 Seeed Studio의 추가 벤치마크 작업 살펴보기
결과 재현#
위의 Ultralytics 벤치마크를 모든 export 형식에서 재현하려면 다음 코드를 실행합니다:
from ultralytics import YOLO
# Load a YOLO26n PyTorch model
model = YOLO("yolo26n.pt")
# Benchmark YOLO26n speed and accuracy on the COCO128 dataset for all export formats
results = model.benchmark(data="coco128.yaml", imgsz=640)벤치마크 결과는 시스템의 정확한 하드웨어 및 소프트웨어 구성과 벤치마크 실행 당시 시스템의 현재 워크로드에 따라 달라질 수 있습니다. 가장 신뢰할 수 있는 결과를 얻으려면 이미지 수가 많은 데이터셋(예: data='coco.yaml'(val 이미지 5000개))을 사용하세요.
NVIDIA Jetson 사용 시 모범 사례#
YOLO26을 실행하는 NVIDIA Jetson에서 최대 성능을 구현하려면 NVIDIA Jetson 사용 시 몇 가지 모범 사례를 따라야 합니다.
-
MAX Power Mode 활성화
Jetson에서 MAX Power Mode를 활성화하면 모든 CPU 및 GPU 코어가 켜집니다.
sudo nvpmodel -m 0 -
Jetson Clocks 활성화
Jetson Clocks를 활성화하면 모든 CPU 및 GPU 코어가 최대 주파수로 동작합니다.
sudo jetson_clocks -
Jetson Stats 애플리케이션 설치
jetson stats 애플리케이션을 사용하여 시스템 구성 요소의 온도를 모니터링하고, CPU 및 GPU 사용률 확인, RAM 사용률 확인, 전원 모드 변경, 최대 클록 설정, JetPack 정보 확인과 같은 기타 시스템 세부 정보를 확인할 수 있습니다.
sudo apt update sudo pip install jetson-stats sudo reboot jtop
NVIDIA Jetson 메모리 최적화 팁#
사용 가능한 메모리는 Jetson 디바이스에서 제한 요소가 되는 경우가 많으며, 특히 Jetson Orin Nano (8 GB) 또는 Orin NX 8 GB와 같은 저메모리 변형에서 그렇습니다. 아래 팁은 위험이 낮고 실용적인 변경 사항으로, 함께 적용하면 수백 MB의 메모리를 확보하여 더 큰 YOLO 모델을 실행하거나 추가 병렬 워크로드를 지원할 수 있습니다. 종합적인 내용은 Jetson에서 메모리 효율성을 극대화하는 NVIDIA 블로그를 참조하십시오.
1. 헤드리스(GUI 없음) 부팅으로 전환#
Jetson이 SSH를 통해 연결되어 있거나 디스플레이가 연결되지 않은 프로덕션 어플라이언스로 실행되는 경우, 데스크톱 환경과 디스플레이 서버를 제거하면 최대 865 MB의 RAM을 확보할 수 있습니다.
sudo systemctl set-default multi-user.target
sudo reboot나중에 데스크톱을 복원하려면 다음을 수행합니다.
sudo systemctl set-default graphical.target
sudo reboot2. 사용하지 않는 시스템 서비스 비활성화#
필수적이지 않은 백그라운드 서비스(Bluetooth, 연결 관리자, 사용하지 않는 하드웨어 데몬)는 모두 합쳐 약 32 MB를 소비합니다. 활성 서비스를 나열하고 배포에 필요하지 않은 서비스는 비활성화합니다.
# List running services
systemctl list-units --type=service --state=running
# Disable a service
sudo systemctl disable SERVICE_NAME3. 메모리 사용량 프로파일링#
최적화하기 전에 실제로 RAM을 소비하는 프로세스를 확인합니다. procrank은 PSS(비례 집합 크기) 기준으로 프로세스를 정렬합니다. PSS는 RSS(상주 집합 크기, 다른 프로세스와 공유되는 페이지를 포함하여 프로세스가 매핑한 전체 물리적 RAM 페이지)보다 프로세스별 실제 메모리 사용량을 더 정확하게 반영합니다.
git clone https://github.com/csimmonds/procrank_linux.git
cd procrank_linux && make
sudo ./procrank프로세스별 GPU 및 NvMap(CUDA/비디오 파이프라인) 할당을 확인하려면 다음을 실행합니다.
sudo cat /sys/kernel/debug/nvmap/iovmm/clients4. 프로덕션 환경에서 디스플레이 없이 추론 실행#
실시간 미리 보기가 필요하지 않은 추론 파이프라인에서는 디스플레이 관련 구성 요소(Tiler, OSD, DisplaySink)를 비활성화하면 파이프라인만으로 200+ MB를 절약할 수 있습니다. Ultralytics YOLO에서는 뷰어를 숨기고 대신 결과를 디스크에 기록합니다.
from ultralytics import YOLO
model = YOLO("yolo26n.engine")
# show=False prevents any display window; save=True writes annotated output to disk
results = model.predict(source="video.mp4", show=False, save=True)누적 효과#
| 최적화 | 절약되는 메모리(약) |
|---|---|
| 데스크톱 GUI 비활성화 | ~865 MB |
| 사용하지 않는 OS 서비스 비활성화 | ~32 MB |
| 헤드리스 추론 파이프라인(디스플레이 없음) | ~200+ MB |
| 합계(간단한 최적화) | ~1 GB+ |
이러한 변경 사항을 함께 적용하면 메모리가 제한된 디바이스에서 TensorRT INT8 모델을 대상으로 할 때 특히 유용합니다. 더 큰 모델 변형을 메모리에 적재할 수 있는지 여부를 결정할 수 있기 때문입니다.
다음 단계#
추가 학습 및 지원은 Ultralytics YOLO26 Docs를 참조하세요.
FAQ#
NVIDIA Jetson 디바이스에 Ultralytics YOLO26을 배포하는 과정은 간단합니다. 먼저 NVIDIA JetPack SDK로 Jetson 디바이스를 플래시합니다. 그런 다음 빠른 설정을 위해 사전 빌드된 Docker 이미지를 사용하거나 필요한 패키지를 수동으로 설치합니다. 각 접근 방식에 대한 자세한 단계는 Docker로 빠르게 시작하기 및 네이티브 설치로 시작하기 섹션에서 확인할 수 있습니다.
YOLO26 모델은 다양한 NVIDIA Jetson 장치에서 벤치마크되었으며 상당한 성능 향상을 보여주었습니다. 예를 들어, TensorRT 포맷은 최고의 추론 성능을 제공합니다. 상세 비교 표 섹션의 표는 다양한 모델 포맷에 걸쳐 mAP50-95 및 추론 시간과 같은 성능 메트릭에 대한 포괄적인 뷰를 제공합니다.
TensorRT는 최적의 성능을 제공하므로 NVIDIA Jetson에서 YOLO26 모델을 배포하는 데 적극 권장됩니다. Jetson의 GPU 기능을 활용하여 추론을 가속화하고 효율성과 속도를 극대화합니다. TensorRT로 변환하고 추론을 실행하는 방법은 NVIDIA Jetson에서 TensorRT 사용하기 섹션에서 자세히 알아볼 수 있습니다.
NVIDIA Jetson에 PyTorch와 Torchvision을 설치하려면 먼저 pip를 통해 설치되었을 수 있는 기존 버전을 제거합니다. 그런 다음 Jetson의 ARM64 아키텍처와 호환되는 PyTorch 및 Torchvision 버전을 수동으로 설치합니다. 이 과정에 대한 자세한 지침은 PyTorch 및 Torchvision 설치 섹션에서 제공합니다.
YOLO26으로 NVIDIA Jetson의 성능을 극대화하려면 다음 모범 사례를 따르십시오.
- 모든 CPU 및 GPU 코어를 활용하려면 MAX Power Mode를 활성화합니다.
- 모든 코어를 최대 주파수로 실행하려면 Jetson Clocks를 활성화합니다.
- 시스템 지표를 모니터링하려면 Jetson Stats 애플리케이션을 설치합니다.
명령어 및 추가 세부 정보는 NVIDIA Jetson 사용 시 모범 사례 섹션을 참조하십시오.
사용 가능한 RAM은 메모리가 적은 Jetson 디바이스에서 병목이 되는 경우가 많습니다. 다음 세 가지 간단한 최적화를 함께 적용하면 1GB 이상을 확보할 수 있습니다.
- 헤드리스 부팅으로 전환하여(
sudo systemctl set-default multi-user.target) 데스크톱 GUI를 제거합니다(약 ~865 MB 절약). - Bluetooth 또는 연결 관리자와 같은 사용하지 않는 서비스 비활성화(약 ~32 MB 절약).
- YOLO
predict호출에서show=False을 설정하여 디스플레이 없이 추론 실행합니다. 이렇게 하면 디스플레이 파이프라인 메모리 할당을 방지할 수 있습니다(약 ~200+ MB 절약).
프로세스별 RAM 사용량을 프로파일링하려면
procrank을 사용하고, GPU 할당을 확인하려면sudo cat /sys/kernel/debug/nvmap/iovmm/clients을 사용합니다. 자세한 내용은 메모리 최적화 팁 섹션을 참조하십시오.- 헤드리스 부팅으로 전환하여(
JetPack 6에 탑재된 TensorRT 10.3.0에는
nms=False이 활성화된 경우 INT8 엔진 빌드를 방해하는 알려진 문제가 있습니다. Ultralytics가 이 조합을 감지하면, 내보내기가 성공하도록 원투매니 헤드를 자동으로 선택합니다.NMS 없는 INT8 내보내기를 복원하려면 TensorRT를 최신 버전(예: 10.7.0+)으로 업그레이드하세요:
wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/arm64/cuda-keyring_1.1-1_all.deb sudo dpkg -i cuda-keyring_1.1-1_all.deb sudo apt-get update sudo apt-get install -y tensorrt업그레이드한 후 내보내기를 다시 실행합니다. 자세한 내용은 GitHub issue #23841을 참조하십시오.