オンプレK8s & Rancherで作る機械学習基盤2019/05/15RancherMeetupDeepDive#1@LINE株式会社岡野兼也
View Slide
$ whoaminame:- 岡野兼也- @ジュジュbelonging:- CyberAgent- OpenSaaS Studiorole:- Backend Engineer- ほうれん草エバンジェリストinterest:- CloudNative- DevOpsdream:- 働かないことhobbies:- 登山- キャンプ2
注意事項今回の発表は入社前に株式会社キスモでやっていた内容です3
お話しすること1. MLOpsと目指した機械学習基盤2. Rancherを使って作った機械学習基盤概要3. なんで機械学習をオンプレで?4. なんでRancherを?4
お話しすること1. MLOpsと目指した機械学習基盤2. Rancherを使って作った機械学習基盤概要3. なんで機械学習をオンプレで?4. なんでRancherを?5
機械学習の成果がユーザに届くまで6Data Collect Compute Deliveryリソースを用意して学習Webサービスやエッジデバイスからデータ収集システムに組み込んでユーザに届ける
データサイエンティストがやりたいところ7Data Collect Compute Delivery- どんなデータを集めるか- どういう手法でモデルを作るか
データサイエンティストは専門職8- データについての圧倒的知識- 普段追いかけているのは新たな統計的な手法など- 必ずしもweb技術、エンジニアリングに明るくなくてもインパクトを出せる
データサイエンティストがやるべき9Data Collect Compute Deliveryデータサイエンスに注力してもらうそれ以外はどうする???
MLOpsMachine Learning + OperationDevOpsよろしく機械学習を効率的に利用できるようにするおそらく、会社の数だけ実態がある10
MLOps11Data Collect Compute Deliveryデータサイエンスで生まれる価値をシームレスにユーザに届けるFluentdBigQueryKubernetes RekcurdSagerMaker Kubeflowetcetc etcetc
データサイエンティストがデータサイエンスだけをしてもユーザに価値が届く仕組みを作る12
MLOps13Data Collect Compute Deliveryデータサイエンスで生まれる価値をシームレスにユーザに届ける今日話す部分
お話しすること1. MLOpsと目指した機械学習基盤2. Rancherを使って作った機械学習基盤概要3. なんで機械学習をオンプレで?4. なんでRancherを?14
機械学習基盤の概要図15
機械学習基盤の概要図16Jujuで必要なミドルウェアをパッケージングMAASで作られたイメージをマシンに展開
機械学習基盤の概要図17RKEでクラスタ作るGPUの管理コンテナをDaemonSetで展開Rancherの展開
機械学習基盤の概要図18学習はJupyterやコンテナの中にexecして実行リソース管理はK8sにお任せ
お話しすること1. MLOpsと目指した機械学習基盤2. Rancherを使って作った機械学習基盤概要3. なんで機械学習をオンプレで?4. なんでRancherを?19
時代はクラウド全盛● 数多くのマネージドサービス● 高い信頼性を誇るストレージ● 必要な時に必要な分のリソースを利用可能● 課金対象も使った分だけ● 世界展開も容易20
機械学習とクラウドの相性は?● 機械学習するときだけ高価なインスタンスを立てられる● SageMaker, Google Cloud ML Engineというような学習からデプロイまで一気通貫に行うサービス● 高機能なストレージサービスとも容易に連携● 推論モデルのバージョン管理も簡単21
なぜオンプレか22
機械学習とクラウドの相性は?● 機械学習するときだけ高価なインスタンスを立てられる● SageMaker, Google Cloud ML Engineというような学習からデプロイまで一気通貫に行うサービス● 高機能なストレージサービスとも容易に連携● 推論モデルのバージョン管理も簡単23精度の高いモデルを作るために、機械学習リソースは常に必要になる場合もある
高い精度で高い生産性を出すには● データサイエンティストが数多くの引き出しを持っている● 類似の学習の経験がある24データサイエンティストが常に様々なデータの解析を行うことで結果的に早く、高い精度のモデルを作ることができる
どう経験を増やす?25
Kaggle● 主に機械学習を利用したデータ分析の世界大会が行われるプラットフォーム● 与えられたデータをもとに少しでも高い精度が出せるように世界中のデータサイエンティストが研鑽している● 高い精度を目指して様々な話し合いが行われている26
キスモでの機械学習の状況● Kaggleは業務の一環● スケールの設定してもほぼ常に業務かKaggleでリソース上限を利用した学習が回り続ける27● 機械学習するときだけ高価なインスタンスを立てられるというメリットの消失● クラウドのメリットが価格面でのコストを下回ると判断
あるKaggler(キスモ役員)の名言28
29オフィスに来るなら広瀬すずより計算資源がいいあるKaggler(キスモ役員)の名言
30<あるKaggler(キスモ役員)の名言これほどリソースが常に求められる
お話しすること1. MLOpsと目指した機械学習基盤2. Rancherを使って作った機械学習基盤概要3. なんで機械学習をオンプレで?4. なんでRancherを?31
機械学習基盤を導入した結果● 嬉しいこと○ データサイエンティストが空きリソース、動作中の学習などを意識することがへった○ コンテナ化によって変化に強くなった○ 学習単位がマシンに縛られなくなった● 嬉しくないこと○ データサイエンティストがK8sやらないといけない○ データの扱い面倒臭い32
機械学習基盤を導入した結果● 嬉しいこと○ データサイエンティストが空きリソース、動作中の学習などを意識することがへった○ コンテナ化によって変化に強くなった○ 学習単位がマシンに縛られなくなった● 嬉しくないこと○ データサイエンティストがK8sやらないといけない○ データの扱い面倒臭い33データサイエンスだけすればいい世界との落差
Kubernetesを直感的に使うには…?● GUIを使う○ Rancherを使った時にK8sへの初期の嫌悪感がかなり減った● kubectlをラップする○ CUIから使った方が効率的なケースもある○ リソースを管理して学習支援34
まとめ● RancherやK8sを使ってCompute Resourceをリソースプールとして扱う● データサイエンティストの尖った部分の穴埋めをMLOpsで補い、完成度の高いモデルをいち早くユーザに届ける● データサイエンティストの研鑽の手助けをして、届ける価値を最大化する● なるべくアレルギーの出なさそうな方法を話し合いながら考えると良い35
36https://opensaas.studioOpenSaaS Studioでは開かれた文化でサービスと寄り添ってプロダクトを作りたい人を募集しています!