Upgrade to Pro — share decks privately, control downloads, hide ads and more …

GoogleCloudDayDigital PLAID MLPipeline On AIPla...

kargo113
June 11, 2020

GoogleCloudDayDigital PLAID MLPipeline On AIPlatform

Presentation on Google Cloud Day Digital 2020
「AI Platform で実現する ML Pipeline」
Movie: https://cloudonair.withgoogle.com/events/google-cloud-day-digital/watch?talk=d3-ml05

kargo113

June 11, 2020
Tweet

More Decks by kargo113

Other Decks in Technology

Transcript

  1. 68. 3 億 UU 累計ユーザー数 ※1 105,000 over 秒間トラッキング数 ※3

    0.x 秒/解析 解析速度 1.55 兆円 年間解析流通金額 ※2 ※1 ローンチ〜2020 年 2 月までの解析ユニークユーザー数の実績 ※2 EC 領域における解析流通金額。 2019 年 3 月〜2020 年 2 月までの単年の実績 ※3 秒間解析イベント数(閲覧、購入、クリックなど全計測イベントが対象。 2020 年 3 月 の最大値) 180+ PB 月間解析データ量 8+ PB 蓄積データ量
  2. 大量のリアルタイムデータ から パターンを発見する ML システムと 人しかできない思考と発想 を 継続的に統合する End-to-End の

    ML パイプラインを実現 Google Cloud を使い、 大量のリアルタイム行動データ を 捌くデータシステムと多彩な ML システムをシンプルにつなぐ パイプラインを実現 Realizing “Human in the Loop” with Google Cloud ML End-to-End System
  3. Realizing “Human in the Loop” with Google Cloud 商品の在庫最適化を図りたいが、 需要予測が難しく、在庫ロスが

    発生してコストになっている 在庫があまりそうな 商品に関しては、KARTE を活用していち早くクーポ ンを配布するなどの対策 を実施 需要予測 課題 施策 ゲームの不正ユーザーが多く、 チートなどの不正行為がなされ、 本質的なファンの離脱等が 発生してしまっている 不正ユーザーデータを、 新規会員獲得の為の 広告データに還元して、 広告の無駄な消費を減少 異常検知 施策 課題 クーポンを配布しているが、 コストが増加している為、 なるべく LTV が高いロイヤル ユーザーにのみ配布する形にし、 費用対効果を高めたい KARTE を活用して、 LTV が高い傾向にある ユーザーにのみクーポン を配布し ROI を最大化 ロイヤルカスタマー分類 課題 施策
  4. プロダクト概要 user_id name Loyal Score aaa Tanaka 0.98 bbb Suzuki

    0.88 ccc Iwasaki 0.73 ddd Murakami 0.42 eee Takahashi 0.39 fff Okada 0.32 ggg Takeda 0.20 行動データ クライアント エンドユーザー スコアに応じて クーポン出し分け 紐付けテーブル 算出したスコア COUPON “A” COUPON “B”
  5. インフラ基盤 ML System Flask Server UI Images Container Registory KARTE

    System Kubernetes Engine KARTE System 弊社開発者 Status Cloud Pub/Sub ML Pipeline AI Platform Pipelines Batch Train AI Platform Training Transform Train Inference KARTE Data BigQuery クライアント CI/CD Pipeline Github Actions cometML
  6. ML System Flask Server UI Images Container Registory KARTE System

    Kubernetes Engine KARTE System 弊社開発者 Status Cloud Pub/Sub ML Pipeline AI Platform Pipelines Batch Train AI Platform Training Transform Train Inference KARTE Data BigQuery クライアント AI Platform Pipelines CI/CD Pipeline Github Actions cometML
  7. SDK によるフロントエンド側との連携 $ pip install kfp Flask Server UI KARTE

    System Kubernetes Engine KARTE System ML System ML Pipeline AI Platform Pipelines kfp.Client.run_pipeline
  8. SDK によるフロントエンド側との連携 Flask Server UI KARTE System Kubernetes Engine KARTE

    System ML System kfp.Client.run_pipeline params = { start_date = “20200101”, end_date = “20200531”, …, } default の引数を設定すれば params には変更したい引数を入れるだけ ML Pipeline AI Platform Pipelines
  9. SDK による実行環境の分離 KARTE System Kubernetes Engine KARTE System Local System

    kfp.Client.run_pipeline experiment_id = “development” experiment_id = “production” ML System ML Pipeline AI Platform Pipelines experiment_id の引数で分離 もちろん UI からも実行可能
  10. Pub/Sub を用いた Status の管理 Flask Server UI KARTE System Kubernetes

    Engine KARTE System ML System ML Pipeline AI Platform Pipelines Status Cloud Pub/Sub { model_id: “123456”, status: “SUCCEESS”, …. } ExitHandler 成功・失敗に関わらず 必ず実行 データ更新
  11. ML System Flask Server UI Images Container Registory KARTE System

    Kubernetes Engine KARTE System 弊社開発者 Status Cloud Pub/Sub ML Pipeline AI Platform Pipelines Batch Train AI Platform Training Transform Train Inference KARTE Data BigQuery クライアント AI Platform Training cometML CI/CD Pipeline Github Actions
  12. 2 8 学習環境のスケーラビリティ Job ML Pipeline AI Platform Pipelines Batch

    Train AI Platform Training High-Memory, GPU … etc node pool 作成時に固定 --master-machine-type=”n1-highmem-8”, --master-accelerator=”type=nvidia-tesla-k80,count-2” パイプラインごとに簡単に変更可能 Job High-Memory Pool Kubernetes Engine GPU Pool Kubernetes Engine
  13. マシンリソースの最適化 Job 実行時間分だけの課金 Job がなくても node コストが発生 $ gcloud ai-plarform

    jobs submit training ML Pipeline AI Platform Pipelines Job Batch Train AI Platform Training Job High-Memory Pool Kubernetes Engine GPU Pool Kubernetes Engine
  14. 3 0 Kubeflow 側でもログを取得 ML Pipeline AI Platform Pipelines Batch

    Train AI Platform Training AI Platform Training の log を活用 ContainerOp( image="gcr.io/google.com/cloudsdktool/cl oud-sdk:slim", command=[“gcloud”,”ai-platform”, “jobs”, “submit”, “training”,…, “--stream_logs”], …. ) custom container
  15. • インスタンスコストを約 50% も削減 ◦ node コストは最小限 • 学習環境を High-Memory、GPU

    など柔軟に選択可能に ◦ ほとんどのタスクに対応可能 • インフラの管理工数も削減 ◦ フルマネージドの恩恵
  16. ML System Flask Server UI Images Container Registory KARTE System

    Kubernetes Engine KARTE System 弊社開発者 Status Cloud Pub/Sub ML Pipeline AI Platform Pipelines Batch Train AI Platform Training Transform Train Inference KARTE Data BigQuery クライアント Github Actions CI/CD Pipeline Github Actions cometML
  17. Service Account Cloud IAM Images Container Registory ML Pipeline AI

    Platform Pipelines Image pipeline develop / master ごとに image と pipeline を push CI/CD Pipeline Github Actions GitHub
  18. 今後の展望 • ML Platform としての拡充 ◦ リアルタイム基盤 ▪ AI Platform

    Prediction / Cloud Run ◦ カスタマイズ性 ▪ テンプレートエンジン ◦ 強化学習基盤 ▪ 接客サービスを最適化