Re:ゼロから始めるAI生活 ~ディープラーニングに必要な環境スペック編~

AI
スポンサーリンク

どうも、タナシンです(・∀・)ノ

今回は以前ちょっと紹介したAI概要編記事の続き物?です。
実際にAIを開発する環境の構築についてお話していこうと思います!
ちなみに、前回の記事はこちら

今回は環境構築の中でもハードウェアのスペックについて、説明をしていこうと思います。
特に、最近流行りのディープラーニングを行うために必要な環境について記述していきます!

AI開発・ディープラーニングに必要な環境とは

AI開発に必要な環境は、AIのモデルを作るための機械学習環境と、作ったモデルを動作させる実行環境の2つに分かれます。
ですが、基本的に機械学習環境の方が求められるマシンスペックが高いので、機械学習環境を準備できれば実行もできると思っていただいて大丈夫です。

ですので、この記事では機械学習環境の構築についてお話していきます。

機械学習に必要なPCについて

機械学習に必要な環境は、ざっくり言ってしまうと「とてもスペックの良いPC」です。
それだけです。マジで。
ただ、どんなPCだったら良いのか?というのは、はじめは 意外とわからないものだと思います。
ここでは、簡単にどんなPCであればよいかお話したいと思います。

まず、PCにおいてスペックを気にしなければならない部品は以下です。

  • CPU
  • メモリ
  • GPU

CPUとメモリについては一般的ですので馴染み深いかと思います。
ですが、GPUだけは人によっては聞いたことがないかもしれません。
GPUというのは、Graphics Processing Unitの略です。
この名の通り、グラフィックに関する部品です。
一般的なPCでは、画面に映像を出力するために動作する部分です。
また、最近のPCにはCPUにGPUが搭載されているため、GPU単体を部品として用意しなくても画面出力することができます。
では、わざわざGPUを用意しなければならない場合というのはどういうときかといいますと、大まかに以下の3パターンがあります。

  • 3Dゲームをプレイする場合
  • 3D設計やデザインをする場合
  • 機械学習を行う場合

そもそもGPUは上記のうちの上2つで利用するために作られたものです。
3Dゲームの場合、非常に高解像度のグラフィック表示を高速処理しなければなりません。
また、設計やデザインでは非常に鮮明な絵を編集しなければなりません。
これらの処理はCPUに備え付けられたGPUでは処理速度が追いつかないため、より高速処理できるようにCPU以外のGPUを用意する必要があります。

では、なぜ機械学習でGPUを使うのかというと、これはGPUの得意な処理が機械学習に向いているものだからです。
GPUは高速に画像を処理するため、複数の計算を並列して行うということが得意です。
機械学習では、学習の過程でたくさんの教師データを元に、非常に多くの学習を行います。
これをCPUでやると、計算を一つずつしかできないため、処理にとてつもない時間がかかってしまいます。
しかしGPUで行うと、処理を並列計で行ってくれるため、CPUでやった場合より圧倒的に早く処理することができます。

機械学習に必要なPC部品のスペックについて

前述したPCでスペックを気にしなければならないCPU、メモリ、GPUについて、どの程度のスペックが必要かについてお話します。
おそらく、実際に自分で機械学習環境を準備しようと思ったら、ここが最も気になるところかと思います。

先に結論を言ってしまうと、必要なスペックは対象とするデータとその量、及び実行したい学習方法によって変わります
なので、これが最適というのを一概に言うのは難しいです。
ディープラーニングだけでも、画像認識をするのか、音声認識をするのか、自然言語処理をするのかなどによって、ちょっと変わる部分がありますので、ここでは基本的な考え方についてのみ、お伝えします。

CPUのスペックについて

まず、CPUのスペックについてです。
ぶっちゃけてしまうと、CPUのスペックはあまり高くなくても大丈夫です。
なぜなら、ディープラーニングは主にGPUを使って学習を進めていくからです。
なので、GPUさえしっかり選んであげれば、CPUはあまり身構える必要はありません

とはいえ、学習用データを準備するための前処理などでCPUを利用するので、良いに越したことはありません。
最低でも、Intel Core i5くらいのスペックを用意することをおすすめします。

[商品価格に関しましては、リンクが作成された時点と現時点で情報が変更されている場合がございます。]

(CPU)Core i5 8400 (JAN 0735858350488)
価格:26850円(税込、送料無料) (2019/4/14時点)


メモリの容量について

メモリはGPUの次に大事な部品です。
なぜなら、メモリのサイズで学習に利用できるデータの量が変わるからです。

機械学習の際、学習自体はGPUで行われますが、教師データは一旦メモリ上に展開されます。
ですので、どんなにたくさん教師用データを準備したとしても、メモリ容量が十分でない場合、データがメモリに載り切らないということになります。
その場合、載せられるだけのデータで学習させるしかないため、せっかく用意したデータが無駄になってしまいます。
また、ディープラーニングは教師データが多ければ多いほど学習精度が高くなるため、データをたくさん載せられるように大容量のメモリを準備しておくことは非常に重要です。

