Kubeflow とは Kubernetes ベースの本格的な機械学習基盤です。Google に強力に推進されており、GCPにはワンプッシュでデプロイできます。AWSやAzureにも当然設置可能です。
今回は MiniKFの新登場で、普段の開発マシンやオンプレサーバに簡単に本格的な機械学習基盤 Kubeflow をインストールできるようになりました。
インストール
VagrantとVirtualboxが必須なのでインストールしましょう。
Mac
Brewを使うと楽勝です。
brew cask install vagrant virtualbox
Virtualboxのインストールが The Installation Failed
のエラーで失敗した場合は、Macの「セキュリティとプライバシ」の設定で、 "Oracle America, Inc." のソフトウェアを許可してください。
Ubuntu
Virtualboxは apt で入ります。
sudo apt install virtualbox
しかし、vagrant は apt で入るバージョンが古くて virtualbox に対応していないので、ダウンロードしてインストールしましょう。
wget https://releases.hashicorp.com/vagrant/2.2.4/vagrant_2.2.4_x86_64.deb
sudo dpkg -i vagrant_2.2.4_x86_64.deb
MiniKF 起動
mkdir -p ~/w/minikf; cd ~/w/minikf
vagrant init arrikto/minikf
vagrant up
最初の up では、VMイメージのダウンロードに20分くらいかかりますが、起動が終わったら Kubeflow 画面へアクセスできます。
Mac などローカルのマシンに入れた場合
open http://10.10.10.10:8080
手元のMacはWiFi接続しており、VMイメージのダウンロードがなかなか終わらないので、上記は本系ドキュメント及びUbuntuでの実行時の挙動から、そうなるはずだ、ということです。
Ubuntuなどオンプレサーバに入れた場合
Macなどからトンネルを接続していきましょう。サーバ [ai.local](http://ai.local)
でMiniKFを動かしていたら、
ssh -NL 8080:10.10.10.10:8080 ai.local &
open http://localhost:8080
によって Kubeflow 画面にいけます。
URL、パスワード
設定情報は本系ドキュメントで確認しましょう。 本記事執筆時だと、Jupyterノーツボックなど各種サービスの認証情報は次の通りです。
username: user
password: 12341234
おわりに
以上、本番で Kubeflow の運用を考えていたら、開発時に MiniKF を使って、本番と開発の差分を小さくしておきましょう。