機械学習、ディープラーニングを行うにあたって、どうしてもGPUを使う必要が出てきました。
そもそも、私自身はパソコンの構造に関しては全くの素人です。
GPUってなに? メモリってなに?
など、全くの素人です。
しかし、機械学習やディープラーニングではどうしても計算量が多くなってしまうため、
教科書を読んでも、
「GPUがあったほうがよい」
という記載がほとんどです。
Google Colaboratoryで使用していましたが、
負荷のかかる解析を行うと、
「使用制限を超えたため、GPUが使用できません」
と、謎の制限でその後の検証もできなくなってしまいます。
この際、勉強もかねて自作PCをつくってみました。
自作PCを作ってよかったこと
1.思ったよりも簡単にできた
「自作PC」
というと、豆電球を点灯させる小学校の理科実験を思い出す人もいるのではないでしょうか。
「PCなんて配線が無限になりそうで自分には無理ゲー」
「アキバに部品買いにくり出す時間がない。」
自分もそう思っていました。
ところが、実際やってみると、導線づけもハンダづけも必要ありません。
自分の組み合わせたいパーツをネットで買って、組み合わせるだけです。
ほとんどがプラスドライバー1本なので、
作業工程で言えば、
「ニトリの家具を組み立る」
手間を繰り返すレベルでできます。
配線の接続場所は説明書を読む必要があるので、全て勘でやろうとするとハマります。
2.パソコン部品ごとの機能が少しわかるようになった
いままで、エンジニアの人と話して、
「CPU」, 「GPU」, 「メモリ」などが会話で出てきても右から左に聞き流していましたが、
「ここの部分の機能について言ってるんだな」
となんとなくわかるようになりました。
機械学習とディープラーニングでは計算速度がネックになってくるため、これらを理解できたのは大きいです。
また、作業するときに、
「PCのどの部分(GPUなど)を使って計算しているのか」
を意識するようになりました。
3.Ubuntu、Linuxについて全くわからなかったが、どういうものか経験できた
せっかくなので、自作PCにはWindowsではなく、Ubuntuという、もっとも使われているOSをインストールするようになりました。
いままで、サーバー用言語などにも無関心だったため、勉強するいい機会になりました。
4.GPUを常時使用できるようになった
これが目的だったため当然ですが、やはり快適です。
常時GPUを使用できるので、この環境で解析をすすめ、
「自分の解析でどこが時間がかかるのか」
「よりよいGPUでないとできない計算はどこなのか」
判断していけると思います。
PC自作について
1.教科書
参考にしたのは
教科書
パソコン自作の教科書-日経WinPC
です。
私の場合、材料がそろってから慌ててKindleで購入しましたが、
教科書を前もって読んでおいたほうが圧倒的によいです。
各パーツの説明もよく書かれており、
「どの部品をかったらよいか」
という選択に非常に役に立ちます。
前もっての準備をしたほうが圧倒的に有利です。
2.購入部品のリスト
各部品を買い集めるところからスタートしました。
選択肢が多すぎて、最後は勢いで決めて買ったものも多いです。
そのため、わかっている人から見ると、スペックにばらつきがあるかも知れません。
- CPU:Intel Core i9-10900F BX8070110900F
- GPU:GeForce RTX 3060 Ti VENTUS 2X 8G OCV1 LHR MSI PCI Express 4.0 グラフィックスボードMSI GeForce RTX 3060 Ti VENTUS 2X 8G OCV1 LHR
- マザーボード:ASUS Intel 第10世代・11世代CPU(LGA1200)対応 Z590 チップセット ATX マザーボード ROG STRIX Z590-F GAMING WIFI
- メモリ:TEAM DDR4 2666Mhz PC4-21300 16GBx2枚(32GBkit)デスクトップ用メモリ Elite Plus シリーズ
- PCケース:Thermaltake Versa H26 Black /w casefan ミドルタワー型PCケース [ブラックモデル] CS7070 CA-1J5-00M1WN-01
- 電源:Corsair CX650M 80PLUS BRONZE認定 PC電源ユニット PS628 CP-9020103-JP
- CPU冷却器:虎徹 Mark II
- SSD:INTEL 3D NAND技術を搭載 インテル®SSD660Pシリーズ SSDPEKNW010T8X1
- HDD:Seagate BarraCuda 3.5インチ 6TB 内蔵ハードディスク HDD ST6000DM003/FFP
です。
いろいろ選択肢がありすぎたのですが、まずひとつ作ってみようというところです。
購入時に驚いたこととして、
「1日1日ごとに価格が変わっていく」
ということです。
私はamazonや楽天、価格.comで調べて買っていましたが、
「明日買えばいっかな」
と思って翌日調べると1万円くらい価格が違うという事がありました。
また、GPUも品薄らしく、店舗によって値段が1万以上違うという事がざらにありました。
参考書で買いたい規格を決めておいて、一気に買ってしまうのも手かもしれません。
3.組み立て
マザーボード、CPU、冷却装置、メモリ、SSD、箱、GPU、電源、HDDの順で組み立てました。
参考書:パソコン自作の教科書-日経WinPCと、
こちらのページ
を参考にしました。
最終的には買った型についている説明書が一番正確なので、目を通すようにしましょう。
部品は一気に医局に注文したので別室へ運び込みます。
とりあえずパッケージを並べてみました
あけるとこんな感じになります。 中枢と言われるCPUがとても小さくてびっくりしました。
面積だけならビックリマンシール(古い・・)くらいですね。
参考書を見ながらひとつひとつ取り付けます。 向きに注意。
ケースに入れてGPUを付けたり、配線をしたりします。
ケースに入れた分、作業がやりづらくなってきます。
完成してふたを閉める前はこんな感じです。
かなりスカスカなんですね。 ファンがいっぱいついています。
スイッチいれるとLEDがついてファンが動き出します。
それらしい設定画面が出てきます。
とりあえずひと安心。 キーボードなどつながってない警告がでています。
上でも述べましたが、大事なのは、
「自分の買った型の説明書をよく読むことです」
自分は認識しないスロットにSSDを差し込んでおり、SSDを認識させるまでに何度もPCを開け閉めするハメになりました。
マザーボードを接続してから各パーツを取り替えるのはしんどいです。
なるべくやり直しは少なくなるようにしましょう。
じっくり考えたほうが良かった点
選ぶ時点の反省点もありましたが、現状大丈夫そうです。
「もうちょっとしっかり考えたほうが良かったな」
という点を書いておきます。
初心者ならではで、PCの知識のある人は
「そんなの間違えんなよ」
と思うかも知れませんが、実際間違えてました。。
1.マザーボードとCPUが対応しているか見てなかった
マザーボードとCPUが対応していないことがあります。気をつけましょう。
IntelのCPUが意外と安かったので、
「Intelで合わせればいいか」
というくらいの気持ちで買っていました。
CPUとの対応についてはまったくチェックせずに買いましたが、今回は対応していました。
運がよいとしか言いようがないです。
マザーボードから先に選んでいた時点で素人丸出しでした。
マザーボードは、CPUと周辺機能を決めてから、それを動かせるものを買いましょう。
2.CPUの型番の意味を理解してなかった Intel Core i9-10900F
「ディープラーニングではあまりCPU機能は重視しない」
という記事が多かったので、CPUの型番をあまり見ないで買いました。
意識していませんでしたが、性能比較で
「Core i数字」
のシリーズ名の数字(ここでは9)が高いものと
「Core i9-数字」
の世代名の数字(ここでは10900)の高いもの
がスペック高いというとこは見ていたのですが、
その後の記号
「Core i9-10900アルファベット」
のアルファベットのところ(ここではF、カテゴリーというらしい)
がグラフィックボード内容の有無を表している
ということを全く知らずに買いました。
私の買った「K」はグラフィックボード内蔵していないモデルのことであり、
くしくも今回はGPUを使う目的でGPUを一緒に買っていたのでよいのですが、
普通のPCを作ろうと知らずに買っていたら泣きをみるところでした。
3.PCケースは大きいほうが良い
オススメされていたケースをそのまま買ったので問題ありませんでしたが、
冷却装置が大きかったので、小さいケースをはじめから買ってしまっていたら泣きをみていたところでした。
運良く、今回の参考にした本とPCケースの構造が近いため、大いに参考にして組み立てられました。
4.電源の選び方
最初は電源もよくわからなかったので、推奨されているのを買おうとしました。
しかし、簡易的に消費電力が計算できるホームページがあり、まずは他のCPUやGPUの規格を決定し、それらを入力して電力のメドをたてました。
電力計算のページ ↓
https://outervision.com/power-supply-calculator
自分の場合は今回GPU1台使用できればいいと考えていましたので、650Wとしました。
5.GPUについて選び方
今回の最大の目的は
「自作PCを作って、GPU、CPU、メモリ、ハードディスク、SSDなどの役割を外見からも学習する」
でした。
そのため、
「ディープラーニングのコスパとして最良のGPUだったか」
という点はわかりません。
少し前に、GPUで検索していたところ、GeForce 2080 Tiという規格があり、これが一番コスパがいいかなと思っていました。
しかし、自作を決意した時点で、この規格は中古のみとなっており、一番予算と適合しているGeForce RTX 3060 Tiを買いました。
6.CPUについて - IntelとRyzen –
CPUについて、自分は今までWindowもMacもIntelのものでしたが、もう一つRyzenというものがあると知りました。
今回は「えいや!」で買い集めたので、Intel統一でうまく行った点もありますが、Ryzenも性能、コストで勝る点も多そうです。
今後さらに高スペックな解析をする時や、研究費があたった時などはRyzenも考えてみたいです。
いろいろな解析を行っていくにあたって、これがよいかはまた追記していきたいと思います。
おまけ 素人がPCを作ってみた気づき
1.PCの箱の中は意外とスカスカ
デスクトップパソコンの中って意識したことがなかったが、スカスカですね。
それだけ冷却機能に重きをおいているという事がわかりました。
2.CPUは小さい
すごく小さくてびっくりしました。
3.配線は中のマザーボードやGPU、電源とつながっている
PCの外の配線は箱自体につながってるものを思ってました。
実際の空箱に穴が空いていて、穴から中の各パーツに配線がいくのだと理解できました。
4.素人でも作成しやすい
繰り返しますが、これが一番ビックリしました。
部品を組み合わせるだけで作成できます。
もっと若いうちにやっとけばよかったと思います。