人工知能学習用にパソコンを自作する際に知っておくべき事(2020年版)

AI

1.人工知能学習用にパソコンを自作する際に知っておくべき事(2020年版)まとめ

・ディープラーニングには大量の計算が必要なのでクラウドか自作ハードウェアを選ぶ事になる
・自作ハードウェアは長期目線ではコストの削減とスピードの向上に繋がる可能性がある
・トレーニング毎に課金される事は無意識の躊躇と実験の選択肢を狭める事に繋がる恐れもある

2.ディープラーニング用PCと強化学習用PCの違い

以下、towardsdatascience.comより「Build Your Own Deep Learning Machine — What you need to know」の意訳です。

元記事の投稿は2020年6月27日、Michael Phiさんによる投稿です。半年前の記事ですが、現時点でも非常に参考になる記事です。

これから人工知能/機械学習を始めてみようと考えている入門者の方は先に「人工知能/機械学習を学ぶ際の開発環境の注意点」を読む事をオススメします。

大きなモデルをトレーニングしたいと思った時はクラウドを利用するのか、自分自身でマシンを自作(BTOのPCを購入、オーダーメイドで発注含む)するのかを選択する必要が出てくると思いますが、これは賃貸派 vs 持ち家派の論争のように何を重視するかで結論が変わる話ではあります。

個人的にはハードウェアの進化の速さとソフトウェアの保守運用の手間が省ける事を考えるとややクラウドに分があるかなぁ、とは感じているのですが、個人向けGPUとデータセンター向けGPUの価格差が拡大傾向にあるため、選択肢として知っておいた方が良いかな、と考えています。また、本稿の後半に書かれているメリットにはとても共感できる部分がありました。

自作したパソコンを自宅で動かす際の電気代の考察については「GeForceシリーズのGPUの消費電力と電気代比較一覧表」にまとめています。

アイキャッチ画像のクレジットはPhoto by Andy Holmes on Unsplash

ディープラーニングには大量のコンピューティングパワーが必要なため、ディープラーニングモデルを効果的にトレーニングする際に、ほとんどの人がAWSのようなクラウドを使用するか、独自のハードウェアを購入してトレーニングします。

私はクラウドに多額の費用をかけ、コストを節約したくなったので、自分でマシンを作ることにしました。

紹介します!私の自作PCであるWarmachineです!

部品名製品名価格(USドル)備考
CPUIntel Core i9-10920X 3.5 GHz 12-Core Processor$679
CPU CoolerCorsair H115i PRO 55.4 CFM Liquid CPU Cooler$262
MotherboardAsus WS X299 SAGE SSI CEB LGA2066 Motherboard$654
MemoryCorsair Vengeance LPX 32 GB (2 x 16 GB) DDR4-3200 CL16 Memory$195※元データでは価格欠落
StorageSamsung 970 Evo 1 TB M.2-2280 NVME Solid State Drive$140
StorageSeagate EXOS Enterprise 8 TB 3.5″ 7200RPM Internal Hard Drive$199
Video CardAsus GeForce RTX 2080 Ti 11 GB Turbo Video Card$1,200※GPUは現在極端な品薄傾向です
CaseCorsair Air 540 ATX Mid Tower Case$150
Power SupplyRosewill 1600 W 80+ Gold Certified Semi-modular ATX Power Supply$109※元データでは価格欠落
Total:$3,589

Warmachineは、深層学習から強化学習までの高度なAIタスクを実行できるように構築された非常に有能なマシンです。

Warmachineは、一般消費者向けの既製品を組み合わせて構築されました。末尾のpcpartpicker.comリンクよりWarmachineの各パーツの詳細をご確認ください。

本記事では、AIトレーニングマシンを適切に構築するためのヒントを紹介します。最後に、貴方独自のシステムを構築する事とクラウドを利用する事の長所と短所について説明します。

パーツ

さて、Warmachineは主に、深層学習と強化学習の問題に取り組むために構築されました。

機械学習モデルのトレーニングをすばやく繰り返すことができるように、4つのGPUを備えた十分な量のコアを備えたマシンが必要でした。私の最終目標は、Lambda社のGPU4基搭載AI学習ワークステーション(訳注:日本円換算116万円)より安く、最終的にLambda社のGPU4基搭載マシンに匹敵するものを作ることです。

