ハイブリッドmlパイプラインによる ビジネスアジリティの向上 · 2020. 10....
TRANSCRIPT
Copyright © 2020 Yahoo Japan Corporation. All Rights Reserved.
2020年10⽉15⽇ヤフー株式会社⽯川貴⼤
ハイブリッドMLパイプラインによるビジネスアジリティの向上
Copyright © 2020 Yahoo Japan Corporation. All Rights Reserved.
⾃⼰紹介
ü ⽯川貴⼤(いしかわたかひろ)
• 役職- COO事業推進室 事業推進統括部 データディレクター
• 業務- コマース全般のマーケティングへのデータ利活⽤の推進- PayPayモールやフリマ、ショッピング、トラベルなど
• その他- 某研究所にて資産や負債の⻑期リスク管理の調査研究に従事
2
Copyright © 2020 Yahoo Japan Corporation. All Rights Reserved.
モデリング施策の紹介
3
• プレミアム会員へのマーケティング- Churn PredictionやUplift Modelingを実施- ROIの最適化やプレミアム会員のインサイトの獲得
• レコメンド配信の最適化- 各コマースサービスに対するユーザの嗜好度合いを予測- メディアサービスからコマースサービスへの送客効果を最⼤化
Copyright © 2020 Yahoo Japan Corporation. All Rights Reserved.
AWS活⽤のマイルストーン
4
# 主な利⽤プロダクト• Spark ML• Airflow• モデリングツール
AWS検討前〜2019H1
AWS PoC2019H2
フェーズ12020(現在)
フェーズ22021〜
# 主な検証プロダクト• AWS SageMaker• AWS Glue• AWS Step Functions
• モデル改善速度が遅い • プライベートクラウドを利⽤すべきシーンが存在
• ハイブリッドクラウドのアーキテクチャ設計
• モデルCI/CDの実現
# 主な利⽤プロダクト• Kubernetes• Airflow• AWS SageMaker• AWS Step Functions
Data Science SDK
# 主な利⽤プロダクト• Kubernetes• Airflow• AWS SageMaker• AWS Step Functions
Data Scinece SDK• ︖︖︖
• オンライン学習やリアルタイム推論の実現課題
環境
Copyright © 2020 Yahoo Japan Corporation. All Rights Reserved.
⽬次
1. 背景と⽬的
2. 機械学習モデルの役割
3. AWS活⽤⽅針
4. DevOpsの取り組み
5
Copyright © 2020 Yahoo Japan Corporation. All Rights Reserved.
⽬次
1. 背景と⽬的
2. 機械学習モデルの役割
3. AWS活⽤⽅針
4. DevOpsの取り組み
6
Copyright © 2020 Yahoo Japan Corporation. All Rights Reserved.
背景と⽬的
• 背景-データ戦略の推進および投資対効果の最⼤化の両⽴
• ⽬的- 機械学習モデル構築におけるAWSのユースケースの定義- 技術リスクの分散のためのハイブリッドクラウドの提案
7
Copyright © 2020 Yahoo Japan Corporation. All Rights Reserved.
⽬次
1. 背景と⽬的
2. 機械学習モデルの役割
3. AWS活⽤⽅針
4. DevOpsの取り組み
8
Copyright © 2020 Yahoo Japan Corporation. All Rights Reserved.
MLパイプラインの役割(AsIs)
プロダクトおよびバックエンドの改善が個別に推進
9
プロダクト 機械学習モデル
データ
スコア
ヤフーユーザ
Copyright © 2020 Yahoo Japan Corporation. All Rights Reserved.
MLパイプラインの役割(ToBe)
プロダクト 機械学習モデル
データ
スコア
ヤフーユーザ
フィードバックループによってシステムを⾃動化し事業をスケール
10
Copyright © 2020 Yahoo Japan Corporation. All Rights Reserved.
ハイブリッドクラウド構成(1/2)
ビジネスの課題解決のため実験速度とリリース速度を向上
ヤフー (プライベートクラウド)
AWS (パブリッククラウド)
プロダクト 機械学習モデル
データ
意思決定
11
Copyright © 2020 Yahoo Japan Corporation. All Rights Reserved.
ハイブリッドクラウド構成(2/2)
技術負債の蓄積をコントロールしアルゴリズムの改善速度を向上
ワークフローの⾃動化
データ集計 前処理 モデリング バックテスト モデル管理
データ集計 前処理 推論 モニタリング 後処理
学習
推論
⾚: ヤフー、⻘: AWS、⻩: ヤフー/AWS
12
Copyright © 2020 Yahoo Japan Corporation. All Rights Reserved.
⽬次
1. 背景と⽬的
2. 機械学習モデルの役割
3. AWS活⽤⽅針
4. DevOpsの取り組み
13
Copyright © 2020 Yahoo Japan Corporation. All Rights Reserved.
モデルの探索段階(1/3)
データ集計以降の過程をAWSで実施しモデルの開発速度を向上
データ集計 前処理 モデリング バックテスト モデル管理
データ集計 前処理 推論 モニタリング 後処理
学習
推論
14
Copyright © 2020 Yahoo Japan Corporation. All Rights Reserved.
モデルの探索段階(2/3)Yahoo! Japan Network AWS Cloud
Teradata
SQL
CSV
Amazon S3
Amazon SageMaker
Train JobModel
Amazon S3バッチ推論
Batch Transform
学習
AWS Direct
Connect
AWS Transit
Gateway
データ抽出
AWS Glue(Python Shell)
前処理(特徴量生成)
Pandas / AWS Data Wrangler
Notebook InstanceABテスト
5. 後処理
Step Functions Data Science SDK
Hive/Spark
15
Copyright © 2020 Yahoo Japan Corporation. All Rights Reserved.
モデルの探索段階(3/3)
16
Step Functions Data Science SDKによるワークフローの実装
Copyright © 2020 Yahoo Japan Corporation. All Rights Reserved.
モデルの運⽤段階(1/3)
前処理以降の過程をAWSで実施しモデルのサービングを実施
データ集計 前処理 モデリング バックテスト モデル管理
データ集計 前処理 推論 モニタリング 後処理
学習
推論
17
Copyright © 2020 Yahoo Japan Corporation. All Rights Reserved.
モデルの運⽤段階(2/3)
Yahoo! Japan Network
Amazon S3
Model
Amazon S3
バッチ推論
Batch Transform学習
ABテスト/モデル監視
前処理(特徴量生成)
KubernetesGPUクラスタ
Airflow
ORC
HiveQLなど Train Job
Amazon SageMaker
Airflow Web UI
データ抽出
Test data
Train data
アップロード
Raw dataHive/Spark/
Teradata
AWS Direct
Connect
AWS Transit
Gateway
Step Functions Data Science SDK
学習
18
Copyright © 2020 Yahoo Japan Corporation. All Rights Reserved.
Hive(プライベート)⇄ S3(パブリック)のプラグインを実装
モデルの運⽤段階(3/3)
19
Hive → S3 Operator
S3 → Hive Operator
Copyright © 2020 Yahoo Japan Corporation. All Rights Reserved.
⽬次
1. 背景と⽬的
2. 機械学習モデルの役割
3. AWS活⽤⽅針
4. DevOpsの取り組み
20
Copyright © 2020 Yahoo Japan Corporation. All Rights Reserved.
モデルのCI/CD(1/3)
PRイベントからオフライン評価を⾃動実⾏しマージイベントから本番環境へのデプロイを実施
21
×○
Master
Algo-1
Algo-2
プロダクションへデプロイKPI評価(ABテスト)
オフライン評価現⾏モデルとの⽐較 ステージングへコピー
ワークフローの動作テストに利⽤
開発アカウント
本番アカウント
ステージングアカウント
Copyright © 2020 Yahoo Japan Corporation. All Rights Reserved.
モデルのCI/CD(2/3)
Amazon S3Training + Inference Data
Amazon SageMakerNotebook Instance
On-premiseJupyter Notebook
On-premiseGHE
Screwdriver.cd+
boto3
AWS Step Functions workflow
Amazon SageMakerTraining Job
Amazon SageMakerBatch Inference
Amazon S3Model File
AWS Lambda
ModelCreate Git
Pull Request
Trigger Start Execution
Put ObjectNotification
OfflineEvaluation
Model
Model
Record Offline Metrics
(CSV/JSON)Link to Model Information
Offline Metrics
AWS GluePre Process
Amazon S3Production Account
22
Copyright © 2020 Yahoo Japan Corporation. All Rights Reserved.
モデルのCI/CD(3/3)
23
Staging Account & Production AccountDevelopment Account Staging Account & Production Account
Amazon S3Model File
AWS Lambda
Amazon S3Model File
Amazon SageMaker
Amazon API Gateway
Model Git Merge
HTTPS API
Copy Object
Model
Register ModelInvoke
Model Name
Record Deployment HistoryAmazon S3
Model History BucketProduction Account
A/B Testing Workflow
Copyright © 2020 Yahoo Japan Corporation. All Rights Reserved.
まとめ
• 本発表の内容- ハイブリッドクラウド構成およびAWS活⽤⽅針- モデルCI/CDを含むDevOpsの取り組み
• 今後の展望- バッチ推論におけるモデルCI/CDの実現- オンライン学習およびリアルタイム推論システムの実現
24
Copyright © 2020 Yahoo Japan Corporation. All Rights Reserved.
End