Intel OpenVINO 내보내기#
이 가이드에서는 최대 3배의 CPU 성능 향상을 제공할 수 있는 OpenVINO 형식으로 YOLO26 모델을 내보내는 방법과 Intel GPU 및 NPU 하드웨어에서 YOLO 추론을 가속하는 방법을 설명합니다.
OpenVINO는 Open Visual Inference & Neural Network Optimization toolkit의 약어로, AI 추론 모델을 최적화하고 배포하기 위한 종합 툴킷입니다. 이름에 Visual이 포함되어 있지만 OpenVINO는 언어, 오디오, 시계열 등 다양한 추가 작업도 지원합니다.
Watch: How to Export Ultralytics YOLO26 to Intel OpenVINO Format for Faster Inference 🚀
지원되는 작업#
OpenVINO 내보내기는 Ultralytics의 7가지 작업을 모두 지원합니다. 시맨틱 세그멘테이션과 깊이 추정은 이러한 헤드를 제공하는 유일한 제품군인 YOLO26에서만 사용할 수 있습니다.
설치#
다음 명령어로 OpenVINO 내보내기 종속성을 설치합니다:
pip install "ultralytics[export-openvino]"이러한 종속성은 ultralytics[export]에도 포함되어 있으며 내보내기 시 필요할 때 자동으로 설치됩니다.
사용 예시#
OpenVINO 형식은 Export, Predict, Validate 모드를 지원합니다. 모델을 내보낸 다음 내보낸 모델을 로드하여 추론을 실행하거나 Intel CPU, 통합/독립형 GPU 또는 NPU에서 정확도를 검증할 수 있습니다.
from ultralytics import YOLO
# Load a YOLO26 model
model = YOLO("yolo26n.pt")
# Export the model to OpenVINO format
model.export(format="openvino") # creates 'yolo26n_openvino_model/'from ultralytics import YOLO
# Load the exported OpenVINO model
model = YOLO("yolo26n_openvino_model/")
# Run inference
results = model("https://ultralytics.com/images/bus.jpg")
# Run inference on a specific device, available devices: ["intel:gpu", "intel:npu", "intel:cpu"]
results = model("https://ultralytics.com/images/bus.jpg", device="intel:gpu")from ultralytics import YOLO
# Load the exported OpenVINO model
model = YOLO("yolo26n_openvino_model/")
# Validate accuracy on the COCO8 dataset
metrics = model.val(data="coco8.yaml")내보내기 인수#
| 인수 | 유형 | 기본값 | 설명 |
|---|---|---|---|
format | str | 'openvino' | 내보낸 모델의 대상 형식으로, 다양한 deployment environment와의 호환성을 정의합니다. |
imgsz | int 또는 tuple | 640 | 모델 입력에 사용할 이미지 크기입니다. 정사각형 이미지에는 정수를 사용하고, 특정 크기에는 (height, width) tuple을 사용할 수 있습니다. |
quantize | int 또는 str | None | 양자화 정밀도: 16 (FP16) 또는 8 (INT8/PTQ; 캘리브레이션 data/fraction 필요)입니다. 32/설정하지 않음은 FP32입니다. 더 이상 사용되지 않는 half/int8 플래그를 대체합니다. |
dynamic | bool | False | 동적 입력 크기를 허용하여 다양한 이미지 크기를 더욱 유연하게 처리할 수 있습니다. |
nms | bool, 선택 사항 | None | 원시 출력(None, 기본값), 임베디드 NMS(True) 또는 NMS 없는 헤드(False)를 선택합니다. |
batch | int | 1 | 내보낼 모델의 배치 추론 크기 또는 predict 모드에서 내보낸 모델이 동시에 처리할 최대 이미지 수를 지정합니다. |
data | str | None | 양자화에 필요한 dataset YAML 경로입니다. 분류 작업에서는 대신 데이터셋 디렉터리 또는 기본 제공 데이터셋 이름을 사용합니다. quantize=8과 함께 생략하면 Ultralytics가 모델 작업에 맞는 기본 캘리브레이션 데이터셋을 선택합니다. |
fraction | float, int 또는 list | 1.0 | Calibration subset은 비율, 이미지 수 또는 [train, val, test] 비율/개수로 지정합니다. 두 항목으로 구성된 목록에서는 test을 전체로 유지하고 0를 건너뜁니다. |
내보내기 프로세스에 대한 자세한 내용은 Ultralytics 내보내기 문서 페이지를 참조하십시오.
OpenVINO™는 대부분의 Intel® 프로세서와 호환되지만 최적의 성능을 보장하려면 다음을 수행합니다.
-
OpenVINO™ 지원 확인 Intel 호환성 목록을 사용하여 Intel® 칩이 OpenVINO™에서 공식적으로 지원되는지 확인합니다.
-
가속기 식별 Intel 하드웨어 가이드를 참조하여 프로세서에 통합 NPU(신경망 처리 장치) 또는 GPU(통합 GPU)가 포함되어 있는지 확인합니다.
-
최신 드라이버 설치 칩이 NPU 또는 GPU를 지원하지만 OpenVINO™에서 이를 감지하지 못하는 경우 관련 드라이버를 설치하거나 업데이트해야 할 수 있습니다. 전체 가속을 활성화하려면 드라이버 설치 지침을 따릅니다.
이 세 단계를 따르면 Intel® 하드웨어에서 OpenVINO™가 최적으로 실행되도록 할 수 있습니다.
OpenVINO의 이점#
- 성능: OpenVINO는 Intel CPU, 통합 및 독립형 GPU, FPGA의 성능을 활용하여 고성능 추론을 제공합니다.
- 이기종 실행 지원: OpenVINO는 한 번 작성한 API를 지원되는 모든 Intel 하드웨어(CPU, GPU, FPGA, VPU 등)에 배포할 수 있도록 제공합니다.
- Model Optimizer: OpenVINO는 PyTorch, TensorFlow, TensorFlow Lite, Keras, ONNX, PaddlePaddle, Caffe와 같은 주요 딥러닝 프레임워크의 모델을 가져오고 변환하며 최적화하는 Model Optimizer를 제공합니다.
- 사용 편의성: 이 툴킷에는 툴킷의 다양한 측면을 학습할 수 있는 튜토리얼 노트북 모음이 포함되어 있으며, YOLO26 최적화도 포함됩니다.
OpenVINO 내보내기 구조#
모델을 OpenVINO 형식으로 내보내면 다음 항목이 포함된 디렉터리가 생성됩니다.
- XML 파일: 네트워크 토폴로지를 설명합니다.
- BIN 파일: 가중치와 편향의 바이너리 데이터를 포함합니다.
- 매핑 파일: 원본 모델 출력 텐서와 OpenVINO 텐서 이름 간의 매핑을 저장합니다.
이러한 파일을 사용하여 OpenVINO Inference Engine으로 추론을 실행할 수 있습니다.
배포에서 OpenVINO 내보내기 사용#
모델을 OpenVINO 형식으로 성공적으로 내보낸 후 추론을 실행하는 두 가지 주요 방법이 있습니다.
-
높은 수준의 API를 제공하고 OpenVINO Runtime을 래핑하는
ultralytics패키지를 사용합니다. -
추론 동작을 더욱 고급 방식으로 제어하거나 사용자 지정하려면 기본
openvino패키지를 사용합니다.
Ultralytics를 사용한 추론#
ultralytics 패키지를 사용하면 predict 메서드를 통해 내보낸 OpenVINO 모델로 추론을 쉽게 실행할 수 있습니다. device 인수를 사용하여 대상 디바이스(예: intel:gpu, intel:npu, intel:cpu)도 지정할 수 있습니다.
from ultralytics import YOLO
# Load the exported OpenVINO model
ov_model = YOLO("yolo26n_openvino_model/") # the path of your exported OpenVINO model
# Run inference with the exported model
ov_model.predict(device="intel:gpu") # specify the device you want to run inference on이 방법은 추론 파이프라인을 완전히 제어할 필요가 없는 빠른 프로토타이핑 또는 배포에 적합합니다.
OpenVINO Runtime을 사용한 추론#
OpenVINO Runtime은 지원되는 모든 Intel 하드웨어에서 추론을 수행할 수 있는 통합 API를 제공합니다. 또한 Intel 하드웨어 간 로드 밸런싱과 비동기 실행 같은 고급 기능도 제공합니다. 추론 실행에 대한 자세한 내용은 YOLO26 노트북을 참조하세요.
Runtime에서 모델을 올바르게 설정하고 사용하려면 XML 및 BIN 파일과 입력 크기, 정규화를 위한 스케일 계수 등 애플리케이션별 설정이 필요하다는 점을 기억하세요.
배포 애플리케이션에서는 일반적으로 다음 단계를 수행합니다.
core = Core()을 생성하여 OpenVINO를 초기화합니다.core.read_model()메서드를 사용하여 모델을 로드합니다.core.compile_model()함수를 사용하여 모델을 컴파일합니다.- 입력(이미지, 텍스트, 오디오 등)을 준비합니다.
compiled_model(input_data)을 사용하여 추론을 실행합니다.
더 자세한 단계와 코드 스니펫은 OpenVINO 문서 또는 API 튜토리얼을 참조하세요.
OpenVINO YOLO26 벤치마크#
Ultralytics 팀은 다양한 모델 형식과 정밀도에 걸쳐 YOLO26을 벤치마크하고, OpenVINO와 호환되는 여러 Intel 디바이스에서 속도와 정확도를 평가했습니다.
-
아래 벤치마크 결과는 참고용이며, 시스템의 정확한 하드웨어 및 소프트웨어 구성과 벤치마크 실행 당시 시스템의 현재 작업 부하에 따라 달라질 수 있습니다.
-
모든 벤치마크는
openvinoPython 패키지 버전 2026.2.1으로 실행했습니다. -
NPU에서 YOLO26 모델은 2xxV 시리즈와 3xx 시리즈 이상이 탑재된 Intel® Core™ Ultra™ 시스템에서만 지원됩니다.
Intel® Core™ Ultra#
Intel® Core™ Ultra™ 시리즈는 고성능 컴퓨팅의 새로운 기준을 제시하며, 게이머와 크리에이터부터 AI를 활용하는 전문가에 이르기까지 현대 사용자의 변화하는 요구를 충족하도록 설계되었습니다. 이 차세대 제품군은 기존의 CPU 시리즈를 넘어 강력한 CPU 코어, 통합 고성능 GPU 기능, 전용 신경망 처리 장치(NPU)를 단일 칩에 결합하여 다양하고 집약적인 컴퓨팅 작업 부하에 통합 솔루션을 제공합니다.
Intel® Core Ultra™ 아키텍처의 핵심에는 기존 처리 작업, GPU 가속 작업 부하, AI 기반 작업 전반에서 뛰어난 성능을 제공하는 하이브리드 설계가 있습니다. NPU를 포함함으로써 온디바이스 AI 추론이 향상되어 다양한 애플리케이션에서 더 빠르고 효율적인 머신 러닝 및 데이터 처리가 가능합니다.
Core Ultra™ 제품군에는 다양한 성능 요구에 맞춘 여러 모델이 포함되어 있으며, 에너지 효율적인 설계부터 "H"로 표시되는 고전력 변형 모델까지 선택할 수 있습니다. 이러한 모델은 높은 컴퓨팅 성능이 필요한 노트북과 소형 폼 팩터에 적합합니다. 전체 제품군에서 사용자는 CPU, GPU, NPU 통합의 시너지 효과를 통해 뛰어난 효율성, 응답성, 멀티태스킹 기능을 누릴 수 있습니다.
Intel의 지속적인 혁신의 일환으로 Core Ultra™ 시리즈는 미래 지향적 컴퓨팅의 새로운 표준을 제시합니다. 다양한 모델이 제공되고 앞으로 더 많은 모델이 출시될 예정인 이 시리즈는 차세대 지능형 AI 강화 디바이스를 위한 첨단 솔루션을 제공하려는 Intel의 의지를 보여줍니다.
아래 벤치마크는 Intel® Core™ Ultra™ X7 358H, Intel® Core™ Ultra™ 7 258V 및 Intel® Core™ Ultra™ 7 155H에서 FP32, FP16, INT8 정밀도로 실행했습니다.
Intel® Core™ Ultra™ X7 358H#
상세 벤치마크 결과
| 모델 | 형식 | Precision | 상태 | 크기(MB) | metrics/mAP50-95(B) | 추론 시간 (ms/im) |
|---|---|---|---|---|---|---|
| YOLO26n | PyTorch (CPU) | FP32 | ✅ | 5.3 | 0.4765 | 29.28 |
| YOLO26n | OpenVINO | FP32 | ✅ | 9.7 | 0.4762 | 4.09 |
| YOLO26n | OpenVINO | FP16 | ✅ | 5.1 | 0.4762 | 4.03 |
| YOLO26n | OpenVINO | INT8 | ✅ | 3.2 | 0.4634 | 4.24 |
| YOLO26s | PyTorch (CPU) | FP32 | ✅ | 19.5 | 0.5703 | 59.32 |
| YOLO26s | OpenVINO | FP32 | ✅ | 36.7 | 0.5616 | 5.08 |
| YOLO26s | OpenVINO | FP16 | ✅ | 18.7 | 0.5616 | 5.14 |
| YOLO26s | OpenVINO | INT8 | ✅ | 10.0 | 0.5462 | 4.47 |
| YOLO26m | PyTorch (CPU) | FP32 | ✅ | 42.2 | 0.6196 | 143.21 |
| YOLO26m | OpenVINO | FP32 | ✅ | 78.4 | 0.6166 | 7.1 |
| YOLO26m | OpenVINO | FP16 | ✅ | 39.5 | 0.6166 | 7.06 |
| YOLO26m | OpenVINO | INT8 | ✅ | 20.6 | 0.6055 | 5.61 |
| YOLO26l | PyTorch (CPU) | FP32 | ✅ | 50.7 | 0.6215 | 181.16 |
| YOLO26l | OpenVINO | FP32 | ✅ | 95.3 | 0.6205 | 8.45 |
| YOLO26l | OpenVINO | FP16 | ✅ | 48.1 | 0.6205 | 8.49 |
| YOLO26l | OpenVINO | INT8 | ✅ | 25.2 | 0.5938 | 6.25 |
| YOLO26x | PyTorch (CPU) | FP32 | ✅ | 113.2 | 0.6512 | 379.75 |
| YOLO26x | OpenVINO | FP32 | ✅ | 213.3 | 0.6568 | 13.03 |
| YOLO26x | OpenVINO | FP16 | ✅ | 107.1 | 0.6568 | 12.98 |
| YOLO26x | OpenVINO | INT8 | ✅ | 54.8 | 0.6385 | 8.74 |
Intel® Core™ Ultra™ 7 258V#
상세 벤치마크 결과
| 모델 | 형식 | Precision | 상태 | 크기(MB) | metrics/mAP50-95(B) | 추론 시간 (ms/im) |
|---|---|---|---|---|---|---|
| YOLO26n | PyTorch (CPU) | FP32 | ✅ | 5.3 | 0.4765 | 27.33 |
| YOLO26n | OpenVINO | FP32 | ✅ | 9.6 | 0.4764 | 3.33 |
| YOLO26n | OpenVINO | FP16 | ✅ | 5.1 | 0.4764 | 3.34 |
| YOLO26n | OpenVINO | INT8 | ✅ | 3.2 | 0.4634 | 3.46 |
| YOLO26s | PyTorch (CPU) | FP32 | ✅ | 19.5 | 0.5703 | 60.2 |
| YOLO26s | OpenVINO | FP32 | ✅ | 36.7 | 0.5616 | 4.66 |
| YOLO26s | OpenVINO | FP16 | ✅ | 18.6 | 0.5616 | 4.65 |
| YOLO26s | OpenVINO | INT8 | ✅ | 10.0 | 0.5462 | 3.99 |
| YOLO26m | PyTorch (CPU) | FP32 | ✅ | 42.2 | 0.6196 | 152.87 |
| YOLO26m | OpenVINO | FP32 | ✅ | 78.4 | 0.6168 | 9.03 |
| YOLO26m | OpenVINO | FP16 | ✅ | 39.5 | 0.6168 | 8.98 |
| YOLO26m | OpenVINO | INT8 | ✅ | 20.6 | 0.6055 | 5.7 |
| YOLO26l | PyTorch (CPU) | FP32 | ✅ | 50.7 | 0.6215 | 201.57 |
| YOLO26l | OpenVINO | FP32 | ✅ | 95.3 | 0.6203 | 11.32 |
| YOLO26l | OpenVINO | FP16 | ✅ | 48.1 | 0.6203 | 11.36 |
| YOLO26l | OpenVINO | INT8 | ✅ | 25.2 | 0.5938 | 7.45 |
| YOLO26x | PyTorch (CPU) | FP32 | ✅ | 113.2 | 0.6512 | 431.04 |
| YOLO26x | OpenVINO | FP32 | ✅ | 213.2 | 0.6568 | 19.08 |
| YOLO26x | OpenVINO | FP16 | ✅ | 107.1 | 0.6568 | 19.63 |
| YOLO26x | OpenVINO | INT8 | ✅ | 54.8 | 0.6385 | 13.69 |
Intel® Core™ Ultra™ 7 155H#
상세 벤치마크 결과
| 모델 | 형식 | Precision | 상태 | 크기(MB) | metrics/mAP50-95(B) | 추론 시간 (ms/im) |
|---|---|---|---|---|---|---|
| YOLO26n | PyTorch (CPU) | FP32 | ✅ | 5.3 | 0.4765 | 33.19 |
| YOLO26n | OpenVINO | FP32 | ✅ | 9.6 | 0.4758 | 9.13 |
| YOLO26n | OpenVINO | FP16 | ✅ | 5.1 | 0.4758 | 9.07 |
| YOLO26n | OpenVINO | INT8 | ✅ | 3.2 | 0.4573 | 5.79 |
| YOLO26s | PyTorch (CPU) | FP32 | ✅ | 19.5 | 0.5703 | 70.92 |
| YOLO26s | OpenVINO | FP32 | ✅ | 36.7 | 0.5616 | 16.37 |
| YOLO26s | OpenVINO | FP16 | ✅ | 18.6 | 0.5616 | 16.65 |
| YOLO26s | OpenVINO | INT8 | ✅ | 10.0 | 0.545 | 9.27 |
| YOLO26m | PyTorch (CPU) | FP32 | ✅ | 42.2 | 0.6196 | 192.45 |
| YOLO26m | OpenVINO | FP32 | ✅ | 78.4 | 0.6167 | 34.47 |
| YOLO26m | OpenVINO | FP16 | ✅ | 39.5 | 0.6167 | 35.71 |
| YOLO26m | OpenVINO | INT8 | ✅ | 20.6 | 0.6039 | 15.46 |
| YOLO26l | PyTorch (CPU) | FP32 | ✅ | 50.7 | 0.6215 | 239.19 |
| YOLO26l | OpenVINO | FP32 | ✅ | 95.3 | 0.621 | 43.24 |
| YOLO26l | OpenVINO | FP16 | ✅ | 48.1 | 0.621 | 43.4 |
| YOLO26l | OpenVINO | INT8 | ✅ | 25.2 | 0.5999 | 19.72 |
| YOLO26x | PyTorch (CPU) | FP32 | ✅ | 113.2 | 0.6512 | 511.89 |
| YOLO26x | OpenVINO | FP32 | ✅ | 213.2 | 0.6552 | 79.49 |
| YOLO26x | OpenVINO | FP16 | ✅ | 107.1 | 0.6552 | 79.45 |
| YOLO26x | OpenVINO | INT8 | ✅ | 54.8 | 0.642 | 34.66 |
결과 재현#
모든 내보내기 형식에서 위의 Ultralytics 벤치마크를 재현하려면 다음 코드를 실행하세요.
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")벤치마크 결과는 시스템의 정확한 하드웨어 및 소프트웨어 구성과 벤치마크 실행 당시 시스템의 현재 작업 부하에 따라 달라질 수 있습니다. 가장 신뢰할 수 있는 결과를 얻으려면 data='coco.yaml'과 같이 이미지 수가 많은 데이터셋(검증 이미지 5000개)을 사용하세요.
결론#
벤치마크 결과는 YOLO26 모델을 OpenVINO 형식으로 내보낼 때의 이점을 명확하게 보여줍니다. 다양한 모델과 하드웨어 플랫폼에서 OpenVINO 형식은 비슷한 정확도를 유지하면서 추론 속도 측면에서 다른 형식보다 일관되게 우수한 성능을 보입니다.
이 벤치마크는 딥러닝 모델 배포 도구로서 OpenVINO의 효과를 강조합니다. 모델을 OpenVINO 형식으로 변환하면 개발자는 상당한 성능 향상을 달성할 수 있으므로 실제 애플리케이션에 모델을 더 쉽게 배포할 수 있습니다.
OpenVINO 사용에 대한 자세한 정보와 지침은 공식 OpenVINO 문서를 참조하세요.
FAQ#
YOLO26 모델을 OpenVINO 형식으로 내보내면 CPU 속도가 크게 향상되고 Intel 하드웨어에서 GPU 및 NPU 가속을 사용할 수 있습니다. 내보내려면 아래와 같이 Python 또는 CLI를 사용할 수 있습니다.
예시from ultralytics import YOLO # Load a YOLO26n PyTorch model model = YOLO("yolo26n.pt") # Export the model model.export(format="openvino") # creates 'yolo26n_openvino_model/'자세한 내용은 내보내기 형식 문서를 참조하세요.
YOLO26 모델에 Intel의 OpenVINO 툴킷을 사용하면 다음과 같은 여러 이점이 있습니다.
- 성능: CPU 추론에서 최대 3배의 속도 향상을 달성하고 Intel GPU 및 NPU를 활용하여 가속할 수 있습니다.
- Model Optimizer: PyTorch, TensorFlow, ONNX와 같은 주요 프레임워크의 모델을 변환하고 최적화하며 실행할 수 있습니다.
- 사용 편의성: YOLO26용 노트북을 포함하여 사용자가 쉽게 시작할 수 있도록 지원하는 다양한 튜토리얼 노트북을 제공합니다.
- 이기종 실행: 통합 API를 사용하여 다양한 Intel 하드웨어에 모델을 배포할 수 있습니다.
자세한 성능 비교는 벤치마크 섹션을 참조하세요.
YOLO26n 모델을 OpenVINO 형식으로 내보낸 후 Python 또는 CLI를 사용하여 추론을 실행할 수 있습니다.
예시from ultralytics import YOLO # Load the exported OpenVINO model ov_model = YOLO("yolo26n_openvino_model/") # Run inference results = ov_model("https://ultralytics.com/images/bus.jpg")자세한 내용은 predict 모드 문서를 참조하세요.
Ultralytics YOLO26은 높은 정확도와 속도를 갖춘 실시간 객체 감지에 최적화되어 있습니다. 특히 OpenVINO와 함께 사용하면 YOLO26은 다음을 제공합니다.
- Intel CPU에서 최대 3배의 속도 향상
- Intel GPU 및 NPU에 대한 원활한 배포
- 다양한 내보내기 형식에서 일관되고 비슷한 정확도
심층적인 성능 분석은 다양한 하드웨어에서 측정한 상세한 YOLO26 벤치마크를 확인하세요.
예. PyTorch, TorchScript, ONNX, OpenVINO를 포함한 다양한 형식으로 YOLO26 모델을 벤치마크할 수 있습니다. 다음 코드 스니펫을 사용하여 선택한 데이터셋에서 벤치마크를 실행하세요.
예시from ultralytics import YOLO # Load a YOLO26n PyTorch model model = YOLO("yolo26n.pt") # Benchmark YOLO26n speed and [accuracy](https://www.ultralytics.com/glossary/accuracy) on the COCO8 dataset for all export formats results = model.benchmark(data="coco8.yaml")