データ解析

Google Colaboratoryのメリットと使い方!GPU環境でPython回すならこれだ!

Google Colaboratory
ウマたん
ウマたん
当サイト【スタビジ】の本記事では、Googleが無償で提供する機械学習のプラットフォーム「Google Colaboratory」をメリット・デメリット・使い方について見ていきます!実際にPythonを実行していきGPUの威力を見ていきます。

こんにちは!

消費財メーカーでデジタルマーケター・データサイエンティストをやっているウマたん(@statistics1012)です!

個人レベルでPython使う時に非常にお世話になっているのが「Google Colaboratory」!

Google Colaboratoryは、Googleが機械学習の教育、研究を目的として開発した」ツールで誰でも無料で利用することが可能です。

ロボたん
ロボたん
無料だったら、たいしたスペックじゃないんでしょーどーせ。
ウマたん
ウマたん
無料だからといって侮るなかれ!GPU環境でディープラーニングや機械学習が実装できるハイスペ環境なんだ!!

この記事では、そんなGoogle Colaboratoryのメリット・デメリット、そして使い方について見ていきます!

とにかく便利なので、ぜひ使ってみてください!

ウマたん
ウマたん
Pythonの勉強はこちらをチェック!
Python 勉強
【入門】初心者が3か月でPythonを習得できるようになる勉強法!当ブログ【スタビジ】の本記事では、Pythonを効率よく独学で習得する勉強法を具体的なコード付き実装例と合わせてまとめていきます。Pythonはできることが幅広いので自分のやりたいことを明確にして勉強法を選ぶことが大事です。...

Google Colaboratoryとは

Google Colaboratory ホーム

Google ColaboratoryとはGoogleが無料で提供してくれているクラウド実行型のJupyter notebook実行環境です。

Googleのアカウントを持ってさえいれば誰でも使用することができ、開発環境を整える必要もなくPythonによる機械学習実装が可能です。

Googleのプラットフォームにのっかっているからこそのメリットと大量のデータセットと高度な処理を回すためのマシーンパワーが用意されているのが魅力です。

ウマたん
ウマたん
こんな環境を用意してくれるなんてGoogleさまさまだなー!

Google Colaboratoryのメリット

データサイエンティスト

それでは、そんなGoogle Colaboratoryのメリットについて見ていきましょう!

Google driveと同期して共有がカンタン

Googleのプラットフォーム上にあるので、他の人への共有が非常にカンタンです!

Google Colaboratory上でファイルを作成すると、Google driveと同期されGoogle drive上にファイルが残ります。

そのため、Google driveを用いてのチーム内共有・共同編集が可能です。

GPUを使用可能

なんとGoogle Colaboratoryなら無料でGPUを使用することが可能です。

GPUはCPUと違い並列的な計算処理を行えるため、昨今の大規模データやディープラーニングなどの高度な手法に適しています。

CPUでは時間がかかり過ぎて不可能であった解析がGoogle Colaboratoryを使えば可能になるのです。

これは個人レベルで分析を行う上では非常に嬉しい機能です。

Google Colaboratoryのデメリット

ただ、一方でGoogle Colaboratoryにはいくつかのデメリットもあります。

連続使用は12時間まで

インスタンスの連続使用は12時間までとなっていて、セッション切れから90分でインスタンスが落とされてしまうため、長時間かかる処理はGoogle Colaboratoryに向いていません。

ロボたん
ロボたん
研究室でやっていたずーっと寝かせて数時間回すみたいなことはできないのかー
ウマたん
ウマたん
そうだねー!GPU使って高速でPDCA回して特徴量精査を行うのがGoogle Colaboratoryの使い方かな。

Google Colaboratory特有の記法や作法がある

ほとんど、Jupyter notebookと同じ感覚で使えるのですが一部Google Colaboratory特有の記法や作法があります。

例えば、ファイルをインポートする時はまず以下のように記述してGUI上からアップロードしなくてはいけません。

Google driveから直接インポートする方法もありますが、普段はGUI上でアップロードさせてます。

また、Jupyter notebookと一部コマンドも違いますので少々戸惑うかも。

ショートカットキー一覧は上部の[ツール]→[キーボードショートカット]で確認することができます。

Google Colaboratory

