1
/
5

Wantedly RecSys 2022 参加レポート ④ - 大規模推薦システムへの取り組み

ウォンテッドリーでデータサイエンティストをしている角川です。ウォンテッドリーのデータサイエンスチームは、9/18-9/23にシアトルにて開催されたRecSys 2022にオンラインで聴講参加しました。

RecSys - ACM Recommender Systems
The ACM Conference on Recommender Systems (RecSys) is the premier international forum for the presentation of new research results, systems and techniques in the broad field of recommender systems. RecSys brings together the major international research g
https://recsys.acm.org/recsys22/

この記事ではRecSys 2022の参加レポートとして、参加したセッションの中で個人的に面白いと感じた"Large-Scale Recommendation"のセッションについて紹介したいと思います。

RecSys 2022の参加レポートは社内の他のメンバーもブログを投稿していますので、よろしければそちらも合わせてお楽しみください!

Wantedly RecSys 2022 参加レポート① - Wantedly データサイエンスチームで RecSys 2022 にオンライン参加しました | Wantedly Engineer Blog
こんにちは。ウォンテッドリーでデータサイエンティストをしている合田です。 この度ウォンテッドリーのデータサイエンスチームで推薦システムの国際会議である RecSys に聴講参加してきたので、その参加報告を行いたいと思います。データサイエンスチームの RecSys への参加は通算3回目となり、チームの恒例イベントになってきました。過去の参加報告は 2021年参加レポート、 2020年参加レポート をご覧ください。 RecSys2022 は2022年9月18日から23日にかけてアメリカのシアトルの会場とオンラ
https://www.wantedly.com/companies/wantedly/post_articles/434552

はじめに

システムの継続開発・安定稼働は現在でも難しいテーマとなっています。また、システムが大規模化するにつれて顕在化する問題などもあり、継続的に開発・運用して価値を生み出し続けることは、システムが大規模化するにつれてさらに難しい問題なっていきます。

推薦システムにとっても、大規模システムにおける継続開発・運用は重要です。推薦モデルを継続的に改善し、それを安定して運用していくことは、機械学習等の技術とは別に、多くのことを考える必要があります。今回のRecSysでも"Large-Scale Recommendation"のテーマでセッションが設けられ、大規模推薦システムにおける問題とその解決策について紹介されていました。

そこで今回は「大規模推薦システムへの取り組み」をテーマに、RecSys 2022で発表のあった論文について紹介したいと思います。

Optimizing product recommendations for millions of merchants

Shopifyでは、同社のプラットフォーム上に食品やアパレル、電子機器などのストアが175ヶ国・数百万にも登り独立に運営されています。各ストアの商品ページの一角には、表示している商品と関連するおすすめ商品の欄が存在します。

これらのおすすめ商品の欄はShopifyが提供しており、この推薦に使用されるモデルもShopifyによって開発が行なわれています。

ストア毎に大きく異なるユーザーの傾向

Shopify上では、ストア毎にユーザーのトラフィック量やユーザーの傾向は大きく異なります。また、ストア毎にレイアウトやキャンペーンの有無も異なります。

あるセグメントのストアでは、閲覧した商品と似た商品のほうがクリックされやすく、また別のセグメントのストアでは閲覧した商品と一緒に買われやすい商品のほうがクリックされやすいかもしれません。このように、どんなモデルが効果的かはストア毎に様々です。

ユーザーの傾向が大きく異なるストアが多数存在するShopifyでは、一見プラットフォーム全体で指標が向上しているように見えるモデルでも、一部のセグメントのストアには不利益が生じてしまう恐れがあります。Shopifyのプラットフォーム規模では個別のストア毎にモデルを開発することは難しく、個々のストアに不利益を出さずに最適なモデルを改善していく必要があります。

バンディットアルゴリズムによって使用するモデルの選択

この問題に対し、Shopifyでは複数の推薦モデルについて、バンディットアルゴリズムによって使用するモデルを選択しています。

新しく開発・改善された推薦モデルがオフライン評価で良い結果が得られた際には、既存のモデルを含めてバンディットアルゴリズムによって複数のモデルのうちどのモデルを使用したら良いかを動的に最適化していきます。

このように、おすすめ商品の欄においてバンディットアルゴリズムよって使用するモデルを選択することで、ストア毎により良いモデルを用いて推薦が行われるようになっています。

Reference

