본문으로 건너뛰기
PyTorch조회 1

ExecuTorch와 Arm을 활용한 엣지 AI 배포 가이드

ExecuTorch를 통해 PyTorch 모델을 Arm CPU 및 NPU 기반 엣지 디바이스에 최적화하여 배포하는 방법과 성능 이점을 설명한다.

섹션별 상세

01
임베딩 시스템의 제약 사항을 해결하기 위해 ExecuTorch는 PyTorch 모델을 최소한의 .pte 아티팩트로 변환한다. 이 과정에서 Python 런타임이 제거되고 정적 계산 그래프가 생성되어 실행 예측 가능성이 높아진다. 결과적으로 메모리와 연산 능력이 부족한 Cortex-M 같은 마이크로컨트롤러에서도 모델 실행이 가능해진다. 이는 클라우드 의존성을 줄이고 개인정보 보호와 실시간성을 강화하는 핵심 요소이다.
02
Arm CPU에서 성능을 극대화하기 위해 ExecuTorch는 XNNPACK 백엔드와 KleidiAI 마이크로커널을 활용한다. XNNPACK은 컨볼루션 및 행렬 곱셈 연산을 Neon과 같은 하드웨어 기능에 맞춰 최적화한다. Raspberry Pi 5에서 OPT-125M 모델을 테스트한 결과, PyTorch 기본 모드보다 ExecuTorch 사용 시 지연 시간이 현저히 낮아졌다. 다만 고성능 추론 지속 시 발생하는 발열로 인한 클럭 저하 등 하드웨어 특성을 고려한 설계가 필요하다.
Raspberry Pi 5에서 PyTorch eager 모드의 추론 시간 분포와 실행 횟수별 지연 시간 그래프
ChartPyTorch 기본 실행 시 평균 지연 시간이 약 1962ms임을 보여준다. 실행 횟수가 늘어나도 지연 시간이 비교적 일정하게 유지되는 패턴을 확인할 수 있다.
ExecuTorch와 XNNPACK을 사용했을 때의 추론 시간 분포 및 실행 횟수별 지연 시간 그래프
Chart평균 지연 시간이 약 525ms로 PyTorch eager 모드 대비 약 4배 가까이 성능이 향상됨을 증명한다. 다만 시간이 지남에 따라 발열로 인해 지연 시간이 점진적으로 증가하는 경향을 시각적으로 보여준다.
03
하드웨어 가속을 위해 Ethos-U NPU를 사용할 때는 그래프 분할과 양자화 과정이 필수적이다. ExecuTorch는 전체 모델 그래프를 분석하여 NPU가 지원하는 부분은 가속기로, 나머지는 CPU로 할당하는 이기종 실행 구조를 가진다. 이를 위해 EthosUQuantizer를 통한 INT8 양자화와 TOSA 중간 표현으로의 변환 단계가 수행된다. 효율적인 배포를 위해서는 지원되지 않는 연산자로 인해 그래프가 파편화되지 않도록 모델 구조를 최적화해야 한다.
python
compile_spec = EthosUCompileSpec(
    target="ethos-u85-256",
    system_config="Ethos_U85_SYS_DRAM_Mid",
    memory_mode="Shared_Sram",
    extra_flags=["--output-format=raw"],
)
quantizer = EthosUQuantizer(compile_spec)

특정 Arm Ethos-U NPU 타겟에 맞게 컴파일 사양을 설정하고 양자화기를 생성하는 예시

04
모델 배포 과정을 시각화하기 위해 Arm은 Google Model Explorer용 어댑터를 개발하여 제공한다. 이 도구를 사용하면 .pte 파일 내에서 백엔드별로 그래프가 어떻게 분할되었는지와 TOSA 표현을 직접 확인할 수 있다. 예를 들어 MobileNetV2에 지원되지 않는 LRN 레이어를 추가할 경우 그래프가 여러 조각으로 나뉘어 성능 저하가 발생하는 것을 시각적으로 파악 가능하다. 이러한 가시성은 개발자가 병목 지점을 찾고 모델을 개선하는 데 중요한 역할을 한다.
MobileNetV2 모델이 Ethos-U NPU 백엔드로 전체 위임된 ExecuTorch 그래프 시각화
Diagram모든 연산자가 지원되어 단일한 EthosUBackend 블록으로 통합된 모습을 보여준다. 이는 CPU 개입 없이 NPU에서 연속적으로 실행되어 최적의 성능을 낼 수 있는 구조임을 의미한다.
LRN 레이어가 추가된 MobileNetV2 모델의 파편화된 ExecuTorch 그래프 시각화
Diagram지원되지 않는 LRN 레이어로 인해 그래프가 여러 개의 EthosUBackend 블록과 CPU 실행 블록(avg_pool3d 등)으로 나뉜 것을 보여준다. 이러한 파편화는 CPU-NPU 간 전환 오버헤드를 발생시켜 성능을 저하시킨다.

용어 해설

엑시큐토치(ExecuTorch)
PyTorch 모델을 모바일 및 엣지 디바이스에서 효율적으로 실행하기 위해 설계된 경량 런타임이다. Python 의존성을 제거하고 정적 계산 그래프를 사용하여 메모리와 전력 소모가 제한된 환경에서도 고성능 추론을 가능하게 한다.
신경망 처리 장치(NPU)
AI 모델의 핵심 연산인 행렬 곱셈 등을 가속하기 위해 설계된 특수 하드웨어 가속기이다. CPU나 GPU보다 전력 효율이 높으며 엣지 디바이스에서 실시간 AI 처리를 수행하는 데 필수적이다.
텐서 연산자 세트 아키텍처(TOSA)
상위 프레임워크와 하드웨어 백엔드 사이를 연결하는 표준화된 중간 표현(IR)이다. 다양한 하드웨어 벤더가 공통된 연산자 세트를 구현하게 함으로써 모델 배포의 호환성과 안정성을 보장한다.
양자화(Quantization)
모델의 가중치와 활성화 함수 값을 부동 소수점(FP32)에서 낮은 비트의 정수(INT8 등)로 변환하는 기법이다. 모델 크기를 줄이고 연산 속도를 높이며 특히 NPU 가속을 위해 필수적인 단계이다.

기술

  • ExecuTorch
  • PyTorch
  • Arm Ethos-U
  • XNNPACK
  • TOSA
  • KleidiAI

활용 사례

  • 웨어러블 기기용 AI
  • 스마트 카메라 실시간 분석
  • 저전력 IoT 시스템의 로컬 추론
AI 분석 전체 내용 보기

AI 요약 · 북마크 · 개인 피드 설정 — 무료

출처 · 인용 안내

원문 발행 2026. 05. 13.수집 2026. 05. 13.출처 타입 RSS

인용 시 "요약 출처: AI Trends (aitrends.kr)"를 표기하고, 사실 확인은 원문 보기 기준으로 진행해 주세요. 자세한 기준은 운영 정책을 참고해 주세요.