機械学習用のスーパーマシンをパーツから組み立てた理由

こんにちは、パロアルトインサイトCTOの長谷川です。

パロアルトインサイトでは、クライアント企業のニーズに応じてディープラーニングのモデルを開発することがあります。一昔前まではAWSのマシンをクラウド上で借り、そこでモデルを学習させることが多かったですが、最近は自作のマシンで学習させることが多いです。なぜかというと、クラウドのマシンはコスパがものすごく悪いからです。

まずコスト面では、弊社は用途に応じてp2.xlargeかp3.2xlargeというマシンを使っていますが、前者は月700ドル(約8万円)で後者は月2200ドル(約24万円)というコストがかかります。なぜこれだけクラウドのGPUマシンが高くなってしまっているかというと、実はNVIDIAのせいなのです。彼らは機械学習用のGPU市場を独占していることをいいことに、クラウドプロバイダーがより高価なGPUを購入することを余儀なくする条項をソフトウェア利用許諾書の中に記載しています。NVIDIAが作っているGPUには大きく2種類あって、一般消費者向けのGeForceシリーズと、データセンター向けのTeslaシリーズがあります。一般消費者向けのGeForceシリーズでも、かなりの演算能力があるため、ディープラーニングを行う上ではTeslaとほぼ同レベルの性能が出ます。それにも関わらず、AWSなどのクラウドプロバイダーは低価格のGeForceではなく、約10倍の価格のTeslaシリーズを買わなければいけません。いうまでもなく、そのしわ寄せを食うのがエンドユーザーであるクラウドで機械学習をしようとするデータサイエンティストです。

何が起きるかというと、24時間通常価格でクラウドのGPUマシンをフル活動させることはコストが高すぎるため、クラウドの運用でカバーするようになります。例えば、より不安定だが低価格のスポットインスタンスを使ったり、学習をしていないときはマシンを停止させたりといったことをしなければいけません。いうまでもなく、そういう運用を強いると24時間常にあるマシンに比べて面倒になるし、モデルを作るにもいちいち今回はどれくらい時間(すなわちコスト)がかかるだろうと心配する必要があります。

というわけで、昨年、PAIr-DL-001号(仮称)を作りました!

unnamed.jpg

ちなみにこのマシンのパーツからの組み立ての過程を動画でアップロードしていますので、ご興味がある方は是非みてください。YouTubeのリンクはこちらです。動画の説明にパーツリストもあります。メモリ64ギガバイト、CPU12コア最新Threadripper、NVIDIAのRTX2070など、かなり贅沢なマシンを作っても、なんと合計で$3000以下に収まります。そしてパフォーマンスはというと、AWSのp2.xlargeで学習させる時と比べて3倍ほど早いです。弊社のデータサイエンティストは今までのように時間当たりのコストを心配する必要がないので、大喜びしています。また、いろんな実験を重ねる土台にもなるので、良い成果に結びついています。

皆様も興味があれば是非自作でディープラーニングのマシンを作ってみてください。

ではまた。

長谷川

*これは弊社がニュースレター登録者の方に定期的に送る内容を後日ブログにした記事です。リアルタイムでこのような情報を自分のメールボックスに受け取りたい方はニュースレターに登録して下さい。登録はこちら。https://www.paloaltoinsight.com/newslettersignup *