ailia Speech の QNN バックエンドで Whisper を Qualcomm SoC の NPU で実行した測定結果を示します。
QNN バックエンドの使い方は ailia Speech NPU(QNN)ガイド を参照してください。
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 とも同じランタイムを使用しています。
ailiaSpeechTranscribe 呼び出し区間で計測しています。| 端末 | モデル | 経路 | 処理時間(平均) | 実時間比 | NPU の効果 |
|---|---|---|---|---|---|
| SM8475(Hexagon v69) | Medium | CPU(ONNX) | 111.563 秒 | 0.36 倍 | 10.54 倍高速 |
| NPU(QNN) | 10.589 秒 | 3.75 倍 | |||
| SM8475(Hexagon v69) | Large V3 Turbo | CPU(ONNX) | 88.306 秒 | 0.45 倍 | 27.63 倍高速 |
| NPU(QNN) | 3.196 秒 | 12.43 倍 | |||
| SM7635(Hexagon v73) | Medium | CPU(ONNX) | 125.164 秒 | 0.32 倍 | 7.30 倍高速 |
| NPU(QNN) | 17.150 秒 | 2.32 倍 | |||
| SM7635(Hexagon v73) | Large V3 Turbo | CPU(ONNX) | 85.651 秒 | 0.46 倍 | 11.09 倍高速 |
| NPU(QNN) | 7.723 秒 | 5.15 倍 |
音声長 / 平均処理時間 で、1 倍を超えると音声長より短い時間で文字起こしできます。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 秒で文字起こしできます。
| 端末 | モデル | CPU(ONNX) | NPU(QNN) |
|---|---|---|---|
| SM8475(Hexagon v69) | Medium | 63.78% | 8.38% |
| SM8475(Hexagon v69) | Large V3 Turbo | 83.47% | 8.83% |
| SM7635(Hexagon v73) | Medium | 66.26% | 5.30% |
| SM7635(Hexagon v73) | Large V3 Turbo | 81.73% | 5.17% |
プロセス CPU 時間の合計 / 処理時間の合計 / 8 コア × 100 で、8 コアすべてを使い切った状態を 100% とします。NPU 実行時の CPU 使用率は 5〜9% 程度に収まるため、アプリケーション側の処理に CPU を残せます。CPU 実行では 64〜83% を使用します。
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) | Medium | CPU(ONNX) | 42.634 秒 | 0.93 倍 | 10.17 倍高速 |
| NPU(QNN) | 4.193 秒 | 9.48 倍 | |||
| SC8380XP(Hexagon v73) | Large V3 Turbo | CPU(ONNX) | 36.308 秒 | 1.09 倍 | 19.90 倍高速 |
| NPU(QNN) | 1.825 秒 | 21.78 倍 | |||
| QCS6490(Hexagon v68) | Medium | CPU(ONNX) | 148.901 秒 | 0.27 倍 | 10.96 倍高速 |
| NPU(QNN) | 13.588 秒 | 2.92 倍 | |||
| QCS6490(Hexagon v68) | Large V3 Turbo | CPU(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 秒で文字起こしできます。
| 端末 | モデル | CPU(ONNX) | NPU(QNN) |
|---|---|---|---|
| SC8380XP(Hexagon v73) | Medium | 58.95% | 7.36% |
| SC8380XP(Hexagon v73) | Large V3 Turbo | 62.65% | 8.49% |
| QCS6490(Hexagon v68) | Medium | 60.80% | 0.88% |
| QCS6490(Hexagon v68) | Large V3 Turbo | 74.26% | 1.34% |
NPU 実行時の CPU 使用率は SC8380XP で 7〜9%、QCS6490 で 1% 程度です。CPU 実行では SC8380XP が 59〜63%、QCS6490 が 61〜75% を使用します。