피드로 돌아가기
Dev.toAI/ML
원문 읽기
NPU Fallback 탐지 자동화로 필드 장애 해결 및 디버깅 기간 단축
How we catch silent NPU fallback on Snapdragon in CI (and why your eval set won't)
AI 요약
Context
Snapdragon NPU 대상의 YOLOv8n 모델 배포 시, 지원되지 않는 Op가 CPU로 Silent Fallback되어 p95 Latency가 3배 증가하는 현상 발생. 기존 Cloud CI 및 단순 Median Latency 측정 방식으로는 실행 경로(Execution Path)의 변경을 감지할 수 없는 한계 노출.
Technical Solution
- 실물 Snapdragon 디바이스 기반의 CI 환경 구축을 통한 Emulator의 추상화 오차 제거
- Median Latency와 Coefficient of Variation(CV)을 동시 검증하여 Fallback 발생 시 나타나는 Bimodal Distribution 식별
- ORT
profiling_level=detailed설정을 통한 Per-node Routing Manifest 추출 및 분석 - 전체 FLOPs 대비 NPU 실행 비율(NPU FLOPs $\ge$ 98%)을 명시적 Assertion으로 정의하여 Fallback 원천 차단
- Qualcomm AI Hub와 GitHub Action을 연동한 자동화 파이프라인으로 Op 단위의 Fallback 지점 즉시 식별 구조 설계
실천 포인트
1. `session_options.log_severity_level = 0` 및 `profiling_level = detailed` 설정으로 실행 로그 상세화
2. Latency 측정 시 Median 외에 CV(변동 계수)를 측정하여 15% 초과 시 Bimodal Distribution 의심
3. NPU/GPU 가속기 사용 시 단순 수행 시간 측정 대신 실제 가속기 할당 FLOPs 비율을 Assertion으로 추가