Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
論文読み会 / On the Factory Floor: ML Engineering fo...
Search
chck
September 30, 2022
Research
0
11
論文読み会 / On the Factory Floor: ML Engineering for Industrial-Scale Ads Recommendation Models
社内論文読み会、PaperFridayでの発表資料です
chck
September 30, 2022
Tweet
Share
More Decks by chck
See All by chck
CyberAgent AI Lab研修 / Container for Research
chck
0
1.8k
CyberAgent AI Lab研修 / Code Review in a Team
chck
2
1.7k
論文読み会 / Socio-Technical Anti-Patterns in Building ML-Enabled Software: Insights from Leaders on the Forefront
chck
0
44
CyberAgent AI事業本部MLOps研修Container編 / Container for MLOps
chck
2
5.5k
論文読み会 / GLAZE: Protecting Artists from Style Mimicry by Text-to-Image Models
chck
0
29
論文読み会 / GUIGAN: Learning to Generate GUI Designs Using Generative Adversarial Networks
chck
0
21
機械学習開発のためのコンテナ入門 / Container for ML
chck
0
920
Web系企業研究所における研究開発を加速させるエコシステム / Ecosystem accelerates our R&D in CyberAgent AI Lab
chck
0
140
論文読み会 / Counterfactual VQA: A Cause-Effect Look at Language Bias
chck
0
19
Other Decks in Research
See All in Research
単施設でできる臨床研究の考え方
shuntaros
0
2.3k
不確実性下における目的と手段の統合的探索に向けた連続腕バンディットの応用 / iot70_gp_rff_mab
monochromegane
2
130
定性データ、どう活かす? 〜定性データのための分析基盤、はじめました〜 / How to utilize qualitative data? ~We have launched an analysis platform for qualitative data~
kaminashi
7
1.1k
学生向けアンケート<データサイエンティストについて>
datascientistsociety
PRO
0
5.4k
Galileo: Learning Global & Local Features of Many Remote Sensing Modalities
satai
3
160
電通総研の生成AI・エージェントの取り組みエンジニアリング業務向けAI活用事例紹介
isidaitc
1
880
Streamlit 総合解説 ~ PythonistaのためのWebアプリ開発 ~
mickey_kubo
1
1.4k
Vision and LanguageからのEmbodied AIとAI for Science
yushiku
PRO
1
500
大規模な2値整数計画問題に対する 効率的な重み付き局所探索法
mickey_kubo
1
330
時系列データに対する解釈可能な 決定木クラスタリング
mickey_kubo
2
900
問いを起点に、社会と共鳴する知を育む場へ
matsumoto_r
PRO
0
580
20250502_ABEJA_論文読み会_スライド
flatton
0
190
Featured
See All Featured
Understanding Cognitive Biases in Performance Measurement
bluesmoon
29
1.8k
The Straight Up "How To Draw Better" Workshop
denniskardys
236
140k
Typedesign – Prime Four
hannesfritz
42
2.8k
Stop Working from a Prison Cell
hatefulcrawdad
271
21k
Being A Developer After 40
akosma
90
590k
Why Our Code Smells
bkeepers
PRO
338
57k
Six Lessons from altMBA
skipperchong
28
4k
How STYLIGHT went responsive
nonsquared
100
5.7k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
61k
Build your cross-platform service in a week with App Engine
jlugia
231
18k
Imperfection Machines: The Place of Print at Facebook
scottboms
268
13k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
8
480
Transcript
On the Factory Floor: ML Engineering for Industrial-Scale Ads Recommendation
Models 22/09/30 PaperFriday, Yuki Iwazaki@AI Lab
2 Point: Google AdsのCTR予測システムのProduction Case Studyの紹介 RecSys ORSUM WS, 2022
Authors: Rohan Anil, Sandra Gadanho, Da Huang, Nijith Jacob, Zhuoshu Li, Dong Lin, Todd Phillips, Cristina Pop, Kevin Regan, Gil I. Shamir, Rakesh Shivanna, Qiqi Yan 選定理由: - Google Adsの理解を深めたい - Dynalyst (DSP事業) のTechnical Reviewerなので
Introduction 3
広告のCTR予測は収益に影響する最重要課題 GoogleのPrd Model - 10B weights - 100B training samples
- 100K qps estimations のCTR予測特有の課題や解決を紹介 精度/学習推論コストのバランスと 継続的に改善できる仕組みが重要 4 Field-aware Factorization Machines for CTR Prediction
“検索広告”のCTR予測 検索広告は検索クエリ qと広告aのmatching問題 CTRモデル的には P(click|x) の予測が目的 x := <a, q>
(+Season, UI design, etc…) 特にUIは広告配置に関わるのでCTRに大きく影響 5 Europe's biggest airline is attacking Google over its 'misleading' search ads
Model and Training Overview 7
Model and Training Overview x := <a, q>をどう表現するか 検索広告なので検索クエリqは検索text, 広告aは見出しtextが重要
- 🙅 Text token -> Transformer -> eCTR - ✅ Subword n-gram -> MLP -> eCTR - q, aのtextは短くsparse featureなため - <a, q> all features └ one-hot category └ sparse embedding └ MLP -> eCTR 8
Online Optimization Clickは流動性があるのでCTR予測はオンライン推薦問題 - 翻訳や画像推薦はstatic ground truth - ClickのTrendは時間とともに変化 時系列の配信ログP(click,
<a, q>)をstreamingで学習 評価は学習以前のモデルとの比較 (progressive validation) - ✅ Batch学習のような誤差平均が要らず検証結果がすぐ得られる - ✅ Validation dataをまとめて取っておく必要がない 9
ML Efficiency 10
ML Efficiency GoogleのCTR予測システム要件 - 10B requests/day - 100K estimations/second 計算機リソースが限られている場合に評価すべきは
- Bandwidth (同時に学習できるモデル数 ) - 重い実験タスクを行っている研究者数に依存 - Latency (モデルのe2eの学習・評価時間) - GPUを拡充する - Throughput (単位時間あたりに学習できるモデル数 ) - GPUを2倍に増やすとlatencyは減るが, 並列化のoverheadでサチってthroughputは2倍にはならない 11
Bottlenecks 1. 精度を上げるためにレイヤーサイズを大きくし計算量を増やす 2. Bottleneck層を追加して特徴量を圧縮, 精度を下げてでも計算量を削減 - このバランシングは人手かAutoMLで最適化 12
AutoML for Efficiency 以下3構成からなるNAS a. 重み共有ネットワーク - 探索空間内の全てのネットワークの 候補を構成 b.
RLコントローラ - 候補ネットワークの活性化を制御 - c. 制約: 学習時間や推論速度 13
Data Sampling 検索広告のログは膨大なのでSamplingで学習コストを抑える a. 扱う時間範囲を限定する b. 範囲内のデータをさらにサンプリング クリックの正例は少ないので貴重 - 負例をダウンサンプリングしてクラスバランスを取る
- ラベルの割合の逆数をclass weightにかけて重み付け 他に有効なサンプリング - 低いlog-lossと関連するサンプル - 配信枠の位置的にユーザに見られた可能性の低いサンプル 14
Data Sampling Class re-balancing - Pseudo-Random Sampling - Simple-Random Sampling
Loss-based sampling - teacher modelの予測値 (soft target)を利用 - dataset distillation 1. 全データに対して一度学習する (teacher model) 2. teacher modelの予測結果をstudent modelに用いることで データサンプルにsamplingに近しい重みをかけられる 15
Accuracy 16
Loss Engineering 基本はclick/no-clickのcross-entropy loss 重要度は広告候補の表示順 > eCTR -> Ranking lossが有効
- RankNetで提案されているpairwise-loglossを採用 - Rankingは予測値が偏るためbias補正が必要 17 学習コスト +1%, 精度+0.81%
Distillation teacher modelの出力をsoft target labelとして扱い、 その出力に近づくようなlossをstudentに追加する手法 1. 各sampleに対しteacher modelの予測値を保存しておく 2.
student modelに通常のcross entropy loss(hard target loss)に加えて、 teacher modelの予測値と近づけるような loss(soft target loss)を仕込んで学習 精度向上だけでなく学習コストを削減できる - teacher modelが全データで学習しているため、 student modelは少量かつ最新のデータのみを学習すればいい 18 学習コスト ±0%, 精度+0.41%
Curriculums of Losses Curriculum learning...簡単なタスクから学習し、 徐々に難しいタスクに切り替えていく手法 学習初期に全ての損失を最適化しようとするとモデルが不安定に (lossが発散する異常な勾配が現れてしまう) -> binary
log-lossだけ最初に最小化し、 distillationやranking lossはあとからタスクに追加 19
Second-order Optimization 勾配に対して2次近似する2次最適化は 1次最適化と比べ収束しやすいことが知られているが、 パラメータが膨大なDNNでは計算量の観点で非現実的 20 Gradient Descent (and Beyond)
Distributed Shampoo Distributed StocHAstic oPtiMizatiOn Over tensor spaces - Host
CPUとWorker TPUsを用いた分散最適化で2次最適化を実現 - AdaGradやAdamと比べ収束速度や精度が改善 小規模なBenchmarkの場合Overheadがかかりすぎて有効ではないが、 Googleの配信ログ規模だとbatch-sizeも大きいので Optimizerがそこそこ重くても有効 21 学習コスト +10%, 精度 far outweighed!🤔
Stability & Efficiency Block-diagnalization - 😥 Distiruted Shampooは2次近似なので大きい行列の乗算がある - ブロック対角行列に変換
-> メモリや計算量を削減 Weight-update sharding - 重みの更新を分散計算する仕組み , ブロックごとの並列更新を実装 22 Subspace Clustering by Block Diagonal Representation
Deep & Cross Network (DCNv2) <a, q>のEncoderとしてメインのDNNに連結 sparse feature ->
embedding dense featureを要素積でskip connection embeddingの次元はAutoMLで調整 23 学習コスト +3%, 精度+0.18%
Efficiency and Accuracy Results 24
Irreproducibility 25
モデルの再現性は検証が大変 データや精度が同じでも異なる最適解に収束したモデルが複数あった 場合、推論結果が変わってしまい売上やオークションに影響 - このモデルによる配信ログが後続の学習に使われるので影響範囲大 - localモデルがprdで改めて学習されたときに売上が落ちる場合も 再現性に影響する要因 - ランダムな初期化
- 並列・分散学習による非決定性 - 数値の誤差 - ハードウェア依存 標準偏差や分散は見れるが、学習結果がたくさん必要なので非現実的 26
Relative Prediction Difference (PD) 再現度を表すスコア, 小さいほど良い PDの計算にモデルを2回学習させる必要があるがそれほど重要 DNNではPDが20%になることも 27 2つのモデルの予測値間の距離
2つのモデルの平均予測値で正規化
PDの改善 ✅ 初期値の固定, 正則化, dropout, data augmentation 🙅 warm-start -
モデルを潜在的に悪い空間に固定してしまう可能性 ✅ 3-component ensembles… PD 17% -> 12% - 初期値の異なるモデルを複数回学習 , 予測値を平均, 🙅 複数のモデル運用が大変 - ✅ anti-distillation… アンサンブル学習の各学習に使うサンプルの相関を敢えて減らし、学習 の構成要素をモデル間で遠ざけてアンサンブルの多様性を高める手法 ✅ ReLU -> SmeLU… PD<10%, AUC+0.1% - ReLUの勾配が0から1にswitchする直線を2次関数的なカーブで滑らかにしたもの 28 Smooth reLU [Shamir, 20]
Generalizing across UI treatments 29
Generalizing across UI treatments CTRを上げる要因の一つはUI(配信枠)にある - 表示位置, 他の広告との相対的な位置 , 太字やインライン画像などのレンダリング
30 配信枠を τ(Q・U)で表現している Q…Quality, U…UI特徴 Q…大規模なQuality推定モデルから広告毎に 1回取得 U…軽量なUI特徴Encoderの出力をCache
Credit Attribution UI biasは再現性を下げる一因 - Model A…高CTRの広告がページ上部 だったデータで学習 - 広告の位置が高いほどCTRが良くなるはず
- Model B…高CTRの広告がページ下部 だったデータで学習 - 検索クエリと広告の関連性がCTRに最も重要 - このモデルが同じ広告に対して高い eCTRを出力してもそのfactorは異なり、 Model AがDeployされるとページ下部のオイシイ枠を全然推薦しなくなってしまう 31
Bias constraints bias制約項を目的変数に追加することでbiasが小さくなるように学習 を調整, 制約項なしのときと比べeCTRの精度が安定 32
Conclusion 33
Conclusion • 大規模なCTR予測で効果的な技術を紹介 • 精度・学習・導入コスト・再現性・モデルの複雑さのバランスが重要 • CTR予測や推薦、オンライン学習の産業応用に役立つことを期待 34
Comment • 蒸留などの高速化を行えばRTBでも利用可能なDNNを運用できる • モデル構造はシンプル、AutoML NASで精度とコスト両方最適化 • Google Ads規模だとe2eの1モデルではなく 複数の推論モデルのpipeline構成になっている
◦ Labでも得意分野毎にmodelを作り組み合わせることが有効か ▪ もちろん運用は大変そう • DNNの運用改善Tipsの宝庫なのでぜひ読んでほしい 35