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

[KDD2023論文読み会] BERT4CTR: An Efficient Framework to Combine Pre-trained Language Model with Non-textual Features for CTR Prediction / KDD2023 LY Tech Reading

[KDD2023論文読み会] BERT4CTR: An Efficient Framework to Combine Pre-trained Language Model with Non-textual Features for CTR Prediction / KDD2023 LY Tech Reading

「大規模事前学習済み言語モデルを使ってCTR予測したいけど、非言語データ(ユーザーID, カテゴリデータ, etc)どうすればいいんだろう?」というリサーチクエスチョンに対する BERT4CTR という枠組みを紹介します。

■ イベント:KDD2023 論文読み会(オンライン開催)
https://lycorptech-jp.connpass.com/event/302509/

■ 登壇概要
タイトル:BERT4CTR: An Efficient Framework to Combine Pre-trained Language Model with Non-textual Features for CTR Prediction

Shunsuke KITADA

January 16, 2024
Tweet

More Decks by Shunsuke KITADA

Other Decks in Research

Transcript

  1. © LY Corporation
    BERT4CTR: An Efficient Framework
    to Combine Pre-trained Language Model
    with Non-textual Features for CTR Prediction
    Dong Wang1, Kavé Salamatian2, Yunqing Xia1, Weiwei Deng1, Qi Zhiang1
    1Microsoft STCA, China. 2University Savoie, France.
    Applied Data Science (ADS) track paper
    Image and Video Dept. / Generation team
    Shunsuke Kitada, Ph.D.
    HP: shunk031.me / 𝕏: @shunk031
    LINEヤフー Tech / KDD2023 論文読み会@オンライン
    ※本発表で紹介する図や数式は
    対象の論文から引用しております

    View full-size slide

  2. © LY Corporation
    自己紹介: 北田俊輔 Shunsuke KITADA
    経歴
    ● ‘23/04 LINE ➜ ‘23/10 LINEヤフー Research Scientist
    ● ‘23/03 法政大学大学院 彌冨研 博士 (工学) / 学振 DC2
    研究分野
    ● 自然言語処理 (NLP) / 画像処理 (CV)
    ○ 摂動に頑健で解釈可能な深層学習
    [Kitada+ IEEE Access’21, Appl. Intell.’22]
    ● 計算機広告 (Vision & Language)
    ○ 効果の高いデジタル広告の作成支援 [Kitada+ KDD’19]
    ○ 効果の低いデジタル広告の停止支援 [Kitada+ Appl. Sci.’22]
    ● 画像生成・レイアウト生成
    ○ 画像生成AI入門:Pythonによる拡散モデルの理論と実践 @オンライン教育サービス Coloso.
    これに関連して本を書いています(応援よろしくおねがいします)
    2

    🏠: shunk031.me / 𝕏: @shunk031
    JSAI’20 招待講演資料 “広告クリエイティブと
    機械学習技術における現状と展望” より
    KDDに
    論文採択
    経験あり

    View full-size slide

  3. © LY Corporation
    本論文の選定理由
    “事前学習済み言語モデルを言語特徴以外も扱う
    CTR予測にどのように応用するか?”という問いの面白さ
    ● KDD の Applied Data Science (ADS) Track に採択された論文
    ということもあってか他社のCTR予測モデルの話が細かく書かれている
    ○ ただ、いまはもう使われてないんだろうな、、というモデルもありそう
    ● 同じようなモチベーションで自分も論文を書いたことがある [Kitada+ IEEE Access’22]
    ○ “BERTのような学習済みモデルをCTR予測に適用するには非言語情報もすべて
    言語 (テキスト) として扱って、BERTでポン!するといいよ” と書きたかった
    ○ 言語・非言語・マルチモーダル情報を集合とみなすと DeepSets [Zaheer+ NeuIPS’17]

    性質を満たすよっていう話に落としました (またの機会に話したい)
    3


    View full-size slide

  4. © LY Corporation
    本論文の貢献
    4

    ● 言語のみを対象とした学習済み言語モデルを
    数値やカテゴリカルデータが多い CTR 予測へ
    効果的に応用可能な枠組みの提案
    ○ 複数のテクニックから構成される BERT4CTR を導入
    ■ キーワード: Uni-Attention / 非言語データに対する次元削減 / 2段階の学習方法
    ● 実世界データを含む評価実験の実施
    ○ MS Bing Ads (in-house) / KDD CUP 2012 (public) データセットの使用
    ○ CTR 予測で広くベースラインとして知られているモデルとの比較

    View full-size slide

  5. © LY Corporation
    背景: CTR予測と事前学習済み言語モデル
    Click-through Rate (CTR) 予測
    ● ユーザーの対象の商品・広告・検索結果をクリックするかを予測するタスク
    ○ さまざまなデータを観測可能: textual data (言語) / non-textual data (非言語)
    ■ 言語情報: 入力クエリ、説明文、etc. / 非言語情報: ユーザーID、性別、カテゴリ
    事前学習済み言語モデル
    ● BERT [Devlin+ NAACL’19]
    や RoBERTa [Liu+ CoRR’19]
    を用いた CTR 予測の性能向上
    ○ 学習済み言語モデルを fine-tuning することで様々なタスクに適用可能
    情報検索 [Lu+ CIKM’20]
    / 引用文献推薦 [Wang+ Studies’20]
    / Eコマース検索 [Jiang+ ICDM’20]
    ➜ 一定の成果はあるものの、テキストのみを扱っている言語モデルを
    テキスト以外の特徴が多い CTR 予測への応用は依然として改善の余地あり
    5


    View full-size slide

  6. © LY Corporation
    背景: 言語モデルに対する言語と非言語の統合
    Cascading Framework (not end-to-end)
    ● 既存のCTR予測パイプラインに独立したテキスト特徴として統合する方法
    ○ 学習済みモデルの中間表現 [Lu+ CIKM’20]
    や最終出力 [Wang+ WSDM-W’20]
    を使用
    👎 使用する特徴は言語のみのため、言語と非言語の相互関係を捉えることは難しい
    Shallow Interaction Framework (end-to-end)
    ● Late fusion: 言語モデルによる言語特徴と非言語特徴を集約する方法
    ○ 言語特徴は[CLS]埋め込み、非言語特徴は Embedding / MLP 埋め込みを利用
    👎 言語と非言語の特徴の相互関係は、集約される最終層のみでしか考慮できない
    ● Early fusion: 非言語を変換して言語モデルに入力できるようにする方法
    ○ VideoBERT [Sun+ ICCV’19]
    , VL-BERT [Su+ ICLR’20]
    , NumBERT [Zhang+ EMNLP-F’20]
    etc.
    👎 多数の非言語情報がある場合に入力列が増加することで計算量が爆発・推論コスト大
    6


    View full-size slide

  7. © LY Corporation
    関連研究
    マルチモーダルな入力の取り扱い
    ● 言語・非言語の情報を1つの言語モデルで扱う
    ○ VideoBERT, CTR-BERT [Muhamed+ NeurIPS-W’21]
    , NumBERT [Zhang+ EMNLP-F’20]
    ,
    👎 非言語用のトークンの追加に伴って言語モデルの構成が複雑に
    👎 学習と推論それぞれでモデルの更新やCTR予測で重要なリアルタイム動作が困難
    これまでのCTR予測モデル
    ● ユーザに見せる広告や検索結果の選択
    ○ 検索連動型広告 [Jansen+ IJEB’08]
    , パーソナライズ推薦システム [Sharma+ IJETT’13]
    ● 低レイテンシで正確な予測が必要 (以下のモデルは今は使われていないかも?)
    ○ Phoenix [email protected] [Fan+ KDD’19]
    , FTRL@Google Ads [MacMahan+ KDD’13]
    ,
    Wide & Deep@Google Play [Cheng+ DLRS’16]
    , NN+GBDT@MS Bing [Ling+ WWW-C’17]
    7

    あとで提案手法は NumBERT を
    ベースにしていると説明されているので、
    このような書き方だと提案手法を
    否定することになりそう🤔

    View full-size slide

  8. © LY Corporation
    提案手法: BERT4CTR
    言語と非言語を学習済み言語モデルで効果的に扱う新たな枠組み
    💡 Uni-Attention: 言語と非言語の相互関係を捉える
    ○ NumBERT をベースに、従来のBERTベース
    の手法に存在していた問題点を解決
    💡 次元削減: 学習・推論のコストを下げる
    ○ 速度が求められる CTR 予測で重要
    💡 2段階の Joint-Training
    ○ 非言語特徴の増加に対してスケールするように
    特に非言語特徴が多い CTR 予測で有効
    8


    View full-size slide

  9. © LY Corporation
    提案手法: ベースモデル NumBERT
    [Zhang+ EMNLP-F’20]
    学習済み言語モデルに非言語情報を入力可能に
    👍 非言語 (数値) を指数表記にして学習
    ○ [EXP] トークンを語彙に追加して学習
    例1: 314.1 ➜ 3.141 x 102 ➜ 3141[EXP]2
    例2: 35 ➜ 3.5 x 101 ➜ 35 [EXP]1
    CTR予測におけるNumBERTの2つの改善点
    🤔 (1) CTR予測において言語特徴と非言語特徴間の Contextual な関係
    ○ 言語特徴とユーザーID等の非言語特徴に明確な相互関係があるわけではない
    ■ BERTベースのモデルでは文脈全体を見るためにノイズになりかねない
    🤔 (2) 非言語特徴に対する Positional Encoding
    ○ 単語・トークンの順番が重要な言語特徴と比べて、非言語特徴は互いに独立
    ■ BERTベースのモデルでは各トークンに対して位置を表す埋め込みが追加される
    9

    NumBERT における入力例: 非言語情報は特殊トークンと

    指数表記を用いて言語情報へと変換される

    View full-size slide

  10. © LY Corporation
    提案手法: Uni-Attention
    NumBERT を拡張する形で BERT ベースの
    モデルにおける非言語情報を扱う上での問題点を解決
    ● 言語特徴からは言語・非言語特徴の両者を考慮
    非言語特徴は非言語特徴のみを考慮
    ○ 注意機構の Query-Key-Value の計算を調整
    Query: 非言語特徴のみ計算
    Key, Value: 言語からも計算
    ● 非言語部分に対する位置埋め込みの除去
    ○ 順序を考慮しなくて良い特徴に対する改善
    ➜ 学習済みの言語モデルが非言語特徴を相互に考慮可能なアーキテクチャへ
    10


    View full-size slide

  11. © LY Corporation
    提案手法: BERT4CTRにおける次元削減
    高次元な非言語情報を効率的に扱い学習・推論のレイテンシを向上
    ● CTR予測における高次元な非言語情報
    ○ カテゴリ、アイテムID、
    ユーザーID、追加のトークン etc.
    ○ Microsoft Bing Ads では
    90 の非言語情報が入力
    ● それぞれの非言語情報は
    N 次元の埋め込みへ
    ○ 各 N 次元の埋め込みを結合して K 次元の特徴埋め込みへ
    ➜ 大規模データの効率的な学習・リアルタイム性が要求される推論双方の向上
    11


    View full-size slide

  12. © LY Corporation
    予測性能を更に向上させるためのテクニック
    提案手法: BERT4CTR の 2 段階 Joint-Training
    12

    Wang+ KDD’22 で2段階のJoint-Trainingが
    予測性能を大幅に向上させた点に着目
    (🤔MS STCA の論文なのでおそらく同僚の論文)

    View full-size slide

  13. © LY Corporation
    予測性能を更に向上させるためのテクニック
    提案手法: BERT4CTR の 2 段階 Joint-Training
    13

    Wang+ KDD’22 で2段階のJoint-Trainingが
    予測性能を大幅に向上させた点に着目
    (🤔MS STCA の論文なのでおそらく同僚の論文)
    2段階の学習方法
    ● Warm-up ステップ
    ● Joint-training ステップ

    View full-size slide

  14. © LY Corporation
    予測性能を更に向上させるためのテクニック
    提案手法: BERT4CTR の 2 段階 Joint-Training
    14

    ● 1 段階目: Warm-up ステップ (言語特徴のみ)
    ○ マスク言語モデルで言語特徴のみを使用して事前学習
    ○ 言語特徴のみを使用してCTR予測へ fine-tuning

    View full-size slide

  15. © LY Corporation
    予測性能を更に向上させるためのテクニック
    提案手法: BERT4CTR の 2 段階 Joint-Training
    15

    ● 1 段階目: Warm-up ステップ (非言語特徴のみ)
    ○ 非言語特徴のみを使ってCTRを予測するMLPを学習
    ○ 次元削減しても予測できるように調整

    View full-size slide

  16. © LY Corporation
    予測性能を更に向上させるためのテクニック
    提案手法: BERT4CTR の 2 段階 Joint-Training
    16

    ● 2 段階目: Joint-Training
    ○ 1 段階目で事前学習した言語・非言語それぞれの
    モデルの重みで初期化

    View full-size slide

  17. © LY Corporation
    予測性能を更に向上させるためのテクニック
    提案手法: BERT4CTR の 2 段階 Joint-Training
    17

    ● 2 段階目: Joint-Training
    ○ 1 段階目で事前学習した言語・非言語それぞれの
    モデルの重みで初期化
    Uni-Attention (緑線) を導入
    ● 言語と非言語を統合
    ● 小さい学習率を使用

    View full-size slide

  18. © LY Corporation
    評価実験: 評価方法 1/2
    データセット
    ● MS Bing Ads (In-house)
    : 190M 規模; MS の Bing Ads が元。90 の非言語データ
    ● KDD CUP 2012 (public)
    : 235M 規模; Tencent の Soso.com が元。57の非言語データ
    学習済み言語モデル
    ● MS Bing Ads: RoBERTa-large (24 層) / KDD CUP 2012: BERT-base (12 層)
    比較手法
    ● Cascading Framework
    ○ 言語モデルを CTR 予測で fine-tuning ➜ 予測スコアを以下のモデルに特徴として入力
    ○ Wide & Deep [Cheng+ DLRS’16]
    / DeepFM [Guo+ IJCAI’17]
    / NN boosted GBDT [Ling+ WWW-C’17]
    ● Shallow Interaction Framework
    ○ 言語モデルの [CLS] 埋め込みと非言語埋め込みを結合: Shallow Interaction-N Layers
    非言語埋め込みを得る場合に層の深さを揃える: Shallow Interaction-N Layers
    18

    ‘22/04 の 3 週をtrain、残りを test として使用
    Dense 特徴 : ユーザごとの CTR 履歴等
    Sparse 特徴: ユーザーのデモグラ、クエリのカテゴリ

    View full-size slide

  19. © LY Corporation
    評価実験: 評価方法 2/2
    評価指標
    ● Area Under the ROC Curve (AUC), Relative Information Gain (RIG)
    ○ すべてのデータを使った評価 (ALL), 頻度が少ないデータを使った評価 (Tail)
    ○ 有意水準 0.05 で t 検定した結果も提示
    ● 学習・推論の時間的コスト
    ○ 学習: ユーザの興味分布のズレに素早く対応 / 推論: 予測レイテンシに直結
    実験環境
    ● TensorFlow で実装し 32GB V100 で実験
    ● 異なるシード値で20回実験した平均を提示
    ● 明示的に言わない場合に評価指標の値は
    すべてベストな training のスコア (???)
    19

    向上幅が小さいように見えても: CTR 予測の場合
    AUC, RIG ともに 0.1% の向上でも有意 [Guo+ IJCAI’17]

    View full-size slide

  20. © LY Corporation
    ● CTR 予測における NumBERT の性能比較
    ○ TextOnly: 言語情報のみを使用して学習済み言語モデルを CTR 予測へ fine-tuning
    ○ Model: M1 (TextOnly), M2 (Shallow Interaction-1 Layer), M3 (NumBERT)
    ○ ΔAUC
    M2-M1
    は M2 と M1 の AUC の差分 (Diff) と t 値 (T)
    ● 非言語特徴を効果的に扱う NumBERT のパフォーマンスが良さそうに見える
    ○ Shallow Interaction-1 Layer と比べるとそうでもない
    ○ 言語と非言語を別々に扱ってconcatするほうが良いみたい
    20

    BERT4CTR 出てこないけど、なんで載せた?🤔
    実験結果 1/6: NumBERT の性能

    View full-size slide

  21. © LY Corporation
    ● CTR 予測における NumBERT の性能比較
    ○ TextOnly: 言語情報のみを使用して学習済み言語モデルを CTR 予測へ fine-tuning
    ○ Model: M1 (TextOnly), M2 (Shallow Interaction-1 Layer), M3 (NumBERT)
    ○ ΔAUC
    M2-M1
    は M2 と M1 の AUC の差分 (Diff) と t 値 (T)
    ● 非言語特徴を効果的に扱う NumBERT のパフォーマンスが良さそうに見える
    ○ Shallow Interaction-1 Layer と比べるとそうでもない
    ○ 言語と非言語を別々に扱ってconcatするほうが良いみたい
    21

    BERT4CTR 出てこないけど、なんで載せた?🤔
    実験結果 1/6: NumBERT の性能

    View full-size slide

  22. © LY Corporation
    ● CTR 予測における NumBERT の性能比較
    ○ TextOnly: 言語情報のみを使用して学習済み言語モデルを CTR 予測へ fine-tuning
    ○ Model: M1 (TextOnly), M2 (Shallow Interaction-1 Layer), M3 (NumBERT)
    ○ ΔAUC
    M2-M1
    は M2 と M1 の AUC の差分 (Diff) と t 値 (T)
    ● 非言語特徴を効果的に扱う NumBERT のパフォーマンスが良さそうに見える
    ○ Shallow Interaction-1 Layer と比べるとそうでもない
    ○ 言語と非言語を別々に扱ってconcatするほうが良いみたい
    22

    実験結果 1/6: NumBERT の性能 BERT4CTR 出てこないけど、なんで載せた?🤔

    View full-size slide

  23. © LY Corporation
    実験結果 2/6: NumBERT w/ Uni-Attention
    23

    この表がみたかった!
    表の形がむずいのね、了解🫡
    ● Uni-Attention の導入により
    予測性能は(大幅に?)向上
    ○ Tail データにおいて向上幅は顕著
    ■ Bing: AUC +0.3%, RIG +0.5%
    ■ KDD: AUC +0.5%, RIG +0.6%
    ● NumBERT w/ Uni-Attention に
    + Dimensionality Reduction
    ○ 次元削減を導入しても、元の
    モデルと同程度の性能を維持
    ○ AUC および RIG の t 値は
    有意差があると言える 3 より小
    ➜ 統計的にも性能を維持といえる

    View full-size slide

  24. © LY Corporation
    実験結果 3/6: NumBERT w/ Uni-Attention 次元削減
    24

    ● NumBERT + Uni-Attention + Dimentinality Reduction が時間的コストを大幅に縮小
    ○ Bing Ads: 学習コスト68%、推論コスト43% 向上 (非言語特徴: 90)
    ○ KDD CUP: 学習コスト45%、推論コスト24% 向上 (非言語特徴: 57)
    ■ 高次元になりがちな非言語特徴が増えるほどに次元削減の効果が大きくなる
    👍 BERT4CTRの次元削減法は性能を落とさずに時間的コストを大きく減らせる

    View full-size slide

  25. © LY Corporation
    実験結果 4/6: 2 段階の Joint-Training の有無
    25

    ● Joint-Training の効果を検証するために以下の設定で比較
    ○ 事前学習 not fine-tuning (言語モデル)
    + ランダム初期化 (非言語モデル)
    ○ 事前学習 fine-tuning (言語モデル)
    + ランダム初期化 (非言語モデル)
    ○ 事前学習 fine-tuning (言語モデル)
    + CTR 予測 fine-tuning (非言語モデル)
    ←BERT4CTR
    ● Joint-Training の有効性を確認: AUC +0.3% @Bing Ads, +0.4% @KDD CUP

    View full-size slide

  26. © LY Corporation
    実験結果 5/6: 広く使われているモデルとの比較
    26

    ● 提案手法 BERT4CTR と広くCTR予測で使用されているモデル群との性能比較
    ○ 概ね提案手法が他の手法を超えてよい性能を達成

    View full-size slide

  27. © LY Corporation
    実験結果 6/6: 広く使われているモデルとの比較
    27

    ● 提案手法 BERT4CTR と広くCTR予測で使用されているモデル群との速度比較
    ○ Cascading Framework の各種モデルと同レベルのコストで動作可能

    View full-size slide

  28. © LY Corporation
    議論とまとめ
    ● 言語と非言語を統合的に扱える CTR 予測のための枠組み BERT4CTR の提案
    ○ 学習済み言語モデルと CTR 予測に必要な非言語情報を新たな注意機構で紐づけ
    ○ CTR 予測に着目した次元削減や学習方法で手堅く性能向上
    ● 本論文では非言語情報として主に数値情報に着目した応用例を提示
    ○ この他にも画像 (埋め込み) を Uni-Attention を用いて言語と紐づけが可能
    ● リサーチクエスチョンはかなり共感する点はあったが気になる点もいくつか
    ○ NumBERT含めてよくないよと下げておきながらベースにNumBERT採用
    ○ 次元削減や2段階の学習法自体には新しさをあまり感じなかった
    ○ 結局評価結果のスコアは train のものなのか?
    だとしたらもしかしたら train のみ良くて汎化していないモデルかも?
    28


    View full-size slide