AI(人工知能)ニュース

Deep Learning(機械学習)に必要なPCのスペックってどれくらい?

Deep Learning(機械学習)に必要なPCのスペックってどれくらい?

最近はDeep Learningが様々な場所で利用されるようになり、本屋などでもDeep Learningに関する本をよく見るようになりました。しかし、Deep Learningの学習方法についての情報は多くても、いざ学んだことを実践する!ということで実装しようとしたとき、PCにどれくらいのスペックが必要なのか気になりますよね。

実はDeep Learningでは、とても高いスペックが必要なものからそこまでのスペックを必要としないものまで幅広くあります。Deep Learningを実装してみたいけれども自分のPCでスペックが足りるのか、新しくDeep Learning用のPCを買おうと考えているけれどもどれくらいのPCを買えばいいのか分からないという人も多いかもしれません。今回の記事を読めば、Deep LearningにPCのスペックがどのように関わってくるのか、そのスペックによって何が変わるのかわかるに違いありません。

そこで今回は、Deep Learningを実装するときのPCのスペックについて解説していきます。

GPUは学習時間に影響する

学習時間のイメージ

GPUは普通に売っているPCでは搭載されていない場合も多く、必要性が分からないという方も多いですよね。たしかにGPUはなくても、PCは動きます。そして価格も他の部品と比べて高くなりがちなので、できれば買いたくない方も多いです。

GPUとは「Graphics(映像) Processing(処理) Unit(装置)」の意味で画面に映像を出力するための部品です。本来は映像を表示するための部品ですが、同時にたくさんの計算をすることができる部品なので計算に使われることも多いです。

このため、もしもオフィスやウェブブラウザーを使うだけであれば、GPU無しのPCであっても問題なく使えます。しかしDeep LearningにPCを使っていきたいのであれば、GPUは必要不可欠な、最重要な部品の一つになります。

なぜならば、GPU無しの場合と比較してGPUを搭載することで、学習にかかる時間が10分の1ほどになります。このようにGPUを変えることによって、他の部品と比べて大幅に学習速度を変えることができるからでます。

また、GPUを選ぶときにはできるだけ最新のモデルを選ぶようにしましょう。最近のGPUの性能の向上は素晴らしく、一個前の世代の最上位のGPUよりも最新の一番下~中くらいに位置するモデルの方が高い性能を持っていることも多いです。また、最新モデルの中でもGPUの性能は学習の速度に大きく影響するために、できるだけ上位のモデルを選ぶようにしましょう。

後ほど解説しますが、GPUは複数搭載することでさらに学習時間を短縮することができます。その時には同じモデルのGPUを2つ搭載するようにしましょう。そのため、最新のモデルではできればGeForce RTX 2080 Tiを少なくともRTX2060くらいのGPUは用意したいです。

GPUメモリは学習できるネットワークのサイズに影響する

ネットワークサイズのイメージ

GPUにはメインのメモリとは別に、GPU専用のメモリが搭載されています。これが何にかかわってくるかというと、学習するネットワークのサイズに影響します。ネットワークのサイズとは何かと聞かれると少し難しい話になりますが、簡単に説明するとDeep Learningの学習の複雑さのことです。

ここで注意しなくてはいけないのは、他のスペックの不足は学習速度に影響しますが、GPUメモリの不足は学習を行うことができ出来なくなってしまうということです。つまりメモリが少しでも足りなくなってしまうとえば、どんなに時間をかけても学習を行うことはできません。

そのように聞くとGPUメモリを一番重要視すれば良いのではないか、と考えてしまいますよね。しかしメモリをいくら多くしても、実際には学習はGPUにて行われているので学習速度が速くなることはありません。つまり学習するネットワークのサイズと比較して大きくしすぎてしまうと余分なGPUメモリ容量は使われることなく無駄になってしまいます。

しかしGPUメモリに関してはミニバッチサイズ(同時に学習を行うデータのサイズ)を小さく分けることで、メモリの消費量を減らすこともできるのです。

CPUはGPUの性能と前処理に影響する

前処理のイメージ

CPUとはCentral(中央) processing(処理) unit(装置)の意味でPCについている様々な部品に指令を出すことでひとつの機械として動作するようにするための部品です。この部品がなければPCは全く動くことができず、電源を入れることもできません。

最近のDeep LearningではPCの中のCPUではなくGPUを使って学習することが多く、CPUはあまり重要ではないと考えられがちですよね。しかし、CPUは二つの点でDeep Learningに影響します。

