Slide 1

Slide 1 text

© LY Corporation 社内データを活用した 推薦タスク向け基盤モデル開発 LINEヤフー株式会社 データグループDS統括本部5本部ML2部モデル開発2チーム 森澤 竣

Slide 2

Slide 2 text

© LY Corporation 2 自己紹介 森澤 竣 LINEヤフー株式会社 データグループDS統括本部5本部ML2部モデル開発2チーム 機械学習エンジニア • 2021年4月 旧LINE株式会社に新卒入社 • これまで: LINEギフト・LINEマンガ・LINEバイトなどのレコメンド を中心とした機械学習によるサービス改善 • 現在: LINE NEWSのレコメンドや、サービス横断の推薦基盤モデル の開発 • 趣味: 登山、旅行 • 8月に2週間タンザニアにサファリに行ってきました

Slide 3

Slide 3 text

© LY Corporation Agenda 背景 Vector Forge Project ベンチマーク環境の整備 Main approaches 学習環境 LINE NEWSへの適用 検証中の技術 まとめ・今後の展望 3

Slide 4

Slide 4 text

© LY Corporation • LINEヤフーでは多くのサービスで機械学習モデルを活用したレコ メンドやパーソナライズが行われているが、その多くはサービス固 有(データが固有 or モデルパイプラインが固有)となっている • データグループでは、モデルパイプラインを共通化して各サービス のデータで学習した、ユーザ・アイテムベクトルを提供しているが、 いくつかの問題が存在 • Vector Forge Project: 新たな「基盤モデルによる複数サービス横 断ベクトル」の開発を目的としたプロジェクト 4 背景

Slide 5

Slide 5 text

© 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

Slide 6

Slide 6 text

© LY Corporation • ユーザログとアイテム情報が与えられたとき、アイテム/ユーザベクトルを出力するモデルパイプライン を開発したい • アイテム/ユーザベクトルは同じ特徴量空間 6 Vector Forge Project Vector Forge Content User Log User Vector Item Vector

Slide 7

Slide 7 text

© LY Corporation • 基盤モデルによる複数サービス横断のベクトルを提供することで、全社の様々 なサービス・タスクで利用してもらう想定 • レコメンド、最適化、広告、etc... • ベクトルをそのまま利用 or 学習済みモデルをサービスのデータでFine Tuningして利用 • 提供方法 • ユーザ/アイテムベクトル • コンテンツ情報を入力することでベクトルが得られるパイプライン • 学習済みモデル 7 Vector Forge Project

Slide 8

Slide 8 text

© 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を学習させる。

Slide 9

Slide 9 text

© LY Corporation • スキルや担当サービスの異なるエンジニアが、様々なサービス・タ スクの精度評価を行う • 公平性や再現性の担保された実験が簡単に実行できる環境が欲 しい • ベンチマーク環境を整備 • 各サービスのユーザログ・コンテンツマスタを同じスキーマに 変換するETLクエリを一元化し、再現性のあるデータセットが簡 単に生成可能に • レコメンドやユーザ分類など、多岐にわたるダウンストリーム タスクの評価を定義し、簡単に評価できる環境を整備 9 ベンチマーク環境の整備

Slide 10

Slide 10 text

© 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)

Slide 11

Slide 11 text

© 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)

Slide 12

Slide 12 text

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

Slide 13

Slide 13 text

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

Slide 14

Slide 14 text

© 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

Slide 15

Slide 15 text

© 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として利用

Slide 16

Slide 16 text

© 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

Slide 17

Slide 17 text

© 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への推論が可能となり、 再学習が不要となる。

Slide 18

Slide 18 text

© 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

Slide 19

Slide 19 text

© 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

Slide 20

Slide 20 text

© LY Corporation • User and Item Embedding models to Collaborative Filtering (UIECF) • User and Item Contrastive Learning (UICL) • モデルの有効性を検証するため、まずはLINE NEWS専用のモデル パイプラインを開発。オフラインテストとA/Bテストで性能検証。 20 LINE NEWSへの適用

Slide 21

Slide 21 text

© LY Corporation LINEのニュースタブに表示されるU2Iレコメンドで検証 U2Iレコメンドでは2-stage model (candidate retriever + reranker) を採用している candidate retrieverで利用しているモデルの1つである CB2CFをUIECFで置き換え UIECF for U2I recommendation 21 LINE NEWSへの適用

Slide 22

Slide 22 text

© 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%

Slide 23

Slide 23 text

© 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%

Slide 24

Slide 24 text

© 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

Slide 25

Slide 25 text

© 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

Slide 26

Slide 26 text

© LY Corporation 基盤モデルによる複数サービス横断ベクトルの開発を目的としたVector Forge Projectの取り組みを紹介 コンテンツ情報を活用した、頻繁な再学習の不要な大規模モデルを開発 LINE NEWSでモデルの有効性を確認し、複数サービス横断モデルへの発展にむけて検証中 今後の展望 • Multi-domain, Cross-domain modelの検証 • 画像を中心としたテキスト以外のモーダルの活用 • モデルのさらなる大規模化に向けたLLM/VLM技術の検証 26 まとめ