DLManaka ベンチマーク
現在のマシン間速度は 共通ベンチマーク を正本とします。このページには DLManaka 固有の解釈だけを残します。
現在の測定
360398d、15ブロック × 256チャネル。
学習
| GPU | 設定 | pos/s |
|---|---|---|
| RTX 4070 Ti | 256×4, torch.compile | 6,818 |
| A100-SXM4-80GB | 4096×1, torch.compile | 21,396 |
| RTX 5060 | 256×4, torch.compile | 3,854 |
A100 は 4070 Ti より大きいバッチでないと使い切れません。torch.compile は測定した全条件で有効でしたが、効果量は GPU ごとにかなり違います。
バッチは大きければよいわけではありません。4070 Ti と 5060 は小さい本番バッチ付近が最良で、A100 は小さい処理単位だと多くの SM が遊ぶため、バッチ幅を増やす効果があります。
推論
ONNX Runtime CUDA で、異なる局面を 1 回ずつ評価した結果:
| バッチ | RTX 4070 Ti pos/s | A100 pos/s |
|---|---|---|
| 1 | ~917 | ~325 |
| 32 | 7,812 | 7,169 |
| 128 | 9,728 | 15,572 |
| 256 | 9,464 | 19,141 |
| 512 | 8,511 | 19,602 |
4070 Ti はバッチ 128 付近が最大。A100 はさらに大きい幅が必要で、256–512 ではほぼ頭打ちです。
RTX 5060 は、ビルド済み ONNX Runtime に sm_120 のカーネルイメージがないため現在は測定できません。ライブラリ側の対応問題であり、ネットワーク自体が原理的に動かないという意味ではありません。
探索とバッチ化
探索のバッチ化は、独立局面をまとめて評価する推論ベンチマークと同じではありません。複数の探索経路が同じ待機中の葉へ到達すると、ネットワーク単体の処理量が増えても実際のノード数や PV の深さが減ることがあります。
そのため:
- バッチ幅は シミュレーション数と一緒に調整する。
- sims/s だけでなくノード数と探索品質を見る。
- バッチ探索実装を変えたら、バッチ 1 が逐次探索を再現することを確認する。
初期の自己対局では、データ調整より探索深さを増やした方がはるかに大きい Elo を得ました。詳細は 自己対局の停滞 に残しています。
測定ルール
- CUDA 実行プロバイダが実際に起動したことを確認する。ONNX Runtime は CPU にフォールバックすることがある。
- 実行前後の GPU 競合はホスト側で確認する。
- 共有 A100 ホストの小さいバッチはばらつきが大きかったため複数回測る。
- 現行性能表に古い実装速度を混ぜない。