AI(人工知能)を用いた開発で、ディープラーニングを導入する際GPUを利用する機会は非常に多いですよね。ディープラーニングは、行列の計算等の計算を行うのですが、計算時間が非常にかかります。そんなときに、非常に強力な力を発揮するのが、GPUです。そのGPUの力を最大限に発揮させてくれるのが、NVIDIA社GPUToolkit「CUDA」です。
CUDA(Compute Unified Device Architecture)とは、NVIDIA社が開発・提供しているGPUで動作する開発環境で、AI(人工知能)開発において最も多く利用されているものの1つです。この記事では、CUDAの使い方をイチから解説するので、CUDAマスターしてディープラーニングを用いた開発を行ってみましょう。
そこで今回は、CUDAとは具体的には何か、CUDAのインストール方法、CUDAの使い方をお伝えします。
NVIDIA社GPUToolkit「CUDA」とは
CUDA(Compute Unified Device Architecture)とは、NVIDIA社が開発・提供しているGPUで動作する開発環境です。CUDAはGPU向けの汎用並列コンピューティングプラットフォームおよびプログラミングモデルなので、重い処理を容易に高速化できます。
GPUの分野において、画像処理以外の用途でGPUの演算資源を利用するGPGPU(General-purpose computing on graphics processing units)と呼ばれる汎化GPUが注目されています。これは、AI(人工知能)開発における機械学習(特に、ディープラーニングの分野)と非常に相性がよいためです。そのGPUのための統合開発環境としてCUDAは広くインストールされ、利用されています。
「CUDA」が必要な時ってどんな時?
GPUは、並列的で比較的に単純な計算処理を得意としています。そのため、CUDAをインストールする必要があるときは、計算処理が必要な場合です。とりわけ近年、CUDAが広く利用されているのは、AI開発における機械学習(特に、ディープラーニングの分野)を行うときです。
ディープラーニングは、ニューラルネットワークという構造の階層を多層に重ねた構造で様々なパラメータを基に判断をする計算処理です。ディープラーニングの計算は、重みの行列に別の行列をかけて足し合わせる「行列の積和演算」という処理を行っていますが、この処理がGPUの三次元のグラフィックスのポリゴンを移動させたり回転させたりするときの行列演算とほぼ同等だったのです。行列演算とは、行列に別の行列をかけて足し合わせる「行列の積和演算」で、GPUを用いることで並列的に計算処理を行います。つまり、CUDAを用いると計算速度を非常に短縮することができます。
また、Tensor flow、Keras、PytorchやChainerなどの様々なディープラーニングのためのフレームワークが、NVIDIA社のCUDAに対応しています。そのため、CUDAはディープラーニングを用いた開発の際に、広くインストールされています。
インストール前に必要な準備
CUDAをインストールする前に必ず確認する点が2点あります。「利用するフレームワークに対応しているCUDAのバージョンを確認する」、「Windowsの場合は、VisualStudioをインストールする」です。
利用するフレームワークに対応しているCUDAのバージョンを確認する
CUDAをインストールする前に必ず確認をしないといけないことは、利用すべきCUDAのバージョンを確認することです。例えば、Tensor flow2.3や2.2でGPUを利用する場合、CUDAのバージョンは10.1が指定されています。指定以外のものを利用すると動かないうまく動かない可能性があるので、CUDAをインストールする前に利用したいフレームワークに適したCUDAのバージョンをTensor flowホームページから確認しましょう。
Windowsの場合は、VisualStudioをインストールする
CUDAを、Windows環境でインストールする場合は、事前にVisualStudioをインストールする必要があります。VisualStudioとは、VisualStudio のMicrosoft社が開発している、総合開発環境で、CUDAはC++言語で作られているため、C++ビルドツールがないと、インストール中にエラーを起こしてしまいますので、必ず事前にインストールするようにしましょう。
CUDAをダウンロードする
CUDAをインストールする前に、まずはCUDA Toolkitのインストールファイルをダウンロードしましょう。
NVIDIA DEPELOPERのホームページにアクセスします。その後、画面中段のHPCをクリックしましょう。その後、画面中段のCUDAをクリックし、Download Nowをクリックすると、最新版のCUDAをダウンロードするページに移動します。最新版をダウンロードする場合は、ご自身のOSに適したインストールファイルをダウンロードしてください。
CUDAをインストールする
次にCUDA Toolkitのインストールファイルを使って、CUDAをインストールしましょう。ダウンロードした、CUDA Toolkitのインストールファイルを実行します。展開先ディレィトリを指定する必要があるので、基本的には既定の場所で問題ないのでOKを押し、5分程度待ちます。
ライセンス条項についての確認があるので、内容を読んで、同意して実行を押しましょう。インストールオプションで高速(推奨)とカスタム(詳細)を選択画面になりますが、特に指定をする必要がない場合は、高速(推奨)を選んで次へを押します。
インストール場所を指定する必要がありますが、基本的には既定の場所で問題ないので次へを押しましょう。CUDAのインストールが開始して、無事にインストールが管路ゆするとNVIDIAインストーラーが終了しましたと表示されますので「閉じる」を押して、CUDAのインストール完了です。パソコンを再起動するように指示される場合がありますので、そのときはパソコンを再起動すればCUDAのインストールは完了です。
CUDAの使い方
CUDAを実際に利用する例をご紹介します。PythonでCUDAを動かすためには、PyCUDA(パイキューダ)というライブラリが提供されています。このライブラリを使うとPythonでCUDAを容易に扱うことができます。pip install pycudaで、ライブラリをインストールしましょう。
CUDAは、単純な計算の並列処理が得意なので、行列の計算を例に説明をします。まずは、行列計算に必要なnumpyとCUDAをpythonで扱うためにpycudaをインポートします。その後生成した、行列を5乗する処理を実装しましょう。
import pycuda.autoinit
import pycuda.driver as cuda
import pycuda.gpuarray as gpuarray
gpu_array = gpuarray.to_gpu(array)
result = (gpu_array ** 5).get()
と書くと実際にCUDAを用いた処理を実装できます。
さて今回は、CUDAとは何か、インストール方法、使い方をお伝えしました。
- CUDA(Compute Unified Device Architecture)とは、NVIDIA社が開発・提供しているGPUで動作する開発環境であること
- CUDAは、並列的で比較的に単純な計算処理を得意としていて、ディープラーニングと非常に相性がよいこと
- CUDAをインストールする前に、「利用するフレームワークに対応しているCUDAのバージョンの確認」、「Windowsの場合は、VisualStudioのインストール」が必要なこと
- CUDAはNVIDIA DEVELOPERからご自身のOS、バージョンにあった、インストールファイルをダウンロードすること
- CUDAのインストールは表示の指示に従って行うこと(CUDA Toolkitのインストールファイルを実行→インストールオプションで高速(推奨)を選択し、実行)
- CUDAでPythonで使う場合はPyCUDAを用いること
など、CUDAとは何か、CUDAはどんなことに役立つのか、CUDAの導入の方法や使い方をお伝えしました。ぜひCUDAをインストールして、ディープラーニングを搭載したAI(人工知能)の開発を行ってみましょう。
【お知らせ】
当メディア(AIZINE)を運営しているAI(人工知能)/DX(デジタルトランスフォーメーション)開発会社お多福ラボでは「福をふりまく」をミッションに、スピード、提案内容、価格、全てにおいて期待を上回り、徹底的な顧客志向で小規模から大規模ソリューションまで幅広く対応しています。
御社の悩みを強みに変える仕組みづくりのお手伝いを致しますので、ぜひご相談ください。