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

論文読み会 / On the Factory Floor: ML Engineering fo...

chck
September 30, 2022

論文読み会 / On the Factory Floor: ML Engineering for Industrial-Scale Ads Recommendation Models

社内論文読み会、PaperFridayでの発表資料です

chck

September 30, 2022
Tweet

More Decks by chck

Other Decks in Research

Transcript

  1. On the Factory Floor: ML Engineering for Industrial-Scale Ads Recommendation

    Models 22/09/30 PaperFriday, Yuki Iwazaki@AI Lab
  2. 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なので
  3. 広告のCTR予測は収益に影響する最重要課題 GoogleのPrd Model - 10B weights - 100B training samples

    - 100K qps estimations のCTR予測特有の課題や解決を紹介 精度/学習推論コストのバランスと 継続的に改善できる仕組みが重要 4 Field-aware Factorization Machines for CTR Prediction
  4. “検索広告”の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
  5. 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
  6. Online Optimization Clickは流動性があるのでCTR予測はオンライン推薦問題 - 翻訳や画像推薦はstatic ground truth - ClickのTrendは時間とともに変化 時系列の配信ログP(click,

    <a, q>)をstreamingで学習 評価は学習以前のモデルとの比較 (progressive validation) - ✅ Batch学習のような誤差平均が要らず検証結果がすぐ得られる - ✅ Validation dataをまとめて取っておく必要がない 9
  7. ML Efficiency GoogleのCTR予測システム要件 - 10B requests/day - 100K estimations/second 計算機リソースが限られている場合に評価すべきは

    - Bandwidth (同時に学習できるモデル数 ) - 重い実験タスクを行っている研究者数に依存 - Latency (モデルのe2eの学習・評価時間) - GPUを拡充する - Throughput (単位時間あたりに学習できるモデル数 ) - GPUを2倍に増やすとlatencyは減るが, 並列化のoverheadでサチってthroughputは2倍にはならない 11
  8. AutoML for Efficiency 以下3構成からなるNAS a. 重み共有ネットワーク - 探索空間内の全てのネットワークの 候補を構成 b.

    RLコントローラ - 候補ネットワークの活性化を制御 - c. 制約: 学習時間や推論速度 13
  9. Data Sampling 検索広告のログは膨大なのでSamplingで学習コストを抑える a. 扱う時間範囲を限定する b. 範囲内のデータをさらにサンプリング クリックの正例は少ないので貴重 - 負例をダウンサンプリングしてクラスバランスを取る

    - ラベルの割合の逆数をclass weightにかけて重み付け 他に有効なサンプリング - 低いlog-lossと関連するサンプル - 配信枠の位置的にユーザに見られた可能性の低いサンプル 14
  10. 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
  11. Loss Engineering 基本はclick/no-clickのcross-entropy loss 重要度は広告候補の表示順 > eCTR -> Ranking lossが有効

    - RankNetで提案されているpairwise-loglossを採用 - Rankingは予測値が偏るためbias補正が必要 17 学習コスト +1%, 精度+0.81%
  12. 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%
  13. 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!🤔
  14. Stability & Efficiency Block-diagnalization - 😥 Distiruted Shampooは2次近似なので大きい行列の乗算がある - ブロック対角行列に変換

    -> メモリや計算量を削減 Weight-update sharding - 重みの更新を分散計算する仕組み , ブロックごとの並列更新を実装 22 Subspace Clustering by Block Diagonal Representation
  15. Deep & Cross Network (DCNv2) <a, q>のEncoderとしてメインのDNNに連結 sparse feature ->

    embedding dense featureを要素積でskip connection embeddingの次元はAutoMLで調整 23 学習コスト +3%, 精度+0.18%
  16. 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]
  17. Generalizing across UI treatments CTRを上げる要因の一つはUI(配信枠)にある - 表示位置, 他の広告との相対的な位置 , 太字やインライン画像などのレンダリング

    30 配信枠を τ(Q・U)で表現している Q…Quality, U…UI特徴 Q…大規模なQuality推定モデルから広告毎に 1回取得 U…軽量なUI特徴Encoderの出力をCache
  18. Credit Attribution UI biasは再現性を下げる一因 - Model A…高CTRの広告がページ上部 だったデータで学習 - 広告の位置が高いほどCTRが良くなるはず

    - Model B…高CTRの広告がページ下部 だったデータで学習 - 検索クエリと広告の関連性がCTRに最も重要 - このモデルが同じ広告に対して高い eCTRを出力してもそのfactorは異なり、 Model AがDeployされるとページ下部のオイシイ枠を全然推薦しなくなってしまう 31