← 最新の論文
🤖 machine learning

UniPinRec: Unifying Generative Retrieval and Ranking at Pinterest Scale

UniPinRecは、検索(retrieval)とランキング(ranking)を、入力、学習、およびサービングのインフラストラクチャを共有する単一のトランスフォーマーベースのパイプラインへと完全に統合した初のプロダクションシステムであり、Pinterest規模において大幅なエンゲージメントの向上と効率性の改善を実現しました。

原著者: Hanyu Li, Yi-Ping Hsu, Aditya Mantha, Prabhat Agarwal, Laksh Bhasin, Jialu Wang, Hongtao Lin, Bella Huang, Yaxin Li, Xinyi Li, Chuxi Wang, Kousik Rajesh, Hooshmand Shokri Razaghi, Shunyao Li, Zongyue
公開日 2026-06-02
📖 1 分で読めます☕ さくっと読める

原著者: Hanyu Li, Yi-Ping Hsu, Aditya Mantha, Prabhat Agarwal, Laksh Bhasin, Jialu Wang, Hongtao Lin, Bella Huang, Yaxin Li, Xinyi Li, Chuxi Wang, Kousik Rajesh, Hooshmand Shokri Razaghi, Shunyao Li, Zongyue Qin, Jaewon Yang, James Li, Dhruvil Deven Badani, Jiajing Xu, Charles Rosenberg

原論文は CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) でライセンスされています。 これは以下の論文のAI生成解説です。著者が執筆または承認したものではありません。技術的な正確性については原論文を参照してください。 免責事項の全文を読む

Pinterestを、数十億もの本(ピン)が並ぶ、巨大で賑やかな図書館だと想像してみてください。あなたがその図書館に入ると、システムは次の2つのことを非常に素早く行う必要があります。

  1. 検索 (Retrieval): 図書館全体をスキャンして、あなたに興味を持ちそうな数千冊の本を見つけ出す。
  2. ランキング (Ranking): その数千冊の本を手に取り、その要約を注意深く読み、あなたにとって完璧な順番に並べ替える。

旧来の手法:2人の別々の司書

長い間、Pinterestはこれを行うために、2つの異なる「司書」(AIモデル)を使用してきました。

  • **司書A(検索担当)**は、スピード狂でした。彼は本の内容を深く読み込むことはしませんでしたが、大量の本を高速でスキャンし、潜在的な一致候補の山をかき集めました。
  • **司書B(ランキング担当)**は、丁寧な読書家でした。彼はその集められた山の中から、一冊一冊の詳細を読み込み、完璧にソートしました。

問題点: 両方の司書は、あなたの過去の行動(クリックした、保存した、あるいは非表示にしたなど)に関する全く同じメモを読んでいました。両者がそれぞれ別々に「記憶」するという重労働を行っていたのです。これは、電話帳を一度覚えるだけで、2つの異なるリストを作るために、2人に同じ電話帳を暗記させるようなものでした。これは、お金、コンピューターの計算資源、そして時間の無駄でした。

新しい解決策:UniPinRec(スーパー司書)

この論文では、一つの「脳」、一つの「メモ」、そして一つの「ワークフロー」を用いて、両方の仕事を同時にこなす単一の「スーパー司書」であるUniPinRecを紹介しています。

彼らがどのようにこれを実現したのか、3つの巧妙なトリックを使って説明します。

1. 「マスクされたアクション」のトリック (MAM)

通常、「検索」の司書は、あなたが「いいね」をしたアイテムのリストだけを見ます。「ランキング」の司書は、それらのアイテムに対してあなたが「何をしたか」(クリックしたのか? 保存したのか? 非表示にしたのか?)を知る必要があります。

  • 旧来の問題: もし「何をしたか」という情報をリストに混ぜてしまうと、検索司書のスピードが落ちてしまいます。
  • UniPinRecによる解決策: 彼らは「マスキング」技術を使用しました。イメージとしては、司書があなたの履歴リストを持っているとします。彼らは「何をしたか」という部分を、付箋で隠して(マスクして)しまいます。
    • 司書は、アイテムに基づいて「あなたが何をしたか」を推測することを学びます。
    • これにより、司書はリストを長くしたり混乱させたりすることなく、「アイテムを見つける方法(検索)」と「アイテムを判断する方法(ランキング)」の両方を学ぶことができます。これは、パーキングブレーキをかけた状態で練習することで、運転と駐車を同時に学ぶようなものです。

2. 「共有メモリ」のトリック (KV Cache Reuse)

これが最大のスピードアップ要因です。

  • 旧来の問題: 「ランキング」の司書が仕事を始める際、あなたは誰であるかを理解するために、最初からあなたの履歴をすべて読み直さなければなりませんでした。
  • UniPinRecによる解決策: 「検索」の司書が、まずあなたの履歴を読むという重労働を済ませます。そして、そのメモを捨ててしまうのではなく、ランキング司書へと引き継ぎます。
    • 「ランキング」の司書は、履歴を読み直す必要はありません。最初の司書がすでに書き留めたメモを見るだけで済みます。
    • 例え: これは、野菜を切る作業をすべて済ませたシェフが、その後、スパイスを加えるだけの副料理長にボウルを手渡すようなものです。副料理長は、野菜を切り直す必要はありません。これにより、膨大な時間が節約されます。

3. 「混合トレーニング」のトリック

モデルを「見つける人」として先に訓練し、その後に「並べ替える人」として訓練するのではなく、両方を同時に行うように訓練しました。

  • 彼らは、モデルに対して「あなたが気に入った履歴」と「見たけれどクリックしなかったアイテムのリスト」の両方を含む例を与えました。
  • これにより、モデルは「判断する方法」を知ることでより優れた「発見者」になり、「発見する方法」を知ることでより優れた「判断者」になるよう学習しました。

結果:より速く、より賢く、より安価に

この「スーパー司書」を実際のPinterestアプリに投入したところ、その結果は驚くべきものでした。

  • より良いレコメンデーション: ユーザーのピンの保存数や通知の開封数が増加しました。「発見者」と「判断者」が互いに連携することで、システムはより良いアイテムを見つけられるようになりました。
  • より高速なスピード: ユーザーの履歴を読み直す工程をなくしたため、システム全体が11%高速化しました。
  • より大きな容量: システムは、速度を落とすことなく、同時に63%多くのユーザーを処理できるようになりました。

まとめ

UniPinRecは、2つの別々の部門を1つの効率的なチームに統合するようなものです。同じ「脳(モデル)」、同じ「メモ(ユーザー履歴)」、そして同じ「ワークフロー」を共有することで、Pinterestはコンピューターのコストを節約し、アプリを高速化し、ユーザーが本当に望むコンテンツを表示できるようにしました。彼らは図書館のシステム全体を置き換えたのではなく、既存の司書たちが完璧に協力できるようにしたのです。

自分の分野の論文に埋もれていませんか?

研究キーワードに一致する最新の論文のダイジェストを毎日受け取りましょう——技術要約付き、あなたの言語で。

Digest を試す →