どういったGPUを選ぶべきか?

ディープラーニングはGPUごとに最適なチューニングが行われることが多いので、GPUを使わないディープラーニングはまれで、何らかのGPUを使うのが一般的とされている。

  • ディープラーニングの学習では、実質上、GPUが必要

    ディープラーニングの学習では、実質上、GPUが必要。学習のフレームワークはGPU用にチューニングされているので、そのGPUを使うのが効率が良い。推論はモデルや利用方法によってGPU、CPU、FPGAが使われる

そうしたGPUの中で、どのようなものを使うのが良いかであるが、中古の安いGPUを大量に買うという手もあるが、GPUの性能向上のペースは著しいので、最新のGPUをさっさと買うのが結果的にお得となることが多い。また、中古のGPUは最新のGPUに比べて消費電力/性能が悪く、電気代が高くつくという問題もある。

  • ロゼッタ社の選択

    ロゼッタ社の選択。GPUの使う電力は型落ちでもあまりかわらないが、GPUの世代が進むと性能が数倍向上する。結果として最新GPUを使う方が安上がり

ロゼッタ社のサーバは、250Wの消費電力のV100 GPUが4個と消費電力150WのCPUが2個で、力率0.8と想定して計算すると、消費電力はサーバ当たり2.5kVAとなる。これは最大負荷の場合で現実的な電力消費はこの60%程度ではないかと思われるが、実測は行っていないようである。

安定化電源には平滑用のコンデンサが付いており、電源の投入時には大きめの電流が流れ、この突入電流は9Aくらいになるとロゼッタ社は想定している。通常の配電盤では突入電流が12A程度でブレーカーが落ちてしまう。さらに、一般的なラックは6kVA供給が上限で、この場合、ロゼッタ社のサーバはラックあたり3台しかサーバを搭載できないことになる。

  • ロゼッタ社の場合、250WのV100が4個、150WのCPUが2台

    ロゼッタ社の場合、250WのV100が4個、150WのCPUが2台。力率を0.8程度と考えて計算するとサーバ当たりの消費電力は2.5kVA程度

ロゼッタの場合、電力の大きいラックでは一般的な200V給電を使っている。電流が半分になるので、ラック当たりの搭載量が2倍にできる。ただし、データセンターの設計のラック当たりの冷却能力に余裕がある場合に限る。

さらに電源の系統を30A/200Vとし、6系統を1ラックに収容している。

  • ロゼッタは、電源を200Vで、容量10kVAに拡張してもらった

    ロゼッタは、電源を200Vで、容量10kVAに拡張してもらった。GPUのような高電力のサーバを収容する場合は、電源や冷却の拡張は一般的な要求になっている

  • GPUサーバは発熱が大きく、電気代が高い

    GPUサーバは発熱が大きく、電気代が高いというだけでなく、半導体の寿命が縮む、誤動作の確率が上がるという問題もある

データセンターで起こる熱問題をどう解決したのか?

次の図は先代のMaxwell世代のGPUとVolta世代のGPUのチップ温度を測定したグラフで、同じ学習を実行した場合、Voltaの方が20℃以上温度が低くなっているという。

  • ロゼッタの先代のMaxwell GPUをV100 GPUに替えた効果

    ロゼッタの先代のMaxwell GPUをV100 GPUに替えた効果。同じ学習だが、V100では温度が20℃以上低くなっている

  • なぜ温度が下がったのか

    なぜ温度が下がったのか?。以前の筐体はGPUを冷やす仕組みをあまり持っていない。GPUの置き場所もあまり良くない。これに対してVolta世代はMaxwell世代より演算コストが小さい。筐体がGPUを冷やすことに特化しているという違いがある

MaxwellからVolta GPUに替えて温度が下がったのであるが、サーバの搭載を変えたりした結果、逆に熱くなってしまったという。

  • その後さらに熱くなってしまった

    しかし、結果として、その後さらに熱くなってしまったという

調査の結果、データセンターの冷却がフロア単位で設計されており、GPUサーバが1つのフロアに集中し、フロア全体が熱くなり過ぎて排熱が追い付かなくなっていることから、熱さが増したことが判明した。また、学習用と推論用のGPUサーバが隣接して置かれていたため、相互サーバの高負荷が重なった時には熱だまりができてしまうことも判明した。

