pytorch/executorch
On-device AI across mobile, embedded and edge for PyTorch
What it solves
ExecuTorch는 마이크로컨트롤러부터 고성능 스마트폰까지 디바이스에서 PyTorch AI 모델을 배포하는 통합된 방법을 제공합니다. 수동 C++ 재작성, 중간 포맷 변환(ONNX 또는 TFLite 등) 및 벤더 락인 필요성을 없애고, 연구 단계에서 프로덕션 단계로 빠르게 전환하면서 모델 의미를 유지할 수 있습니다.
How it works
ExecuTorch는 AOT(Ahead‑Of‑Time) 컴파일을 사용해 엣지용 모델을 준비합니다. 프로세스는 세 가지 주요 단계로 이루어집니다:
- Export:
torch.export()로 PyTorch 모델 그래프를 캡처합니다. - Compile: 모델을 양자화·최적화하고 특정 하드웨어 백엔드에 파티셔닝하여
.pte파일을 생성합니다. - Execute: 경량 C++ 런타임(베이스 풋프린트 50KB)으로 디바이스에서
.pte파일을 로드하고 실행합니다.
표준화된 Core ATen 연산자 세트와 파티셔너를 사용해 서브그래프를 전용 하드웨어(NPU/GPU)로 위임하고, CPU 폴백도 제공합니다.
Who it’s for
Android, iOS 모바일 디바이스와 Linux, Windows, macOS, MCU 등 임베디드 시스템에서 LLM, 비전, 음성 및 멀티모달 모델을 PyTorch 생태계를 떠나지 않고 배포하고자 하는 개발자와 연구자를 위한 솔루션입니다.
Highlights
- Native PyTorch Export: 중간 포맷 없이 직접 내보내기.
- Production‑Proven: Meta가 Instagram, WhatsApp, Quest 3에 사용.
- Tiny Runtime: 기본 풋프린트 50KB의 초소형 런타임.
- Broad Hardware Support: Apple, Samsung, Qualcomm, ARM, MediaTek 등 12개 이상의 백엔드 지원.
- Advanced Deployment Tools: 내장 양자화(torchao), 메모리 플래닝, 바이너리 크기 최소화를 위한 선택적 빌드 시스템 제공.