こんにちは!
データサイエンティストのウマたん(@statistics1012)です!
個人レベルでPython使う時に非常にお世話になっているのが「Google Colaboratory」!
Google Colaboratoryは、Googleが「機械学習の教育、研究を目的として開発した」ツールで誰でも無料で利用することが可能です。
この記事では、そんなGoogle Colaboratoryのメリット・デメリット、そして使い方について見ていきます!
以下の動画でも解説していますので是非チェックしてみてください!
とにかく便利なので、ぜひ使ってみてください!
ちなみに当メディアが運営するスタアカ(スタビジアカデミー)というスクールで様々な機械学習をGoogle Colaboratoryを使いながら実装していきますので是非見てみてください!
目次
Google Colaboratoryとは

Google ColaboratoryとはGoogleが無料で提供してくれているクラウド実行型のJupyter notebook実行環境です。
Googleのアカウントを持ってさえいれば誰でも使用することができ、開発環境を整える必要もなくPythonによる機械学習実装が可能です。
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に向いていません。
Google Colaboratory特有の記法や作法がある
ほとんど、Jupyter notebookと同じ感覚で使えるのですが一部Google Colaboratory特有の記法や作法があります。
例えば、ファイルをインポートする時はまず以下のように記述してGUI上からアップロードしなくてはいけません。
from google.colab import files
uploaded = files.upload()
Google driveから直接インポートする方法もありますが、普段はGUI上でアップロードさせてます。
また、Jupyter notebookと一部コマンドも違いますので少々戸惑うかも。
ショートカットキー一覧は上部の[ツール]→[キーボードショートカット]で確認することができます。

そんなに大きくは変わらないので、ヘルプ見ながら実行すれば大丈夫ですよー!
Google Colaboratoryの使い方
さて、そんなGoogle Colaboratoryを早速使っていきましょう!
まずは、Googleアカウントの中で特定のフォルダとGoogle Colaboratoryを連携させます。

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

Colaboratoryと検索してあげるとGoogle Colaboratoryが出てくるので選びインストールしましょう!
完了すれば、もうGoogle Colaboratoryを利用できます。
フォルダから新たにGoogle Colaboratoryのファイルを新規作成しましょう!

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

さて、それでは新規作成した環境で実際にPythonを実行していきましょう!
ここでは、強力な機械学習手法であるLight GBMを使用していきます。
LightGBMは世界的なデータ解析コンペ「Kaggle」でも使われることの多い勾配ブースティング手法の1つです。
Light GBMについては以下の記事でまとめていますのでチェックしてみてください。

Light GBMで手書き文字Mnistを分類していきます!
このデータセットには0~9の文字が様々なカタチで書かれたサンプルが入っています。
CPUモードだと254秒。
そう、デフォルトのままだとCPU処理なのです。
GPU処理にするには、[編集]→[ノートブックの設定]→[ハードウェアアクセラレータ]で変更を行います。

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

185秒で終了!
もともとLight GBMは計算負荷を軽く抑えている手法なのでそれほど差は見られませんでしたが、それでも3分の2ほどに抑えられました!
Google Colaboratory まとめ
本記事では、Google Colaboratoryのメリット・デメリットや使い方について見てきました!
実際にPythonで実行したところGPUモードの計算処理の速さを実感することもできました!
ぜひ機械学習やディープラーニングを実装する場合はGoogle Colaboratoryを使ってみてください!
特にディープラーニングは層を増やすと処理時間が非常に長くなるので、個人レベルでまわすならGoogle ColaboratoryのGPUを使うことをオススメします!
Google Colaboratoryについて詳しく学びたいという方は、当メディアが運営するスタアカ(スタビジアカデミー)というスクールで様々な機械学習をGoogle Colaboratoryを使いながら実装していきますので是非見てみてください!
最終的には野球の投球分析をするために、BigQueryでSQLを書いてGoogle Colaboratoryで機械学習モデルを作るという本格的なフローに挑戦していきますよ!
ご受講お待ちしております!
その他のGoogleのサービスについては以下の記事でまとめています



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



