Hosted Jupyter Notebooks

Jupyter Notebook をホストしてくれるサービス、いくつかあるので眺めている。

Gradient

GPU クラウドの会社 Paperscape のサービス。

  • 価格。秒課金で $0.6/h くらいか 定額 $8/month. CPU はそこそこ速そうで GPU もついてる。実験用に $0.01.h みたいなインスタンスも選べる。割と安いのではないか。
  • Docker で動いている。イメージは既定の選択肢から選ぶ。Deepo という全部入りが選べるので遊ぶぶんにはこまらなげ。Git も入っている。
  • Pay as you go のコースだと一度に動かしておける notebook (のコンテナ) は一つまで。けちくさいが、価格を考えれるとやむなしか。コンテナは一旦停止すると再開できない。Clone して動かし直す、という選択肢はあるのだが・・・。これは不便そう。こまめに一時停止したい自分の用途的には deal breaker なかんじ。なおコンテナを停止すると中のファイルがダウンロードできるようになる。
  • ていうかコネクションが Raw HTTP じゃねーか!気持ちはわかるけど売り物でこれはないわ・・・。
  • 金を払って試してみたものの、謎の零細企業にクレカ番号渡すのちょっとやだな・・・。

Microsoft Azure Notebooks

  • 無料
    • 一時間立つと kick-out されるが Notebook は消えない。
  • コンテナっぽいがベースのイメージがなんなのかは不明。選択肢もない。
    • Python は Anaconda だのみっぽい。
  • 複数の環境を作るのではなく、一つの Notebook 環境というかコンテナの中でディレクトリをわけて作業してねというスタイル。ファイルはひとつずつダウンロードできる。
  • 柔軟性がないのでメインでは使わなそうだけど、What's New のページがあってこまめに更新されている様がわかる透明性は lovely. 正式リリースで有料枠ができると化ける可能性はありそうなのでたまにチェックする。

Cocalc

Collaborative に同時編集とかができる、というのが売り、だが、ベーシックなデザインがしょぼくて深入りする気にならず。Github アカウントの OAuth でログインし、無料枠で UI や機能を試せるのは良い。

Colaboratory

  • 無料
  • 12 時間くらいで切れるんだったはず。
  • Notebook は Google Drive に保存できる。
  • イメージの中身は不明。パッケージは Notebook 上の directive を使い PIP でインストールできる。
  • まあ悪くないといえば悪くない。機能的には Azure Notebook と似たようなものな気がするけれど仕事で使ってるので馴染みはある。ただ long running できない制限が現実にどのくらい妨げになるのか・・・。

この中だと自分には Colab が一番マシかなあ。ただ商業製品ではないので課金してそのぶん柔軟にするみたいなオプションがないのが惜しい。Gradient もいい線いってるのだがなぜか一時停止ができない。Managed Jupyter, いまのところ決定版はナシということだな。

自分でクラウドに VM を持つオプションは二年前から何か進歩があっただろうか。SOCKS 使うとかいやなんだけどやむなしなのかなー未だに・・・ Sigh.


会社だと Colab でも悪くない感じがするのはなぜだろうと考えるに、理由はふたつくらいありそう。

  • データがデータベースなり DFS なりにあるためローカルファイルをアップロードするとかなんとかいう苦労がない。
  • 込み入ったことをやりたくなったら普通のコード書きに fallback できる。

Cloud Storage の仲間にファイルを置くようにすれば前者は解決する、のだろうか。使っているフレームワークが対応してないとだめだな。