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
29
論文読み会 / 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研修 / Social Implementation Anti-Patterns in AI Lab
chck
0
21
CyberAgent AI Lab研修 / Container for Research
chck
1
2.1k
CyberAgent AI Lab研修 / Code Review in a Team
chck
3
2.1k
論文読み会 / Socio-Technical Anti-Patterns in Building ML-Enabled Software: Insights from Leaders on the Forefront
chck
0
73
CyberAgent AI事業本部MLOps研修Container編 / Container for MLOps
chck
3
5.8k
論文読み会 / GLAZE: Protecting Artists from Style Mimicry by Text-to-Image Models
chck
0
52
論文読み会 / GUIGAN: Learning to Generate GUI Designs Using Generative Adversarial Networks
chck
0
40
機械学習開発のためのコンテナ入門 / Container for ML
chck
0
950
Web系企業研究所における研究開発を加速させるエコシステム / Ecosystem accelerates our R&D in CyberAgent AI Lab
chck
0
160
Other Decks in Research
See All in Research
大規模言語モデルにおけるData-Centric AIと合成データの活用 / Data-Centric AI and Synthetic Data in Large Language Models
tsurubee
1
490
空間音響処理における物理法則に基づく機械学習
skoyamalab
0
190
Collective Predictive Coding and World Models in LLMs: A System 0/1/2/3 Perspective on Hierarchical Physical AI (IEEE SII 2026 Plenary Talk)
tanichu
1
240
生成AIとうまく付き合うためのプロンプトエンジニアリング
yuri_ohashi
0
130
さまざまなAgent FrameworkとAIエージェントの評価
ymd65536
1
410
説明可能な機械学習と数理最適化
kelicht
2
920
病院向け生成AIプロダクト開発の実践と課題
hagino3000
0
530
ペットのかわいい瞬間を撮影する オートシャッターAIアプリへの スマートラベリングの適用
mssmkmr
0
250
Sat2City:3D City Generation from A Single Satellite Image with Cascaded Latent Diffusion
satai
4
650
都市交通マスタープランとその後への期待@熊本商工会議所・熊本経済同友会
trafficbrain
0
120
一般道の交通量減少と速度低下についての全国分析と熊本市におけるケーススタディ(20251122 土木計画学研究発表会)
trafficbrain
0
160
[IBIS 2025] 深層基盤モデルのための強化学習驚きから理論にもとづく納得へ
akifumi_wachi
19
9.5k
Featured
See All Featured
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
2.1k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
1.7k
Designing Powerful Visuals for Engaging Learning
tmiket
0
230
The Cult of Friendly URLs
andyhume
79
6.8k
Stop Working from a Prison Cell
hatefulcrawdad
273
21k
The World Runs on Bad Software
bkeepers
PRO
72
12k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
54k
Game over? The fight for quality and originality in the time of robots
wayneb77
1
110
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
34
2.6k
How to build a perfect <img>
jonoalderson
1
4.9k
Optimizing for Happiness
mojombo
379
71k
エンジニアに許された特別な時間の終わり
watany
106
230k
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