Upgrade to Pro — share decks privately, control downloads, hide ads and more …

GPU環境が使える!以外にもある GoogleColaboratoryの良さ/advantag...

GPU環境が使える!以外にもある GoogleColaboratoryの良さ/advantages-of-google-colaboratory

引越しや庭木の剪定などの出張・訪問サービスのプラットフォーム「くらしのマーケット」を運営する、みんなのマーケット株式会社です。
GPU環境も使えるPythonの分析ツールであるGoogle Colaboratoryについて、実際に使って感じた、GPU環境以外の利点などを紹介します。

## エントリー
全職種で積極採用中!下記リンクより応募ください!(カジュアル面談も歓迎)
https://www.minma.jp/recruit

「話を聞いてみたい」もOKです!
応募フォーム→https://herp.careers/v1/minma/2qUQhRIRUr0Y/apply

More Decks by みんなのマーケット株式会社/ Minma Inc.

Transcript

  1. Google Colaboratory(以降:Colab)とは 
 ローカル環境へのPython環境の構築なしで、Webブラウザ上でPythonのコードの記述・実行できるサー ビスです。自身のPCにGPUがなくともGPU環境を利用可能(利用方法はページ8参照) 
 URL:https://colab.research.google.com/ 
 
 無料で使えますが、より処理能力が高い有償プランも用意されているので気になる方は以下をご覧くだ

    さい
 有償プランについて: https://colab.research.google.com/signup/pricing?hl=ja 
 
 
 次項からは実際にColab使ってみてのメリット・デメリット等を紹介していきますので、 
 ・これからPythonの環境を構築しようと思っている方 
 ・ローカルにPython環境はあるけどもColabも気になっている方 
 の参考になればと思います。 
 2 はじめに

  2. 3 • みんなのマーケット入社前
 ◦ ローカル環境のPython分析環境 
 ◦ OSはWindows、マシンスペックはCore-i5でメモリは8〜16GB、GPUなし 
 


    • 今現在の分析環境
 ◦ Colabとローカル環境(Anaconda)の併用で、Colab99%、ローカル環境1%の利用比率 
 ◦ OSはMac、ローカル環境にGPUなし 
 
 • Colabを使い始めるきっかけ
 ◦ みんなのマーケット入社のタイミングで、今までWindowsしか使ったことがない筆者からする と、初めて使うMacにいきなりPython環境構築するの怖いなぁ怖いなぁ、と思っていたので、 簡単に使えるColabを使ってみよう、というのがきっかけです。 
 私のPython環境遍歴

  3. 4 • データ分析
 
 • 各種API経由でのデータ取得
 Google Analytics(GA)やGoogle Search ConsoleのAPI経由でのデータ取得

    
 
 • データ処理バッチ
 大量データを複数結合し、集計してアウトプットさせる等のバッチ処理 
 (スプレッドシートだけでも理論上データ処理できるが、重くて動かないような場合に、Pythonで処理 して結果をスプレッドシートに出力させる) 
 
 Colab利用初期の頃は「ローカル環境でもColabでもどっちでも同じかも」と最初は思っていました。が、社 内にコードを展開していくことが増えてきて、ローカルのPython分析環境にはないColabの良さがありまし た!
 Colabの主な利用用途

  4. ブラウザベース(クラウドコンピューティング)なので、Python実行にまつわるローカル環境のCPU・メモリ を消費しないのはさておき、私が感じた大きなメリットは以下です。 
 
 • 環境構築が不要(組織内にPythonの分析コード等を展開していく場合) 
 自分以外の誰かにPythonを実行してもらう必要がある場合、 
 ・ローカル環境へのインストール方法の手順書作成

    
 ・パッケージ統一するためのrequirements.txtを作って・・・・ 
 と言う作業が発生しますが、Colabは一切不要です。 
 Colabでコードを作成しファイル(ノートブック)を共有し・実行するだけです 
 
 • 環境が統一されている(差異がない)ので、問題が起きた時に解決しやすい 
 Colabはデフォルトでインストール済みのパッケージとそのバージョンが共通なため、社内展開時 でエラーが発生しても、コードを実行した方のパッケージのインストール・バージョン状況の環境確 認の手順を省けるので、解決までの手順が短縮できます。 
 逆に、デフォルトにはないパッケージは都度インストールする必要があります。 
 5 メリット

  5. 逆に、これまで使ってきたデメリットも書きます 
 
 • スケジュール設定しての自動実行ができない 
 毎朝9時にこのコードを動かして、データが自動更新されるようにしたい、みたいなことはできない です。データ取得やデータ処理バッチのコードは自動実行でできるとより良いのですが、ここは致 し方なしです。
 


    • タイムアウトが発生する
 Colabを開いているタブをアクティブにしてない(いわゆるアイドル状態)と、結構すぐにタイムアウト して、セッションが切れてしまいます。公式にも明確な数値の記載はないですが、筆者の体感ベー スで15〜30分前後、タブを放置してるとアイドル状態になってます。 
 
 参考までに、有償版のPro+ にすると24時間はタイムアウトが発生することなく、バックグラウンド 実行できます。
 6 デメリット

  6. 7 ローカル環境との比較
 Google Colab(2023/8/10時点) ローカルのPython環境 動作環境 Webブラウザ PCローカル GPU利用可否 設定(クリックのみ)で可

    PCへのGPU搭載必須 環境構築 不要 必要(GPU利用時はさらに追加で CUDA等の環境構築が必要) 環境差異の発生 無 有 スケジュール設定しての自動実行 不可 タスクスケジューラやcron等との組 み合わせで可 連続実行 アイドル状態になるとタイムアウト となり切れる(有償版のPro+なら 24時間まで可) PC起動し続けている限り可