こんにちは。
入社3年目も終わりを迎えようとしている、技術開発部の齋藤です。
本日は「”Google Colaboratory”でGPUを利用する方法」についてご紹介します。
Google ColaboratoryはGoogle Colabと略されることが一般的ですので、本ブログでもGoogle Colabと呼ぶことにします。
Google Colabとは
Google Colabとは、Googleが無料で提供している機械学習の教育、研究を目的とした研究用ツールです。
実態は、完全にクラウドで実行される Jupyter ノートブック環境となっています。
ChromeやFirefoxなどのブラウザとインターネット接続とGoogleアカウントさえあればすぐに利用することができます。
現在対応している言語はPython2.7とPython3.6となっており、Pythonで機械学習を試すことができます。
注目を集めた点としては、無料であるにもかかわらずGPUが利用できるという点です。
ただし、12時間以上連続でGPUを利用できないなどの制限はありますので、ご注意ください。
また、試験運用とのことですが、2019年3月現在はTPUも利用可能になっています。
また、Google DriveというGoogleのオンラインストレージサービスと連携することで、学習データや学習モデルなどのデータをクラウド上に保存することが可能になります。
Google ColabでGPUを使って機械学習
Googleアカウントは持っているという前提で話を進めます。
機械学習フレームワークは最近盛り上がりを見せているPyTorchを使います。
PyTorchのExampleをもとに、手書き数字の分類をGoogle Colab上で学習させました。
サンプルのノートブックを用意しましたので、まずはこちらのzipファイルをローカルにダウンロードし、展開してください。その中のノートブック”pytorch_mnist.ipynb”を使用します。
ファイルをGoogle Colabにアップロードする
まずはGoogle ColabのWebサイトに行きます。
「ファイル」>「ノートブックをアップロード…」を選択します。
アップロードするファイルを選ぶ画面が出ますので、サンプルのノートブックを選択します。
これでアップロードは完了です。
GPUを利用可能な状態にする
続いて、ノートブックの設定を変更します。
ノートブックを開いた状態で、「ランタイム」>「ランタイムのタイプ変更」を選択します。
ノートブックの設定が開きますので、ハードウェアアクセラレータを「GPU」に変更し、「保存」します。
今回はサンプルのノートブックなので既にGPUを利用する設定になっていると思います。
これでGPUが利用できるようになります。
この設定はノートブックごとに行う必要がありますので、他のノートブックを開いた際には再度設定を行ってください。
ノートブックを実行する
ここまでの設定でGPUを利用する設定できたため、後は実行するだけです。
基本的な操作はJupyter ノートブックと同じになりますので、「Shift + Enter」でセルの実行ができます。
全てのセルを実行したい方は「Ctrl + F9」で行うことができます。
最後のセルで簡易的に学習時間を表示させています。
CPUに切り換えるとどれだけ変わるのかを試してみてください。
私の場合は、GPUで2分弱、CPUで10分弱でしたので、GPUのありがたみを実感することができました。
ちなみに、標準PCを使ってローカルで実行した場合も10分弱でした。
まとめ
あっという間にGPUで機械学習を行うことができました。
今回は単純なタスクだったのでCPUを使っても学習時間は10分程度でしたが、学習に何時間もかかることはよくあります。
機械学習の中でも、特に深層学習(ディープラーニング)を実行する際には、GPUが必須と言われているほどです。
「ちょっとGPUで試してみたいけど、費用が高いしなぁ・・・」
と悩んでいる人にとっては、無料でGPU環境を試せるサービスがあることはとてもありがたいことです。
多くの人が手軽にGPU環境を使えることになったことで、機械学習分野の研究が進むことに期待したいと思います。
読んで頂きありがとうございました。