Python
機械学習
DeepLearning
Jupyter

Google・Microsoft・AWS・IBMが提供するJupyter Notebook サービスのまとめ

はじめに

データ分析及び機械学習ですっかりおなじみになったJupyter Notebook(以下、Jupyter)ですが、昨年(2016年)あたりからGCP(Google)・AWS・Microsoft Azure・Bluemix(IBM)といった主要なクラウドベンダーからJupyterのホストサービスが登場するようになってきました。その中には無料で使えるサービスもあるため、ローカルの環境構築を意識しないでPythonやデータ解析・機械学習等のコードを動かしたり共有できるようになり、勉強会やハンズオンの敷居も低くなっているように感じられます。

今回は勉強会で環境構築に困った際にこういう選択肢もあるよという意味で、各ベンダーが提供するJupyter環境をまとめてみました。

サービス一覧

触ってみた感想

  • さくっと使う場合は、ColaboratoryAzure Notebooksが良さそう
  • プロジェクトとして管理する場合やGPU環境での学習がやりたい場合は、Cloud DatalabAzure MLAWS SageMakerIBM Watson Data Platformという選択肢もある

GCP

  • Colaboratory
    • 最近リリースされました
    • Googleのアカウントが必須です
    • Google Driveにノートは保存可能、ノートの共有も手軽
    • 他にもスニペットなど便利な機能があります
    • 言語(Kernel)はPython2.7とPython3.x系のみ選択可能
    • numpy/pandas/matplotlib/scikit-learn/tensorflowインストール済み
    • 2018年1月現在、GPUも使用可能となりました(編集→ノートブックの設定→ハードウェアアクセラレーション)
  • Cloud Datalab
    • GCPのCompute Engine上で構築します
    • インスタンスのオプション次第でGPUが使えます

Colaboratoryのスクショ

image.png

Microsoft Azure

  • Azure Notebooks
    • Microsoftのアカウントが必須です
    • Python2.7/Python3.x/R/F#が選択可能
    • Public/Privateが選択可能
    • numpy/pandas/matplotlib/scikit-learn/tensorflowインストール済み
    • Colaboratoryに比べてノートブック以外のファイルが扱えるようになっている(Colaboratoryのほうは.ipynbファイルのみがGoogle Driveで使えるようになっている [要検証です])
    • ターミナルの実行も可能
    • ノートブックのClone可能
  • Azure Machine Learning Studio

Azure Notebookのスクショ

image.png

Jupyterの画面

image.png

ターミナルの画面

image.png

AWS

  • Amazon SageMaker
    • AWSのアカウントが必須です
    • Jupyter上でのデータ解析や機械学習アルゴリズムの構築でおわらず、その後とGPUによる学習やモデルのデプロイも行えるようになっています
    • 具体的にはノートブックインスタンス→ジョブ→モデル→エンドポイントの流れで実務に向けた機械学習システムの開発が可能となっているようです
    • デフォルトで様々なノートブックのサンプルが用意されています
    • Jupyterのアドオンもいくつかデフォルトでインストール済み
    • numpy/pandas/matplotlib/scikit-learnインストール済み
    • TensorFlowやMXNetは選択するカーネル次第で利用可能(以下スクショ参考)
    • Spark/PySparkも利用可能
    • 無料枠あり
    • 料金表

Amazon SageMakerのスクショ

image.png

image.png

image.png

IBM Cloud

  • Data Science Experience
    • IBM Watson Data Platformの1つのサービス
    • IBM Cloudのアカウントが必須です(30日間のフリートライアル版あり)
    • そういえばSPSSはIBMなんですよね
    • プロジェクト単位でのノートブックの管理
    • Python2.7/Python3.5/R/Scalaが使用可能
    • Apache Sparkのバージョンも指定可能
    • リンク共有やGitHub/Gistでの共有可能
    • numpy/pandas/matplotlib/scikit-learn/tensorflowインストール済み

Data Science Experienceのスクショ

正確にはIBM Watson Data Platformの画面

image.png

image.png

Jupyterの画面

image.png


おまけ

スペックの比較

Jupyter上で!free -h!df -h!cat /proc/cpuinfoを実行した結果をまとめてみました。ただし、各サービスのJupyter上で素朴にコマンドを実行しただけのデータです(現在2017/12/23)。

サービス名 メモリ ストレージ(ファイルシステム) CPU(論理プロセッサ数)
Colaboratory 12GB 46GB(overlay) Intel(R) Xeon(R) CPU @ 2.30GHz(x2)
Azure Notebook 3.8GB 20GB(overlay) Intel(R) Xeon(R) CPU E5-2673 v4 @ 2.30GHz(x2)
SageMaker(ml.t2.medium) 3GB 4.8GB(/dev/xvdf) Intel(R) Xeon(R) CPU E5-2676 v3 @ 2.40GHz(x2)
Data Science Experience 377GB 930GB(/dev/sda3) Intel(R) Xeon(R) CPU E5-2690 v3 @ 2.60GHz(x48)