読み書きプログラミング

日常のプログラミングで気づいたことを綴っています

GeForce RTX 2080 Tiは2枚でAlphaGo Readyと言えるかも(言えないかも)

追追追追記 2019/09/23
Leela Zero 40bがV100で2219プレイアウト/秒出るそうです。20bなら雑に2倍して4438プレイアウト/秒、INT8で2倍になるとして8876プレイアウト/秒。
2枚あれば16000プレイアウト/秒以上出ますね。
V100相当のTuringカードがあれば2枚でAlphaGo Readyと言えそうです。

追追追追記 2018/11/29
TOPSという数字の追求だけでは心もとないので、もっと具体的な数値を見ました。
AlphaGo Zero(20b)は4TPUsで16000プレイアウト/秒です。
ELF OpenGo(20b)はV100でTensor Coreを使って1600プレイアウト/秒です。
TuringのINT8でプレイアウトが2倍になったとしても2枚で4倍にしかならず、10倍の4 TPUsには届きませんね。
AlphaGo Ready PCはまだまだ先のようです。


追追追記 2018/10/04
devblogs.nvidia.com
9月14日の記事ですが、RTXシリーズは、

  • packed fp16が実装されている。つまりTensor Coreを使わなくてもfp16で高速化を図れる
  • Tensor CoreはFP16積算の場合と比べてFP32積算では速度が半分

ということのようです。
cuDNN 7.3.1はまだTuring向けにチューンしたものではようで、FP32積算を使うようになっていると2080Tiは TITAN Vより速度が出ないということが起こりうるようです。


追追記 2018/09/23
将棋AIを開発されている山岡さんがTensor Coreを利用した記事を書かれていたので、質問して教えていただきました。
cuDNN Developer Guide :: NVIDIA Deep Learning SDK Documentationに、制約のある次元はfeature mapsのことであり、rows, columnsではないことが明記されていました。追記の記事にもchannelとあったのですが、ディープラーニングでのいわゆるチャンネルなのか、dimension一般のことかよくわからなかったので誤解しました。
というわけで、囲碁AIでも使えますね!


追記 2018/09/06
cuDNNは次元がそれぞれ8の倍数でないとTensor Coreを活用できないようです。
devblogs.nvidia.com
これだと、囲碁AIには使えないですね…

GeForceシリーズの新しいGPUが発表されました。Gamescomに先立って行われた講演では、リアルタイムレイトレーシングが強調されてTensor Coreに関しては搭載されているのかどうかはっきりしないものでしたが、2日経って詳細内容の記事が出てきました。
pc.watch.impress.co.jp

この記事によると、GeForce RTX-20シリーズにはすべてTensor Coreが搭載されていて、その仕様は、

2070 2080 2080 Ti
Tensor Core FP16 60 TFLOPS 81 TFLOPS 108 TFLOPS

とのことです。

TuringアーキテクチャTensor CoreはINT8, INT4もサポートするので、以下の仕様が想像できます。

2070 2080 2080 Ti
Tensor Core FP16 60 TFLOPS 81 TFLOPS 108 TFLOPS
Tensor Core INT8 120 TOPS 162 TOPS 216 TOPS
Tensor Core INT4 240 TOPS 324 TOPS 432 TOPS

AlphaGo Zeroの対局時の仕様はTPU v1 4個なので、INT8が92 TOPS * 4 = 368 TOPSという仕様です。

なので、RTX 2080 Tiを2枚で432 TOPSでAlphaGo Zeroの仕様を(単に数字の上だけですが)超えることになります。
RTX 2070を3枚なら 360 TOPSでAlphaGo Zeroにほぼ並びます。

499ドル 3枚(約17万円)、999ドル 2枚(約22万円)は決して安い値段ではありませんが、半年前にはTITAN V 2枚(80万円)でも届かない性能が今この値段!

なんという世の中でしょう。競争激しいGPU業界のたゆまぬイノベーション努力に感謝致します。

(でも財布の都合で買うならRTX 2070一枚かな…)