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