データ解析

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

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

こんにちは!

データサイエンティストのウマたん(@statistics1012)です!

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

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

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

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

以下の動画でも解説していますので是非チェックしてみてください!

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

ちなみに当メディアが運営するスタアカ(スタビジアカデミー)というスクールで様々な機械学習をGoogle Colaboratoryを使いながら実装していきますので是非見てみてください!

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上からアップロードしなくてはいけません。

from google.colab import files
uploaded = files.upload()

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
【図解で解説】LightGBMの仕組みとPythonでの実装を見ていこう!当サイト【スタビジ】の本記事では、最強の機械学習手法「LightGBM」についてまとめていきます。LightGBM の特徴とPythonにおける回帰タスクと分類タスクの実装をしていきます。LightGBMは決定木と勾配ブースティングを組み合わせた手法で、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を使うことをオススメします!

Google Colaboratoryについて詳しく学びたいという方は、当メディアが運営するスタアカ(スタビジアカデミー)というスクールで様々な機械学習をGoogle Colaboratoryを使いながら実装していきますので是非見てみてください!

最終的には野球の投球分析をするために、BigQueryでSQLを書いてGoogle Colaboratoryで機械学習モデルを作るという本格的なフローに挑戦していきますよ!

ご受講お待ちしております!

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

Python独学勉強法
【Python独学勉強法】Python入門を3ヶ月で習得できる学習ロードマップ当サイト【スタビジ】の本記事では、過去僕自身がPythonを独学を駆使しながら習得した経験をもとにPythonを効率よく勉強する方法を具体的なコード付き実装例と合わせてまとめていきます。Pythonはできることが幅広いので自分のやりたいことを明確にして勉強法を選ぶことが大事です。...
機械学習
【入門】機械学習のアルゴリズム・手法をPythonとRの実装と一緒に5分で解説!当サイト【スタビジ】の本記事では、入門者向けに機械学習についてカンタンにまとめていきます。最終的にはどのように機械学習を学んでいけばよいかも見ていきます。細かい手法の実装もPython/Rを用いておこなっていくので適宜参考にしてみてください。...
【入門】ディープラーニング(深層学習)の仕組みとPython実装のやり方!当サイト【スタビジ】の本記事では、ディープラーニングの仕組みやPythonでの実装方法について解説していきます。ディープラーニングってなんとなくブラックボックスなイメージがあるかもしれませんが、実はシンプルなアルゴリズムなんですよー!...
RNNとは
RNN(リカレントニューラルネットワーク)の概要とPython実装方法を分かりやすく解説!当サイト【スタビジ】の本記事では、ディープラーニングを時系列にも対応させたRNN(リカレントニューラルネットワーク)について解説していきます。RNNの仕組みや応用場面と一緒にPythonでの実装をしていきます。これからの応用が期待される領域なんですよー!...
スタビジアカデミーでデータサイエンスをさらに深く学ぼう!

スタアカサービスバナースタビジのコンテンツをさらに深堀りしたコンテンツが動画と一緒に学べるスクールです。

プレミアムプランでは私がマンツーマンで伴走させていただきます!ご受講お待ちしております!

スタビジアカデミーはこちら