Ultralytics YOLO 모델로 학습, 검증, 예측, 내보내기 및 벤치마크를 수행하는 방법
Ultralytics YOLO 모델을 사용해 학습, 검증, 예측, 내보내기 및 벤치마크를 수행하는 방법을 알아보세요!

Ultralytics의 세계를 살펴보고 다양한 YOLO 모델에서 사용할 수 있는 여러 모드를 알아보겠습니다. 사용자 지정 객체 탐지 모델을 학습하거나 세그멘테이션 작업을 수행할 때 이러한 모드를 이해하는 것이 중요합니다. 바로 시작하겠습니다!
Ultralytics 문서에서는 모델에 사용할 수 있는 여러 모드를 확인할 수 있습니다. 여기에는 학습, 검증, 예측, 내보내기, 벤치마크, 추적가 포함됩니다. 각 모드는 고유한 목적을 가지며 모델 성능과 배포를 최적화하는 데 도움이 됩니다.
학습 모드#
먼저 학습 모드를 살펴보겠습니다. 이 모드에서 모델을 구축하고 개선합니다. 문서에서 자세한 안내와 동영상 가이드를 확인할 수 있어 사용자 지정 모델 학습을 쉽게 시작할 수 있습니다.
모델 학습은 모델에 새로운 데이터셋을 제공해 다양한 패턴을 학습하도록 하는 과정입니다. 학습이 완료된 모델은 실시간으로 사용해 학습한 새로운 객체를 탐지할 수 있습니다. 학습을 시작하기 전에 데이터셋에 YOLO 형식으로 어노테이션을 지정해야 합니다.
검증 모드#
다음으로 검증 모드를 살펴보겠습니다. 검증은 하이퍼파라미터를 조정하고 모델이 잘 작동하는지 확인하는 데 필수적입니다. Ultralytics는 자동 설정, 다중 메트릭 지원, Python API와의 호환성 등 다양한 검증 옵션을 제공합니다. 아래 명령을 사용해 명령줄 인터페이스(CLI)에서 직접 검증을 실행할 수도 있습니다.
검증이 필요한 이유#
검증은 다음과 같은 이유로 중요합니다.
- 정확도: 모델이 객체를 정확하게 탐지하는지 확인합니다.
- 편의성: 검증 프로세스를 간소화합니다.
- 유연성: 다양한 검증 방법을 제공합니다.
- 하이퍼파라미터 튜닝: 성능을 높이도록 모델을 최적화합니다.
Ultralytics는 Python 스크립트에 복사해 붙여넣을 수 있는 사용자 예시도 제공합니다. 이러한 예시에는 이미지 크기, 배치 크기, 디바이스(CPU 또는 GPU), 교집합 대비 합집합(IoU)과 같은 파라미터가 포함됩니다.
예측 모드#
모델 학습과 검증을 마쳤다면 이제 예측을 수행할 차례입니다. 예측 모드에서는 새로운 데이터에 대해 추론을 실행하고 모델이 작동하는 모습을 확인할 수 있습니다. 이 모드는 실제 데이터에서 모델 성능을 테스트하는 데 적합합니다. 아래 Python 코드 스니펫을 사용하면 이미지에 대한 예측을 실행할 수 있습니다!
내보내기 모드#
검증과 예측을 마친 후에는 모델을 배포할 수 있습니다. 내보내기 모드를 사용하면 모델을 ONNX 또는 TensorRT와 같은 다양한 형식으로 변환해 여러 플랫폼에 쉽게 배포할 수 있습니다.
벤치마크 모드#
마지막으로 벤치마크 모드를 살펴보겠습니다. 다양한 시나리오에서 모델 성능을 평가하려면 벤치마크가 필수적입니다. 이 모드는 리소스 할당, 최적화, 비용 효율성에 관한 합리적인 결정을 내리는 데 도움이 됩니다.
벤치마크 실행 방법#
벤치마크를 실행하려면 문서에서 제공하는 사용자 예시를 사용할 수 있습니다. 이 예시에서는 ONNX와 TensorRT를 포함한 주요 메트릭과 내보내기 형식을 다룹니다. 정수 양자화(INT8) 또는 부동소수점 양자화(FP16)와 같은 파라미터를 지정해 설정에 따라 성능이 어떻게 달라지는지도 확인할 수 있습니다.
실제 벤치마크 예시#
실제 벤치마크 예시를 살펴보겠습니다. PyTorch 모델을 벤치마크했을 때 RTX 3070 GPU에서 추론 속도는 68밀리초였습니다. TorchScript로 내보낸 후에는 추론 속도가 4밀리초로 줄어 크게 향상되었습니다.
ONNX 모델의 추론 속도는 21밀리초입니다. Intel i9 13세대 CPU에서 모델을 테스트하면 결과가 달라집니다. TorchScript는 115밀리초, ONNX는 더 빠른 84밀리초를 기록합니다. 마지막으로 Intel 하드웨어에 최적화된 OpenVINO는 놀랍게도 23밀리초를 기록합니다.

그림 1. Ultralytics YOLO 모델의 벤치마크 실행 방법을 시연하는 Nicolai Nielsen.
벤치마크의 중요성#
벤치마크를 통해 하드웨어와 내보내기 형식에 따라 모델 성능이 어떻게 달라지는지 확인할 수 있습니다. 특히 사용자 지정 하드웨어나 엣지 디바이스에 모델을 배포할 계획이라면 벤치마크를 수행하는 것이 중요합니다. 벤치마크는 대상 환경에 맞게 모델을 최적화해 가능한 최고의 성능을 제공하도록 합니다.
결론#
요약하면 Ultralytics 문서의 모드는 YOLO 모델의 학습, 검증, 예측, 내보내기, 벤치마크를 위한 강력한 도구입니다. 각 모드는 모델을 최적화하고 배포를 준비하는 데 중요한 역할을 합니다.
커뮤니티를 살펴보고 참여하는 것도 잊지 마시고, 제공된 코드 스니펫을 프로젝트에서 사용해 보세요. 이러한 도구를 활용하면 고성능 모델을 만들고 어떤 환경에서든 효율적으로 실행되도록 할 수 있습니다.










