Yolo 비전 선전
선전
지금 참여하기

Ultralytics 컴퓨터 비전 모델 배포를 어떻게 간소화하는가

Ultralytics 테스트부터 실제 운영에 바로 적용 가능한 API에 이르기까지, 컴퓨터 비전 모델 배포에 필요한 모든 요소를 어떻게 통합하는지 확인해 보세요.

컴퓨터 비전 프로젝트를 Ultral Ultralytics로 확장하세요

시작하기

Ultralytics 수년 동안 컴퓨터 비전 커뮤니티와 협력해 Ultralytics , 누구나 쉽게 비전 AI를 활용할 수 있도록 돕는 모델과 도구를 개발해 Ultralytics . Ultralytics 통해 우리는 데이터셋 관리와 라벨링부터 모델 훈련, 검증, 배포에 이르기까지 컴퓨터 비전 개발 워크플로우 전반을 하나의 통합된 환경으로 아우르며 한 단계 더 발전하고 있습니다.

특히, 컴퓨터 비전 모델의 배포 과정을 더욱 간편하게 만들 수 있게 되어 매우 기쁩니다. 컴퓨터 비전이 실제 응용 분야로 꾸준히 확대되고 있지만, 통제된 환경 밖에서 이미지나 동영상을 분석하는 일은 여전히 복잡한 과제입니다. 

조건이 예측 가능한 테스트 환경과 달리, 실제 환경에서는 다양한 조명 조건, 변화하는 입력 데이터, 예측 불가능한 작업 부하가 발생하기 때문에, 배포는 비전 워크플로우에서 가장 어려운 단계 중 하나입니다.

배포는 단순히 모델을 사용할 수 있게 하는 것 이상의 의미를 지닙니다. 실제 데이터를 처리할 수 있는 프로세스를 구축하고, 사용량이 증가하고 프로젝트 규모가 커짐에 따라 모든 것이 원활하게 운영되도록 보장해야 합니다. 

또한 팀은 track 시간이 지나도 안정성을 유지해야 합니다. 이는 테스트, 통합, 배포, 모니터링을 위해 서로 다른 AI 도구들을 번갈아 사용해야 함을 의미하는 경우가 많으며, 이로 인해 모델 개발 속도가 느려지고 불필요한 복잡성이 가중될 수 있습니다.

워크플로가 결국 분산되고 단절되기 마련입니다. Ultralytics 이러한 과정을 통합하고 간소화합니다.

단일 환경 내에서 모델 제공, 테스트 및 모니터링을 기본적으로 지원합니다. 팀은 브라우저 기반 추론을 통해 모델을 검증하고, 공유 추론 서비스를 통해 애플리케이션에 통합하며, 성능 모니터링 기능을 갖춘 전용 엔드포인트에 배포할 수 있습니다.

그림 1. Ultralytics 내 배포 페이지 모습 (출처)

이 글에서는 Ultralytics 테스트와 통합부터本番 배포 및 모니터링에 이르기까지 컴퓨터 비전 모델 배포 방식을 어떻게 혁신하고 있는지 살펴보겠습니다. 그럼 시작해 보겠습니다!

컴퓨터 비전 모델 배포 개요

머신러닝 라이프사이클에서 모델 배포는 모델이 실험 단계에서 실제 활용 단계로 넘어가는 단계입니다. 딥러닝과 컨볼루션 신경망을 활용해 구축된 컴퓨터 비전 모델의 경우, 이는 일반적으로 이미지 및 동영상을 실시간으로 처리할 수 있도록 모델을 제공하는 것을 의미합니다.

이러한 모델은 배포된 후 새로운 데이터를 입력받으며, 이 데이터는 대개 크기 조정, 정규화, 형식 조정과 같은 전처리 단계를 거칩니다. 이후 처리된 데이터는 모델로 전달되며, 모델은 훈련 과정에서 학습한 패턴을 적용하여 높은 정확도의 예측 결과를 도출합니다.

