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

그림 1. ExecuTorch 작동 방식(출처)
엣지 하드웨어를 위한 통합 계층#
ExecuTorch는 런타임일 뿐만 아니라 여러 하드웨어 백엔드를 위한 통합 추상화 계층 역할도 합니다. 쉽게 말해 하드웨어별 세부 사항을 추상화하고 모델이 CPU, GPU, 신경망 처리 장치(NPUs)를 비롯한 다양한 처리 장치와 상호작용하는 방식을 관리합니다.
모델을 내보낸 후 ExecuTorch를 구성하여 특정 장치에 가장 적합한 백엔드를 대상으로 지정할 수 있습니다. 개발자는 장치별 맞춤 코드를 작성하거나 별도의 변환 워크플로를 유지 관리하지 않고도 다양한 하드웨어에 모델을 효율적으로 배포할 수 있습니다.
모듈식의 이식성 높은 설계와 긴밀한 PyTorch 통합 덕분에 ExecuTorch는 Ultralytics YOLO11과 같은 컴퓨터 비전 모델을 모바일 및 임베디드 시스템에 배포하는 데 적합합니다. 모델 학습과 실제 배포 사이의 간극을 해소하여 엣지 AI를 더 빠르고 효율적이며 쉽게 구현할 수 있도록 합니다.
ExecuTorch의 주요 기능#
Ultralytics YOLO 모델을 ExecuTorch 형식으로 내보내는 방법을 살펴보기 전에, ExecuTorch가 엣지에서 AI를 배포하는 데 신뢰할 수 있는 선택지인 이유를 알아보겠습니다.
주요 기능은 다음과 같습니다.
- 양자화 지원: ExecuTorch는 모델 양자화를 지원합니다. 모델 양자화는 고정밀 값을 저정밀 값으로 변환해 모델 크기를 줄이고 추론 속도를 높이는 기법입니다. 이를 통해 엣지 기기에서 모델의 정확도를 거의 유지하면서 더 빠르게 실행하고 메모리를 덜 사용할 수 있습니다. 현재 Ultralytics 내보내기 기능은 XNNPACK 백엔드용 FP32 모델을 생성합니다.
- 효율적인 메모리 사용: ExecuTorch의 가장 큰 장점 중 하나는 메모리 처리 방식입니다. 지연 시간과 전력 오버헤드를 초래할 수 있는 동적 메모리 할당에 의존하는 대신, ExecuTorch는 사전 메모리 계획(AOT)을 사용합니다. 내보내는 동안 모델 그래프를 분석하고 각 연산에 필요한 메모리 양을 미리 계산합니다. 이에 따라 런타임은 정적 메모리 계획을 사용해 모델을 실행하여 성능을 예측 가능하게 유지하고 RAM이나 처리 용량이 제한된 장치에서 속도 저하나 충돌이 발생하지 않도록 합니다.
- 내장 모델 메타데이터: Ultralytics가 지원하는 통합을 사용해 내보내면 각 모델에 입력 이미지 크기, 클래스 이름, 구성 매개변수와 같은 중요 메타데이터가 포함된 YAML 파일이 함께 생성됩니다. 이 파일은 다양한 애플리케이션에 모델을 통합하는 과정을 간소화하고 여러 엣지 플랫폼에서 일관된 동작을 보장합니다.
Ultralytics YOLO 모델을 ExecuTorch 형식으로 내보내는 방법#
ExecuTorch의 기능을 살펴보았으니, 이제 Ultralytics YOLO 모델을 ExecuTorch 형식으로 내보내는 방법을 알아보겠습니다.
1단계: Ultralytics Python 패키지 설치#
시작하려면 패키지 설치 프로그램인 pip를 사용하여 Ultralytics Python 패키지를 설치해야 합니다. 터미널이나 명령 프롬프트에서 “pip install ultralytics”를 실행하면 됩니다.
Jupyter Notebook 또는 Google Colab 환경을 사용하는 경우 명령 앞에 느낌표를 붙여 "!pip install ultralytics"를 입력하면 됩니다. 설치 후 Ultralytics 패키지는 Ultralytics YOLO11을 비롯한 컴퓨터 비전 모델의 학습, 테스트, 내보내기에 필요한 모든 도구를 제공합니다.
설치 중이나 모델 내보내기 과정에서 문제가 발생하면 공식 Ultralytics 문서와 일반적인 문제 가이드에서 원활하게 시작하는 데 도움이 되는 자세한 문제 해결 절차와 모범 사례를 확인할 수 있습니다.
2단계: Ultralytics YOLO11 내보내기#
Ultralytics 패키지를 설치한 후 YOLO11 모델 변형을 불러와 ExecuTorch 형식으로 내보낼 수 있습니다. 예를 들어 'yolo11n.pt'와 같은 사전 학습 모델을 사용하고 형식을 'executorch'로 설정해 내보내기 함수를 호출하면 됩니다.
이 작업으로 “yolo11n_executorch_model”이라는 디렉터리가 생성됩니다. 이 디렉터리에는 최적화된 모델 파일(.pte)과 이미지 크기 및 클래스 이름과 같은 중요 정보가 담긴 별도의 메타데이터 YAML 파일이 포함됩니다.
모델을 내보내는 코드는 다음과 같습니다.
from ultralytics import YOLO
model = YOLO("yolo11n.pt")
model.export(format="executorch")3단계: 모델을 내보낸 후 추론 실행하기#
내보내기가 완료되면 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 형식으로 내보낸 Ultralytics YOLO11 모델을 사용한 객체 감지.
ExecuTorch 통합의 이점#
Ultralytics가 지원하는 다양한 내보내기 옵션을 살펴보다 보면 ExecuTorch 통합의 차별점이 궁금할 수 있습니다. 핵심은 성능, 간편성, 유연성을 효과적으로 결합하여 강력한 AI 모델을 모바일 및 엣지 장치에 직접 쉽게 배포할 수 있다는 점입니다.
ExecuTorch 통합의 주요 이점은 다음과 같습니다.
- 유연한 배포 옵션: ExecuTorch 모델은 모바일 애플리케이션, 임베디드 시스템, IoT(사물 인터넷) 장치, 특수 엣지 AI 하드웨어 전반에 배포할 수 있습니다. 이러한 유연성 덕분에 개발자는 다양한 플랫폼과 환경에서 일관되게 작동하는 확장 가능한 AI 솔루션을 구축할 수 있습니다.
- 벤치마크로 입증된 성능: Raspberry Pi 5와 같은 장치에서 테스트한 결과, ExecuTorch 형식으로 내보낸 Ultralytics YOLO11 모델은 정확도를 거의 동일하게 유지하면서 PyTorch 모델보다 약 2배 빠르게 실행됩니다.
- 유연한 통합 API: ExecuTorch는 iOS, Android, 임베디드 Linux용 C++, Kotlin, Objective-C API를 제공하므로 개발자는 YOLO 모델을 네이티브 앱에 직접 통합할 수 있습니다.
- 하드웨어 가속 지원: ExecuTorch는 모바일 GPU용 Vulkan 및 Metal을 비롯한 여러 하드웨어 가속 백엔드를 지원하며, 선택적으로 OpenCL 및 기타 벤더별 API와 통합할 수 있습니다. 또한 NPU 및 DSP와 같은 전용 가속기를 활용하여 CPU만 사용하는 추론보다 상당한 속도 향상을 달성할 수 있습니다.
Ultralytics YOLO11 및 ExecuTorch 내보내기의 실제 활용 사례#
최근 Ultralytics는 PyTorch ExecuTorch 성공 사례로 소개되었습니다. 이는 장치 내 추론을 조기에 지원하고 PyTorch 생태계에 지속적으로 기여해 온 점을 보여줍니다. 이번 선정은 모바일 및 엣지 플랫폼에서 고성능 AI를 더 쉽게 이용할 수 있도록 한다는 공동의 목표를 반영합니다.
클라우드에서 엣지까지: ExecuTorch와 Ultralytics YOLO11이 비전 AI를 구현하는 방법#
실제 환경에서는 스마트폰부터 임베디드 시스템까지 다양한 장치에서 효율적으로 실행되는 비전 AI 솔루션으로 구현됩니다. 예를 들어 제조 분야에서 엣지 장치는 생산 라인을 모니터링하고 결함을 실시간으로 감지하는 데 중요한 역할을 합니다.

