読者です 読者をやめる 読者になる 読者になる

studylog/北の雲

chainer/python/nlp

次期GPUのPascalの詳細な情報が出てきた

現行のMaxwell世代から今年登場するPascal世代へとパワーアップするNvidiaGPUの詳細な(噂)情報が出てきました。低火力ディープラーニング愛好家にとっては気になるところです。

スペック表

Nvidia GeForce X80 and X80 Ti Pascal Specs?

表の左2つのモデルは既に発売されているMaxwell世代のもの、そして右の3つがこれから登場するであろうPascal世代の「予測」スペックです。演算性能を一番端的に表す「単精度TFLOPS(表だと水色で強調されてる)」を見ても分かる通り現行最強のTitanを、次世代のラインナップではハイエンドではないX80が上回っています。

X80は現行品でいえば980というモデル(表には無い)に該当するんですが今の価格は6万円台です。

MSI GTX 980 GAMING 4G グラフィックスボード VD5504 GTX 980 GAMING 4G
MSI COMPUTER (2014-10-14)
売り上げランキング: 4,132
現行のハイエンドモデルTitanXは15万円近くすることを考えると980の位置づけがどんなもんかわかってもらえると思います。その980と同じ位置づけに該当するX80がいくらぐらいで登場するのか楽しみですね。

また注目点すべき点として次期Titanのメモリ性能が他のモデルと比べてもダントツです。メモリの規格が従来のGDDR5ではなくHBM2という新規格を採用しているためで、これのおかげでディープラーニング演算性能がさらに底上げされることが期待されています。お高いんでしょうねえ…。

半精度のアクセラレーション

さらに個人的に期待しているのはこちらの記事に書かれているように半精度専用のアクセラレーションが搭載されるのではないかという点。chainer使ってるとnumpyでデータ作るときにdtype=float32と指定しないといけないですよね。この32ってのは32bit精度という意味で、

  • 64=倍精度
  • 32=単精度(これが一般的にGPU演算性能を測る指標になっている)
  • 16=半精度

と呼ばれています。64bitの倍精度はスパコンなどで主に使われるのでしょうか。ディープラーニングには倍精度は必要無くて単精度で十分らしいですが、さらに精度を落として半精度でも問題ないんじゃないかという考え方もあるようです。

精度を落とせばそれだけ小数の桁数が深くなればなるほどいい加減になるので演算結果に悪影響を及ぼしますが、ディープラーニングの場合はそこまで詳細な精度が無くても致命的な悪影響とはならず、精度を落とす事で演算速度が上がればそれだけ学習回数を増やせるので結果的にお得なんじゃないか、と自分は理解しています。

とはいえ、現行のMaxwell世代の一般的なGPUでは半精度だろうが単精度だろうが単精度の演算器を使うので、どちらも計算速度は変わらないらしいです。そこで期待されるのがPascal世代に搭載される事が期待されている半精度専用のアクセラレーションです。大雑把に言うと一つの単精度の演算器で半精度の計算を同時に二つこなせる、みたいな感じ。これなら半精度でやれば2倍の速度で計算できることになります。メモリの帯域も削減できますし、いいことづくめのように思われます。

X80の発売時期は6月頃か、その後X80TiとTitan

5~6月が予想されていますがここはあんまりあてにしてません。今年2月の台湾地震によって製造元が多少ダメージを受けたようで全体的にスケジュールが遅れ気味だそうです。で、最初に発売されるのはX80が有力視されています。スペックを考えると現行970以下はそこまで価格の影響を受けませんが、980~980Tiあたりは一気に値下がりしちゃうような気がします、特に980Ti。現行TitanXはメモリが12GBと巨大なので次期ハイエンドが出るまではそこまで下がらないか。手持ち中古を売って買い替える場合はこのあたりに留意する必要がありそうです。自分のは980Tiなので早めに売っちゃう事を検討してます。

上位モデルのX80TiとTitanはさらに遅くなりそうな気配です。もしかしたら一般的なモデルは今年中に店頭に並ばないんじゃないかという観測もあるようなので当分はX80で遊ぶ事になりそうです。