Fogwise AirBox Q900 で音声合成 CosyVoice2 の LLM 部分を GenieX で動かす。CPU と NPU の速さ

本記事にはアフィリエイト広告(Amazon アソシエイト)が含まれます。

実測日: Tue Nov 03 2026 09:00:00 GMT+0900 (Japan Standard Time)

2026 年 11 月 3 日に測定。数値は各条件 3 回の平均です。

まとめ

  • RADXA 製 Fogwise AirBox Q900(Qualcomm IQ-9075)で、音声合成モデル CosyVoice2 のうち、文章から「音声トークン」を作る LLM の部分を、Qualcomm の実行環境 GenieX と GGUF 形式のモデルで動かし、CPU と NPU(Hexagon)の速さを比べました。
  • 最初のトークンが出るまでの時間は NPU が 4〜6 倍速い(約 47 ms 対 165〜360 ms)一方、トークンを 1 つずつ作る速さは NPU と CPU でほぼ同じでした。0.5B の小さなモデルでは、生成の速さは計算よりもメモリーの読み出しで決まるためと考えられます。
  • 最も速かったのは CPU・4 bit 量子化(Q4_0) で、音声 10 秒分(250 トークン)を約 2.7 秒で作れました(LLM 部分の RTF 約 0.27)。
  • GPU(Adreno 663)は、今回の Linux 環境では GenieX から使えませんでした。

この記事の数値は LLM の部分だけです。 CosyVoice2 が音声を出すには、このあとに音声トークンを波形に変える段(Flow と音声合成器)が要ります。GenieX はこの段に対応していないため、音声合成全体の速さはこの数値より遅くなります。

CosyVoice2 の構成と今回の範囲

CosyVoice2 は次の 3 段で音声を作ります。

段 役割 今回
LLM(約 0.5B) 文章から音声トークンを作る(音声 1 秒あたり 25 トークン) 測定
Flow 音声トークンから音響特徴量を作る 対象外
音声合成器(HiFT) 音響特徴量から波形を作る 対象外

LLM の段は全体の中で最も時間がかかる段で、GGUF 形式に変換して llama.cpp 系の実行環境で動かせます。

測定の条件

項目 内容
本体 RADXA 製 Fogwise AirBox Q900(Qualcomm IQ-9075、CPU は Cortex-A78C 8 コア、NPU は Hexagon)を 2 台
実行環境 Qualcomm GenieX(llama.cpp 系の実行環境、付属のベンチマーク機能)
モデル CosyVoice2-0.5B の LLM 部分の GGUF 版。8 bit(Q8_0)、16 bit(f16)、f16 から作った 4 bit(Q4_0)の 3 種
負荷 128 トークンを読み込ませたあと、250 トークン(音声 10 秒分)を生成。3 回の平均
指標 LLM 部分の RTF =(最初のトークンまでの時間 + 250 トークンの生成時間)÷ 10 秒

入力にはベンチマーク用のトークン列を使っており、生成した音声トークンの中身(音として正しいか)は評価していません。

結果

量子化 実行先 最初のトークンまで 生成の速さ LLM 部分の RTF(1 台目 / 2 台目)
Q8_0 CPU 200〜221 ms 70〜72 トークン/秒 0.372 / 0.379
Q8_0 NPU 46〜47 ms 71 トークン/秒 0.358 / 0.358
Q4_0 CPU 165〜168 ms 99〜100 トークン/秒 0.266 / 0.269
Q4_0 NPU 47 ms 86〜87 トークン/秒 0.292 / 0.296
f16 CPU 333〜363 ms 44 トークン/秒 0.627 / 0.609
f16 NPU 56〜57 ms 46〜47 トークン/秒 0.549 / 0.534
すべて GPU — — 使用できず

2 台の差は小さく、再現性は良好でした。

読み取れること

  1. NPU は「読み込み」に強く、「生成」では CPU と同等。 最初のトークンまでの時間は NPU で 4〜6 倍短くなります。一方、1 トークンずつの生成では、NPU と CPU の差はほとんどありませんでした(Q4_0 では CPU のほうが速い)。
  2. 量子化を強くするほど生成が速い。 生成の速さはおおむね f16 < Q8_0 < Q4_0 の順で、モデルの大きさ(読み出す量)に反比例しています。
  3. リアルタイムの余裕。 音声 1 秒に必要なトークンは 25 個なので、70〜100 トークン/秒なら LLM 部分は実時間の 3〜4 倍の速さです。ただし、Flow と音声合成器の時間が別にかかります。
  4. 使い分けの目安。 応答の出始めを速くしたい場合は NPU、まとまった量を作る場合は CPU の Q4_0 が有利です。CPU を他の処理に使いたい場合は、NPU に任せても生成の速さはほぼ落ちません。

制約と注意点

  • 音声合成全体の速さは測っていません。Flow と音声合成器を含めた RTF は、今後の測定で示します。
  • 4 bit 版(Q4_0)は 16 bit 版から量子化して作ったもので、音質への影響は評価していません。
  • GPU は、今回の Linux 環境に GenieX が使う GPU 向けのドライバーを準備していないので、使用できませんでした。

今後

  • Flow・音声合成器を含めた音声合成全体の速さ
  • 量子化による音質の変化
  • 音声認識(SenseVoice)と組み合わせた音声対話での応答時間

関連:Fogwise AirBox Q900 で日本語音声認識 SenseVoice を動かす。CPU・NPU・LLM8850 の速さと精度

この記事で扱った機材

ASUS UGen300(Hailo-10H USB AI アクセラレータ)

Hailo-10H を USB 3.1 Gen2 で外付けにした製品。8 GB の LPDDR4 を載せる。本サイトの Hailo-10H の実測はすべてこの個体で行った。