사용 사례에 따라 다양한 컴퓨터 비전 작업이 포함될 수 있습니다. 예를 들어, Ultralytics 같은 Ultralytics Ultralytics YOLO 물체 탐지, 이미지 분류, 인스턴스 분할, 자세 추정, 방향 기반 바운딩 박스(OBB) 탐지 등 광범위한 비전 작업을 지원합니다.

실제 환경에서 이를 효과적으로 활용하려면, 모델을 전처리 및 추론을 모두 효율적으로 처리할 수 있는 시스템에 통합해야 하는 경우가 많습니다. 바로 이 때문에 배포 인프라가 필수적입니다.

프로덕션 환경에서는 일반적으로 REST API나 모델 서빙 시스템을 통해 모델에 접근합니다. 이러한 인터페이스를 통해 애플리케이션은 프로그래밍 방식으로 데이터를 전송하고 예측 결과를 수신할 수 있어, 실시간 시각적 이해에 의존하는 외부 애플리케이션, IoT 기기 또는 로봇 시스템과의 통합이 더욱 용이해집니다.

기존 컴퓨터 비전 배포 도구의 한계

컴퓨터 비전 모델 배포는 간단해 보일 수 있지만, 지금까지 실제 상황에서는 사정이 꽤 달랐습니다. 일반적인 구성을 살펴보면, 먼저 카메라나 센서에서 데이터를 수집한 뒤 모델로 전송해 추론을 수행하고, 그 결과를 예측값으로 애플리케이션에 반환하는 방식입니다.

실제로는 이러한 단계들이 각각 별도의 도구와 서비스로 처리되는 경우가 많습니다. 한 시스템은 데이터 수집을 담당하고, 다른 시스템은 모델 제공을 관리하며, 확장성 확보, 모니터링, 로깅을 위해 또 다른 도구들이 사용되기도 합니다. 이러한 구성 요소들을 서로 연결하고 안정적으로 가동하는 일은 금세 복잡해질 수 있습니다.

사용량이 증가함에 따라 이러한 복잡성도 커집니다. 인프라 관리, 종속성 처리, 그리고 엔드투엔드 파이프라인 전반에 걸친 일관된 성능 유지는 개발 속도를 늦출 뿐만 아니라, 컴퓨터 비전 모델을 실제 애플리케이션에 배포하는 것을 더욱 어렵게 만들 수 있습니다.

Ultralytics 이러한 구성 요소들을 하나의 통합된 환경으로 묶어줍니다. 이를 통해 대규모 환경에서도 성능과 안정성을 보장하면서 전체 배포 워크플로를 보다 체계적으로 관리할 수 있습니다.

Ultralytics 지원하는 모델 배포 옵션

Ultralytics 모델 배포 프로세스를 통합할 뿐만 아니라, 모델의 배포 및 활용 방식에 있어 유연성을 제공합니다.

컴퓨터 비전 모델 배포의 다양한 단계를 지원하기 위해, 이 플랫폼은 네 가지 옵션을 제공합니다. 즉, 즉각적인 추론이 가능한 브라우저 기반 테스트, 개발을 위한 API를 통한 공유 추론, 전 세계 여러 지역에 걸쳐 확장 가능한 운영 환경 배포를 위한 전용 엔드포인트, 그리고 외부 인프라나 엣지 기기에서 모델을 실행하기 위한 모델 내보내기 기능입니다.

그럼 이제 각 옵션이 어떻게 작동하는지 자세히 살펴보겠습니다.

‘예측’ 탭을 사용하여 모델을 신속하게 검증하세요

모델을 실제 운영 환경에 적용하기 전에, 해당 모델이 이전에 본 적 없는 새로운 데이터에서 어떻게 작동하는지 파악하는 것이 중요합니다. Ultralytics ‘Predict’ 탭이 내장되어 있어, 별도의 설정이나 인프라, 종속성 없이 브라우저에서 바로 추론 작업을 실행할 수 있습니다.

