Successfully reported this slideshow.
Your SlideShare is downloading. ×

アドテクに機械学習を組み込むための推論の高速化

Ad

アドテクに機械学習を組み込むための
推論の高速化
株式会社マイクロアド システム開発部
データサイエンスユニット 大庭 淳史
Machine Learning 15 minutes!!
2022/07/30 Sat.

Ad

Contents
❶ インターネット広告とRTB
❷ 機械学習の推論が遅い原因
❸ 推論の高速化
2

Ad

Contents
❶ インターネット広告とRTB
❷ 機械学習の推論が遅い原因
❸ 推論の高速化
3

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Check these out next

1 of 15 Ad
1 of 15 Ad

アドテクに機械学習を組み込むための推論の高速化

「アドテクに機械学習を組み込むための推論の高速化」
2022/08/01 第68回 Machine Learning 15 minutes!! #ML15min
https://machine-learning15minutes.connpass.com/event/252238/

「アドテクに機械学習を組み込むための推論の高速化」
2022/08/01 第68回 Machine Learning 15 minutes!! #ML15min
https://machine-learning15minutes.connpass.com/event/252238/

More Related Content

アドテクに機械学習を組み込むための推論の高速化

  1. 1. アドテクに機械学習を組み込むための 推論の高速化 株式会社マイクロアド システム開発部 データサイエンスユニット 大庭 淳史 Machine Learning 15 minutes!! 2022/07/30 Sat.
  2. 2. Contents ❶ インターネット広告とRTB ❷ 機械学習の推論が遅い原因 ❸ 推論の高速化 2
  3. 3. Contents ❶ インターネット広告とRTB ❷ 機械学習の推論が遅い原因 ❸ 推論の高速化 3
  4. 4. インターネット広告の流れ 4 DSP Demand Side Platform RTB Real Time Bidding SSP Supply Side Platform 広告ください Aが一番高いな A B C 入稿 入稿 入稿 広告主 WEBサイト 表示 90円! 30円! 50円! 90円で Aを表示!
  5. 5. Demand Side Platform(DSP) クリック確率予測 購買確率予測 落札額予測 ユーザー行動予測 70円 広告情報 広告在庫 機械学習モデル 5 DSP Demand Side Platform
  6. 6. Demand Side Platform(DSP) クリック確率予測 購買確率予測 落札額予測 ユーザー行動予測 70円 広告枠情報 広告在庫 機械学習モデル 6 DSP Demand Side Platform ~5ms ~5ms ~5ms ~5ms ~50ms
  7. 7. 本日の主旨 インターネット広告という時間制約の厳しい業界の中で どのように機械学習を推論を高速化しているのか 7
  8. 8. Contents ❶ インターネット広告とRTB ❷ 機械学習の推論が遅い原因 ① Pythonは並列処理が不得意 ② 機械学習ライブラリは学習に特化している ❸ 推論の高速化 8
  9. 9. 機械学習の推論はなぜ遅いのか PythonのマルチスレッドではCPUをフル活用できない Global Interpreter Lock(GIL) とは ● Python3の処理系であるCPythonに存在する排他ロックの仕組み ● 実行できるバイトコードは1プロセスで1スレッドのみという制約 ① Pythonは並列処理が不得意 9
  10. 10. 機械学習の推論はなぜ遅いのか ② 機械学習ライブラリは推論が低速 更新 推論 評価 10 • Pythonの機械学習ライブラリは C言語で実装されていてかなり高速 • しかし、機械学習ライブラリにはモデルを 学習する処理が含まれてしまっているた め、推論処理にチューニングされていない
  11. 11. Contents ❶ インターネット広告とRTB ❷ 機械学習の推論はなぜ遅いのか ❸ 推論の高速化 11
  12. 12. マルチプロセス✖マルチコンテナ構成 ■ マルチプロセス Pythonの低速なマルチスレッドを 回避するため複数プロセス化 12 ■ マルチコンテナ マルチコンテナを許容することで モデルのABテストに対応 ■ LBコンテナ ポート毎のリクエストの振り分けと ロギングを担当
  13. 13. 推論特化フレームワーク 13 ■ ONNX Runtime ONNX 形式の実行エンジン 学習済みモデルのデファクトスタンダード ■ TensorRT NVIDIA社が自社GPU向けに提供 ONNX始め多くのモデル形式に対応 モデルフォーマット ■ Open Neural Network Exchange(ONNX) Protocol Bufferでモデルを定義するニューラルネットワーク用モデルフォーマット PytorchやKerasなどの機械学習フレームワークからエクスポート可能 推論エンジン
  14. 14. ONNX Runtime の効果 推論速度(CPU) Docker imageサイズ PyTorch 713 µs ± 13.5 µs 2.14 GB ONNX Runtime 115 µs ± 14.4 µs 504 MB 落札額予測の事例 広告枠情報と広告を閲覧したユーザーの情報を入力とし 落札額、落札確率を予測するモデル 14 落札額予測モデルのアーキテクチャ モデル構成 ● 特徴量種別毎の Embedding 層 ● 3層の Transformer 層 ● 3層の Multi Layer Perceptron
  15. 15. まとめ ① Pythonは並列処理が不得意 → マルチプロセス✖マルチコンテナ ② 機械学習ライブラリは学習に特化している → 推論特化フレームワークの利用 15

×