빠른 시작 가이드: Ultralytics YOLO26을 NVIDIA Jetson에서 사용하기#
이 종합 가이드에서는 NVIDIA Jetson 장치에 Ultralytics YOLO26을 배포하는 방법을 자세히 안내합니다. 또한 YOLO26의 성능 벤치마크를 제시해 작지만 강력한 이 장치에서 YOLO26이 발휘하는 성능을 보여줍니다.
최대 2070 FP4 TFLOPS의 AI 연산 성능과 128 GB 메모리를 제공하고, 전력을 40 W에서 130 W까지 설정할 수 있는 최신 NVIDIA Jetson AGX Thor Developer Kit에 맞춰 이 가이드를 업데이트했습니다. NVIDIA Jetson AGX Orin보다 AI 연산 성능이 7.5배 이상 높고 에너지 효율이 3.5배 우수해, 가장 널리 사용되는 AI 모델을 원활하게 실행할 수 있습니다.
시청: NVIDIA Jetson 디바이스에서 Ultralytics YOLO26을 사용하는 방법

이 가이드는 최신 안정 버전인 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/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 Core를 탑재한 2560코어 NVIDIA Blackwell 아키텍처 GPU | 64개의 Tensor Core를 탑재한 2048코어 NVIDIA Ampere 아키텍처 GPU | 32개의 Tensor Core를 탑재한 1024코어 NVIDIA Ampere 아키텍처 GPU | 32개의 Tensor Core를 탑재한 1024코어 NVIDIA Ampere 아키텍처 GPU | 64개의 Tensor Core를 탑재한 512코어 NVIDIA Volta 아키텍처 GPU | 48개의 Tensor Core를 탑재한 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 102 GB/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 데스크톱 환경을 포함하는 Jetson Linux와 GPU 컴퓨팅, 멀티미디어, 그래픽 및 컴퓨터 비전 가속을 위한 전체 라이브러리 세트가 포함됩니다. 또한 호스트 컴퓨터와 개발 키트용 샘플, 문서, 개발자 도구가 포함되며, 스트리밍 비디오 분석을 위한 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 개발자 키트를 보유하고 있다면 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을 안내하지만, Thor를 포함해 TensorRT 11.2.1은 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 휠을 수동으로 설치하고, 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 릴리스에 필요한 장치별 패키지를 대체하지는 않습니다.
JetPack 버전, Python 버전 및 기타 호환성 세부 정보별로 구성된 모든 onnxruntime-gpu 패키지는 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 휠을 수동으로 설치하고, 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 릴리스에 필요한 장치별 패키지를 대체하지는 않습니다.
JetPack 버전, Python 버전 및 기타 호환성 세부 정보별로 구성된 모든 onnxruntime-gpu 패키지는 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로 변환하고 추론 실행하기#
PyTorch 형식의 YOLO26n 모델을 TensorRT로 변환해 내보낸 모델로 추론을 실행합니다.
from ultralytics import YOLO
# YOLO26n PyTorch 모델 로드
model = YOLO("yolo26n.pt")
# 모델을 TensorRT로 내보내기
model.export(format="engine") # 'yolo26n.engine' 생성
# 내보낸 TensorRT 모델 로드
trt_model = YOLO("yolo26n.engine")
# 추론 실행
results = trt_model("https://ultralytics.com/images/bus.jpg")모델을 다양한 형식으로 내보낼 때 사용할 수 있는 추가 인수는 내보내기 페이지에서 확인하세요.
NVIDIA Deep Learning Accelerator(DLA) 사용하기#
NVIDIA 딥 러닝 가속기(DLA)는 NVIDIA Jetson 장치에 내장된 특수 하드웨어 구성 요소로, 에너지 효율과 성능을 높이도록 딥 러닝 추론을 최적화합니다. GPU에서 작업을 오프로드해 GPU를 더 집중적인 처리에 활용할 수 있도록 하며, 이를 통해 DLA는 높은 처리량을 유지하면서 전력 소비를 줄여 모델을 실행합니다. 따라서 임베디드 시스템과 실시간 AI 애플리케이션에 적합합니다.
NVIDIA는 DLA를 지원하는 마지막 릴리스가 TensorRT 10.7이라고 안내합니다. 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
# YOLO26n PyTorch 모델 로드
model = YOLO("yolo26n.pt")
# DLA를 활성화해 모델을 TensorRT로 내보내기(FP16 또는 INT8에서만 작동)
model.export(format="engine", device="dla:0", quantize=16) # dla:0 또는 dla:1은 DLA 코어를 나타냅니다
# 내보낸 TensorRT 모델 로드
trt_model = YOLO("yolo26n.engine")
# 추론 실행
results = trt_model("https://ultralytics.com/images/bus.jpg")DLA 내보내기를 사용할 때 일부 레이어는 DLA에서 실행되지 않을 수 있으며 GPU에서 실행되도록 대체 처리됩니다. 이러한 대체 처리로 인해 지연 시간이 추가되고 전체 추론 성능에 영향을 줄 수 있습니다. 따라서 DLA는 GPU에서만 실행되는 TensorRT와 비교해 추론 지연 시간을 줄이는 용도로 주로 설계된 것이 아닙니다. 대신 처리량을 늘리고 에너지 효율을 개선하는 것이 주된 목적입니다.
NVIDIA Jetson YOLO26 벤치마크#
Ultralytics 팀은 11가지 모델 형식의 속도와 정확도를 측정해 YOLO26 벤치마크를 수행했습니다. 측정 대상은 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에서 작동하지만, 아래 비교 차트에는 Jetson GPU를 활용하고 최상의 결과를 보장하는 PyTorch, TorchScript, TensorRT만 포함했습니다. 나머지 내보내기 형식은 CPU만 사용하므로 앞의 세 형식만큼 성능이 좋지 않습니다. 이 차트 다음 섹션에서 모든 내보내기 형식의 벤치마크를 확인할 수 있습니다.
NVIDIA Jetson AGX Thor 개발자 키트#
NVIDIA Jetson AGX Orin 개발자 키트(64GB)#
NVIDIA Jetson Orin Nano Super 개발자 키트#
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 개발자 키트#
| 형식 | 상태 | 디스크 사용량(MB) | mAP50-95(B) | 추론 시간(ms/이미지) |
|---|---|---|---|---|
| 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 개발자 키트(64GB)#
| 형식 | 상태 | 디스크 사용량(MB) | mAP50-95(B) | 추론 시간(ms/이미지) |
|---|---|---|---|---|
| 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.4770 | 4.18 |
| TensorRT(FP16) | ✅ | 7.9 | 0.4789 | 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 개발자 키트#
| 형식 | 상태 | 디스크 사용량(MB) | mAP50-95(B) | 추론 시간(ms/이미지) |
|---|---|---|---|---|
| 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/이미지) |
|---|---|---|---|---|
| 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 벤치마크를 재현하려면 다음 코드를 실행하세요.
from ultralytics import YOLO
# YOLO26n PyTorch 모델 로드
model = YOLO("yolo26n.pt")
# 모든 내보내기 형식에서 COCO128 데이터셋으로 YOLO26n의 속도와 정확도 벤치마크 수행
results = model.benchmark(data="coco128.yaml", imgsz=640)벤치마크 결과는 시스템의 정확한 하드웨어 및 소프트웨어 구성과 벤치마크 실행 시점의 시스템 워크로드에 따라 달라질 수 있습니다. 가장 신뢰할 수 있는 결과를 얻으려면 data='coco.yaml'(검증 이미지 5000개)과 같이 이미지 수가 많은 데이터셋을 사용하세요.
NVIDIA Jetson 사용 모범 사례#
NVIDIA Jetson에서 YOLO26을 실행할 때 성능을 극대화하려면 몇 가지 모범 사례를 따라야 합니다.
-
MAX 전원 모드 활성화
Jetson에서 MAX 전원 모드를 활성화하면 모든 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. 헤드리스(그래픽 UI 없음) 부팅으로 전환#
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는 디스플레이 창을 표시하지 않고, save=True는 주석이 추가된 출력을 디스크에 저장합니다.
results = model.predict(source="video.mp4", show=False, save=True)누적 효과#
| 최적화 | 예상 메모리 절감량 |
|---|---|
| 데스크톱 GUI 비활성화 | ~865 MB |
| 사용하지 않는 OS 서비스 비활성화 | ~32 MB |
| 헤드리스 추론 파이프라인(디스플레이 없음) | ~200+ MB |
| 합계(간단히 적용할 수 있는 최적화) | ~1 GB 이상 |
이러한 변경 사항을 함께 적용하면 메모리가 제한된 장치에서 TensorRT INT8 모델을 사용할 때 특히 유용합니다. 더 큰 모델 변형을 메모리에 적재할 수 있는지 여부를 좌우할 수 있습니다.
다음 단계#
추가 학습 자료와 지원은 Ultralytics YOLO26 문서를 참조하세요.
자주 묻는 질문#
NVIDIA Jetson 장치에 Ultralytics YOLO26을 배포하는 과정은 간단합니다. 먼저 NVIDIA JetPack SDK를 사용해 Jetson 장치를 플래시하세요. 그런 다음 빠르게 설정하려면 사전 빌드된 Docker 이미지를 사용하거나 필요한 패키지를 직접 설치하면 됩니다. 각 방법의 자세한 단계는 Docker로 빠르게 시작하기 및 네이티브 설치로 시작하기 섹션에서 확인할 수 있습니다.
다양한 NVIDIA Jetson 장치에서 YOLO26 모델의 벤치마크를 수행한 결과, 성능이 크게 향상된 것으로 나타났습니다. 예를 들어 TensorRT 형식은 최고의 추론 성능을 제공합니다. 상세 비교 표 섹션의 표에서 다양한 모델 형식의 mAP50-95 및 추론 시간과 같은 성능 지표를 종합적으로 확인할 수 있습니다.
최적의 성능을 제공하므로 NVIDIA Jetson에 YOLO26 모델을 배포할 때 TensorRT를 사용하는 것이 좋습니다. TensorRT는 Jetson의 GPU 기능을 활용해 추론을 가속화하여 효율과 속도를 극대화합니다. TensorRT로 변환하고 추론을 실행하는 방법은 NVIDIA Jetson에서 TensorRT 사용하기 섹션에서 자세히 알아보세요.
NVIDIA Jetson에 PyTorch와 Torchvision을 설치하려면 먼저 pip를 통해 설치했을 수 있는 기존 버전을 제거하세요. 그런 다음 Jetson의 ARM64 아키텍처와 호환되는 PyTorch 및 Torchvision 버전을 직접 설치하세요. 자세한 설치 방법은 PyTorch와 Torchvision 설치하기 섹션에 안내되어 있습니다.
YOLO26을 사용하는 NVIDIA Jetson의 성능을 극대화하려면 다음 모범 사례를 따르세요.
- 모든 CPU 및 GPU 코어를 활용하려면 MAX 전원 모드를 활성화하세요.
- 모든 코어를 최대 주파수로 실행하려면 Jetson Clocks를 활성화하세요.
- 시스템 지표를 모니터링하려면 Jetson Stats 애플리케이션을 설치하세요.
명령어와 추가 세부 정보는 NVIDIA Jetson 사용 모범 사례 섹션을 참조하세요.
메모리가 적은 Jetson 장치에서는 사용 가능한 RAM이 병목이 되는 경우가 많습니다. 다음 세 가지 방법을 함께 적용하면 1 GB 이상을 쉽게 확보할 수 있습니다.
- 헤드리스 부팅으로 전환(
sudo systemctl set-default multi-user.target)하여 데스크톱 GUI를 제거합니다(약 865 MB 절약). - Bluetooth 또는 연결 관리자와 같이 사용하지 않는 서비스를 비활성화합니다(약 32 MB 절약).
- YOLO
predict호출에서show=False을 설정해 디스플레이 없이 추론을 실행하면 디스플레이 파이프라인에 할당되는 메모리를 방지할 수 있습니다(200+ MB 절약).
procrank을 사용해 프로세스별 RAM 사용량을 프로파일링하고,sudo cat /sys/kernel/debug/nvmap/iovmm/clients을 사용해 GPU 할당량을 확인하세요. 자세한 내용은 메모리 최적화 팁 섹션을 참조하세요.- 헤드리스 부팅으로 전환(
JetPack 6에 포함된 TensorRT 10.3.0에는 NMS 없는(
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 이슈 #23841을 참조하세요.