‘예측’ 탭을 사용하면 모델 검증을 빠르고 상호작용적으로 수행할 수 있습니다. 이미지를 업로드하거나 미리 로드된 예제를 사용하거나 웹캠으로 입력 데이터를 캡처할 수 있으며, 데이터가 제공되는 즉시 추론이 자동으로 실행됩니다. 

결과는 시각적 오버레이, 신뢰도 점수 및 상세 출력 정보와 함께 즉시 표시되어 모델의 동작 방식을 명확하게 파악할 수 있습니다.

그림 2. ‘예측(Predict)’ 탭을 사용하여 모델을 검증하는 예시 (출처)

즉, 몇 번의 클릭만으로 단일 인터페이스 내에서 다양한 입력값을 테스트하고, 매개변수를 조정하며, 성능을 평가한 후 배포 단계로 넘어갈 수 있습니다.

테스트 또는 가벼운 사용을 위한 공유 추론 실행

모델을 훈련시키고 ‘예측(Predict)’ 탭을 통해 검증했다고 가정해 봅시다. 다음 단계는 대개 해당 모델을 애플리케이션이나 워크플로에 통합하는 것입니다. 

Ultralytics 인프라를 구축하거나 서버를 관리할 필요 없이, 간단한 REST API를 통해 모델로 데이터를 전송하고 예측 결과를 받아볼 수 있는 공유 추론 서비스를 제공합니다.

배후에서는 공유 추론이 몇 개의 핵심 리전을 아우르는 멀티테넌트 시스템에서 실행되며, 요청은 사용 가능한 가장 가까운 서비스로 자동 라우팅됩니다. 이를 통해 반응성이 뛰어난 성능을 유지하는 동시에, 서로 다른 지역에 있는 사용자들도 일관되게 모델에 접근할 수 있게 됩니다.

표준 HTTP 요청을 통해 데이터를 전송하고 구조화된 형식의 결과를 받아볼 수 있어, 모델을 애플리케이션, 스크립트 또는 자동화 워크플로우에 손쉽게 연결할 수 있습니다. 이러한 구성은 개발, 테스트, 통합 또는 더 확장성 있는本番 환경으로 전환하기 전의 가벼운 용도로 활용하기에 매우 적합합니다.

전용 엔드포인트를 통해 모델을 전 세계적으로 배포합니다

모델이 실제 운영에 투입될 준비가 되면, 실제 트래픽을 대규모로 안정적으로 처리할 수 있어야 합니다. Ultralytics 전 세계 43개 리전에 걸쳐 모델이 싱글 테넌트 서비스로 실행되는 전용 엔드포인트를 통해 이를 지원합니다. 최종 사용자와 더 가까운 곳에 배포함으로써 지연 시간을 줄이고, 다양한 지역에서 일관된 성능을 유지할 수 있습니다.

각 엔드포인트는 할당된 전용 컴퓨팅 리소스와 추론 요청을 위한 고유한 URL을 사용하여 실행됩니다. 이러한 수준의 제어 기능을 통해 가벼운 사용 사례부터 더 많은 컴퓨팅 리소스가 필요한 고부하, 고처리량 애플리케이션에 이르기까지, 성능 요구 사항에 따라 배포 환경을 손쉽게 조정할 수 있습니다.

그림 3. Ultralytics 사용하여 전 세계 43개 지역에 모델을 배포할 수 있습니다 (출처)

그러나 전용 엔드포인트는 유입되는 트래픽에 따라 리소스를 조정하는 자동 확장 기능을 통해 변화하는 워크로드를 자체적으로 처리하도록 설계되었습니다. 수요가 높은 시기에는 리소스를 확장하고, 사용량이 감소하면 축소합니다. 기본적으로 ‘스케일-투-제로(scale-to-zero)’ 기능이 활성화되어 있어, 유휴 상태인 엔드포인트는 자동으로 종료되었다가 새로운 요청이 도착하면 다시 시작되므로, 수동 개입 없이도 리소스 사용을 최적화할 수 있습니다.

Ultralytics 사용하여 모델을 간편하게 내보내세요

