【2021】Windows PCでディープラーニング環境構築に必要なものは?

  • このエントリーをはてなブックマークに追加
windowsのディープラーニングPC

人工知能開発の最先端を行くディープラーニングの技術は、ハードウェアの性能が向上し、多くのフレームワークが普及した今日において、一般的なPCでも実施できるようになりつつあります。AIに興味を持った人であれば一度は試したいと考えるディープラーニングですが、実施の際にはどのようなマシンや環境が求められるのでしょうか?

今回はビジネスユーザーの間で最も普及している、Windows OSを使ってディープラーニングを行うケースを念頭に、環境構築の実施プロセスについて紹介します。

ディープラーニングとWindowsの相性は?

ディープラーニングとWindowsの相性

ディープラーニングは、ニューラルネットワークと呼ばれる仕組みを活用して、大量のデータをコンピュータに計算させるAI開発手法の一種です。コンピュータのマシンスペックをフル活用する必要のある人工知能開発ですが、気になるのがOSとの相性です。

専門性の高いソフトウェアを扱う際、サービスによってはMacのみ、あるいはWindowsのみというケースも珍しくなく、その場合は新たにOSを用意する必要があります。肝心のディープラーニングについてですが、結論からお伝えすると、こちらはOSに開発パフォーマンスの良し悪しが依存する心配はなく、Windowsユーザーでも問題なく運用が可能です。

環境構築に伴うソフトのインストールの際、OSの指定を間違えないようにする必要がありますが、MacとWindowsの両方に対応しているものなので、ディープラーニングがWindowsでは不可能という心配はありません。

ただ、マシンスペックにも最低動作条件がないというわけではなく、むしろOS以外の部分である程度の要件が求められることになります。詳しいことは後述するので、スペックに不安のある方はよく確認しておきましょう。

ディープラーニング対応のマシンを用意する方法

ディープラーニング対応のマシンを用意する方法

ディープラーニング向けのマシンを構築する際、選択肢としてはオンプレミスで実体のあるマシンを構築する方法と、クラウド経由で仮想マシンを用意し、インターネット経由でマシンを利用するという2つの方法があります。オンプレミスとクラウドの違いについて確認しておきましょう。

オンプレミス

まずオンプレミスでのディープラーニングマシンの構築は、開発者が自らすべてマシンを用意するタイプの構築方法です。ハードウェアから開発のためのソフトウェアインストールに至るまで、一から好きなようにセットアップする手法です。

オンプレミスでディープラーニング環境を整えるメリットとしては、一から自分の好きなようにセットアップができるため、柔軟性の高い開発環境を用意できる点です。コスト面からスペック面まで、必要に応じた環境へと仕上げられるので、ディープラーニング運用へ高度に最適化できます。

ただ、オンプレミスの場合は専門性の高いノウハウが求められることはもちろん、ハードを用意するための予算なども十分に用意しなければなりません。そのため、潤沢な予算がない、時間やスキルが限定的であるという場合には、この後に紹介するクラウドサービスの部分的な運用もおすすめです。

クラウド

近年多くの企業や個人ユーザーに利用されているのが、クラウド型のディープラーニング環境の整備です。

クラウドサービスはインターネット経由で利用でき、ライセンス料金を支払えば好きなだけリソースや理想のセットアップを追求できるのが特徴です。最近ではディープラーニングなどのAI開発に特化した環境をクラウドで提供してくれるサービスも登場しており、有名な例としてはAWSの仮想環境などが挙げられます。

クラウドサービスを利用することで、大規模なデータセットの取り込みやデータの管理、アルゴリズムのトレーニングなどをシームレスに実行できるだけでなく、環境構築に必要な負担も軽減できるため、リソースが不足している際には活用したいサービスです。

コストパフォーマンスにも優れているため、個人での運用にも適しています。また、クラウドGPUのように、一部のリソースだけクラウド経由で補填するという使い方も可能なので、ニーズに応じた運用方法を検討しましょう。

ディープラーニング環境に必要なもの

ディープラーニング環境に必要なもの

次に、実際にディープラーニング環境を自前で整備する場合、どのようなものが必要なのかについて紹介します。ディープラーニングは高度な演算処理が求められるため、ソフトウェア・ミドルウェア・ハードウェアのそれぞれで要件を確認しておく必要があります。