一つ目はCPUの世代によって、GPUの性能に影響するということです。どういうことかというと古い世代のCPUでは最新のGPUの性能を最大まで引き出すことはできず、同じGPUを使っていても倍近い性能差が出てしまうこともあります。このため、CPUはできるだけ最新の物を使うようにしましょう。

もう一つはCPUで前処理を行う場合です。機械学習の学習は学習用のデータをもとにたくさんの計算を必要とするので、計算が得意なGPUにおいて学習をすることがほとんどです。

しかし、学習を正しく行うため、GPUで学習を行う前に学習用のデータを編集することが多くあります。そういった学習以外の処理はCPUを使って行うことが多いのでGPUの計算が早くてもCPUが遅いとCPUの処理が終わらないと次の学習ができないので結果遅くなってしまいます。

この前処理は並列化(同時に複数の処理を行う事)ができないことが多いので、シングルスレッド性能が重要になります。つまりコア数よりも周波数を重視しましょう。

また、GPUと比べて優先順位は下がりますが、これらのことからDeep Learning用のPCでは最新モデルのCPUで少なくともi5、できればi7の周波数の大きいCPUを選びましょう。

メモリ容量は学習できるデータのサイズに影響する

データのサイズのイメージ

Deep Learningを使って学習を行う時には学習用のデータをメモリ上に展開し、学習を行なっていきます。なので基本的には学習に使うデータの容量以上のメモリ容量が必要です。

メインメモリもGPUメモリと同じで不足するとそもそも学習を行うことができません。となると、より大きなデータを学習させようと思った時に大きなメモリが必要となりますよね。

お金に余裕があればメモリは大きくした方がいいですが、自分がどれくらい必要とするかを考えて買うことをおすすめします。具体的にはメモリはOS自体も使うため学習に使うデータサイズの2倍以上のメモリを搭載しましょう。

HDDかSSDかは学習にはあまり影響しない

影響がないイメージ

一般的なPCではHDDというデータを保存しておくための部品をSSDというものに交換することで高速化することができます。HDDはCDのようにディスクを回してデータを読み書きしますが、SSDではSDカードなどのようにディスクを回さなくていいのでデータの読み書きがとても早いという特徴があります。

しかし、Deep Learning用のPCにおいてはSSDを用いる事による学習の高速化はあまり期待できません。なぜかというと、SSDへの書き込みや読み込み以上にGPUなどの計算に時間がかかってしまうからです。このため、いくら書き込みや読み込みを早くしても計算の速さは変わらないので学習速度に影響しません。

なのでDeep LearningをPCで行う上では、SSDの優先度は高くありません。しかし、SSDにすることで起動などの通常の利用は高速化することができるので、Deep Learning以外にもPCを使うつもりであればSSDを搭載すると快適になります。

容量は扱うデータにもよりますが、500GB〜1TBほど必要になります。扱いたいデータが大きければ、さらに大きな容量のHDDを用意する必要があります。なのでHDDは自分の扱うデータのサイズの少なくとも3~4倍の容量のHDDを選ぶことをおすすめします。余裕があれば、HDDとSSDの両方を搭載することで起動をSSDで、データをHDDでと使い分けることでさらに快適になります。

PCのスペックまとめ

さて、今回はCPU、メモリ、GPU、GPUメモリ、ストレージについてそれぞれDeep Learning用のPCにどのように関わってくるのか、どれくらいのスペックが必要なのかについて解説をしました。

確かに、Deep Learning用のPCにスペックが一番高いものを選べば確実に問題なく使えるかもしれませんが、必要ないところまでスペックを高くしてしまうと、無駄になってしまうことも多いです。このため、自分がどのようなデータでDeep Learningを行うのかを考えて必要なメインメモリを決め、そこから先はGPU、CPU(i5以上)、GPUメモリ、HDD又はSSDという優先順位でパーツを選ぶと無駄なくDeep Learning用のPCを用意できるはずです。

古い世代のパーツは見た目のスペックの割に安いことが多いですが、PCの部品、特にGPUは世代による差が大きいので、できるだけ新しいモデルのパーツを使うようにしましょう。必要なポイントを押さえて必要なスペックを高く、不要なスペックは妥協することで賢くDeep Learning用のPCを用意できますよね!

参考サイト

コメントをどうぞ

トップへ戻る
タイトルとURLをコピーしました