DEV Community

Cover image for MiniKFでオンプレ機械学習基盤
Cong
Cong

Posted on

MiniKFでオンプレ機械学習基盤

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 に対応していないので、ダウンロードしてインストールしましょう。

https://releases.hashicorp.com/vagrant/2.2.4/vagrant_2.2.4_x86_64.deb

MiniKF 起動・アクセス

mkdir -p ~/w/minikf
cd ~/w/minikf
vagrant init arrikto/minikf
vagrant up

最初の up では、VMイメージのダウンロードに20分くらいかかりますが、VMの起動が終わったら次に MiniKFを起動

vagrant ssh
minikf # vagrant 内

minikfコマンドが成功したら、
Kubeflow 画面 http://10.10.10.10:8080
へアクセスできるようになります。

Macの場合

2019/06/06現在、VM内で minikf コマンドが失敗に終わりました。

An unexpected exception has occured
Line: build/bdist.linux-x86_64/egg/rok_common/cmdutils.py:936
Type: CommandExecutionError
Reason: Command `<ExtCommand `systemctl start data.mount', status=FINISHED (ret: 1), PID=12176, shell=False>' failed: 'Job for data.mount failed. See "systemctl status data.mount" and "journalctl -xe" for details.\n'

The logfile `/home/vagrant/provision.log' may contain more information on this error, including a backtrace.

*** MiniKF provisioning tool terminated. Press Enter to restart, Ctrl-C to exit...

Ubuntuなどオンプレサーバに入れた場合

MacなどからSSHトンネルを接続していきましょう。
サーバ ai.local でMiniKFを動かしていたら、

ssh -NL 8080:10.10.10.10:8080 ai.local &
open http://localhost:8080

によって Kubeflow 画面にいけます。

URL、パスワード

設定情報は本系ドキュメントで確認しましょう

GPU

MiniKF does not currently support GPU pass-through, but it is definitely in our immediate plans

GPUはまだサポートされていないのですが、直近の開発プランに含まれているとのこと。

おわりに

以上、本番で Kubeflow の運用を考えていたら、開発時に MiniKF を使って、本番と開発の差分を小さくしておきましょう。

本記事はMediumQiitaからのクロスポストです。

Top comments (0)