Performance
モデルは ONNX 形式で配布され、ONNX Runtime を通じて実行されます。デバイスの選択は、固定されているのではなく、本番ポリシーによってモデルごとに行われます。
リファレンス構成
互いに異なるように選ばれた 2 台のマシンを測定しました。
| リファレンス A | リファレンス B | |
|---|---|---|
| フォームファクター | ラップトップ | デスクトップ |
| CPU | Intel Core i9-14900HX | Intel Core Ultra 5 250K Plus |
| ディスクリート GPU | NVIDIA GeForce RTX 4090 Laptop | AMD Radeon RX 9070 XT |
| 統合 GPU | Intel UHD Graphics | Intel Graphics |
| NPU | なし | あり |
| ランタイム | ONNX Runtime 1.24.6 | ONNX Runtime 1.24.6 |
どちらのマシンでも、ディスクリート GPU はプラットフォームによってアイドル状態のまま残されます。RTX 4090 も Radeon RX 9070 XT も、この処理のいずれの実行にも使われません。
これは意図的なものです。ピン留めした測定では、これらのモデルのほぼすべてにおいて CPU が最速のデバイスであることが示されており、モデルは十分に小さいため比較の差は僅差ではありません。それでも本番ではアクセラレーターハードウェアを選択します。ゲームプレイ中に CPU を空けておくことのほうが、すでに十分な余裕のある推論時間をさらに短縮することよりも価値があるからです。
デバイスの選択
選択はモデルごとに行われるため、1 つのセッションが 2 つのデバイスにまたがることがあります。
| モデル | リファレンス A | リファレンス B |
|---|---|---|
| YAMNet | 統合 GPU(OpenVINO) | 統合 GPU(OpenVINO) |
| ムード分類器 | 統合 GPU(OpenVINO) | NPU(OpenVINO) |
| パターンモデル | 統合 GPU(OpenVINO) | NPU(OpenVINO) |
| コンテンツ領域モデル | 統合 GPU(OpenVINO) | NPU(OpenVINO) |
NPU を搭載したマシンでは、3 つの小さなモデルはそこで実行され、YAMNet は統合 GPU で実行されます。NPU がない場合は、4 つすべてが統合 GPU で実行されます。
デバイス別のセッションコスト
リファレンス B 上で、500 ms ごとにサンプリングした定常状態のプロセス使用率です。数値は float モデルのバリアントで、int8 バリアントはセッションレベルで数十分の 1 パーセント程度の差にとどまります。各表の最終行が本番での選択です。
Razer Resonance
| デバイス | CPU % 平均 | GPU % 平均 |
|---|---|---|
| CPU (0x0007) | 0.2 | 0.0 |
| CPU OpenVINO (0x0007) | 1.1 | 0.0 |
| CPU OpenVINO.AUTO (0x0007) | 1.1 | 0.0 |
| DGPU Dml (0x7550) | 0.1 | 0.3 |
| DGPU MIGraphX (0x7550) | キャプチャなし | キャプチャなし |
| IGPU Dml (0x7d67) | 0.1 | 3.6 |
| IGPU OpenVINO (0x7d67) | 0.3 | 20.3 |
| IGPU OpenVINO.AUTO (0x7d67) | 0.3 | 20.2 |
| NPU OpenVINO (0xad1d) | キャプチャなし | キャプチャなし |
| NPU OpenVINO.AUTO (0xad1d) | キャプチャなし | キャプチャなし |
| 本番ポリシー → IGPU OpenVINO | 0.3 | 22.6 |
Screen Sync
| デバイス | CPU % 平均 | GPU % 平均 |
|---|---|---|
| CPU (0x0007) | 1.9 | 0.0 |
| CPU OpenVINO (0x0007) | 1.9 | 0.0 |
| CPU OpenVINO.AUTO (0x0007) | 2.2 | 0.0 |
| DGPU Dml (0x7550) | 2.2 | 0.0 |
| DGPU MIGraphX (0x7550) | 1.8 | 0.0 |
| IGPU Dml (0x7d67) | 1.8 | 0.1 |
| IGPU OpenVINO (0x7d67) | 2.0 | 0.7 |
| IGPU OpenVINO.AUTO (0x7d67) | 2.1 | 0.7 |
| NPU OpenVINO (0xad1d) | 1.7 | 0.1 |
| NPU OpenVINO.AUTO (0xad1d) | 1.9 | 0.1 |
| 本番ポリシー → NPU OpenVINO | 2.2 | 0.1 |
Mood Analyzer
| デバイス | CPU % 平均 | GPU % 平均 |
|---|---|---|
| CPU (0x0007) | 1.0 | 0.0 |
| CPU OpenVINO (0x0007) | 1.0 | 0.0 |
| CPU OpenVINO.AUTO (0x0007) | 1.0 | 0.0 |
| DGPU Dml (0x7550) | 0.8 | 0.1 |
| DGPU MIGraphX (0x7550) | キャプチャなし | キャプチャなし |
| IGPU Dml (0x7d67) | 0.7 | 1.3 |
| IGPU OpenVINO (0x7d67) | 1.2 | 5.2 |
| IGPU OpenVINO.AUTO (0x7d67) | 1.2 | 5.1 |
| 本番ポリシー → IGPU + NPU OpenVINO | 2.2 | 5.9 |
GPU の負荷は、どの統合 GPU が搭載されているかに大きく依存します。Razer Resonance はリファレンス B では統合 GPU の 22.6% を使用しましたが、リファレンス A では 1.4% でした。GPU 列は構成に固有のものとして扱ってください。
Screen Sync は 3 つの中で最も高い CPU コストを持ちますが、これはそのパイプラインから導かれるものです。色の抽出は、2 つのビジョンモデルと並行して CPU 上で 5 Hz で実行されます。
Screen Sync と Mood Analyzer は排他的であるため、稼働中のシステムはこの 2 つのうち最大 1 つと、それに加えて Razer Resonance を実行します。
推論のレイテンシ
本番デバイス上、ウォームキャッシュでの推論 1 回あたりのコストです。
| モデル | リファレンス A | リファレンス B |
|---|---|---|
| YAMNet | 平均 9.54 ms、p95 12.65 ms | 平均 6.53 ms |
| ムード分類器 | 平均 3.37 ms | 平均 4.07 ms |
| パターンモデル | 平均 15.85 ms、p95 26.84 ms | 平均 4.65 ms |
| コンテンツ領域モデル | 平均 14.08 ms、p95 22.17 ms | 平均 4.93 ms |
これらを 信号特性 のケイデンスと比較してください。YAMNet はおよそ 8 Hz で実行され、1 サイクルあたり 125 ms の予算があり、2 台のうち遅いほうのマシンでも p95 で 13 ms 未満しか使用しません。ビジョンモデルは 3 秒ごとに実行され、30 ms を大きく下回って完了します。
すべてのモデルはその時間枠内で十分に余裕をもって完了するため、解析のケイデンスはハードウェアが追いつける速度ではなく、設計によって決定されています。
モデルの入力
| モデル | 入力 | 出力 |
|---|---|---|
| YAMNet | システムオーディオの 0.975 秒ウィンドウ、16 kHz で 15,600 サンプル | クラスごとのスコアと 1,024 値の埋め込み |
| ムード分類器 | YAMNet の 1,024 値の埋め込み | ムードラベル |
| パターンモデル | 32×32 RGB の画面縮小画像 | 画面上のパターンクラス |
| コンテンツ領域モデル | 32×32 RGB の画面縮小画像 | アクティブなコンテンツの矩形 |
この 32×32 の入力が、Screen Sync における「低解像度スナップショット」の実際の意味であり、細部ではなくシーンの全体的な色を再現する理由です。
モデルのキャッシュ
precompileModels が存在するのは、コンパイル済みモデルのキャッシュ(EPContext)が OpenVINO デバイスでサポートされているためです。インストール時に事前コンパイルすることで、セッションは初回使用時にコンパイルするのではなく、キャッシュから開かれます。
リファレンス B でのキャッシュ済みセッションのオープンは、NPU でおよそ 35〜38 ms、統合 GPU で 36〜88 ms、CPU で 37〜116 ms です。EPContext をサポートしないデバイスは、毎回キャッシュなしで開かれます。
次へ
- 概要: 機能の概要とランタイムモデル