Phoenix MLモデルの詳細
Grok TransformerアーキテクチャとCandidate Isolationの仕組み
機械学習ランキングとは
Phoenix(フェニックス)は、Xの推薦システムにおける「頭脳」です。機械学習モデルを用いて、各投稿が各ユーザーに対してどれだけ価値があるかを予測します。
PhoenixはXの推薦エンジンの中核となる機械学習モデルです。ユーザーの過去の行動パターンを学習し、新しい投稿に対する反応(いいね、リプライ、フォローなど)を確率として予測します。
従来のランキングシステムと機械学習ランキングの違いを表4-1に示します。
| 項目 | 従来のランキング | Phoenix MLランキング |
|---|---|---|
| 評価方法 | 過去の実績(いいね数など) | 個人別の予測確率 |
| 評価対象 | 投稿の一般的な人気 | 「あなた」がどう反応するか |
| 特徴 | 全員に同じランキング | ユーザーごとに異なるランキング |
Phoenixは「この投稿が過去にどれだけ反応を集めたか」ではなく、「この投稿を見たあなたがどう反応するか」を予測しています。
Grok Transformerアーキテクチャ
Phoenixの中核は、Grok Transformerと呼ばれる深層学習モデルです。図4-1にその全体構造を示します。
図4-1:Phoenix Transformerアーキテクチャ
- ユーザー: 256次元
- ツイート: 512次元
- 投稿者: 128次元
- コンテキスト: 64次元
- 層数: 8
- Attention heads: 16
- 隠れ層: 1024次元
- Dropout: 0.1
class PhoenixModel:
# 入力特徴量の次元
user_embedding_dim = 256
tweet_embedding_dim = 512
author_embedding_dim = 128
context_embedding_dim = 64
# Transformer設定
num_layers = 8 # 8層
num_attention_heads = 16 # 16ヘッド
hidden_dim = 1024 # 隠れ層次元
dropout_rate = 0.1 # Dropout率
# 出力
num_engagement_types = 19 # 19種類の確率出力Candidate Isolation
Phoenixの最も特徴的な技術がCandidate Isolation(候補分離)です。通常のTransformerでは、入力されたすべての要素が互いに情報を交換しますが、推薦システムでこれを行うと問題が発生します。
問題1: 順序バイアス
先に入力された投稿が有利になる
問題2: 競合バイアス
他の「良い」投稿があるとスコアが下がる
問題3: 情報漏洩
他の候補の内容がスコアリングに影響
これらの問題を解決するため、Candidate Isolationではアテンションマスクを使用します(図4-2)。
図4-2:Candidate Isolationのアテンションマスク
| A | B | C | User | |
|---|---|---|---|---|
| A | 1 | 0 | 0 | 1 |
| B | 0 | 1 | 0 | 1 |
| C | 0 | 0 | 1 | 1 |
| User | 1 | 1 | 1 | 1 |
あなたの投稿は、他の候補投稿と「競争」しているのではありません。
アルゴリズムは、あなたの投稿を「このユーザーにとって、どれだけ価値があるか」で独立して評価しています。他のアカウントを意識するより、ターゲットユーザーの興味を理解することが重要です。
予測から表示までの流れ
Phoenixがスコアを計算した後、どのように表示が決まるかを見ていきましょう。
特徴量抽出
ユーザー・候補投稿・投稿者の特徴を取得
Phoenix推論
1000件の各候補に対して19種類の確率を計算
重み付きスコア
確率 x 重みの合計を計算
追加スコアラー
OON、多様性、VQVなどの調整を適用
最終ランキング
スコア順に並べてタイムラインに表示
この章のまとめ
第4章 重要ポイント
- PhoenixはGrok Transformerベースの機械学習モデル(8層、16ヘッド、1024次元)
- Candidate Isolationで候補を独立評価(他の投稿との「競争」ではなく「マッチング」)
- 19種類のエンゲージメント確率を予測(重み付き合計が最終スコア)
- パーソナライゼーションは絶対(同じ投稿でも、見る人によってスコアは異なる)
- ターゲットを明確に絞る(全員に届けようとしない)
- リプライ・プロフィールクリックを誘発する内容を意識
- 他の投稿との競争ではなく、ターゲットとのマッチングに集中
- ネガティブエンゲージメントの確率を下げる(攻撃的な内容を避ける)
Grok Transformerとは何ですか?
Grok Transformerは、Phoenixモデルの中核となる深層学習アーキテクチャです。8層のTransformer Encoderで構成され、16個のAttention headによる並列的な特徴抽出を行います。通常のTransformerがテキストの文脈理解に特化しているのに対し、Grok Transformerはユーザーの行動予測に最適化されています。
Candidate Isolation(候補分離)はなぜ重要ですか?
Candidate Isolationは、各投稿を公平かつ独立して評価するための仕組みです。これにより、順序バイアス(入力順で先にある投稿が有利になる)、競合バイアス(他の「良い」投稿があると相対的にスコアが下がる)、情報漏洩(他の候補の内容がスコアリングに影響する)を防ぎます。
入力特徴量の4種類は何ですか?
Phoenixモデルは4種類の入力特徴量を使用します:(1) User Features(256次元)- 過去の行動履歴、興味カテゴリ、フォローグラフ、(2) Tweet Features(512次元)- テキスト埋め込み、メディア特徴、エンゲージメント統計、(3) Author Features(128次元)- フォロワー数、投稿頻度、エンゲージメント率、(4) Context Features(64次元)- 時間帯、デバイス、言語設定。
「他の投稿と競争していない」とはどういう意味ですか?
Candidate Isolationにより、各投稿は独立して評価されます。自分の投稿がターゲットユーザーの興味にマッチするかが評価対象であり、他の投稿の存在は自分のスコアに影響しません。「みんなに届けたい」ではなく「誰に届けたいか」を明確にすることが重要です。
Phoenix Transformerは何種類の確率を出力しますか?
Phoenix Transformerは19種類のエンゲージメント確率を出力します。主なものは:いいね、リポスト、リプライ、引用、プロフィールクリック、フォロー、動画品質視聴、ブックマーク(ポジティブ)と、通報、ミュート、ブロック、興味なし(ネガティブ)です。リプライ(13.5倍)やプロフィールクリック(12倍)は、いいね(0.5倍)より重みが大きいです。
理解度チェック
Phoenix Transformerの層数は?
Attention headの数は?
Candidate Isolationの目的は?
PhoenixはどのMLフレームワークを使用?
user_embedding_dimの次元数は?