Machine Learning Lifecycle with Kubeflow on Azure Kubernetes Service (AKS)
続く2本目のセッションは、日本マイクロソフトの佐藤直生さんです。発表資料はこちらに公開されています。

Kubeflowを利用した機械学習のライフサイクルについて、2018年10月に開催されたKubeCon Chinaにて米マイクロソフトのRita Zhang氏が行ったデモを再現しながら紹介されていました。デモの様子は、スライド資料に貼ってあるYouTube動画より参照することができます。
「Kubernetesユースケースの一つとして、一般的によく言われるアプリケーションのホスト先ではなく、機械学習のトレーニングなどのライフサイクルにKubernetesを利用するというケースを紹介していきます」と話し、セッションが始まりました。

機械学習、特にディープラーニングでは、トレーニングで何度も繰り返しトライ&エラーを繰り返す必要があり、それがボトルネックとなって手間暇や時間がかかってしまう、と紹介したのち、いかにこの部分をシーケンシャルではなくパラレルにトレーニングを繰り返すか、という解決策として、コンテナ技術やKubeflowを使っていく流れを解説していきます。Kubeflowは、Kubernetes上で機械学習のワークフローを構築するツールキットです。

ここでデモFind Fan Bingbingを披露されました。これは先日失踪した中国の女優Fan Bingbingを画像認識で探そう、というデモでした。画像を渡すとFan Bingbingかそうではないかを判定してくれる検出器を作成します。
まずは単にTensorFlowをローカルマシンのDockerコンテナで実行して、学習モデルの作成、モデルのサービングをすることで検出器ができました。次は、この一連の流れをAzure上のKubernetesでKubeflowを使って実現していきます。Azure上のGPUマシンで大規模なトレーニングをパラレルに実行できることが確認できました。
続けて、ハイパーパラメータチューニングのデモです。サーバレスコンテナ環境であるAzure Container Instance (ACI) を使うことで、異なるパラメータのモデルをそれぞれPod上で同時並行起動してトレーニングをしているとのことです。すごいですね。起動&終了の早いACIは、大多数のトレーニングをエラスティックに実行するユースケースに非常にフィットしているのだなと実感できるデモでした。
そして最後に、2018年12月頭にGA(一般提供)されたAzure Machine Learningサービスを紹介して締めくくりました。

