Reddit ML報告: 同一INT8 ONNXモデルでもSnapdragon世代で精度が大きく乖離

コミュニティ投稿の要点

r/MachineLearningの技術投稿は、edge推論で見落とされやすい実装課題を示した。投稿者は同一の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%とされる。

投稿で示された要因

投稿文は乖離要因を3点に整理している。1つ目はNPU世代差によるINT8の精度処理・丸め挙動の違い。2つ目はQNN runtime側のoperator fusionやグラフ最適化がSoCごとに異なり、同じモデルでも数値経路が変わる可能性。3つ目は低価格帯チップでメモリ制約が発生し、演算の一部がNPUからCPU fallbackへ移ることで実行パスが変わる点である。

要するに、同一weightsと同一ONNX exportは、実機での同等品質を保証しない。クラウド評価だけで出荷判断をすると、現場での品質低下を見逃す可能性が高い。

エッジAI運用への示唆

この事例はINT8を否定する話ではなく、検証設計をハードウェア前提で再構築すべきという示唆だ。実務では、チップセット別のgolden dataset、回帰しきい値アラート、fallback検知のtelemetry、端末クラス別モデルルーティングをリリース要件に組み込むのが現実的である。

本件はコミュニティ報告であり、査読付きベンチマークではない。ただし、異種アクセラレータ間の移植性を過信しがちな現場に対して、重要なリスクを明確に可視化している。

Sources: Reddit thread