Skip to content

DLManaka ベンチマーク

現在のマシン間速度は 共通ベンチマーク を正本とします。このページには DLManaka 固有の解釈だけを残します。

現在の測定

360398d、15ブロック × 256チャネル。

学習

GPU設定pos/s
RTX 4070 Ti256×4, torch.compile6,818
A100-SXM4-80GB4096×1, torch.compile21,396
RTX 5060256×4, torch.compile3,854

A100 は 4070 Ti より大きいバッチでないと使い切れません。torch.compile は測定した全条件で有効でしたが、効果量は GPU ごとにかなり違います。

バッチは大きければよいわけではありません。4070 Ti と 5060 は小さい本番バッチ付近が最良で、A100 は小さい処理単位だと多くの SM が遊ぶため、バッチ幅を増やす効果があります。

推論

ONNX Runtime CUDA で、異なる局面を 1 回ずつ評価した結果:

バッチRTX 4070 Ti pos/sA100 pos/s
1~917~325
327,8127,169
1289,72815,572
2569,46419,141
5128,51119,602

4070 Ti はバッチ 128 付近が最大。A100 はさらに大きい幅が必要で、256–512 ではほぼ頭打ちです。

RTX 5060 は、ビルド済み ONNX Runtime に sm_120 のカーネルイメージがないため現在は測定できません。ライブラリ側の対応問題であり、ネットワーク自体が原理的に動かないという意味ではありません。

探索とバッチ化

探索のバッチ化は、独立局面をまとめて評価する推論ベンチマークと同じではありません。複数の探索経路が同じ待機中の葉へ到達すると、ネットワーク単体の処理量が増えても実際のノード数や PV の深さが減ることがあります。

そのため:

  • バッチ幅は シミュレーション数と一緒に調整する。
  • sims/s だけでなくノード数と探索品質を見る。
  • バッチ探索実装を変えたら、バッチ 1 が逐次探索を再現することを確認する。

初期の自己対局では、データ調整より探索深さを増やした方がはるかに大きい Elo を得ました。詳細は 自己対局の停滞 に残しています。

測定ルール

  • CUDA 実行プロバイダが実際に起動したことを確認する。ONNX Runtime は CPU にフォールバックすることがある。
  • 実行前後の GPU 競合はホスト側で確認する。
  • 共有 A100 ホストの小さいバッチはばらつきが大きかったため複数回測る。
  • 現行性能表に古い実装速度を混ぜない。