GPU活用で実現するハイパフォーマンス・コンピューティングとは
ゲーミングPCを使って企業がディープラーニングに取り組み始めている。
「金融機関が、何台ものAlienwareを購入しています。彼らは市場予測をするために、このPCを用いディープラーニングの検証を行っているのだと思われます」
こう語るのは、デル エンタープライズ・ソリューション統括本部 エンタープライズソリューション&アライアンス TCソリューション開発マネージャの田上英昭氏だ。
なぜゲーミングPCでディープラーニングなのか。理由は簡単で、ゲーミングPCには高性能なGPU(Graphics Processing Unit)が搭載されているからだ。AlienwareシリーズのPCには「GeForce GTX」というGPUボードが搭載されている。このボード、本来はゲームの3D映像などを高性能に描画することに使われる。GPUにはたくさんのコアが搭載されており、これを使えば超並列計算ができるのだ。つまり、ディープラーニングで必要とされる超並列計算にこのGPUを使うとかなり高速に計算が行える。
「NVIDIAのGPUには、3,000から4,000個ものコアがあります。この大量にあるコアを使い、超並列計算を実行するのです。これで、ディープラーニングのベースとなるニューラルネットワークの計算がかなり高速に実行できます」(田上氏)
ゲーミングPCで安価にディープラーニングの検証が始められる。これは企業にとって朗報だ。とはいえ、ゲーミングPCでできるディープラーニングには限界もある。本格的にディープラーニングを行いたければ、大量データが必要だ。より多くのデータを学習することで、予測精度などが向上するからだ。ところがゲーミングPCは、所詮パーソナルなコンピュータだ。並列計算がいくら速くても、IoTから生まれるビッグデータを扱うようにはできていないのだ。
またゲーミングPCは、当然ながらコンシューマ向け製品だ。つまり、エンタープライズ用途に耐えうる高度な機能などはない。また高いレベルの保守サービスも用意されていない。実験的、あるいは学生の研究目的などで行うのならいいが、これらの面からも企業が本格的にディープラーニングを行う基盤として利用するには、ゲーミングPCが適しているとは言えない。
企業が本格的にディープラーニングを活用したい。そのためには、エンタープライズ向けのPCサーバが必要であり、それでGPUを最大限に活用できなければならない。そんな要件を満たすPCサーバ「PowerEdge C4130」がすでにデルには用意されている。
ディープラーニングに最適なGPUを搭載した高密度型サーバ
ところで、現状、ディープラーニングを行うための学習ツールが数多く登場している。「Googleやマイクロソフトなどからもディープラーニングを行うツールは提供されています。そして、超並列計算が行えるGPUも今なら比較的容易に手に入ります。あとはIoTのセンサーなどからビッグデータをいかにして集め、それを使ってどう学習するかです。つまり、企業においてディープラーニングは、すでに実用段階に入っています」と田上氏。
たとえば自動運転などは、ディープラーニングの実用化が進んでいる領域だ。自動車には多数のセンサーが搭載されており、そこから得られるデータをまずはクルマ側で処理する。そのための専用コンピュータもすでにある。クルマで得られる大量データは、モバイル通信の仕組みなどを用いデータセンターに送られ、そこで蓄積されディープラーニングを行うことになる。ディープラーニングで得られた知見は再びクルマにフィードバックされ、安全な自動運転を行うために利用される。
「デルでは、クルマで発生する大量データをデータセンターで受け取り、Hadoopなどを使って蓄積してGPUクラスターで学習する基盤環境を提供します。そこではGPUを最大限に活用し、ディープラーニングを効率的に行えるようにします。そんな基盤を提供するのが、デルの役割です」(田上氏)
デルはあくまでもハードウェアベンダーの立場だという。なので、機械学習のどのアルゴリズムを使えばいいか、どんなデータセットを与えればよいかを決めるわけではない。さまざまなアルゴリズムやツールがあり、ユーザーはその中から最適な手法を選択する。デルでは、選ばれた手法に適した基盤を素早く提供するためのオープンな設計を手がけている。そのために、単に複数のGPUボードが搭載できるハードウェアがあるだけではない。たとえば「Cobbler+Ansible」のようなオープンソースを活用したり、学習ツールに最適なOS環境はもちろん、最適な実行環境となるようBIOSレベルの設定を切り替えることも容易である。
「GPUを含め、それぞれのディープラーニングの手法に最適な構成を簡単に組み替えて提供できる。これがデルの強みでもあります」(田上氏)
vGPUを使えば高度なグラフィックス処理が必要なアプリケーションもVDIで集約できる
エンタープライズでのGPU活用は、ディープラーニングだけではない。たとえば、仮想GPU(vGPU)がある。これはハイパーバイザ上に構築した仮想マシンにクライアントOSを導入し、表示画面だけをネットワーク経由でPCやタブレットに渡すいわゆるVDI(仮想デスクトップ)に使用される技術で、CADやCGなどのグラフィック処理の負荷が高いアプリケーションをVDI上で動かすことが可能となる。田上氏によれば、ひとつのGPUボードで8~16VDIへGPUリソースを割り当てられるという。
通常、グラフィック処理の重たいアプリケーションを利用したければ、利用者の手許にグラフィックワークステーションを配置することになる。これでは重要な設計データなども分散してしまう。ならば、ファイルサーバーで管理すればいいのではと思うかもしれないが、その場合は大量なグラフィックスデータがファイルサーバーとワークステーション間でやり取りされ、それがネットワークボトルネックになり十分なパフォーマンスが得られないことも多い。vGPUでサーバーに集約できれば、BCPやセキュリティの観点からも集中管理がやりやすくなるのだ。
「vGPUでワークステーション環境を集約する場合は、vGPUのサーバーとファイルサーバー間のネットワーク帯域だけを確保すればいいのです。それで、リモートからでも十分なデータIOの性能が得られます」(田上氏)
GPUを活用するハイパフォーマンス・コンピューティング環境
現時点でディープラーニングやvGPUの処理に最適なマシンだと田上氏が語るのが、前出の「PowerEdge C4130」だ。C4130には、わずか1Uサイズの筐体に4枚のGPUボードを搭載できる。「GPUを2枚搭載できるマシンは他にもありますが、この大きさに4枚搭載できるサーバーはユニークです」と田上氏。このGPUボードの高密度化により、省スペース化はもちろん、大きな消費電力の削減も可能となる。さらにC4130にはInfiniBandを搭載しており、高性能なGPUクラスター構成も可能だ。もちろんHadoopを動かすサーバーとも、高速なデータのやり取りができる。
ではこのC4130とNVIDIAのGPUを組み合わせて利用すると、いったいどれくらい効率的かつ高速に並列計算などが行えるのだろうか。
「ディープラーニングについては、サーバーのCPUだけで処理する場合と比べ20倍以上高速化できたベンチマーク結果があります。ディープラーニング以外にも、ライフサイエンス、石油やガスなどの資源分野でのシミュレーション、データ分析、天気や天候の予測、計算流動力学などの領域で実績あるアプリケーションでベンチマークを行っており、いずれも数倍から数十倍の性能が発揮できています」(田上氏)
ベンチマークの詳細は『デル GPU アクセラレーター HPC用ソリューション』というドキュメント(リンク入る)を参照されたい。
また、東京・三田にある「デルGPUソリューションラボ」では、GPUを活用するためのデモ環境も常設されている。なので、実際に導入する前にPoCなどを実施することも可能だ。さらには、導入を検討している人向けの評価機の貸し出しも実施している。
ディープラーニングやvGPUの基盤構成は手間がかかる。そういった環境を事前に組み上げ提供するサービスもデルにはある。ディープラーニングを活用したい、そんな考えを持っているのなら、一度デルへ相談してみるといいだろう。
あわせて読みたい!
デル GPU アクセラレーター HPC用ソリューション
C4130とNVIDIAのGPUを組み合わせて利用すると効率的かつ高速に並列計算が行なえます!ベンチマークの詳細はこちらからどうぞ!