JuliaHub を試したお話(雰囲気とアカウント登録までの紹介)
本日は
クラウド環境で Julia のコードを実行できるプラットフォーム JuliaHub を触ったお話しです. 日本語の解説記事多くなさそうだったので書いてみます.
JuliaHub について
JuliaHub のページに書いてある通りです.
The simplest/fastest
code to cloud platform for high performance computing.
LP
ログイン後の画面の例
できること
- 手元のノートパソコンでは計算が追いつかず複数ノードを使って Julia で数値計算をしたい
- メモリが 16GB 程度の GPU を使わないと学習ができない機械学習のタスクを Julia でやりたい
というような一般家庭が持っている計算機では実現が難しい規模の計算ができます.
「ローカル環境にある自作パッケージ」と「エントリーポイントとして実行されるコード」を指定するとそれらをクラウド上に自動アップロード・自動実行がされます. これをジョブ(job) と呼びます. 無事ジョブの実行が正常に行われたらそこから生成されるログや結果(学習済みモデルなど)をダウンロードすることができるようになります.
- VSCode ライクなUIで Julia のコードを触ったり
- Pluto Notebook を書いたりすることもできます.
- さらに Genie.jl で書いた Web アプリケーションを公開する土台にも使えるようになっています.
サービスの規模感
読者がバリバリのフルスタックウェブエンジニアで AWS, GCP といった包括的なクラウドプラットフォームサービスを使いこなせる技量があるとします. 縁があって Julia をバックエンドにした開発を進めるとなると JuliaHub は物足りないと感じるかもしれません.
読者が大学/民間/個人の研究開発で(幸運なことに) Julia を使ったコードを書いているとします. 手元のマシンでは計算が追いつかないのでリッチな計算機環境を欲しがっているとします. 「なんかクラウドコンピューティングってのが流行ってるらしい. AWS, SageMaker, GCP, VertexAI などは聞いたことがあるけれど機能,サービスが多すぎて何もわからない.」 という場合には JuliaHub を使ってみると幸せになれるでしょう. 今回使ったサービスは https://juliahub.com/lp/pricing における INDIVIDUAL の範囲なので, 組織単位で運用を考える場合は必要に応じて JuliaHub 側に問い合わせてください.
読者が普段は業務で AWSやGCP を使ってる Python/機械学習 エンジニアだとします. 一方で, プライベートでは趣味で Julia を使っている. IAM やら サービスアカウントとかあまり考えずサクッとクラウド環境を使いたいという場合であれば JuliaHub を遊んでみると幸せになれます. サポートディスクにフィードバックを与えると JuliaHub の運営側も幸せになれると思います.
使ってみよう
必要なもの
JuliaHub は無料サービスではありません. 決算にはクレジットカードが必要です.
不正なカードを登録していうかのチェックは手動で行われているようなので登録したからといってすぐ使えるわけではないようです. 登録したんだけれどジョブの実行ができない場合は Support (下記画面) で英語で問い合わせると対応してくれます.
課金制度
Pay only for the resources you use.
と https://juliahub.com/lp/pricing に書いてあるようにAWS, GCP などと同様 JuliaHub は使った分だけお金が取られる従量課金制度です.
インスタンス(=JuliaHubで作成した計算機環境やアプリケーション)の規模(GPUを使うかどれくらいのCPU,RAMを使うか)によってお値段が変わります.
AWS・GCP のインスタンスを立ち上げっぱなしにして100万円も取られてしまった...みたいな事案はたまにブログ記事で出ていますよね. なので使いすぎには気をつけてください.
上限のお話
一応 JuliaHub では一ヶ月の予算は何ドルの範囲で使うという上限を指定してくれるようにはなっています. 下記の画面はアカウント作成後 Monthly Limit を 300 ドルに指定している様子です.(デフォルトだと1000ドル)
ジョブの実行時には 一定のコストの範囲で実行する or 一定の時間内で実行するというオプションをつけられるのでその意味では他のサービスに比べると気軽に使えるのかなと思っています.
ちなみに AWS,GCP などでは GPU リソースが必要なサービスは数日かかる申請/承認フローが必要ですが, JuliaHub はクレジットカードの確認がされた後はすぐ利用することができます.
無料枠のお話
25ドルです. チュートリアルを触るぐらいなら間に合うはずですけれど GPU を使うとすぐ溶けてしまうのでご利用は計画的に. ちなみに GCP は 300 ドルが無料枠でついてきます(白目).
アカウント登録とログイン
ここでは個人アカウントを登録して使うことが前提で話していきます. 企業・団体として使う場合とは異なる場合があります. 自分は GitHub アカウントと紐づけて JuliaHub を使いました.
ログイン後の画面
おおむね下記の図のようになります
クレジットカード登録前やクレジットカードに不正がないかを承認される前では画面右側にある Pluto や Julia IDE のマークは見えてません. 言い換えると Applications
側に下図が見えてれば
準備OKです.
この後は
https://help.juliahub.com/juliahub_tutorials/ にあるチュートリアルを読んで
ちまちま実行すると何ができるかわかると思います.
Twitter の Julia コミュニティで JuliaHub を使った様子を自分が呟いているので必要に応じて眺めてください
Discussion
ログイン・アカウント設定が済んだ後は↓の並列計算を試してみましょう.
無料枠の範囲内で遊べるはずです.