Kim Falk and Chen Karako. 2022. Optimizing product recommendations for millions of merchants. In Proceedings of the 16th ACM Conference on Recommender Systems (RecSys '22). Association for Computing Machinery, New York, NY, USA, 499–501. https://doi.org/10.1145/3523227.3547393

Optimizing product recommendations for millions of merchants | Proceedings of the 16th ACM Conference on Recommender Systems
At Shopify, we serve product recommendations to customers across millions of merchants' online stores. It is a challenge to provide optimized recommendations to all of these independent merchants; one model might lead to an overall improvement in our metr
https://dl.acm.org/doi/abs/10.1145/3523227.3547393

(文中の画像は RecSys 2022 Sessionの映像から引用)

An Incremental Learning framework for large-scale CTR prediction

推薦システムで広く使用される、CTR (Click Through Rate) 予測モデルの学習には一般に長い学習時間が必要になり、頻繁にゼロからモデルを学習し直すということは難しくなっています。一方、学習や推論に使用するデータの分布は時間経過とともに変化していくため、一般にモデルを学習してから時間が経過するにつれて精度が劣化することが知られています。そのため、効果的な推薦を行うためになるべく新しいログを学習に使用したいというモチベーションがあります。

転移学習を用いた漸進的な学習

こうした問題に対して、最新のログを転移学習で効率的に学習するアプローチが取られることがあります。今回のケースでは、長期間のデータセットを用いてベースとなるSource modelを学習し、その後Source modelに対して最新のデータを使用してfine tuningを行うことでTarget modelを作成しています。

fine tuningはSource modelを学習するより短時間で済むため、新しいモデルを短いサイクルで作り続けることができ、結果としてデータ分布の時間変化に対応することが期待できます。

知識蒸留を活用したCatastrophic Forgettingの回避

しかしながら、Source modelでうまく推論できていたことがfine tuningを行ううちにうまく推論できなくなる、Catastrophic Forgetting が起こる恐れがあります。

この問題に対処すべく、第1段階で学習したモデルを教師ネットワークとして使用し、第2段階での学習で知識蒸留の技術を活用することで、Catastrophic Forgettingを回避します。

通常、知識蒸留は機械学習におけるモデル圧縮として使用されることが多いですが、ここではCatastrophic Forgettingを回避する意図で使用されています。知識蒸留を使用することで、教師ネットワークの推論結果を使用して生徒ネットワークが学習する構造は暗黙的に正則化の役割を果たし、結果としてCatastrophic Forgettingの影響を軽減しています。

このようにして、Catastrophic Forgettingが発生するリスクを軽減しながら、最新のデータを使用した鮮度の高いモデルを継続的に使用可能にしています。

Reference

Petros Katsileros, Nikiforos Mandilaras, Dimitrios Mallis, Vassilis Pitsikalis, Stavros Theodorakis, and Gil Chamiel. 2022. An Incremental Learning framework for Large-scale CTR Prediction. In Proceedings of the 16th ACM Conference on Recommender Systems (RecSys '22). Association for Computing Machinery, New York, NY, USA, 490–493. https://doi.org/10.1145/3523227.3547390

An Incremental Learning framework for Large-scale CTR Prediction | Proceedings of the 16th ACM Conference on Recommender Systems
An Incremental Learning framework for Large-scale CTR Prediction applied in Taboola's massive-scale recommendation service. Our approach enables rapid capture of emerging trends through warm-starting from previously deployed models and fine tuning on "fre
https://dl.acm.org/doi/10.1145/3523227.3547390

(文中の画像は RecSys 2022 Sessionの映像から引用)

A GPU-specialized Inference Parameter Server for Large-Scale Deep Recommendation Models

ディープニューラルネットワークを使用した推薦システムでは、多くのEmbeddingが活用されます。このEmbeddingは、ユーザーやアイテムのIDを元にEmbedding Tableから呼び出され、推論モデルで使用されます。システム規模が大きくなるに連れてEmbedding Tableも巨大になり、場合によっては数TBにも及ぶ場合もあります。

GPUを使用した推論サーバーにおいて、これまでEmbedding Tableに対する検索処理はCPUで実行され、検索されたEmbeddingをGPUに転送するという処理が行われてきました。

Embedding Tableへの低速アクセスによる推論時間の悪化

推薦システムにおける機械学習モデルの多くはオンラインで稼働していおり、システムの規模が大きくなるにつれて取得するEmbeddingの量が増加し、推論に必要なEmbeddingの取得が推論時のボトルネックになる恐れがあります。

しかし、すべてのEmbeddingがランダムアクセスされるわけではありません。使用されるEmbeddingの中には頻繁に使用されるものもあればほとんど使用されないものもあったりと、アクセスパターンに局所性があることがわかります。

アクセス局所性を利用したEmbedding Cacheによる推論高速化

このような頻繁にアクセスされるEmbeddingをGPUメモリにキャッシュすることで、Embedding検索の速度を飛躍的に向上することが可能になります。

今回のアーキテクチャでは、Embeddingを3階層メモリアーキテクチャ(Level 1~3)として実装されています。推論時に頻繁に使用されるEmbeddingをGPUメモリにキャッシュしておくことで、高速に推論を行うことが可能になります。逆に、滅多に使用しないEmbeddingについてはSSDに保持されます。

これらのすべての階層で完全なコピーが常に利用できるよう、データの一貫性が保たれるように管理されています。

また、Embeddingを階層的に管理するために、Embeddingのキャッシュヒット率を計算する機構が用意されています。ヒット率が高さを計算して、Embeddingをより高い階層のメモリに保持するか判定しています。

これにより、頻繁にアクセスされるEmbeddingを動的に判定して高速なメモリに保持することで、システム全体として効率的なEmbeddingの管理を実現しています。

Reference

Yingcan Wei, Matthias Langer, Fan Yu, Minseok Lee, Jie Liu, Ji Shi, and Zehuan Wang. 2022. A GPU-specialized Inference Parameter Server for Large-Scale Deep Recommendation Models. In Proceedings of the 16th ACM Conference on Recommender Systems (RecSys '22). Association for Computing Machinery, New York, NY, USA, 408–419. https://doi.org/10.1145/3523227.3546765

A GPU-specialized Inference Parameter Server for Large-Scale Deep Recommendation Models | Proceedings of the 16th ACM Conference on Recommender Systems
Recommendation systems are of crucial importance for a variety of modern apps and web services, such as news feeds, social networks, e-commerce, search, etc. To achieve peak prediction accuracy, modern recommendation models combine deep learning with tera
https://dl.acm.org/doi/abs/10.1145/3523227.3546765

(文中の画像は RecSys 2022 Sessionの映像から引用)

EANA: Reducing Privacy Risk on Large-scale Recommendation Models

ユーザのプライバシーを保護しつつパーソナライズを行う手法として、学習過程においてパラメータを更新する前に勾配を一定のノルムでclipし、ガウシアンノイズを含めるDP-SGD (Differentially-private stochastic gradient descent) という手法が知られています。

DP-SGDの分散学習時のパラメータ通信量の増大

DP-SGDを使用しない学習時には計算された勾配が疎になるため、勾配が0でないパラメータのみを通信すればよく、通信量は小さく効率的な分散学習が可能になります。

一方、DP-SGDではガウシアンノイズを付与することで、モデルの実用性を損なわずに差分プライバシーを保証します。しかし、このノイズを含めることで学習時に計算される勾配が密になってしまい、分散学習を用いた大規模な学習をしようとすると通信しなければいけないパラメータが増大し、パラメータサーバーとの通信量増大に伴って学習時間が増大する問題があります。

EANA:Embeddingを考慮したノイズ付加によるプライバシー保護

今回提案されたEANAでは、埋め込み層の非ゼロの勾配にのみノイズを付加します。これにより、勾配を疎にしてパラメータ通信量を削減しつつノイズを付与しています。

実世界の大規模データセットとモデルを用いて実験を行ったところ、プライバシーリスクを低減しつつ、EANAは標準的なDP-SGDより学習速度が54倍向上したとのことです。

Reference

Lin Ning, Steve Chien, Shuang Song, Mei Chen, Yunqi Xue, and Devora Berlowitz. 2022. EANA: Reducing Privacy Risk on Large-scale Recommendation Models. In Proceedings of the 16th ACM Conference on Recommender Systems (RecSys '22). Association for Computing Machinery, New York, NY, USA, 399–407. https://doi.org/10.1145/3523227.3546769

EANA: Reducing Privacy Risk on Large-scale Recommendation Models | Proceedings of the 16th ACM Conference on Recommender Systems
Embedding-based deep neural networks (DNNs) are widely used in large-scale recommendation systems. Differentially-private stochastic gradient descent (DP-SGD) provides a way to enable personalized experiences while preserving user privacy by injecting noi
https://dl.acm.org/doi/abs/10.1145/3523227.3546769

(文中の画像は RecSys 2022 Sessionの映像から引用)

まとめ

推薦システムにおいてモデルの精度ももちろん重要ですが、今回のRecSysを聴講するなかで大規模なシステムで推薦をどう実現するかも一つ重要なポイントだと感じました。推薦システムが大規模になったときに顕在化する問題もさまざまではありますが、今回の記事が少しでも読者の方の参考になれば幸いです。

ウォンテッドリーでは、ユーザーにとってより良い推薦を届けるために日々開発を行っています。ユーザーファーストの推薦システムを作ることに興味があるという方は、下の募集の「話を聞きに行きたい」ボタンから気軽に話を聞きに来ていただけるとうれしいです!


データサイエンティスト
ユーザにとって本当に良い推薦とは?を突き詰めたいデータサイエンティストへ
ウォンテッドリーは、『シゴトでココロオドルひとをふやす』ために、はたらくすべての人が共感を通じて「であい」「つながり」「つながりを深める」ためのビジネスSNS「Wantedly」を提供しています。 目下の目標は全世界1000万人のユーザーにWantedlyを使っていただくこと。 そのため海外展開にも積極的に取り組んでおり、シンガポール、香港に拠点を構えています。
Wantedly, Inc.
Wantedly, Inc.では一緒に働く仲間を募集しています
4 いいね!
4 いいね!
同じタグの記事
今週のランキング
Wantedly, Inc.からお誘い
この話題に共感したら、メンバーと話してみませんか?