【くーべふろー】

Kubeflow とは?

最終更新:
💡 Kubernetesの上で、機械学習の道具を組み合わせる

Kubernetesを基盤にAI・機械学習の作業を支える、オープンソースのプロジェクト群。開発環境、パイプライン、学習設定の探索などを、必要な機能に応じて組み合わせる。

📌 このページのポイント
Kubeflow:必要な道具を組み合わせる Pipelines 処理をつなぐ 履歴を管理 前処理 → 学習 → 評価 Katib 学習設定を 探索する 指標・範囲を指定 Notebooks 開発環境 JupyterLabなど KServeとの連携 モデルの 推論を提供 旧称:KFServing Kubernetesを基盤に動かす
主要な道具と、連携する推論提供の例。各箱は役割の分類で実行順ではない。必要な機能を個別に導入でき、すべてが必須ではない。KServeは独立した連携プロジェクト。
ひよこ ひよこ
KubeflowってKubernetesの上で使うもの?
ペンギン先生 ペンギン先生
そうだよ。Kubernetesを基盤に、AIや機械学習の作業を支えるプロジェクト群なんだ。全部入りの配布パッケージだけでなく、必要な機能を個別に導入する使い方もできるよ。
ひよこ ひよこ
パイプラインってどんなもの?
ペンギン先生 ペンギン先生
前処理、学習、評価などの処理をつなぐ定義だよ。順序や実行条件、データの受け渡しを指定し、実行時にはコンテナで各処理を動かす。履歴や定義の版を管理できるけど、データや環境もそろえないと結果の再現は保証されないね。
ひよこ ひよこ
Katibは何をしてくれるの?
ペンギン先生 ペンギン先生
学習率などのハイパーパラメータを、指定した範囲や評価指標に沿って探索するよ。ランダムサーチやベイズ最適化などを使えるけど、あらゆる設定の中で最高の答えを必ず見つけるわけではないんだ。
ひよこ ひよこ
学習したモデルを公開する機能もあるの?
ペンギン先生 ペンギン先生
モデルの推論提供には、連携するKServeなどを使えるよ。以前のKFServingは2021年にKServeへ改名されたんだ。Kubeflowを入れただけで、モデルの公開設定まで自動で完成するわけではないよ。
ひよこ ひよこ
ノートブックも使える?全部の機能が必要なのかな。
ペンギン先生 ペンギン先生
NotebooksでJupyterLabなどの開発環境をKubernetes上に作れるよ。使う機能と接続方法は作業に合わせて選ぼう。クラスタの資源や利用権限を管理する運用も含めて、必要な構成を考えるのが大事だね。
ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「Kubeflow」って出てきたら「Kubernetes上でAI・機械学習の道具を組み合わせる基盤」と思えばだいたいOK!
📖 おまけ:英語の意味
「Kubeflow」 = Kubernetesと機械学習のflowを結ぶ名前
💬 公式はKをKubernetes、Fをflowに対応させているよ。flowはTensorFlowだけでなく、データの流れを扱う機械学習の枠組みも表すんだ。

参考資料

← 用語集にもどる