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

社内データを活用した推薦タスク向け基盤モデル開発

 社内データを活用した推薦タスク向け基盤モデル開発

LINEヤフーにおける推薦タスク向け基盤モデル開発の取り組みを紹介します。Vector Forge Projectを軸に、複数サービス横断で利用可能なユーザ・アイテムベクトルの構築、ベンチマーク環境整備、LINE NEWSでの適用事例、さらに今後のマルチドメイン展開に向けた技術検証を解説します。

More Decks by LINEヤフーTech (LY Corporation Tech)

Transcript

  1. © LY Corporation 2 自己紹介 森澤 竣 LINEヤフー株式会社 データグループDS統括本部5本部ML2部モデル開発2チーム 機械学習エンジニア

    • 2021年4月 旧LINE株式会社に新卒入社 • これまで: LINEギフト・LINEマンガ・LINEバイトなどのレコメンド を中心とした機械学習によるサービス改善 • 現在: LINE NEWSのレコメンドや、サービス横断の推薦基盤モデル の開発 • 趣味: 登山、旅行 • 8月に2週間タンザニアにサファリに行ってきました
  2. © LY Corporation Agenda 背景 Vector Forge Project ベンチマーク環境の整備 Main

    approaches 学習環境 LINE NEWSへの適用 検証中の技術 まとめ・今後の展望 3
  3. © LY Corporation • LINEヤフーでは多くのサービスで機械学習モデルを活用したレコ メンドやパーソナライズが行われているが、その多くはサービス固 有(データが固有 or モデルパイプラインが固有)となっている •

    データグループでは、モデルパイプラインを共通化して各サービス のデータで学習した、ユーザ・アイテムベクトルを提供しているが、 いくつかの問題が存在 • Vector Forge Project: 新たな「基盤モデルによる複数サービス横 断ベクトル」の開発を目的としたプロジェクト 4 背景
  4. © LY Corporation 現在提供中のベクトルモデル 5 背景 AS-IS: ID-based ID-based ID情報しか使わない。

    Single-domain ドメイン(サービス)ごとのログで学習している。 IDが多い場合、モデルを分ける必要があるので Multi-domainは困難。 Batch prediction cold user/itemのために再学習が必要。定期的に バッチ学習・推論を行う。 Hi Cost 定期的にドメインごとにモデルを学習している。 User Vector User Tower User Features Item Vector Item Tower Item Features Contrastive Loss
  5. © LY Corporation • 基盤モデルによる複数サービス横断のベクトルを提供することで、全社の様々 なサービス・タスクで利用してもらう想定 • レコメンド、最適化、広告、etc... • ベクトルをそのまま利用

    or 学習済みモデルをサービスのデータでFine Tuningして利用 • 提供方法 • ユーザ/アイテムベクトル • コンテンツ情報を入力することでベクトルが得られるパイプライン • 学習済みモデル 7 Vector Forge Project
  6. © LY Corporation 現在提供中のベクトルモデルとの比較 8 Vector Forge Project AS-IS: ID-based

    TO-BE: Vector Forge ID-based ID情報しか使わない。 Muitl-modal コンテンツからテキスト・画像などの多様な情報を 抽出。さらなる性能改善につなげる。 Single-domain ドメイン(サービス)ごとのログで学習している。 IDが多い場合、モデルを分ける必要があるので Multi-domainは困難。 Multi-domain コンテンツをエンコーダで変換するので、モデル側 で大きなembedding tableを持つ必要がなくなる。 Batch prediction cold user/itemのために再学習が必要。定期的に バッチ学習・推論を行う。 Realtime prediction 再学習が必要ないので、user/item vectorを realtimeで生成、更新できる。 High Cost 定期的にドメインごとにモデルを学習している。 Low Cost 低頻度(例:1年ごと)にMulti-domainを学習させる。
  7. © LY Corporation • スキルや担当サービスの異なるエンジニアが、様々なサービス・タ スクの精度評価を行う • 公平性や再現性の担保された実験が簡単に実行できる環境が欲 しい •

    ベンチマーク環境を整備 • 各サービスのユーザログ・コンテンツマスタを同じスキーマに 変換するETLクエリを一元化し、再現性のあるデータセットが簡 単に生成可能に • レコメンドやユーザ分類など、多岐にわたるダウンストリーム タスクの評価を定義し、簡単に評価できる環境を整備 9 ベンチマーク環境の整備
  8. © LY Corporation Simple Example 10 ベンチマーク環境の整備 from vf_benchmark.experiment import

    Experiment, get_experiment # Experiment Configを取得 experiment_conf = get_experiment("line_news_recommendation") # ユーザが定義したtrain, inference関数によってモデルを学習し、ユーザ、アイテムのベクトルを 生成 model = train(experiment_conf.training_dataset) user_vector_path, item_vector_path = inference(experiment_conf.inference_dataset) # Experimentを作成 exp = Experiment(mlflow_run_id, experiment_conf) # 自動的に評価が実行され、MLFlowに結果が保存される exp.evaluate(user_vector_path, item_vector_path, url=url, project=project, label=label, user=user, passwd=passwd)
  9. © LY Corporation Simple Example 11 ベンチマーク環境の整備 from vf_benchmark.experiment import

    Experiment, get_experiment # Experiment Configを取得 experiment_conf = get_experiment("line_news_recommendation") # ユーザが定義したtrain, inference関数によってモデルを学習し、ユーザ、アイテムのベクトルを 生成 model = train(experiment_conf.training_dataset) user_vector_path, item_vector_path = inference(experiment_conf.inference_dataset) # Experimentを作成 exp = Experiment(mlflow_run_id, experiment_conf) # 自動的に評価が実行され、MLFlowに結果が保存される exp.evaluate(user_vector_path, item_vector_path, url=url, project=project, label=label, user=user, passwd=passwd)
  10. © LY Corporation • User and Item Embedding models to

    Collaborative Filtering (UIECF) • User and Item Contrastive Learning (UICL) 12 Main approaches
  11. © LY Corporation User and Item Embedding models to Collaborative

    Filtering 13 UIECF User Log DNN ID-based Model Stage 1 User Vector Item Vector
  12. © LY Corporation User and Item Embedding models to Collaborative

    Filtering 14 UIECF User Log Item Content DNN ID-based Model Item Encoder Large Content Model Stage 1 Stage 2 User Vector Item Vector Item Vector Targetとして利用 CB2CF: A Neural Multiview Content-to-Collaborative Filtering Model for Completely Cold Item Recommendations https://arxiv.org/abs/1611.00384
  13. © LY Corporation User and Item Embedding models to Collaborative

    Filtering 15 UIECF User Log Item Content History Item Vectors DNN ID-based Model User Encoder Large User Model Item Encoder Large Content Model Stage 1 Stage 2 Stage 3 User Vector Item Vector Item Vector User Vector Targetとして利用
  14. © LY Corporation User Model: ユーザ履歴に基づくItem vectorのシーケンスが与えられた時に、User Vectorを出力する Transformerベースのモデルを学習する。 User

    and Item Embedding models to Collaborative Filtering 16 UIECF User Vector (ID-based) Item Vector (CB2CF) Transformer Encoder Pooling Layer er I 1 er I 2 er I 3 er I 4 er I 5 er I 6 er O 1 er O 2 er O 3 er O 4 er O 5 er O 6 er U Regression Loss
  15. © LY Corporation User and Item Embedding models to Collaborative

    Filtering 17 UIECF Item Content History Item Vectors User Encoder Large User Model Item Encoder Large Content Model Stage 2 Stage 3 Item Vector User Vector 推論時には、Content Model, User Modelを利用。これにより、Cold Item/Userへの推論が可能となり、 再学習が不要となる。
  16. © LY Corporation User and Item Contrastive Learning 18 UICL

    Stage 1 User Log Item Content Item Encoder Contrastive Learning Item Vector User Vector User Encoder Contrastive Learning Stage 2 (optional) History Item Vectors
  17. © LY Corporation • 複雑な前処理 → Apache Spark • モデルにデータを渡す直前の前処理

    → Ray • 大規模モデルの分散学習 → DeepSpeed • 計算環境: A100 PCIe x 1 or A100 SXM4 x 8 19 学習環境 User Log Item Content Apache Spark Ray DeepSpeed Trained Model Feature Extraction Last-mile Preprocessing Distributed Training
  18. © LY Corporation • User and Item Embedding models to

    Collaborative Filtering (UIECF) • User and Item Contrastive Learning (UICL) • モデルの有効性を検証するため、まずはLINE NEWS専用のモデル パイプラインを開発。オフラインテストとA/Bテストで性能検証。 20 LINE NEWSへの適用
  19. © LY Corporation LINEのニュースタブに表示されるU2Iレコメンドで検証 U2Iレコメンドでは2-stage model (candidate retriever + reranker)

    を採用している candidate retrieverで利用しているモデルの1つである CB2CFをUIECFで置き換え UIECF for U2I recommendation 21 LINE NEWSへの適用
  20. © LY Corporation Offline test results A/B test results A/Bの結果を踏まえ、100%リリースが完了

    UIECF for U2I recommendation 22 LINE NEWSへの適用 methods nDCG@5 AS-IS (CB2CF) 0.0433 TO-BE (UIECF) 0.0523 (+20.7%) 記事imp数 +1.21% 記事click数 +0.51% 広告売上 +1.20%
  21. © LY Corporation LINE NEWSの記事ページ下部に表示されるI2Iレコメンドで検証 I2Iレコメンドでも2-stage model (candidate retriever +

    reranker) を採用しており、 candidate retrieverで利用しているCB2CFをUICLで置き換え Offline test results A/B test results UICL for I2I recommendation 23 LINE NEWSへの適用 methods nDCG@5 AS-IS (CB2CF) 0.0211 TO-BE (UICL) 0.0312 (+47.9%) 記事imp数 +0.02% 記事click数 +2.12% 広告売上 +0.01%
  22. © LY Corporation UIECFではID-based modelの学習が必要 → アイテム数が多いと学習が困難 RQ-VAE (Residual-Quantized VAE)によりコンテンツ情報をSemantic

    Codeに量子化 アイテム数が膨大になった際もメモリと計算コストを抑えることが可能 ID-basedと比較して精度が劣るものの、Multi-domainのようなアイテム数が多いケースの対処として有望 RQ-VAE 24 検証中の技術 Recommender Systems with Generative Retrieval https://arxiv.org/pdf/2305.05065
  23. © LY Corporation Mixture of ExpertsによるMulti-domain modelの学習 • 各domain固有のexpertと共有expertによる出力をゲートネットワークによってアイテムベクトルを得る text,

    image の両方を活用したMulti-modal model UniEmbedding 25 検証中の技術 UniEmbedding: Learning Universal Multi-Modal Multi-Domain Item Embeddings via User-View Contrastive Learning https://dl.acm.org/doi/pdf/10.1145/3627673.3680098