그림 3. Ultralytics YOLO11을 사용한 제조 조립 라인 분석 예시. (출처)
처리를 위해 이미지나 센서 데이터를 클라우드로 보내면 지연이 발생하고 인터넷 연결에 의존할 수 있습니다. ExecuTorch 통합을 사용하면 Ultralytics YOLO11 모델을 로컬 하드웨어에서 직접 실행할 수 있습니다. 따라서 공장은 제한된 컴퓨팅 리소스로 작동하면서도 품질 문제를 즉시 감지하고 가동 중단 시간을 줄이며 데이터 프라이버시를 유지할 수 있습니다.
ExecuTorch 통합과 Ultralytics YOLO 모델을 적용할 수 있는 다른 사례는 다음과 같습니다.
- 스마트 시티: ExecuTorch를 사용해 Ultralytics YOLO11 모델을 로컬에서 실행하면 교통 정체 감지부터 위험 요소 식별까지 데이터에 기반한 의사 결정을 더 빠르게 내릴 수 있어 전반적인 이동성과 안전을 향상할 수 있습니다.
- 소매 및 창고: 장치 내 추론을 통해 소매업체는 클라우드 연결에 의존하지 않고 진열대를 자동으로 모니터링하고 재고를 추적하며 상품을 빠르고 안전하게 검사할 수 있습니다.
- 로보틱스 및 드론: 엣지에 최적화된 Ultralytics YOLO11 모델을 사용하면 로봇과 드론이 인터넷에 연결되지 않은 상태에서도 객체를 인식하고 주변 환경을 탐색하며 실시간으로 의사 결정을 내릴 수 있습니다.

그림 4. YOLO11을 사용한 교통 상황의 자동차 감지 및 계수(출처)
핵심 요점#
Ultralytics YOLO 모델을 ExecuTorch 형식으로 내보내면 스마트폰, 태블릿, Raspberry Pi와 같은 임베디드 시스템 등 다양한 장치에 컴퓨터 비전 모델을 쉽게 배포할 수 있습니다. 따라서 클라우드 연결에 의존하지 않고 최적화된 장치 내 추론을 실행하여 속도, 프라이버시, 신뢰성을 높일 수 있습니다.
ExecuTorch뿐만 아니라 Ultralytics는 TensorRT, OpenVINO, CoreML 등을 포함한 다양한 통합을 지원하므로 개발자는 여러 플랫폼에서 모델을 유연하게 실행할 수 있습니다. 비전 AI 도입이 확대됨에 따라 이러한 통합은 실제 환경에서 효율적으로 작동하도록 구축된 지능형 시스템의 배포를 간소화합니다.
AI가 궁금하신가요? GitHub 저장소를 확인하고 커뮤니티에 참여한 다음, 비전 AI 프로젝트를 시작할 수 있도록 라이선스 옵션을 살펴보세요. 솔루션 페이지에서 소매 분야의 AI와 물류 분야의 컴퓨터 비전과 같은 혁신 사례를 자세히 알아보세요.
작성자
댓글
질문하거나 결과를 공유하거나 다른 사람을 도와주세요.