では、どれくらいのメモリが必要かというお話ですが、簡単なデモプログラムを動かしてみたいとかちょっとした検証をしたいというレベルでしたら16GBくらいのメモリで良いです。
ただ、16GBはかなりギリギリだと思います。
画像処理などをある程度解像度の高い画像で行いたいという場合は、最低でも32GB用意することをおすすめします。
お金の余裕があれば、64GBにしてしまうのが良いです。

ちなみに、メモリには同じ規格でもメモリ周波数が違うものがあります。
メモリ周波数は、大きければ大きいほどメモリが一度に送れる情報量が大きくなります。
ですので、メモリ周波数を大きくすることで、GPUとのデータの受け渡しが早くなり、若干学習が早くなる(かも)しれません。
ですが、メモリ周波数に関しては、マザーボードが対応しているかなども気にしなくてはならないため、あまりスペックを求めすぎなくて良いです。

GPUのスペックについて

GPUやディープラーニングにとって最も重要な要素です。
近年のディープラーニングブームはGPUのおかげで始まったと言っても過言ではありません。

GPUはいくつかの会社から販売させていますが、選択できるのはNVIDIAのGPUのみです。
ゲーム用途の場合、他の会社のGPUでも良いのでしが、ディープラーニングの場合はプログラミングで使用するフレームワークがNVIDIA製のGPUしかサポートしていないため、実質一択です。

NVIDIAのGPUもいろいろ種類があります。
機械学習に特化したTeslaシリーズ、3Dゲームに特化したGeForceシリーズ、3Dデザイン用に特化したQuadroシリーズなどなどです。

これだけ見ると、Teslaシリーズが必要なように見えますが、あせらないでください。
Teslaシリーズは研究開発用のGPUであるため、何十万円とか何百万円もする品物です。
個人がディープラーニングを試すために購入するにはハードルが高すぎます。

ですが、安心してください。
個人でディープラーニングを試す程度であれば、ゲーム用として一般流通しているGeForceシリーズで十分です。
もちろん、企業の研究開発に利用しようと思ったら非力です。
ですが、個人用途なら全然問題ないです。

ですが、このGeForceシリーズも今は種類が多くなってしまい、何を選べば良いか分かりづらくなっていると思います。
なので、ここでは何に着目して選べばよいかをお伝えします。

最優先事項はGPUメモリ容量です。
PCに搭載するメモリとは別に、GPU自体にもメモリが搭載されています。
ディープラーニングにおいては、このGPUメモリが大きければ大きいほどよいです。
というのも、これは学習の仕組みに依ります。
GPUはメインメモリに展開されたN個の教師データのうち、一部(n個)をランダムに抜き取って学習します。
この作業を繰り返し行うことで学習精度を上げていきます。
この時、GPUが抜き取れるn個の限界数が、GPUメモリの容量に依存します。
ですので、一度の学習である程度の教師データを使いたいという場合は、それなりの容量のGPUメモリを積んだGPUを利用する必要があります。

そのため、GPUメモリは多ければ多いほどよいです。
ですが、GPUメモリは多くなればなるほど、価格が高くなります。
現在はGTX1080TiやRTX2080TiというGPUが、ゲーム用GPUとして最もメモリを積んでいて、11GBあります。
ですが、いずれも10万円以上します。

ですが、実際に個人でディープラーニングを行う場合は、メモリは6GBくらいあればいけます。
多くても8GBあればよいかと思います。
ですので、GeForceシリーズであれば、6GBを搭載しているGTX1060、GTX1660、RTX2060あたりで良いです。
ただ、GTX1660はGTX1060の後継機であるにもかかわらず、値段がほぼ同じなので、GTX1060よりGTX1660をおすすめします。
もう少しお金が出せるようであれば、8GBを搭載しているRTX2070が良いです。
費用感はだいたい以下のようになっています。

  • GTX1660 3万円
  • RTX2060 4万円
  • RTX2070 6万円
  • GTX1080Ti 10万円以上
  • RTX2080Ti 15万円以上

コスパという観点で見ると、GTX1660かRTX2070が良いです。
特に、PCゲームをやる方でしたら、RTX2070はゲーム用途でも優秀なスペックですのでおすすめです。

まとめ

いかがでしたでしょうか?

今回はAIの機械学習、特にディープラーニングに焦点を当てた環境について、必要なPCスペックのお話をさせていただきました。

本当は実際に環境を構築するところのお話もしようと思ったのですが、この記事の3倍くらいになりそうだったので、分けることにしました。
今後、クラウド上で機械学習を試す方法や、ローカルマシンで機械学習を試す方法についても記事を書いていきますので、興味のある方は見ていただければと思います。

また、この記事は2019年4月現在の情報になりますので、時期が経てば情報は劣化します。
あしからず。

もし、気になる点、間違っている箇所等ありましたら、コメントで教えていただけますと幸いです。

ここまでの内容ですと、まだディープラーニングの実装に至っていないので、あまり参考にならないかもしれませんが、少しでも皆様の何かにお役立てていただければと思います。

それでは、今回はこのへんで!
では、また次回(* ̄▽ ̄)ノ~~ マタネー♪

コメント

  1. […] Re:ゼロから始めるAI生活 ~ディープラーニングに必要な環境スペック編~今回は以前ちょっと紹介したAI概要編記事の続き物?です。実際にAIを開発する環境の構築についてお話してい […]