ExecuTorch 통합을 사용하여 Ultralytics YOLO 모델 배포하기
Ultralytics YOLO11과 같은 Ultralytics YOLO 모델을 ExecuTorch 형식으로 내보내어 엣지 및 모바일 기기에서 효율적으로 PyTorch 네이티브 배포를 수행하는 방법을 알아보세요.

자동화된 품질 검사, 자율 주행 드론, 스마트 보안 시스템과 같은 특정 computer vision 애플리케이션은 Ultralytics YOLO11과 같은 Ultralytics YOLO 모델이 이미지를 캡처하는 센서 근처에서 실행될 때 최고의 성능을 발휘합니다. 다시 말해, 이러한 모델은 클라우드로 데이터를 전송하는 대신 카메라, 드론 또는 임베디드 시스템에서 생성되는 즉시 데이터를 처리해야 합니다.
edge AI라고 알려진 이 접근 방식은 모델이 데이터가 캡처되는 장치에서 직접 추론을 수행할 수 있게 합니다. 원격 서버에 의존하는 대신 로컬에서 정보를 처리함으로써 시스템은 인터넷 연결이 제한적이거나 없는 환경에서도 낮은 지연 시간, 향상된 데이터 개인 정보 보호 및 더 높은 안정성을 달성할 수 있습니다.
예를 들어, 매분 수천 개의 제품을 검사하는 제조 카메라나 복잡한 환경을 탐색하는 드론은 클라우드 처리로 인한 지연을 감당할 수 없습니다. YOLO11을 장치에서 직접 실행하면 즉각적인 온디바이스 추론이 가능합니다.
엣지 환경에서 Ultralytics YOLO 모델을 더 쉽고 효율적으로 실행할 수 있도록, Ultralytics가 지원하는 새로운 ExecuTorch integration은 모델을 모바일 및 임베디드 장치로 직접 내보내고 배포할 수 있는 간소화된 방법을 제공합니다. ExecuTorch는 PyTorch Edge 생태계의 일부이며, 휴대폰, 웨어러블, 임베디드 보드 및 마이크로컨트롤러를 포함한 모바일 및 엣지 하드웨어에서 AI 모델을 직접 실행하기 위한 엔드투엔드 솔루션을 제공합니다.
이 통합을 통해 Ultralytics YOLO 모델(예: YOLO11)을 학습에서 엣지 장치 배포까지 쉽게 가져올 수 있습니다. YOLO11의 비전 기능과 ExecuTorch의 경량 런타임 및 PyTorch 내보내기 파이프라인을 결합하여, 사용자는 PyTorch 기반 추론의 정확도와 성능을 유지하면서 엣지 하드웨어에서 효율적으로 실행되는 모델을 배포할 수 있습니다.
이 문서에서는 ExecuTorch 통합이 어떻게 작동하는지, 왜 엣지 AI 애플리케이션에 적합한지, 그리고 ExecuTorch를 사용하여 Ultralytics YOLO 모델 배포를 어떻게 시작할 수 있는지 자세히 살펴봅니다. 시작해 보겠습니다!
Link to this sectionExecuTorch란 무엇인가요?#
일반적으로 PyTorch에서 모델을 학습하면 클라우드의 강력한 서버나 GPU에서 실행됩니다. 그러나 스마트폰, 드론 또는 마이크로컨트롤러와 같은 모바일 또는 임베디드 장치에 동일한 모델을 배포하려면 제한된 컴퓨팅 성능, 메모리 및 연결성을 처리할 수 있는 특수 솔루션이 필요합니다.
그것이 바로 ExecuTorch가 제공하는 가치입니다. ExecuTorch는 PyTorch Edge 생태계의 일부로 개발된 엔드투엔드 솔루션으로, 모바일, 임베디드 및 엣지 플랫폼 전반에서 효율적인 온디바이스 추론을 가능하게 합니다. 이는 PyTorch의 기능을 클라우드 너머로 확장하여 AI 모델이 로컬 장치에서 직접 실행되도록 합니다.
Link to this sectionPyTorch 추론을 엣지로 가져오기#
ExecuTorch의 핵심은 PyTorch 모델이 장치에서 직접 실행되도록 하는 경량 C++ 런타임을 제공하는 것입니다. ExecuTorch는 더 빠른 로딩, 더 작은 메모리 점유율 및 향상된 이식성을 위해 설계된 최적화된 내보내기 형식인 PyTorch ExecuTorch(.pte) 모델 형식을 사용합니다.
효율적인 CPU 추론을 위한 기본 백엔드로 XNNPACK을 지원하며, CoreML, Metal, Vulkan, Qualcomm, MediaTek, Arm EthosU, OpenVINO 등을 포함한 광범위한 하드웨어 백엔드 전반에 걸쳐 호환성을 확장합니다.
이러한 백엔드는 모바일, 임베디드 및 특수 엣지 장치에서 최적화된 가속을 가능하게 합니다. ExecuTorch는 PyTorch 내보내기 파이프라인과 통합되어 성능을 향상시키고 다양한 배포 환경에서의 적응성을 개선하기 위해 quantization 및 동적 형상 처리와 같은 고급 기능을 지원합니다.
양자화는 고정밀 값(예: 32비트 부동 소수점)을 저정밀 값으로 변환하여 모델 크기를 줄이고 추론 속도를 높이며, 동적 형상 처리는 모델이 다양한 입력 크기를 효율적으로 처리할 수 있도록 하는 데 사용됩니다. 두 기능 모두 자원이 제한된 엣지 장치에서 AI 모델을 실행하는 데 매우 중요합니다.

