50万円未満で最高の機械学習ワークステーション

プログラミングや機械学習数年の経験を経ても、持っているGPUは小さくて、社外で勉強や開発できることが限られていることが多いため、自分のワークステーションを手に入れることに決めた。モデルをより速く学習させられ、スキルアップのペースもより速くなる。それに、フリーランスで働く方も、お客様はモデルを学習させる機会やAWSインスタンス等の提供、環境構築や設備維持する必要がなくなるし、アピールポイントになるかもしれない。 ただ、ワークステーションの良いものを購入しようと思ったら、専門店が販売しているGPU搭載パソコンは相当な金額になる。特にバッチの大きさを上げることや重いモデルを学習させるために、GPUが2台以上並列に走らせる必要がある。それに、GPU2台利用できると、同時にモデル2つを学習させるのも可能なので、パラメターの影響等がより簡単に理解できる。 より安くならないかと自分でパーツを買って、マシンを組み立てみた。ただ、最高のパソコンを作るためには、注意点がいくつかあるが、ハードウェアについての勉強にもなるし、お好みのパーツも選べる。一石三鳥。いろいろ調べて、注意点を以下列挙する: 1. 加熱 これは最も注意すべきことかもしれない。重い学習を動かすと、GPUが激しく熱くなる。決定されている温度を超えるとスロットリングしてしまって、学習が遅くなるし、ハードの寿命も損なう可能性がある。加熱を防ぐには、もちろん冷却が大事なのだが、GPUの種類も大変影響を与える。Nvidia RTXやGTXの場合は、2種類がある:「blower」(ブローワー)と「non-blower」(ノン・ブローワー)。 non-blowerのほうが普通なのだが、熱気がそのままケースの中に流れるので、GPUが2枚入っていると、下のGPUから上がる熱気が上のGPUを温めてしまう。参考にした記事には、GPUを4枚入れるケースに、2枚だけ入れたら問題がないと書いてあったが、試したところスロットリングしてしまっていた。 blowerのほうが珍しいが、熱気を直接拡張スロットからケースの外に放出するので、加熱はあまりしなさそう。ただ、blowerは音量が高くて、やはり他人に迷惑をかけそうで使いづらい。 余裕があれば、ハイブリッドGPUや水冷GPUにする手もある。 2. 拡張スロットやマザーボードのPCIスロット 多くのGPU、特に計算力が高いGPUが、1枚に拡張スロットが2つ必要。それは2~3枚載せるつもりであれば問題ないが、多くのケースにはスロットが7つしかないので、4枚使うのであれば、スロットが8つあるケースを購入する必要がある。それに、マザーボードPCIスロット数とスロットとスロットの距離を確認しなければならない。 3. PCIeレーン数 PCIeレーンは、PCIスロットとは違う。マザーボードは決定されている数があって、GPUも必要なPCIeレーンが決まっている。ゲームの場合は、総合的に必要なレーン数が足りないと動かないが、機械学習の場合は、メーカーが指定したレーン数より少なくてすむ。ただ、マザーボードによって、レーンの割り当てが変わるので、設定には気をつけなければならない。特に、速度が高いNVMe M.2というドライブもPCIeレーンが必要なので、使う場合は足りないと割り当てが上手くいかない可能性がある。 4. 電力 もっとも電力を使うパーツはGPUなのだが、一応余裕があったほうがいい。余裕を決める方法は決まっていないが、余裕がないと、重い学習を動かすと電源が落ちる可能性がある。 他には、コアの数、メモリとドライブの選択があるが、それはやりたいことに合わせていいかもしれない。それはGPUではなく、学習時点CPUにデータオーグメンテーションのような重い計算をさせるのと、初期ではなくバッチ毎データを読み込む場合注意点になる。将来的にアップグレードする可能性があれば、それぞれのスロットやレーンの数や電源等の余裕があったほうがいい。 私が選択したパーツは以下となる: パーツ モデル 値段(当時・税込み) GPU RTX 2080 Ti 266,552(2枚) CPU Intel i9 9820X 65,990 マザーボード X299TAICHI 27,280 水冷CPUクーラー Corsair H115i PRO RGB 17,293 メモリー Corsair 16GB DDR4 2666MHz 34,980(4枚) NVMe M.2 SSD Silicon Power