Google Colaboratory

はじめに

Google Colaboratoryに衝撃をうけました。新しいことにチャレンジしたい、という気持ちになる新年。今年はGoogle Colaboratoryを試してみることにしました。もう20数年間、ソフトウェア開発やシステムインテグレーションに関わっている身なのでいささか振り幅が小さいな、、、と思いつつ、なにげに革新的なツールだと驚きました。Colaboratoryをチャレンジする過程を共有したいと考えています。


Google Colaboratoryとは

その名の通りGoogleが提供しているサービスですので、Google検索で出てくるよくある質問を見てみます。

Colaboratory(略称: Colab)は、Google Research が提供するサービスです。Colab では、誰でもブラウザ上で Python を記述、実行できるため、機械学習、データ分析、教育に特に適しています。具体的には、GPU などのコンピューティング リソースに料金なしでアクセスしながら、特別な設定なしでご利用いただけるホスト型の Jupyter Notebook サービスです。

https://research.google.com/colaboratory/faq.html#whats-colaboratory

ブラウザ上で利用できるので、インストールは不要でブラウザさえ動けば様々なプラットフォームで利用できる、というのが特徴です。

何がすごいのか?

Google Accountさえあれば3分で使える

一般的にPC上でPythonを利用しようとすると、このチュートリアルにあるように、インストールしたり、環境設定したり、ということが必要ですが、それらが全く必要ないのは、特にPython初学者には非常に魅力的です。

また、PC上でセットアップするとその上でしかプログラミングができませんが、ColabならGoogleのクラウド上でコードの保存されて実行されるため、インターネット接続さえあれば様々なデバイスから利用できます。

これを自力で実現しようとすると、Githubなどにコードをホスティングし、仮想マシンをクラウド上にセットアップして、となかなかの手間がかかりますが、それらがワンクリックで提供されます。

コードとドキュメントが一体化している

Colaboratoryでは、単にPythonのコードを書くだけでなく、それをJupyterのnotebookの一部として記述・実行できるというという特徴があります。これは言葉だけではよくわからないですがビデオだと一目瞭然です。

なぜこれがすごいのか?というのは、ブログを見ながらコードスニペットをコピーしたりタイプしたりして、コーディングと実行をしながら進めた経験をお持ちの方ならおわかりになるのではないでしょうか。

Pythonのハウツーを読みながら、その中に埋め込まれているコードを実行して結果を見ることができます。また埋め込まれているコードを変更したり、新たにコードを書いたりして、それを実行する事もできるので、プログラミングを教える方も学ぶ方も、相当に捗ると思います。

これがピンと来ないひとは、ぜひはGoogle Accountをご用意の上、ぜひhttps://colab.research.google.com/にアクセスして試してみてください。

本格的な機械学習の学習や研究に使える

さらには、単なるPyothonコードの実行だけでなく、Googleが提供するGPU/TPUを使って、自分のデータセットでの本格的な機械学習も実行できます。なにより無料で利用できるというのが素晴らしい点です。もちろん制約はありますが。

もちろん機械学習を実際に行うためには、実行環境やPythonだけでなく、数学的な背景知識や、モデルやデータセットの準備など、様々な要素が必要となりますので、自前の機械学習を行おうとすると、流石に3分でできちゃう!とはいきません。

とはいえ、例えばGoogleが提供しているTensorFlowという機械学習のライブラリを使った、映画レビューのセンチメント分析のチュートリアルが公開されており、単に実行するだけならものの5分あればできてしまいます。

映画レビューのチュートリアル

3分クッキング的に材料(この場合は分析のための学習データ)が仕込まれているとはいえ、自分のブラウザ上で本格的に機械学習を実行することができますし、適切な知識があれば、このデモを適宜変更して自分の研究や学習のための機械学習を実行することもできるわけです。

おわりに

とりあえずは、自分が感じた衝撃を少しでも共有できればと思ってまとめてみました。今後は、より具体的にGoogle Colaboratoryを使ってみたアップデートをお届けできればと思います。


この記事が気に入ったらサポートをしてみませんか?