Neural Magic의 DeepSparse 엔진을 사용한 YOLO26 추론 최적화#
Ultralytics YOLO26과 같은 객체 검출 모델을 다양한 하드웨어에 배포할 때 최적화와 같은 고유한 문제에 부딪힐 수 있습니다. 바로 이 점에서 Neural Magic의 DeepSparse Engine과 YOLO26의 연동이 중요한 역할을 합니다. 이 연동은 YOLO26 모델이 실행되는 방식을 변화시키며 CPU에서 직접 GPU 수준의 성능을 발휘할 수 있게 해줍니다.
본 가이드에서는 Neural Magic의 DeepSparse를 사용하여 YOLO26를 배포하고, 추론을 실행하며, 성능 최적화를 확인하기 위한 벤치마킹 방법을 안내합니다.
Neural Magic은 2025년 1월 Red Hat에 인수되었으며, deepsparse, sparseml, sparsezoo, sparsify 라이브러리의 커뮤니티 버전을 지원 중단(deprecating)하고 있습니다. 추가 정보는 sparsify GitHub 저장소의 Readme에 게시된 공지를 참조하세요.
Neural Magic의 DeepSparse#
Neural Magic의 DeepSparse는 CPU에서 신경망의 실행을 최적화하도록 설계된 추론 런타임입니다. 정확도를 유지하면서 연산 요구 사항을 대폭 줄이기 위해 희소성(sparsity), 가지치기(pruning), 양자화(quantization) 같은 고급 기법을 적용합니다. DeepSparse는 다양한 기기에서 효율적이고 확장 가능한 신경망 실행을 위한 민첩한 솔루션을 제공합니다.
YOLO26와 Neural Magic DeepSparse 통합의 이점#
DeepSparse를 사용하여 YOLO26를 배포하는 방법을 알아보기 전에, DeepSparse 사용의 이점을 먼저 이해해 보겠습니다. 주요 장점은 다음과 같습니다.
- 향상된 추론 속도: (YOLO11n 기준) 최대 525 FPS를 달성하며, 기존 방식 대비 YOLO의 추론 능력을 획기적으로 가속화합니다.
- 최적화된 모델 효율성: 가지치기와 양자화를 사용하여 YOLO26의 효율성을 향상시키며, 정확도를 유지하면서 모델 크기와 연산 요구 사항을 줄여줍니다.
-
표준 CPU에서의 고성능: CPU에서 GPU와 유사한 성능을 제공하여 다양한 애플리케이션에 대해 더 접근하기 쉽고 비용 효율적인 옵션을 제공합니다.
-
간소화된 통합 및 배포: 이미지 및 비디오 주석 기능을 포함하여 YOLO26를 애플리케이션에 쉽게 통합할 수 있는 사용자 친화적인 도구를 제공합니다.
-
다양한 모델 유형 지원: 표준 YOLO26 모델과 희소성 최적화 모델을 모두 지원하여 배포 유연성을 높입니다.
-
비용 효율적이고 확장 가능한 솔루션: 운영 비용을 절감하고 고급 객체 탐지 모델의 확장 가능한 배포를 지원합니다.
Neural Magic의 DeepSparse 기술은 어떻게 작동할까요?#
Neural Magic의 DeepSparse 기술은 신경망 연산에서 인간 뇌의 효율성으로부터 영감을 받았습니다. 이는 뇌의 두 가지 주요 원칙을 채택하고 있습니다.
-
희소성(Sparsity): 희소화 프로세스는 딥 러닝 네트워크에서 중복된 정보를 제거(pruning)하는 과정을 포함하며, 정확도를 저하시키지 않으면서 더 작고 빠른 모델을 만듭니다. 이 기법은 네트워크의 크기와 연산 요구량을 크게 줄여줍니다.
-
참조 지역성(Locality of Reference): DeepSparse는 네트워크를 Tensor Columns으로 분할하는 고유한 실행 방식을 사용합니다. 이 컬럼들은 깊이 방향으로 실행되어 CPU 캐시 내에 완전히 들어맞게 됩니다. 이러한 방식은 뇌의 효율성을 모방하여 데이터 이동을 최소화하고 CPU 캐시 사용을 극대화합니다.
사용자 지정 데이터셋으로 학습된 YOLO26의 Sparse 버전 생성#
Neural Magic의 오픈소스 모델 저장소인 SparseZoo는 사전 희소화된 YOLO26 모델 체크포인트 모음을 제공합니다. Ultralytics와 원활하게 통합되는 SparseML을 사용하면 사용자는 간단한 명령줄 인터페이스(CLI)를 통해 특정 데이터셋에서 이러한 희소 체크포인트를 손쉽게 파인튜닝할 수 있습니다.
자세한 내용은 Neural Magic의 SparseML YOLO26 문서를 확인하세요.
사용법: DeepSparse를 사용하여 YOLO26 배포하기#
YOLO26을 Neural Magic의 DeepSparse와 함께 배포하는 과정은 몇 가지 간단한 단계로 이루어집니다. 사용법을 살펴보기 전에 Ultralytics가 제공하는 다양한 YOLO26 모델을 꼭 확인해 보세요. 이를 통해 프로젝트 요구사항에 가장 적합한 모델을 선택하는 데 도움을 받을 수 있습니다. 시작하는 방법은 다음과 같습니다.
1단계: 설치#
필수 패키지를 설치하려면 다음을 실행하십시오:
# Install the required packages
pip install deepsparse[yolov8]2단계: YOLO26를 ONNX 형식으로 내보내기#
DeepSparse Engine은 ONNX 포맷의 YOLO26 모델이 필요합니다. DeepSparse와의 호환성을 위해 모델을 이 포맷으로 내보내는 것은 필수적입니다. YOLO26 모델을 내보내려면 다음 명령을 사용하세요.
# Export YOLO26 model to ONNX format
yolo task=detect mode=export model=yolo26n.pt format=onnx opset=13이 명령은 yolo26n.onnx 모델을 디스크에 저장합니다.
3단계: 배포 및 추론 실행#
YOLO26 모델이 ONNX 형식으로 준비되었다면 DeepSparse를 사용하여 배포하고 추론을 실행할 수 있습니다. 직관적인 Python API를 통해 쉽게 수행할 수 있습니다:
from deepsparse import Pipeline
# Specify the path to your YOLO26 ONNX model
model_path = "path/to/yolo26n.onnx"
# Set up the DeepSparse Pipeline
yolo_pipeline = Pipeline.create(task="yolov8", model_path=model_path)
# Run the model on your images
images = ["path/to/image.jpg"]
pipeline_outputs = yolo_pipeline(images=images)4단계: 성능 벤치마킹#
YOLO26 모델이 DeepSparse에서 최적의 성능으로 작동하는지 확인하는 것이 중요합니다. 처리량(throughput)과 지연 시간(latency)을 분석하기 위해 모델의 성능을 벤치마크할 수 있습니다.
# Benchmark performance
deepsparse.benchmark model_path="path/to/yolo26n.onnx" --scenario=sync --input_shapes="[1,3,640,640]"5단계: 추가 기능#
DeepSparse는 이미지 주석 및 데이터셋 평가와 같이 애플리케이션에서 YOLO26를 실용적으로 통합하기 위한 추가 기능을 제공합니다.
# For image annotation
deepsparse.yolov8.annotate --source "path/to/image.jpg" --model_filepath "path/to/yolo26n.onnx"
# For evaluating model performance on a dataset
deepsparse.yolov8.eval --model_path "path/to/yolo26n.onnx"annotate 명령을 실행하면 지정된 이미지가 처리되고, 객체가 탐지되며, 바운딩 박스와 분류 정보가 포함된 주석 이미지가 저장됩니다. 주석이 달린 이미지는 annotation-results 폴더에 저장됩니다. 이는 모델의 탐지 능력을 시각적으로 확인하는 데 도움이 됩니다.
평가(eval) 명령을 실행한 후에는 정밀도(precision), 재현율(recall), mAP(평균 정밀도)와 같은 상세한 출력 지표를 얻게 됩니다. 이는 데이터셋에서 모델의 성능을 포괄적으로 보여주며, 특히 특정 사용 사례에 맞게 YOLO26 모델을 파인튜닝하고 최적화하여 높은 정확도와 효율성을 보장하는 데 유용합니다.
요약#
본 가이드에서는 Ultralytics의 YOLO26와 Neural Magic의 DeepSparse 엔진 통합에 대해 살펴보았습니다. 이 통합이 어떻게 CPU 플랫폼에서 YOLO26의 성능을 향상시키고, GPU 수준의 효율성과 고급 신경망 희소화 기술을 제공하는지 강조했습니다.
더 자세한 정보와 고급 사용법은 Neural Magic의 DeepSparse 문서를 방문하세요. 또한 YOLO26 연동 가이드 살펴보기와 YouTube의 워크숍 세션 시청도 가능합니다.
또한 다양한 YOLO26 연동에 대한 더 넓은 이해를 위해 Ultralytics 연동 가이드 페이지를 방문하시면 다양하고 흥미로운 연동 가능성을 발견하실 수 있습니다.
FAQ#
Neural Magic의 DeepSparse Engine은 희소성, 가지치기, 양자화 같은 고급 기법을 통해 CPU에서 신경망 실행을 최적화하도록 설계된 추론 런타임입니다. DeepSparse를 YOLO26과 연동함으로써 표준 CPU에서 GPU와 유사한 성능을 달성할 수 있으며, 정확도를 유지하면서 추론 속도, 모델 효율성, 전반적인 성능을 크게 향상시킬 수 있습니다. 자세한 내용은 Neural Magic의 DeepSparse 섹션을 확인하세요.
Neural Magic의 DeepSparse와 함께 YOLO26를 배포하기 위해 필요한 패키지 설치는 간단합니다. CLI를 사용하여 쉽게 설치할 수 있습니다. 실행해야 할 명령어는 다음과 같습니다:
pip install deepsparse[yolov8]일단 설치되면 설치 섹션에 제공된 단계에 따라 환경을 설정하고 YOLO26과 함께 DeepSparse를 사용하기 시작할 수 있습니다.
DeepSparse와 호환되는 ONNX 형식으로 YOLO26 모델을 변환하려면 다음 CLI 명령어를 사용하십시오:
yolo task=detect mode=export model=yolo26n.pt format=onnx opset=13이 명령은 YOLO26 모델(
yolo26n.pt)을 DeepSparse Engine에서 활용할 수 있는 포맷(yolo26n.onnx)으로 내보냅니다. 모델 내보내기에 대한 자세한 정보는 모델 내보내기 섹션에서 확인할 수 있습니다.DeepSparse에서 YOLO26 성능을 벤치마킹하면 처리량과 지연 시간을 분석하여 모델이 최적화되었는지 확인할 수 있습니다. 다음 CLI 명령어를 사용하여 벤치마크를 실행할 수 있습니다:
deepsparse.benchmark model_path="path/to/yolo26n.onnx" --scenario=sync --input_shapes="[1,3,640,640]"이 명령은 핵심적인 성능 지표를 제공합니다. 자세한 내용은 성능 벤치마킹 섹션을 참조하세요.
YOLO26와 Neural Magic의 DeepSparse를 통합하면 다음과 같은 이점이 있습니다:
- 향상된 추론 속도: (YOLO11n 기준) 최대 525 FPS를 달성하며 DeepSparse의 최적화 능력을 입증합니다.
- 최적화된 모델 효율성: 희소성, 가지치기, 양자화 기술을 사용하여 정확도를 유지하면서 모델 크기와 컴퓨팅 요구 사항을 줄입니다.
- 표준 CPU에서의 고성능: 비용 효율적인 CPU 하드웨어에서 GPU와 같은 성능을 제공합니다.
- 간소화된 통합: 손쉬운 배포 및 통합을 위한 사용자 친화적인 도구를 제공합니다.
- 유연성: 표준 YOLO26 모델과 희소성 최적화 YOLO26 모델을 모두 지원합니다.
- 비용 효율성: 효율적인 자원 활용을 통해 운영 비용을 절감합니다.
이러한 장점에 대해 더 깊이 알아보려면 Neural Magic의 DeepSparse와 YOLO26 연동의 이점 섹션을 방문하세요.