요즘에는 스마트폰, 카메라, 임베디드 시스템과 같은 기기에서 직접 모델을 실행하는 애플리케이션이 늘어나면서 엣지 AI의 중요성이 점점 더 커지고 있습니다. 또한 모델을 로컬에서 실행하면 이미지나 비디오 스트림과 같은 민감한 데이터를 외부 서버로 전송하지 않고 기기 내에서 직접 처리할 수 있으므로, 데이터 개인정보 보호 요건을 충족하는 데도 도움이 됩니다.

이러한 경우 모델은 Ultralytics 외부에서 실행되어야 하므로, 모델 내보내기는 배포 프로세스에서 매우 중요한 단계입니다. Ultralytics YOLO 주로 Python PyTorch 사용하여 훈련되며, 이후 ONNX, TensorRT, CoreML, OpenVINO 등 17가지 이상의 다양한 형식으로 내보낼 수 있습니다. 

이처럼 다양한 형식을 지원함으로써 고성능 그래픽 처리 장치(GPU)부터 모바일 및 임베디드 기기에 이르기까지 다양한 하드웨어와의 호환성이 보장됩니다. 또한, 내보내기 기능을 통해 특정 환경에 맞춘 성능 조정이 가능합니다. 

포맷에 따라 모델은 더 빠른 추론 속도를 달성할 수 있습니다. 예를 들어 TensorRT 사용하면 GPU 향상되고 TensorRT ONNX OpenVINO 사용하면 CPU 최적화됩니다. FP16 및 INT8 양자화와 같은 옵션을 활용하면 모델 크기를 더욱 줄이고 처리량을 향상시킬 수 있으며, 이는 특히 에지 배포 환경에서 유용합니다.

Ultralytics 내보내기 기능이 워크플로에 직접 통합되어 있어, 몇 번의 클릭만으로 최적화된 모델을 신속하게 생성할 수 있습니다. 팀은 추가적인 부담 없이 훈련 단계에서 외부 시스템에서 모델을 실행하는 단계로 원활하게 넘어갈 수 있습니다.

그림 4. Ultralytics 의 다양한 내보내기 형식.

적합한 모델 배포 옵션 선택하기

Ultralytics Platform의 각 배포 옵션은 초기 테스트 단계부터 실제 운영 단계에 이르기까지 워크플로의 다양한 단계를 지원합니다. 각 옵션을 언제 사용할 수 있는지에 대한 개요는 다음과 같습니다:

  • '예측' 탭: 이 탭은 일반적으로 모델 훈련이나 미세 조정을 마친 직후, 브라우저 기반 추론을 통해 새로운 데이터에서 모델의 성능을 검증하고자 할 때 사용됩니다.
  • 공유 추론: 이 단계에서 모델은 API를 통해 애플리케이션에 통합될 수 있어, 개발 과정에서 실제 사용 환경에서의 상호작용을 테스트할 수 있습니다.
  • 전용 엔드포인트: 이는 모델에 일관된 성능, 전용 리소스, 그리고 전 세계 리전 간 확장 기능이 필요한 프로덕션 배포에 사용됩니다.
  • 모델 내보내기: 플랫폼 외부에서 모델을 실행해야 할 경우, 모델 내보내기 기능을 통해 엣지 디바이스, 모바일 앱 또는 사용자 지정 인프라에 배포할 수 있습니다.

팀들은 대개 이러한 단계를 하나씩 밟아가며, 검증 단계에서 통합 단계를 거쳐 최종적으로 플랫폼 내에서 프로덕션 배포에 이릅니다.

Ultralytics 통한 배포된 모델 모니터링

배포가 아무리 중요하더라도, 비전 파이프라인은 거기서 끝나지 않습니다. 모델이本番 환경에서 가동되기 시작하면, 시간이 지나도 안정적으로 작동하도록 보장하기 위해서는 지속적인 모니터링이 핵심입니다.

Ultralytics 내장된 모니터링 도구를 제공하여 팀이 비전 AI 모델의 시간 경과에 따른 동작을 명확하게 파악할 수 있도록 지원함으로써, 보다 체계적인 머신러닝 운영(MLOps) 워크플로를 뒷받침합니다.

