Closed nogawanogawa closed 7 months ago
産業用推薦システムは一般的に、candidate matchingとrankingの2フェーズから構成されている。 candidate matchingでは、高いrecall とレイテンシを同時に達成する必要がある。
Two towerモデルは高精度で効率よくtop k検索が可能なので、主要な方法として用いられている。 しかし、Two Towerモデルは1つの内積しか用いないのでクエリ-アイテム間の特徴相互作用とモデル化する能力が制限される。またエンドツーエンドで学習されるわけでもないので、これもrecallを低下させる要因になりうる。
通常のtwo towerモデルでは単純なドット積が使用されている。これだと特徴量間の相互作用があまり得られない。 A2Aモデルでは、何らかの関数を適用する。これだと速度が出ない。
SparCodeではΤは Tokernizer + quantizerの組み合わせで、これを利用することで計算量を削減している。
全体の概要を先に示す。 左は通常のtwo tower, 右はsparcode。
embeddingをつくるのではなく、tokenizer + quantizerによって、query inputをcodeに変換する。このcodeは離散化されているので、転置インデックスを作成可能になっている。 queryから複数のcodeが生成されるので、これらを集約して最終的なスコアとしている。
codeとアイテムのペアに関するスコアを事前計算しインデックスを作成することで高速に検索することが可能になる。 オンラインで使用するときはToken embeddingが与えられた際に、該当するCodeを検索し、それを元に転置インデックスから該当するアイテムを検索する。
この形式の肝はTokenizer + quantizerで、そのモデル構成を下記に示す。
Tokenizerは、系列情報や画像、テキストを含むクエリインプットからK個のtokenの埋め込みを得ることである。
tokenの埋め込みは通常密ベクトルなので、このままだとインデックス化できない。 そこで、Vector quantizationを用いてこれを量子化することで有限個のtokenに置き換える。
推論時は転置インデックスを使用できるので、scoringを行うモデルは相互作用を考慮したNNモデルを使用することができる。(cos sim以外を使えるようになる)
TTM: Two tower SA: self attention
Movielensでの結果はこちら。
既存のTwo towerより精度が向上していることが確認された。
論文URL
https://dl.acm.org/doi/abs/10.1145/3539618.3591643
著者
Liangcai Su, Fan Yan, Jieming Zhu, Xi Xiao, Haoyi Duan, Zhou Zhao, Zhenhua Dong, Ruiming Tang
会議
SIGIR ’23
背景
産業用推薦システムは一般的に、candidate matchingとrankingの2フェーズから構成されている。 candidate matchingでは、高いrecall とレイテンシを同時に達成する必要がある。
Two towerモデルは高精度で効率よくtop k検索が可能なので、主要な方法として用いられている。 しかし、Two Towerモデルは1つの内積しか用いないのでクエリ-アイテム間の特徴相互作用とモデル化する能力が制限される。またエンドツーエンドで学習されるわけでもないので、これもrecallを低下させる要因になりうる。
目的
アプローチ
ひとことメモ
two towerモデルの亜種