그림 1. ExecuTorch 작동 방식 살펴보기 (Source)
Link to this section엣지 하드웨어를 위한 통합 계층#
런타임을 넘어 ExecuTorch는 다중 하드웨어 백엔드를 위한 통합 추상화 계층으로도 작동합니다. 간단히 말해, 하드웨어별 세부 정보를 추상화하고 모델이 CPU, GPU 및 NPU를 포함한 다양한 처리 장치와 상호 작용하는 방식을 관리합니다.
모델이 내보내지면 ExecuTorch는 특정 장치에 가장 적합한 백엔드를 대상으로 하도록 구성할 수 있습니다. 개발자는 장치별 사용자 지정 코드를 작성하거나 별도의 변환 워크플로를 유지 관리할 필요 없이 다양한 하드웨어에 모델을 효율적으로 배포할 수 있습니다.
모듈식의 휴대용 설계와 원활한 PyTorch 통합 덕분에, ExecuTorch는 Ultralytics YOLO11과 같은 컴퓨터 비전 모델을 모바일 및 임베디드 시스템에 배포하기 위한 훌륭한 옵션입니다. 모델 학습과 실제 배포 사이의 간극을 메워 엣지 AI를 더 빠르고 효율적이며 구현하기 쉽게 만듭니다.
Link to this sectionExecuTorch의 주요 특징#
Ultralytics YOLO 모델을 ExecuTorch 형식으로 내보내는 방법을 살펴보기 전에, ExecuTorch가 엣지 AI 배포를 위한 신뢰할 수 있는 옵션인 이유를 알아보겠습니다.
주요 기능 중 일부는 다음과 같습니다:
- 양자화 지원: ExecuTorch는 모델 양자화를 지원합니다. 이는 고정밀 값을 저정밀 값으로 변환하여 모델 크기를 줄이고 추론 속도를 높이는 기술입니다. 이는 모델이 거의 동일한 정확도를 유지하면서 엣지 장치에서 더 빠르게 실행되고 더 적은 메모리를 사용하도록 돕습니다.
- 효율적인 메모리 사용: ExecuTorch의 가장 큰 장점 중 하나는 메모리 처리 방식입니다. 지연 시간과 전력 오버헤드를 유발할 수 있는 동적 메모리 할당에 의존하는 대신, ExecuTorch는 AOT(Ahead-of-Time) 메모리 계획을 사용합니다. 내보내는 동안 모델 그래프를 분석하고 각 작업에 필요한 메모리 양을 미리 계산합니다. 이를 통해 런타임은 정적 메모리 계획을 사용하여 모델을 실행할 수 있으므로, 예측 가능한 성능을 보장하고 RAM이나 처리 용량이 제한된 장치에서 속도 저하나 충돌을 방지합니다.
- 내장 모델 메타데이터: Ultralytics가 지원하는 통합을 사용하여 내보낼 때, 각 모델에는 입력 이미지 크기, 클래스 이름 및 구성 매개변수와 같은 중요한 메타데이터가 포함된 YAML 파일이 포함됩니다. 이 추가 파일은 다양한 애플리케이션으로의 모델 통합을 단순화하고 다양한 엣지 플랫폼에서 일관된 동작을 보장합니다.
Link to this sectionUltralytics YOLO 모델을 ExecuTorch 형식으로 내보내는 방법#
이제 ExecuTorch가 제공하는 기능을 더 잘 이해했으니, Ultralytics YOLO 모델을 ExecuTorch 형식으로 내보내는 방법을 살펴보겠습니다.
Link to this section1단계: Ultralytics Python 패키지 설치#
시작하려면 패키지 설치 프로그램인 pip를 사용하여 Ultralytics Python package를 설치해야 합니다. 터미널이나 명령 프롬프트에서 "pip install ultralytics"를 실행하면 됩니다.
Jupyter Notebook 또는 Google Colab 환경에서 작업하는 경우 명령 앞에 느낌표를 추가하면 됩니다(예: "!pip install ultralytics"). 일단 설치되면, Ultralytics 패키지는 Ultralytics YOLO11을 포함하여 컴퓨터 비전 모델을 학습, 테스트 및 내보내는 데 필요한 모든 도구를 제공합니다.
설치 중이나 모델을 내보내는 동안 문제가 발생하면 공식 Ultralytics 문서 및 Common Issues guide에서 원활하게 진행할 수 있도록 돕는 자세한 문제 해결 단계와 모범 사례를 확인할 수 있습니다.
Link to this section2단계: Ultralytics YOLO11 내보내기#
Ultralytics 패키지를 설치한 후에는 YOLO11 모델의 변형을 로드하고 export하여 ExecuTorch 형식으로 내보낼 수 있습니다. 예를 들어, 사전 학습된 모델인 "yolo11n.pt"를 사용하여 형식을 "executorch"로 설정하고 내보내기 함수를 호출하여 내보낼 수 있습니다.
그러면 최적화된 모델 파일(.pte)과 이미지 크기 및 클래스 이름과 같은 중요한 세부 정보가 포함된 별도의 메타데이터 YAML 파일이 포함된 "yolo11n_executorch_model"이라는 디렉토리가 생성됩니다.
모델을 내보내기 위한 코드는 다음과 같습니다:
from ultralytics import YOLO
model = YOLO("yolo11n.pt")
model.export(format="executorch")Link to this section3단계: 모델 내보내기 후 추론 실행하기#
내보내기가 완료되면 모델을 ExecuTorch 런타임을 사용하여 엣지 및 모바일 장치에 배포할 준비가 된 것입니다. 내보낸 .pte 모델 파일은 애플리케이션에 로드되어 클라우드 연결 없이도 실시간 온디바이스 추론을 실행할 수 있습니다.
예를 들어, 아래 코드 스니펫은 내보낸 모델을 로드하고 추론을 실행하는 방법을 보여줍니다. 추론은 단순히 학습된 모델을 사용하여 새로운 데이터에 대한 예측을 수행하는 것을 의미합니다. 여기서 모델은 공용 URL에서 가져온 버스 이미지로 테스트됩니다.
executorch_model = YOLO("yolo11n_executorch_model")
results = executorch_model.predict("https://ultralytics.com/images/bus.jpg", save=True)코드를 실행한 후에는 "runs/detect/predict" 폴더에 감지된 객체가 포함된 출력 이미지가 저장된 것을 확인할 수 있습니다.

