機械学習にオススメするクラウド開発環境(Kaggle Kernel)

コンピュータ

ここ数年人気の機械学習。このAIブームに機械学習の勉強を始めた方もたくさんいらっしゃるのでは無いでしょうか。私の会社でも、この2年ぐらいはAIやディープラーニングが大流行しており、操業改善などで応用されています。この機械学習ですが、結局は大量データを扱うことになるので、本格的な解析を行う場合、ハイスペックなコンピュータが必要になります。今回は比較的ハイスペックなコンピュータを無料で使用する方法をご紹介したいと思います。ちなみに、私の2016年Surfaceよりかは遥かにハイスペックです。

機械学習に必要なマシンスペック

gpu

機械学習を行う上で重要となるのは、ズバリ、メモリとGPUになります。なぜか。まずメモリですが、メモリの私のイメージはコンピュータが何かの処理をする際の作業台の広さです。機械学習などのビッグデータ解析をする際、大量のデータをメモリに格納しつつ作業(=計算)を行っていくことになります。そのため、小さな作業台ではいかに計算が早かろうが、作業台からデータがあふれまともに動きません。そのため、メモリは機械学習を行う上で重要になってきます。だいたい16GBは必要と言われています。

次に、GPUですが、GPUはご存知の方も多いようにディープラーニングの計算で真価を発揮します。ディープラーニングでは行列計算を多用しますが、GPUを用いることでこの計算を並列(同時にたくさん)行うことができ、そのため計算速度が飛躍的に向上します。よって、ディープラーニングをする際にはGPUが重要になってきます。

GPUを搭載しかつ16GBのメモリを積んだようなマシンはかなり高額で、20万以上は一般的にすると思われます。

機械学習をするのにオススメのクラウド環境

kaggle

では、金の無い筆者のような人間は機械学習を諦めるしかないのでしょうか。もしくは、昔のコンピュータによる解析のように、寝る前に”実行”し、起きてから計算結果確認のようなことをしなければならないのでしょうか。いやいや、もう2019年!そんなことをする必要はありんせん。そんなあなたにオススメしたいのが、クラウド開発環境になります!まず初めにオススメするのは、Google Colaboratoryです。

Google Colaboratory

メモリ:12GB、GPU付きの開発環境が無料で使えてしまいます。詳しくは以下の記事を引用させていただきます。

Google Colaboratoryの無料GPU環境を使ってみた
機械学習やDeep Learningを快適に行うためにはそれなりのマシンスペックが必要になります。ある程度のメモリ容量はもちろん、GPUも必須といっていいでしょう。通常使用のPCでは、メモリが足りず処理できなかったり、1試行ごとに数十分~数時間待つことになったりということがあるのではないでしょうか。また、IaaSを用い...

ただ、今回ご紹介したいのはコレではありません。Google Colaboratoryよりメモリ容量を持ちGPUが使える環境が実はあります。それがKaggle Kernelです。Kaggleとは機械学習のコンペティションサイトで、企業などが課題をKaggleに投稿すると世界中のデータサイエンティストがその課題を各々の手法で解き、最もいい結果を出せた人に企業が賞金を渡すといったことが行われています。このKaggleでは、Jupyter Notebookを無料で使えるKernelと言われる機能があります。そのため、正確にはクラウド開発環境ではありませんが、Jupyter Notebookをクラウド環境で使用することができます(コマンドからpython,Rを実行することも可能)。このKernelですが、恐るべきはそのスペックです。

kaggle kernelのスペック

なんとメモリが16GBあります。これだけあれば、機械学習を行う上で必要なラインはクリアしていると思われます。実際、私のメモリ4GB Surfaceで機械学習を行うと、他のブラウザ操作すらまともに動かないレベルになってしまいますが、Kernelなら問題無く解析を実行できます(もちろん、データ量によりますが。。)。また、クラウド開発環境になるので、Kernelにて解析実行中は自分のマシンのリソースは機械学習には使われません

開発画面は以下のような感じになります。実はJupyter Notebookそのものなります。また右側のWindowにはGPUのオン・オフボタンがあります。

kaggle kernel

本格的に機械学習を行うには、さらなるマシンスペックが欲しくなってくるかと思いますが、一旦試してみる+αには十分すぎるほどのスペックをKaggle Kernelは備えています!

Kaggle: Your Home for Data Science

まとめ

  • 機械学習には十分なメモリとGPUが必要
  • メモリ容量が多くGPU搭載したパソコンは高額で手が出しづらい
  • そんなあなたには、クラウド開発環境がオススメ!
  • クラウド開発環境にはGoogle ColaboratoryやKaggle Kernelがあるよ!

使い方等はまたまとめてみたいと思います!

 

コメント