どういったGPUを選ぶべきか?
ディープラーニングは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台しかサーバを搭載できないことになる。
ロゼッタの場合、電力の大きいラックでは一般的な200V給電を使っている。電流が半分になるので、ラック当たりの搭載量が2倍にできる。ただし、データセンターの設計のラック当たりの冷却能力に余裕がある場合に限る。
さらに電源の系統を30A/200Vとし、6系統を1ラックに収容している。
データセンターで起こる熱問題をどう解決したのか?
次の図は先代のMaxwell世代のGPUとVolta世代のGPUのチップ温度を測定したグラフで、同じ学習を実行した場合、Voltaの方が20℃以上温度が低くなっているという。
MaxwellからVolta GPUに替えて温度が下がったのであるが、サーバの搭載を変えたりした結果、逆に熱くなってしまったという。
調査の結果、データセンターの冷却がフロア単位で設計されており、GPUサーバが1つのフロアに集中し、フロア全体が熱くなり過ぎて排熱が追い付かなくなっていることから、熱さが増したことが判明した。また、学習用と推論用のGPUサーバが隣接して置かれていたため、相互サーバの高負荷が重なった時には熱だまりができてしまうことも判明した。
そこで、HPC/AIインフラが得意なデータセンターを選んだ。このようなデータセンターはラック当たり実行最大35kVAの電力容量を持ち、GPUサーバの冷却、排熱も効率的にできている。また、ラック当たりのサーバ数が2倍以上になることから、場所代も半分以下。さらにサーバからの回線の引き回しも楽になった。
推論と学習のデータセンターを分ける
推論用のGPUとしてNVIDIAのT4 GPUを導入したという。V100 GPUの消費電力が250~300Wに対して、T4 GPUは70W。また、今年は60WのA2が出てくる。
学習と推論のGPUの場所を分け、推論のT4 GPUは既存のデータセンターに置き、常時、学習用のV100は電力、排熱に余裕のあるデータセンターに移動して、V100の動作環境を改善した。
結果として、最も高温のGPUサーバが72.3℃から56.1℃に低下した。
この教訓は、発熱の大きいサーバは、給電、排熱のしっかりしたデータセンターに置くことが重要ということである。専門家が設計したパブリッククラウドの場合であれば、給電や排熱は大丈夫なようにつくられているものと思われる。
ロゼッタはオンプレミスを選択した理由
ロゼッタはT-400以外のサービスではAWSのGPUインスタンスも併用している。パブリッククラウドは、必要な時にサーバが調達できるのが最大のメリットで、様々なサービスと連携できる、料金体系が柔軟などのメリットがある。
しかし、インスタンスの提供エリアによって提供されていないアーキテクチャがあったりするとか、日本ではサポートされていないアーキテクチャであったりすることがある。また。障害が発生した時のサポートが不足するというような問題も起こり得る。
さらに、オレゴンのデータセンターを使うと通信レーテンシが長くWeb APIとしては応答が遅い。日本リージョンを使えばよいが、料金は4割近く高く、経済的に成り立たないという判断をしたという。
結論として、GPUの性能向上のペースが速いので、一般には新しいGPUを買う方が得。パブリッククラウドを使うか、自社サーバを設置してオンプレミスで使うかについては、利用率により、ケースバイケースということであった。また、最新GPUは電力消費が激増していることから、電源の供給にも注意する必要があるともしていた。