그림 2. ExecuTorch 형식으로 내보낸 YOLO11 모델을 사용하여 객체 감지하기.
Link to this sectionExecuTorch 통합 사용의 이점#
Ultralytics에서 지원하는 다양한 내보내기 옵션을 탐색하는 동안, 무엇이 ExecuTorch 통합을 독특하게 만드는지 궁금할 수 있습니다. 핵심적인 차이점은 성능, 단순성 및 유연성을 얼마나 잘 결합하여 강력한 AI 모델을 모바일 및 엣지 장치에 직접 배포하기 쉽게 만드는지에 있습니다.
ExecuTorch 통합 사용의 주요 이점은 다음과 같습니다:
- 유연한 배포 옵션: ExecuTorch 모델은 모바일 애플리케이션, 임베디드 시스템, IoT 장치 및 특수 엣지 AI 하드웨어 전반에 배포할 수 있습니다. 이러한 유연성을 통해 개발자는 다양한 플랫폼과 환경에서 일관되게 성능을 발휘하는 확장 가능한 AI 솔루션을 구축할 수 있습니다.
- 벤치마크로 입증된 성능: Raspberry Pi 5와 같은 장치에서 테스트한 결과, ExecuTorch 형식으로 내보낸 YOLO11 모델은 PyTorch 대응 모델보다 약 2배 더 빠르게 실행되며 정확도는 거의 동일합니다.
- 유연한 통합 API: ExecuTorch는 iOS, Android 및 임베디드 Linux를 위한 C++, Kotlin 및 Objective-C API를 제공하여 개발자가 YOLO 모델을 기본 앱에 직접 통합할 수 있도록 합니다.
- 하드웨어 가속 지원: ExecuTorch는 모바일 GPU용 Vulkan 및 Metal을 포함한 다중 하드웨어 가속 백엔드를 지원하며, OpenCL 및 기타 공급업체별 API에 대한 선택적 통합을 제공합니다. 또한 NPU 및 DSP와 같은 전용 가속기를 활용하여 CPU 전용 추론보다 상당한 속도 향상을 달성할 수 있습니다.
Link to this sectionYOLO11과 ExecuTorch 내보내기의 실제 적용 사례#
최근 Ultralytics는 PyTorch ExecuTorch success story로 선정되어 온디바이스 추론에 대한 초기 지원과 PyTorch 생태계에 대한 지속적인 기여를 인정받았습니다. 이러한 인정은 모바일 및 엣지 플랫폼에서 고성능 AI를 더욱 쉽게 이용할 수 있도록 하려는 공유된 목표를 반영합니다.
Link to this section클라우드에서 엣지로: ExecuTorch와 YOLO11이 비전 AI를 실현하는 방법#
실제로 이는 스마트폰부터 임베디드 시스템에 이르기까지 모든 곳에서 효율적으로 실행되는 실제 비전 AI 솔루션으로 나타납니다. 예를 들어 제조 분야에서 엣지 장치는 생산 라인을 모니터링하고 결함을 실시간으로 감지하는 데 중요한 역할을 합니다.