また、AI開発に関する技術のアップデートはダイナミックで、少し前に機械学習環境を整備していたものを流用しようとすると、ディープラーニングでは通用しない場合があります。すでにAI開発を経験したことがある方も、一度次の項目を確認しておくことをおすすめします。

  • 64bitのOS
  • NVIDIA製GPU
  • Tensor Flow
  • Visual Studio
  • CUDA

64bitのOS

まず欠かせないのが、64bitのOSです。先ほどWindows OSであれば問題なくディープラーニングは実装可能だと紹介しましたが、bit数については64bitであることが最低条件です。

32bitのOSを使用していると、後ほど紹介するTensor Flowと呼ばれるライブラリが動作しないため、ディープラーニングの運用が極めて困難になってしまいます。手持ちのPCが64bitに対応しているかどうかを確認し、32bitの場合には64bitへの更新を行っておきましょう。

NVIDIA製GPU

続いては、NVIDIA製のGPUです。GPUには多様なラインナップが存在し、NVIDIAの他にもAMDのようなメーカーから数々のラインナップが登場しています。しかし、それでもNVIDIA製品を推奨するのは、いくつかのAIフレームワークはNVIDIA製のGPUに特化した設計になっているためです。

後ほど紹介しますが、たとえばCUDAと呼ばれるプログラミングインターフェースは、NVIDIAが開発・提供しているため、必然的にNVIDIA製GPUへの対応に特化しています。近年のAI市場の高まりにより、最近はAMD製のGPUであるRadeonシリーズでもCUDAの運用は可能になってきてはいますが、特別AMDのGPUにこだわりがないという場合には、NVIDIA製のGPUを導入することをおすすめします。

Tensor Flow

先ほども少し紹介したTensor Flowは、Googleが研究用に開発、および一般提供しているオープンソースの機械学習ライブラリです。AI開発に必要なモデル開発やトレーニングに役立つTensor Flowの利便性は、ディープラーニングにおいても健在であるため、積極的な活用が求められます。

Tensor Flowは使用言語を問わないだけでなく、クラウドやブラウザ、そしてもちろんオンプレミスでも動作するので、使い方を覚えておいて損はないサービスです。

Visual Studio

Visual Studioは、Microsoftが開発・提供している統合開発環境(IDE)です。Microsoft製ということでWindowsとの相性も良く、無料でも利用できるため、ディープラーニング開発の際も重宝する存在です。

Visual Studio公式サイトへ遷移し、Community版をひとまずインストールしておきましょう。

CUDA

CUDAは、NVIDIAが手がけ、提供しているGPU向けの汎用並列コンピューティングプラットフォームです。CUDAを用意することで、CPUよりも演算処理能力の高いGPUで計算ができるようになります。

GPUがディープラーニングに最適とされるのは、ディープラーニングの際に発生する行列計算(テンソル計算)と、GPUの持つ並列処理能力が極めて相性が良いとされているためです。

グラフィック処理も多くの演算処理が発生するタスクで、GPUはそんな演算タスクに最適化されたユニットです。そのため、CUDAの実装によってディープラーニングに応用できるようにすることで、研究開発の効率を飛躍的に高めることができます。

ディープラーニングに必要なマシンスペック

ディープラーニングに必要なマシンスペック

これまでお伝えしたように、ディープラーニングの運用を効果的に行うためには必須ソフトやハードウェアを用意する必要があります。続いては、マシンスペックに求められる最低要件について確認しておきましょう。注目するのは、「OS」と「GPU」です。

最新のWindows OS

まず、Windows OSはディープラーニング環境の構築を始める前に、最新の状態にアップデートしておきましょう。古いOSでも実行は可能ですが、OSのアップデートによって運用するソフトなどのバージョンアップも行われているため、旧OSではそれらと互換性の問題などで正しく動作しない可能性があります。

予測できないトラブルなどを避けるためにも、まずOSを最新の状態にしておくことは最低条件となります。

運用負荷に応じたGPU

2つ目に、優れたGPUの実装です。ディープラーニングは大きな負荷をコンピュータにかけるため、できる限りハイスペックなGPUを用意しておく必要があります。