‘배포’ 페이지에는 총 요청 수, 활성 배포 수, 응답 지연 시간, 오류율과 같은 주요 지표를 추적하는 대시보드가 포함되어 있습니다. 이러한 분석 정보를 통해 팀은 사용 패턴을 파악하고, 시스템 응답성을 평가하며, 다양한 워크로드 전반에 걸쳐 저지연 성능을 보장할 수 있습니다.

그림 5. Ultralytics 사용하면 배포된 모델을 손쉽게 모니터링할 수 있습니다. (출처)

각 전용 엔드포인트는 개별 배포 보기를 통해 상세한 가시성을 제공합니다. 여기에는 로그, 모델 상태 및 실시간 성능 데이터에 대한 액세스가 포함됩니다. 로그를 활용하면 문제를 디버깅하고, 실패한 요청을 추적하며, 종속성이나 인프라와 관련된 잠재적 문제를 파악할 수 있습니다.

프로덕션 환경이 변화함에 따라 입력 데이터의 변동, 확장 요구 사항, 사용 패턴의 변화와 같은 요인들이 모델의 정확도와 견고성에 영향을 미칠 수 있습니다. 성능 지표를 지속적으로 모니터링함으로써 팀은 detect 병목 현상을 파악하여, 모델 최적화나 리소스 조정과 같은 시정 조치를 취함으로써 일관되고 안정적인 모델 서비스를 유지할 수 있습니다.

컴퓨터 비전 모델 배포에 확장성 확보

컴퓨터 비전 시스템을 확장한다는 것은 전통적으로, 애초에 하나로 통합되어 작동하도록 설계되지 않은 워크플로우와 프레임워크를 억지로 결합하는 것을 의미해 왔습니다. 데이터 파이프라인, 훈련 루프, 배포 인프라, 모니터링 시스템은 종종 서로 분리된 곳에 위치해 있어, 모든 단계에서 마찰을 일으키곤 합니다.

진정한 과제는 단순히 모델을 구축하는 것이 아니라, 그 모델을 지속적으로 가동하는 데 있습니다. 데이터를 실제 운영 환경으로 전환하고, 새로운 입력 데이터에 적응하며, 증가하는 수요를 처리하고, 속도를 늦추지 않으면서 지속적으로 개선해 나가는 것입니다.

Ultralytics 가장 큰 특징은 이러한 흐름이 기본적으로 내장되어 있다는 점입니다. 각 단계를 별개의 단계로 취급하는 대신, 이를 하나의 연속적인 루프로 연결하여 동일한 환경 내에서 모델을 개발, 배포, 모니터링 및 업데이트할 수 있도록 합니다.

이러한 변화는 팀의 확장 방식을 바꿔놓습니다. 이제는 도구나 인프라를 조율하는 것이 아니라, 시스템이 성장함에 따라 추진력을 유지하는 것이 핵심입니다.

주요 내용

컴퓨터 비전 모델과 같은 머신러닝 모델을 실제 애플리케이션에 적용하려면, 해당 모델이 신뢰할 수 있고 확장성이 뛰어나며 관리가 용이해야 합니다. Ultralytics 모델 서빙, 배포, 모니터링 등 다양한 기능을 하나의 통합 환경으로 결합하여 이 과정을 간소화합니다. 유연한 배포 옵션과 내장된 도구를 통해 팀은 실험 단계에서 운영 환경으로 더 빠르고 간편하게 전환할 수 있습니다.

자세한 내용은 커뮤니티를 방문하거나 GitHub 저장소를 살펴보시기 바랍니다. 솔루션 페이지를 통해 의료 분야의 AI, 물류 분야의 컴퓨터 비전 등 다양한 적용 사례를 확인해 보세요. 라이선스 옵션을 확인하고 지금 바로 개발을 시작해 보세요! 

함께 AI의 미래를 만들어 갑시다!

미래의 머신러닝 여정을 시작하세요