Warmachineが完成した暁には、Lambda社のLambda Labsシリーズよりも4,000ドル安い約7,000ドルを費やす事になる予定です。

ディープラーニング学習用システムには特定の部品が必要なため、これらのいずれかを構築する方法について、信頼できる情報源をインターネットで見つけるのは通常より困難でした。以下で独自のディープラーニングマシンを構築するために知っておく必要のある全てを見ていきましょう。

GPU

ディープラーニングモデルをトレーニングする際に中心となるのはGPUです。

GPUは、非常に少量の複雑なコンピューティングコアを備えたCPUとは異なり、行列の乗算で非常に効率的な数百または数千の単純なコアを備えているため、ディープラーニングアルゴリズムの計算を非常に高速に行う事ができます。

ディープラーニング用のGPUで最も信頼できるブランドはNvidiaです。

ほとんどのディープラーニングフレームワークは、GPUとやりとりするためのソフトウェアライブラリであるNvidiaのCUDA SDKを完全にサポートしています。

GPUを選ぶとき、お金を最大限に活用するには、テンソルコア(tensor core)を備えたものが必要です。テンソルコアは、特殊な行列計算を実行するプロセッサーコアの一種であり、半精度(half-precision)または混合精度(mix precision)を使用してモデルをトレーニングできます。


(訳注:PASCALアーキテクチャはP100、VOLTAアーキテクチャはV100です。TensorコアはTURINGアーキテクチャのT4にも搭載されています。タスクによってはそれほど差がでない事もありそうだなと考えています)

これにより、GPUメモリをより効率的に使用できるようになり、より大きなバッチサイズ、より高速なトレーニング、より大きなモデルへの扉が開かれます。

テンソルコアは、Nvidia RTX GPUモデルに搭載されています。GPUに必要なメモリは、トレーニングを計画しているモデルのタイプによって異なります。

組み込みデバイス用に超小型モデルのトレーニングのみを計画している場合は、より少ないメモリでGPUを使用することができます。NLP領域のGPTのようなより大きなモデルをトレーニングすることを計画しているのであれば、私は可能な限り多くのメモリを確保します。

GPUメモリを増やすことで、より大きなバッチサイズ、より高速なトレーニング、より大きなモデルへの扉が開かれます。複数GPUの利用を計画している場合は、外排気式冷却ファン(blower-style fan)、またはより高価な水冷式冷却ファンを使用する必要があります。

複数のGPUを搭載する場合は、ケース内から熱を放出するように構築されている外排気式冷却ファンが必要です。外排気式冷却ファンでない場合、ケース内の温度が上昇し、その結果システム全体が過熱し、ハードウェアが損傷する可能性があります。

Warmachineには、ASUS社のNvidia RTX 2080 TI Turboを使用しました。これは11GBのビデオメモリと、マルチGPU構成時の暖気管理を改善するために、外排気式冷却ファンを搭載しています。

Warmachineを最終形態にするためには、今後さらに3つのGPUを購入する予定です。

CPU

CPUは、主にディープラーニングのデータ読み込みに使用されます。CPUのスレッドが増えるということは、より多くのデータを並行してロードして、トレーニングのためにモデルに与える事ができる事を意味します。これは、大きなバッチサイズでトレーニングする場合に役立ちます。そのため、GPUはCPUがデータをロードするのを長時間待つ必要がありません。

貴方の自作マシンで強化学習を実行する事を計画している場合、CPUは重要です。学習環境内のほとんどの計算はCPUで行われる可能性が高いためです。

強化学習を備えた大規模なニューラルネットワークの使用を計画している場合、GPUは間違いなくトレーニングのスピードアップに役立ちます。

ディープラーニングのみ計画している場合、CPUが必要な枚数のGPUをサポートしている事を確認してください。

CPUを選択するときは、次の質問を自問してください。

(1)強化学習を行う予定はありますか?予定があり、より高速なトレーニングが必要な場合は、ベンチマークで十分に機能するハイエンドCPUを選択します。

(2)ディープラーニングだけを実行しますか?その場合は、より安価なCPUにする事ができますが、より多くのスレッドはデータのロード時に役立ちます。

(3)複数GPUセットアップを計画していますか? その場合は、CPUが必要な数のGPUをサポートしていることを確認してください。