どれくらいのGPUを用意するべきかについては、どんな目的のディープラーニングを行うかにもよります。個人的な実験のために行うのであれば、わざわざ高級なGPUを用意する必要はありませんが、ビジネス向けのAI開発であれば、家庭用のGPUスペック不足となってしまうため、GPUサーバーの実装などが必要になります。

予算が許すだけのGPUを導入し、ディープラーニングを行うようにすることが大切です。

Windowsでディープラーニングを実行するためのステップ

Windowsでディープラーニングを実行するためのステップ

続いて、実際にWindowsを使ってディープラーニングを行う際に必要な手順について、一つずつ解説していきます。基本的にディープラーニングの環境を整えるだけであれば技術的なスキルは求められないため、マニュアルどおりにしたがって行うことが重要です。

Anacondaをインストールする

まずは、Anacondaをインストールしましょう。AnacondaはPythonを運用するのに活躍する環境がパッケージになって提供されており、効率的なPythonの運用環境構築には欠かせません。

Anaconda公式サイトへアクセスすると、最新のパッケージをワンクリックでダウンロードできる仕組みになっているため、こちらを入手しましょう。念のため、インストールするものが64bit対応のものかどうか、表示を確認しておくと安心です。

Visual Studio Communityをインストールする

続いて、Visual Studio Communityをインストールします。Visual Studio Communityをインストールする場合には、C++の開発オプションと、Pythonの開発オプションをオンにした上で行います。これらの選択状況の確認を怠らないことが大切です。

Visual Studio Codeをインストールする

エディタ機能を持つVisual Studio Codeも併せてインストールしておきましょう。Windowsに最適化されたインターフェースで、業務効率を最大限に高められます

CUDA Toolkitをインストールする

CUDA Toolkitは、GPUをディープラーニング向けに運用する上で欠かせません。GPUのドライババージョンを確認し、自身のGPUに適したドライバをインストールしましょう。オペレーティングシステムはLinuxとWindowsの2つから選べるので、間違えないようにしましょう。

cuDNNをインストールする

cuDNNは、NVIDIAが提供するニューラルネットワーク運用に不可欠な開発用ライブラリです。CUDAと共にインストールしておきましょう。

Anacondaから仮想環境を構築する

ソフトのインストール後は、仮想環境の構築を進めていきます。Anacondaを起動し、プロンプトを開いて以下のコードを入力します。

conda create -n name python=3.6

nameの部分には仮想環境の名前を設定し、3.6の部分には他にも3.7など、使用したいpythonのバージョンを指定します。その後以下のコードを入力し、環境をアクティベートします。

activate name

これで環境構築は完了です。

ライブラリをインストールする

最後に、使用するライブラリをインストールします。以下のどちらかのコードを入力して、インストールしましょう。

pip install lib

もしくは

conda install lib

libにはライブラリの名前を入力してください。これでインストールは完了です。

より効果的にディープラーニングを実施するためのポイント

より効果的にディープラーニングを実施するためのポイント

最後に、効果的なディープラーニング活用をさらに進めるためのポイントについて、2つ紹介します。

大量のデータを確保する

1つ目は、とにかく大量のデータを用意することです。ディープラーニングを活用することで、教師なし学習による高度な学習能力を確保することができる反面、参考となるデータ量が少なければ、その恩恵を生かすことができません。

ディープラーニング環境の用意も大切ですが、それよりもデータ収集に多くのリソースを投入することが大切です。

クラウドGPUを導入する

GPUリソースに物足りなさを覚えている場合には、クラウドGPUを活用しましょう。クラウドGPUはいつでもGPU確保を自由に行えるだけでなく、値段もリーズナブルであるため、汎用性の高いサービスです。不足分を迅速に補うこともできるので、繁忙期にのみ導入するといった使い方も有効です。

まとめ

今回は、ディープラーニングをWindows OSで実践する際の環境構築方法について紹介しました。ディープラーニングは高度な技術ですが、十分なスペックを確保することで、実践的な運用がすぐに進められます。

そんな時に役立つのが、クラウドGPUの存在です。当社モルゲンロットが提供する「M:CPP」では大手クラウドGPUと同等のハイエンド環境を提供しながら、コストは最大で半分程度に抑えられるなど、効率的なGPU運用に活躍するサービスです。

MCPP

ディープラーニング環境の整備を素早く進めたいという場合には、お気軽にご相談ください。

  • このエントリーをはてなブックマークに追加