Reddit ML 사례: 동일 INT8 ONNX 모델이 Snapdragon 등급별로 큰 정확도 편차를 보인 이유

커뮤니티 게시물이 제시한 관측값

r/MachineLearning 기술 토론에서 한 사용자는 동일한 INT8 ONNX 모델을 5개 Snapdragon SoC에 배포했을 때 정확도가 크게 달랐다고 보고했다. 게시물에 적힌 수치는 8 Gen 3 91.8%, 8 Gen 2 89.1%, 7s Gen 2 84.3%, 6 Gen 1 79.6%, 4 Gen 2 71.2%다. 같은 모델의 cloud benchmark는 94.2%로 제시됐다.

게시물에서 언급한 원인 가설

작성자는 편차의 원인을 세 가지로 정리했다. 첫째, NPU 세대별 INT8 정밀도 처리와 rounding 동작 차이다. 둘째, QNN runtime의 operator fusion/graph optimization이 칩셋별로 달라져 동일 모델이라도 수치 경로가 바뀔 수 있다는 점이다. 셋째, 저사양 칩에서 메모리 제약으로 일부 연산이 NPU에서 CPU fallback으로 이동하면 실행 경로 자체가 달라진다는 점이다.

핵심은 “같은 weights + 같은 ONNX”라는 조건이 실제 디바이스 결과의 동등성을 보장하지 않는다는 것이다. 클라우드 기준 성능만으로는 현장 품질을 과대평가할 수 있다.

실무 적용 포인트

이번 사례는 INT8 자체를 부정하는 신호라기보다, 검증 설계를 하드웨어 축으로 확장해야 한다는 경고에 가깝다. 모바일 AI 배포 팀은 릴리즈 전 디바이스 매트릭스 테스트를 필수 게이트로 두고, 칩셋별 golden set, 회귀 임계치 알림, runtime fallback telemetry를 함께 운영하는 편이 안전하다. 필요하면 기기 등급별로 모델 라우팅 정책을 분리해 품질 하한선을 보장해야 한다.

해당 수치는 커뮤니티 공유 데이터이며 논문형 벤치마크는 아니다. 그럼에도 이 토론은 edge inference에서 자주 놓치는 리스크, 즉 이기종 가속기 간 이식성 가정을 다시 점검하게 만든다.

출처: Reddit 스레드