1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Kubeflow入門: 概要レベルでの解説

Posted at

素人がKubeflowについて調べ、概要レベルで理解しました。主に公式ページからのコピペや要約です。K8S関連は知らない単語が多すぎて、とっかかりとしてKubeflowを理解しました。
今はK8Sがクラウド界隈を席巻しているな、と感じました。

内容説明

概要

KubeflowはK8S用の機械学習ツールキットです。2018年に初期リリースされ、2022年7月ではVersion1.5に更新(GitHub参照)。Cloud上でもオンプレ上でもローカルPCであっても使えます(ローカルはスペックきつい?)。
TensorFlow -> TensorFlow Extended -> Kubeflow の流れで拡張されていたたようです(History参照)。

What is Kubeflow?

機械学習ワークフローの以下各ステージで設定・使用

  • データ準備
  • モデル訓練
  • Prediction serving
  • Service Management

Mission

以下の点に留意して機械学習モデルのスケールと本番環境デプロイを可能な限りシンプルに実行することがゴール。

  • 簡単に繰り返しポータブルなデプロイを様々なインフラに実行
  • マイクロサービスのデプロイと管理
  • オンデマンドのスケール

Architecture

公式の絵がわかりにくい。
image.png

上段: ML tools

Pythonのパッケージですね。様々なパッケージが動くようです。

真ん中: Kubeflow appliation and scaffolding

様々なコンポーネントがあります("scaffolding"は「足場」という意味)。真ん中の左側はおそらく一つの機能のまとまりになっているのだと思います(右側は独立して存在しえるモジュールになっているので、そのように推測しました)。
"KFServing"と書かれていますが、今は"KServe"に名称変更しています。

最下段: Platforms/clouds

Cloud種類/On prem/Localとなっていて、どの環境でも動くことを示しています。その上にK8sがあります。

Components

論理的なコンポーネント

Central Dashboard

Kubeflowの中心的なUI。ここからいろんな画面に遷移。
image.png

Kubeflow Notebooks

Jupyter, RStudio および VS Codeが動く。

Kubeflow Pipelines

パイプラインは以下で構成。

  • 実験・ジョブ・実行の管理とトラッキングのためのUI
  • マルチステップ機械学習ワークフローをスケジュールするエンジン
  • パイプラインとコンポーネントの定義・操作をするSDK
  • SDKでのシステム対話のNotebook

下スクリーンショットのようなパイプラインが動く。
image.png

Katib

ハイパーパラメータチューニングをする機能。2022年8月現在ではベータ版。

Training Operators

機械学習モデルの訓練をOperatorを通じて実行。実際に使うときに時間かけてしらべようかと思います。

  • TensorFlow Training (TFJob): Using TFJob to train a model with TensorFlow
  • PyTorch Training (PyTorchJob): Using PyTorchJob to train a model with PyTorch
  • MXNet Training (MXJob): Using MXJob to train a model with Apache MXNet
  • XGBoost Training (XGBoostJob): Using XGBoostJob to train a model with XGBoost
  • MPI Training (MPIJob): Instructions for using MPI for training
  • Job Scheduling: How to schedule a job with gang-scheduling(「ギャングスケジューリング」)

Multi-Tenancy

Multi-user isolation と identity access management (IAM)。ユーザをグループ管理した場合の機能群っぽい(未調査)。

External Add-ons

気になったアドオンだけ記述。

Istio

Micro Service をサポートするためのアドオン。詳しくは以下参照。

KServe

KNativeとIstioから構成するServerless Layerの上に乗っかる推論用のアドオン。TensorFlow, PyTorchなどを使えます。モデルファイルは外部(S3等)から読み込みます。旧称KFServing。
image.png

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?