ailia Speech NPU(QNN)ベンチマーク

ailia Speech の QNN バックエンドで Whisper を Qualcomm SoC の NPU で実行した測定結果を示します。

QNN バックエンドの使い方は ailia Speech NPU(QNN)ガイド を参照してください。

Android

測定条件

Whisper Medium と Large V3 Turbo を 2 機種で測定した結果です。Snapdragon 8+ Gen 1(SM8475 / Hexagon v69)と Snapdragon 7s Gen 3(SM7635 / Hexagon v73)を使用しています。NPU は各 SoC 向けの INT16 の QNN Model、CPU は同じ端末上で元の ONNX モデルを ailia SDK の CPU 経路で実行した値です。CPU / NPU とも同じランタイムを使用しています。

文字起こし速度

端末モデル経路処理時間(平均)実時間比NPU の効果
SM8475(Hexagon v69)MediumCPU(ONNX)111.563 秒0.36 倍10.54 倍高速
NPU(QNN)10.589 秒3.75 倍
SM8475(Hexagon v69)Large V3 TurboCPU(ONNX)88.306 秒0.45 倍27.63 倍高速
NPU(QNN)3.196 秒12.43 倍
SM7635(Hexagon v73)MediumCPU(ONNX)125.164 秒0.32 倍7.30 倍高速
NPU(QNN)17.150 秒2.32 倍
SM7635(Hexagon v73)Large V3 TurboCPU(ONNX)85.651 秒0.46 倍11.09 倍高速
NPU(QNN)7.723 秒5.15 倍

NPU は CPU に対して、SM8475 で Medium 約 10.5 倍・Large V3 Turbo 約 27.6 倍、SM7635 で Medium 約 7.3 倍・Large V3 Turbo 約 11.1 倍高速です。Large V3 Turbo の NPU 実行では、39.7 秒の音声を SM8475 で約 3.2 秒、SM7635 で約 7.7 秒で文字起こしできます。

SM8475 の Whisper Medium / Large V3 Turbo の文字起こし速度(CPU / NPU)
SM8475 の文字起こし速度(実時間比)
SM7635 の Whisper Medium / Large V3 Turbo の文字起こし速度(CPU / NPU)
SM7635 の文字起こし速度(実時間比)

CPU 使用率

端末モデルCPU(ONNX)NPU(QNN)
SM8475(Hexagon v69)Medium63.78%8.38%
SM8475(Hexagon v69)Large V3 Turbo83.47%8.83%
SM7635(Hexagon v73)Medium66.26%5.30%
SM7635(Hexagon v73)Large V3 Turbo81.73%5.17%

NPU 実行時の CPU 使用率は 5〜9% 程度に収まるため、アプリケーション側の処理に CPU を残せます。CPU 実行では 64〜83% を使用します。

SM8475 の Whisper Medium / Large V3 Turbo の文字起こし中の CPU 使用率(CPU / NPU)
SM8475 の文字起こし中のホストプロセス CPU 使用率(8 コア全体比)
SM7635 の Whisper Medium / Large V3 Turbo の文字起こし中の CPU 使用率(CPU / NPU)
SM7635 の文字起こし中のホストプロセス CPU 使用率(8 コア全体比)

Windows

測定条件

Windows ARM64 の 2 機種で、Android と同じ音声・同じ手順・同じ集計方法で測定した結果です。Snapdragon X Plus(SC8380XP / Hexagon v73、8 コア)は Windows 11 Pro、QCS6490(Hexagon v68、8 コア)は Windows 11 IoT Enterprise LTSC を使用しています。NPU は各 SoC 向けの INT16 の QNN Model、CPU は同じ端末上で元の ONNX モデルを ailia SDK の CPU 経路で実行した値です。

文字起こし速度

端末モデル経路処理時間(平均)実時間比NPU の効果
SC8380XP(Hexagon v73)MediumCPU(ONNX)42.634 秒0.93 倍10.17 倍高速
NPU(QNN)4.193 秒9.48 倍
SC8380XP(Hexagon v73)Large V3 TurboCPU(ONNX)36.308 秒1.09 倍19.90 倍高速
NPU(QNN)1.825 秒21.78 倍
QCS6490(Hexagon v68)MediumCPU(ONNX)148.901 秒0.27 倍10.96 倍高速
NPU(QNN)13.588 秒2.92 倍
QCS6490(Hexagon v68)Large V3 TurboCPU(ONNX)101.509 秒0.39 倍13.23 倍高速
NPU(QNN)7.672 秒5.18 倍

NPU は CPU に対して、SC8380XP で Medium 約 10.2 倍・Large V3 Turbo 約 19.9 倍、QCS6490 で Medium 約 11.0 倍・Large V3 Turbo 約 13.2 倍高速です。Large V3 Turbo の NPU 実行では、39.7 秒の音声を SC8380XP で約 1.8 秒、QCS6490 で約 7.7 秒で文字起こしできます。

SC8380XP の Whisper Medium / Large V3 Turbo の文字起こし速度(CPU / NPU)
SC8380XP の文字起こし速度(実時間比)
QCS6490 の Whisper Medium / Large V3 Turbo の文字起こし速度(CPU / NPU)
QCS6490 の文字起こし速度(実時間比)

CPU 使用率

端末モデルCPU(ONNX)NPU(QNN)
SC8380XP(Hexagon v73)Medium58.95%7.36%
SC8380XP(Hexagon v73)Large V3 Turbo62.65%8.49%
QCS6490(Hexagon v68)Medium60.80%0.88%
QCS6490(Hexagon v68)Large V3 Turbo74.26%1.34%

NPU 実行時の CPU 使用率は SC8380XP で 7〜9%、QCS6490 で 1% 程度です。CPU 実行では SC8380XP が 59〜63%、QCS6490 が 61〜75% を使用します。

SC8380XP の Whisper Medium / Large V3 Turbo の文字起こし中の CPU 使用率(CPU / NPU)
SC8380XP の文字起こし中のホストプロセス CPU 使用率(8 コア全体比)
QCS6490 の Whisper Medium / Large V3 Turbo の文字起こし中の CPU 使用率(CPU / NPU)
QCS6490 の文字起こし中のホストプロセス CPU 使用率(8 コア全体比)