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