そんなに大きくは変わらないので、ヘルプ見ながら実行すれば大丈夫ですよー!

Google Colaboratoryの使い方

さて、そんなGoogle Colaboratoryを早速使っていきましょう!

まずは、Googleアカウントの中で特定のフォルダとGoogle Colaboratoryを連携させます。

Google Colaboratory

フォルダ名から[アプリで開く]→[アプリを追加]を選びましょう!

Google Colaboratory

Colaboratoryと検索してあげるとGoogle Colaboratoryが出てくるので選びインストールしましょう!

完了すれば、もうGoogle Colaboratoryを利用できます。

フォルダから新たにGoogle Colaboratoryのファイルを新規作成しましょう!

Google Colaboratory

これでGoogle Colaboratoryの実行環境が開きます!

ロボたん
ロボたん
めちゃくちゃ簡単じゃないか!!
ウマたん
ウマたん
そうなんだよー!!こんなにカンタンに実行環境が整うなんて夢のようだよね!

Google Colaboratoryで実際にPythonを実行

macとsurface

さて、それでは新規作成した環境で実際にPythonを実行していきましょう!

ここでは、強力な機械学習手法であるLight GBMを使用していきます。

LightGBMは世界的なデータ解析コンペ「Kaggle」でも使われることの多い勾配ブースティング手法の1つです。

Light GBMについては以下の記事でまとめていますのでチェックしてみてください。

Light GBM
Light GBMの仕組みとPythonでの実装を見ていこう!当ブログ【スタビジ】の本記事では、最強の機械学習手法「Light GBM」についてまとめていきます。Light GBMは決定木と勾配ブースティングを組み合わせた手法で、Xgboostよりも計算負荷が軽い手法として注目を集めています。...

Light GBMで手書き文字Mnistを分類していきます!

このデータセットには0~9の文字が様々なカタチで書かれたサンプルが入っています。

CPUモードだと254秒。

そう、デフォルトのままだとCPU処理なのです。

GPU処理にするには、[編集]→[ノートブックの設定]→[ハードウェアアクセラレータ]で変更を行います。

Google Colaboratory

GPUモードにしてもう一度解析を起こってみると・・・

Google Colaboratory

185秒で終了!

もともとLight GBMは計算負荷を軽く抑えている手法なのでそれほど差は見られませんでしたが、それでも3分の2ほどに抑えられました!

Google Colaboratory まとめ

Google Colaboratoryのメリット・デメリットや使い方について見てきました!

実際にPythonで実行したところGPUモードの計算処理の速さを実感することもできました!

ぜひ機械学習やディープラーニングを実装する場合はGoogle Colaboratoryを使ってみてください!

特にディープラーニングは層を増やすと処理時間が非常に長くなるので、個人レベルでまわすならGoogle ColaboratoryのGPUを使うことをオススメします!

以下の記事で機械学習やディープラーニングについてまとめていますので合わせてチェックしてみてくださいねー。

機械学習
機械学習入門に必要な知識と勉強方法をPythonとRの実装と一緒に見ていこう!当サイト【スタビジ】の本記事では、入門者向けに機械学習についてカンタンにまとめていきます。最終的にはどのように機械学習を学んでいけばよいかも見ていきます。細かい手法の実装もPython/Rを用いておこなっていくので適宜参考にしてみてください。...
【入門】ディープラーニングとは?仕組みとPythonでの実装を見ていこう!当サイト【スタビジ】の本記事では、ディープラーニングの仕組みやPythonでの実装方法について解説していきます。ディープラーニングってなんとなくブラックボックスなイメージがあるかもしれませんが、実はシンプルなアルゴリズムなんですよー!...
RNNとは
RNN(回帰的ニューラルネットワーク)とは?Pythonでの実装方法と一緒に見ていこう!当サイト【スタビジ】の本記事では、ディープラーニングを時系列にも対応させたRNN(リカレントニューラルネットワーク)について解説していきます。RNNの仕組みや応用場面と一緒にPythonでの実装をしていきます。これからの応用が期待される領域なんですよー!...
Pythonを初学者が最短で習得する勉強法

Pythonを使うと様々なことができます。しかしどんなことをやりたいかという明確な目的がないと勉強は捗りません。

Pythonを習得するためのロードマップをまとめましたのでぜひチェックしてみてくださいね!