Warmachineは深層学習と強化学習に使用されるため、12コアと24スレッドを備えたIntel i9–10920Xが搭載されています。最大4.8GHZのクロック速度を持ち、4つのGPUをサポートします。

私はIntelを利用しましたが、AMDチップを使用している人々に関する多くのサクセスストーリーを読みました。Intel i9–10920Xは、深層学習と強化学習の両方を実行できる非常に有能なCPUであるため、私のニーズには最適です。

メモリ

大きな間違いは、高いクロックレートの最速RAMが必要だと考えてしまう事です。

高いRAMクロック速度は、Linus Tech Tips(訳注:ハードウェア解説で有名なユーチューバー)で解説されていますがマーケティング上の戦略です。クロックレートを高くしても、トレーニング中の改善はごくわずかであるため、他の場所でお金を使うほうがよいでしょう。

実際に重要なのは、RAM上のメモリの量です。GPUメモリと同じくらいのRAMを確保するように努める必要があります。私は2666Mhzのクロック速度と32GBのRAMを備えたcorsairブランドのメモリを選択しました。Warmachine完成の暁には、128GBの最大RAMを搭載する予定です。

マザーボード

マザーボードを選択するときは、必要なGPUの数に十分なPCIeスロットがあることを確認してください。また、PCIeスロットにGPUを収めるのに十分なスペースがあることを確認してください。

通常、GPUはPCIeスロットを2つ占有します。また、マザーボードがCPUおよびRAMと互換性があることを確認してください。WarmachineにはASUS WS X299SAGEが搭載されています。このマザーボードは4つのGPUをサポートしています。オンボードWi-Fiが搭載されていればなぁ、と思うのですが、LANケーブルを使用して接続すれば良いので、それほど大したことではありません。

ハードドライブ

データの読み込み速度を最適化する場合は、ソリッドステートドライブ(SSD:Solid-State Drives)のような高速なストレージが必要になります。

SSDは標準のハードドライブよりも高価であるため、OS用に小型のSSDを購入してから、データとモデルを長期間保存するための2番目のドライブとしてハードディスクドライブを購入すると便利です。トレーニング時に、対象のデータをSSDに転送して、データの読み込み速度を上げることができます。

Warmachineには、オペレーティングシステム用に1TBのストレージスペースを備えたNVME Samsung 970Evoが装備されています。2台目のドライブには、8TBのストレージを備えたSeagate Exos Enterpriseハードディスクが搭載されています。

電源ユニット

電源ユニット(PSU:Power Supply Unit)は、システム全体を処理するのに十分なワット数を満たす事が必要になります。経験則として、CPUとGPUに必要なワット数を取得してから、110%を掛けると良いです。

また、PSUにシステムに十分なPCIeコネクタがあることを確認してください。Warmachineには、rosewill社の1600ワットのPSUが装備されています。現時点のセットアップ状況ではこの規模の電源は必要ではありませんが、完了したらこれだけ必要になるので、将来を見据えてこれを購入しました。

CPUクーラー

貴方は確かにCPUクーラーが必要になります。ファンの騒音を減らすためには、水冷装置を使用してください。予算に余裕がある場合は、GPU用の水冷装置も検討しましょう。これにより非常に静かな消音システムになります。

GPUの空冷にコダワっており、複数GPUセットアップを計画している場合は、ブロワースタイル(外排気式)の冷却であることを確認してください。Warmachineには現在、CPUには水冷式クーラーであるcorsair H1 15i Proが装備されています。GPUは在庫として持っていた外排気式ファンを使っています。

ケース

ケースを選ぶときは、パーツが収まる限り、おそらく何でも選ぶことができます。私は非常に慎重なため、空気の流れが良いケースを入手することをお勧めします。Warmachine用にはcorsair社のAir 540ATXミッドタワーケースを使用しました。

十分な空気の流れがあり、かなりクールな外見です。Lambda社のLabsシリーズが採用しているのと同じケースなので、これを採用しない理由はありません。

各パーツを確実に組み合わせる

あなたの独自システムを構築するときは、pcpartpicker.comで事前確認してください。

このサイトにはパーツの互換性をチェックする機能があるため、自作PC用パーツを完全に台無しにしてしまう事はありません。

