メルカリ機械学習エンジニアの @hurutoriya です。
2018/09/01 に開催された GDG Dev Fest 2018 で Kubeflow について登壇してきました。
ML Sessions | GDG DevFest 2018 Tokyo
発表資料
Kubeflowについての基礎的な説明は発表資料で行っているので、ぜひご覧ください。
発表内容は、機械学習をサービスとして提供する際にいろんな壁が存在していますが、その壁をぶっ壊すのが Kubeflow だ! という流れで発表をしてきました。
僕自身が機械学習エンジニアということもあり、k8sを知り尽くしているわけではなく、あくまで機械学習エンジニアとして Kubeflowの所感を共有させていただきました。
僕自身がKubeflowに興味をもった背景としては、メルカリでは機械学習基盤の開発を
- 機械学習システムの運用の低コスト化
- 機械学習システムのサービスインまでのハードルを下げる
を目的に行っています。
現在のメルカリの機械学習システムの規模感として、1日数千万回の予測
がメルカリの機械学習基盤上で行われています。 参考資料
その関連で機械学習基盤関係の論文や記事を読み漁っているとTensorFlow Extend(以下、TFX)の概念とKubeflowというOSSに出会いました。
- TFXについての解説資料(メルカリ機械学習チームでの社内セミナー)
所感
現状の Kubeflow 0.2 では、以下のような構成になっています。
Kubeflow で提唱されている End to Endで機械学習システムを構築できるツールキットは難しいですが、各コンポーネントは概念的に非常に面白いものばかりです
Kubeflow 0.2 では、先ほど紹介したTFXと呼ばれるGoogle の機械学習基盤のコンポーネントがOSSとして公開されその一部分が取り込まれいています
- TFT (TensorFlow Transform) 残念ながら Python2.7 のみサポート
- データの変形を担当(e.g. 文章のTF-IDF化など)。TensorFlowの計算グラフを用いて処理が実行される
- TFMA (TensorFlow Model Analysis)
- TensorFlowのモデル解析を担当
上記のTFT, TFMAは Phase1 での公開で、最終的にはPhase3でTFXのすべてをOSSとして公開するとのことです!!
– TensorFlow DevSummit2018でアナウンスされたTFXの紹介動画
TFXが提案している機械学習基盤のコンポーネント郡
Kubeflow 1.0 は Kubecon2018 NA(2018.12.16 ) にリリース予定です。
1.0の目標として以下のロードマップが公開されており、非常に期待しています。
- KubeFlow 上での CI を提供
- 新しいデータがロードされると、モデルを再学習
- モデルの評価
- 評価の結果、良かったモデルをプロダクションへロールアウト
まとめ
メルカリ機械学習チームでは、最新の技術スタックを使いこなすことや、機械学習基盤を作成して社内の機械学習システム構築を加速させることに重きをおいて開発を行っています。