그림 3. YOLO11을 사용하여 제조 조립 라인을 분석하는 예시 (Source)
지연 시간을 유발하고 인터넷 연결에 의존할 수 있는 클라우드로 이미지나 센서 데이터를 보내는 대신, ExecuTorch 통합을 통해 YOLO11 모델이 로컬 하드웨어에서 직접 실행될 수 있습니다. 이는 공장이 제한된 컴퓨팅 자원으로 운영되면서도 즉시 품질 문제를 감지하고 가동 중지 시간을 줄이며 데이터 개인 정보를 보호할 수 있음을 의미합니다.
ExecuTorch 통합 및 Ultralytics YOLO 모델을 적용할 수 있는 몇 가지 다른 사례는 다음과 같습니다:
- 스마트 시티: ExecuTorch를 사용하여 YOLO11 모델을 로컬에서 실행함으로써 도시는 교통 체증 감지부터 위험 요소 식별에 이르기까지 더 빠르고 데이터 중심적인 결정을 내려 전반적인 이동성과 안전성을 향상시킬 수 있습니다.
- 소매 및 창고 관리: 온디바이스 추론을 통해 소매업체는 클라우드 연결에 의존하지 않고도 선반 모니터링을 자동화하고 재고를 추적하며 패키지를 신속하고 안전하게 검사할 수 있습니다.
- Robotics and drones: 엣지에 최적화된 YOLO11 모델은 로봇과 드론이 인터넷 연결 없이도 객체를 인식하고 환경을 탐색하며 실시간 결정을 내릴 수 있도록 합니다.

그림 4. YOLO11을 사용하여 교통량 속의 차량 감지 및 카운팅 (Source)
Link to this section핵심 요약#
Ultralytics YOLO 모델을 ExecuTorch 형식으로 내보내면 스마트폰, 태블릿 및 Raspberry Pi와 같은 임베디드 시스템을 포함한 많은 장치에서 컴퓨터 비전 모델을 쉽게 배포할 수 있습니다. 이는 클라우드 연결에 의존하지 않고도 최적화된 온디바이스 추론을 실행하여 속도, 개인 정보 보호 및 안정성을 향상시킬 수 있음을 의미합니다.
ExecuTorch와 함께 Ultralytics는 TensorRT, OpenVINO, CoreML 등을 포함한 광범위한 통합을 지원하여 개발자가 플랫폼 전반에서 모델을 실행할 수 있는 유연성을 제공합니다. 비전 AI 채택이 증가함에 따라 이러한 통합은 실제 조건에서 효율적으로 수행되도록 구축된 지능형 시스템의 배포를 단순화합니다.
AI에 대해 궁금한 점이 있으신가요? GitHub repository를 확인하고, our community에 참여하며, 비전 AI 프로젝트를 시작하기 위해 licensing options을 살펴보세요. AI in retail 및 computer vision in logistics와 같은 혁신에 대해 더 자세히 알아보려면 솔루션 페이지를 방문하세요.