ただし、私の場合はパーツがケースに収まらないという警告が表示されました。実際には収まっているので、完全ではありませんが、パーツ選択の際の指針として使用してください。

クラウド利用 vs 自作ハードウェア

今、皆さんの多くは疑問に思っているかもしれません。

何故、私自身のマシンを作る必要があるのでしょうか?クラウドを利用するだけではいけませんか?

ええ、はい、クラウドを利用するだけでも可能です。

しかし、長期的なコスト削減など、独自マシンを構築することには利点があります。

独自のディープラーニング用システムを構築する価値がある3つの理由は次のとおりです。

(1)コストの削減
トレーニングにGPUを頻繁に使用している場合は、マシンを構築する事で、実際に長期的にコストを節約できます。V100をレンタルしている場合、それは1時間あたり約3ドル、または1か月あたり約2100ドルの費用になります。あなたはその価格であなた自身の機械を作ることができ、そして、それを永遠に所有できます!

(2)あなた自身のハードウェアは実際にはクラウドよりも高速です。
これは、クラウドが環境を仮想化している事が原因です。クラウドのインスタンスとGPU間の入出力は遅いという問題があります。Bizon-Techは、クラウドと独自ハードウェアシステムを比較する実験を行い、より安価な消費者向けハードウェアを採用可能な事を発見しました。)


上図では1080TiがV100のパフォーマンスに近い事がわかります。短いほど性能が良いです。

(3)独自システムを持つことは、それを使って他の事も実行出来るので生産性を高めるマシンとしても機能します。最大設定でゲームをプレイしたり、クールなビデオを作成したり、Chromeで10個以上のタブを開いたりするために使用できます!

ボーナスポイント
ボーナスポイントもあります。各モデルのトレーニングにいくらのお金を費やすかを心配する必要がない事が私は好きです。

トレーニング毎にお金を払わなければならないとき、お金がかかることを知っていたので、私はいつも実験するのを躊躇っていると感じました。自分のマシンを持っていることで、実験を続けることができるようになったので、クラウドを使用する場合よりも早くディープラーニングの技術を習得する事ができたと思います。

現在、Google ColabやKaggle kernelsなど、他にも無料のGPUを利用可能なオプションがありますが、トレーニングできる時間には制限があるため、私が開発したいモデルや取り組むべき問題に関する選択肢を絞めてしまいます。

そのため、ディープラーニングを始めるほとんどの人に独自マシンを使用する事を強くお勧めします。

訳注:このボーナスポイントが密かに大きい気がしてきています。貧乏性なのか慣れの問題なのか、無意識にクラウド利用を躊躇してしまう事って結構あるので、この無意識躊躇要因は極力なくしたいんですよね。

また、予算感の見積もりが難しいと言うのもクラウドの弱点と感じています。「何時間必要になるんですか?」と言われても「やってみないとわかりまへん」って話ですし、大ざっぱに計算して「1週間(168時間)です」と稟議をあげてみたとしても、一週間で収束しなかった場合は「1週間と\55,440円(V100は$3/h)を費やしましたが特に何の成果も得られませんでした。しかし、私は結構楽しかったです!」で押し切れるかどうかと言うと、必ずしも押し切れない危険性はあるので。

ただ自作は自作で完成までの手間と上手く動かせなかった時やハードウェア陳腐化のリスクは無視できないので使い分けがベターなんでしょうか。

結論

以上です。本稿は、独自の深層学習マシンを構築する方法に関する短いガイドです。

より詳細なガイドが必要な場合は、Tim Dettmers Guide(timdettmers.com)を確認することをお勧めします。Warmachineが完了すると、約$7,000ドルの費用がかかります。これは、$11,000ドルのLambda Labsの同等のマシンよりもさらに安価です。

私にとって、これは大幅なコスト削減であり、独自のマシンを構築する価値があります。

3.人工知能学習用にパソコンを自作する際に知っておくべき事(2020年版)関連リンク

1)towardsdatascience.com
Build Your Own Deep Learning Machine — What you need to know

2)bizon-tech.com
Prebuilt vs Building your own Deep Learning Machine vs GPU Cloud (AWS)

3)pcpartpicker.com
Warmachine

4)timdettmers.com
A Full Hardware Guide to Deep Learning

コメント

タイトルとURLをコピーしました