そこで、HPC/AIインフラが得意なデータセンターを選んだ。このようなデータセンターはラック当たり実行最大35kVAの電力容量を持ち、GPUサーバの冷却、排熱も効率的にできている。また、ラック当たりのサーバ数が2倍以上になることから、場所代も半分以下。さらにサーバからの回線の引き回しも楽になった。

  • 専用データセンターに移すことで問題を解決

    専用データセンターに移すことで問題を解決

推論と学習のデータセンターを分ける

推論用のGPUとしてNVIDIAのT4 GPUを導入したという。V100 GPUの消費電力が250~300Wに対して、T4 GPUは70W。また、今年は60WのA2が出てくる。

  • ロゼッタでは推論も使っているので、NVIDIAのT4 GPUを導入してみた

    ロゼッタでは推論も使っているので、NVIDIAのT4 GPUを導入してみた

学習と推論のGPUの場所を分け、推論のT4 GPUは既存のデータセンターに置き、常時、学習用のV100は電力、排熱に余裕のあるデータセンターに移動して、V100の動作環境を改善した。

結果として、最も高温のGPUサーバが72.3℃から56.1℃に低下した。

  • 最大72.3℃が56.1℃に低下

    最大72.3℃が56.1℃に低下

この教訓は、発熱の大きいサーバは、給電、排熱のしっかりしたデータセンターに置くことが重要ということである。専門家が設計したパブリッククラウドの場合であれば、給電や排熱は大丈夫なようにつくられているものと思われる。

  • 電力供給に余裕を持たせる、効率よく冷やすが学んだポイント

    電力供給に余裕を持たせる、効率よく冷やすが学んだポイントで、それならパブリッククラウドのGPUインスタンスを使えば良いのでは? となるが、それが解になるのだろうか?

ロゼッタはオンプレミスを選択した理由

ロゼッタはT-400以外のサービスではAWSのGPUインスタンスも併用している。パブリッククラウドは、必要な時にサーバが調達できるのが最大のメリットで、様々なサービスと連携できる、料金体系が柔軟などのメリットがある。

  • ロゼッタではT-400以外のサービスではAWSのGPUインスタンスも併用している

    ロゼッタではT-400以外のサービスではAWSのGPUインスタンスも併用している。必要な時にサーバが調達しやすいのが最大のメリットである

しかし、インスタンスの提供エリアによって提供されていないアーキテクチャがあったりするとか、日本ではサポートされていないアーキテクチャであったりすることがある。また。障害が発生した時のサポートが不足するというような問題も起こり得る。

  • AWSではGPUインスタンスの料金体系と日本のリージョンではインスタンスの提供時期が遅いなどの問題がある

    AWSではGPUインスタンスの料金体系と日本のリージョンではインスタンスの提供時期が遅いなどの問題がある

  • 1ドル130円で考えるとオレゴンのリージョンの料金に比べて日本の料金は高い

    1ドル130円で考えるとオレゴンのリージョンの料金に比べて日本の料金は高い。ロゼッタの運用にはマッチしなかった

さらに、オレゴンのデータセンターを使うと通信レーテンシが長くWeb APIとしては応答が遅い。日本リージョンを使えばよいが、料金は4割近く高く、経済的に成り立たないという判断をしたという。

  • ロゼッタの結論としては、もう少し料金が下がらないとAWSのGPUインスタンスは選択できない

    ロゼッタの結論としては、もう少し料金が下がらないとAWSのGPUインスタンスは選択できない。GPUインスタンス以外でのパブリッククラウドの採用は可能性アリである

結論として、GPUの性能向上のペースが速いので、一般には新しいGPUを買う方が得。パブリッククラウドを使うか、自社サーバを設置してオンプレミスで使うかについては、利用率により、ケースバイケースということであった。また、最新GPUは電力消費が激増していることから、電源の供給にも注意する必要があるともしていた。

  • 学習と推論を大量に実行するなら新しいGPUを買った方が得

    学習と推論を大量に実行するなら新しいGPUを買った方が得。クラウドかオンプレ化は利用率で判断する