第4章

Phoenix MLモデルの詳細

Grok TransformerアーキテクチャとCandidate Isolationの仕組み

4.1

機械学習ランキングとは

Phoenix(フェニックス)は、Xの推薦システムにおける「頭脳」です。機械学習モデルを用いて、各投稿が各ユーザーに対してどれだけ価値があるかを予測します。

定義:Phoenix

PhoenixはXの推薦エンジンの中核となる機械学習モデルです。ユーザーの過去の行動パターンを学習し、新しい投稿に対する反応(いいね、リプライ、フォローなど)を確率として予測します。

従来のランキングシステムと機械学習ランキングの違いを表4-1に示します。

表4-1:ランキングシステムの比較
項目従来のランキングPhoenix MLランキング
評価方法過去の実績(いいね数など)個人別の予測確率
評価対象投稿の一般的な人気「あなた」がどう反応するか
特徴全員に同じランキングユーザーごとに異なるランキング
重要なポイント

Phoenixは「この投稿が過去にどれだけ反応を集めたか」ではなく、「この投稿を見たあなたがどう反応するか」を予測しています。

4.2

Grok Transformerアーキテクチャ

Phoenixの中核は、Grok Transformerと呼ばれる深層学習モデルです。図4-1にその全体構造を示します。

図4-1:Phoenix Transformerアーキテクチャ

入力層
ユーザー
256次元
ツイート
512次元
投稿者
128次元
コンテキスト
64次元
Grok Transformer(8層 x 16ヘッド)
Multi-Head Self-Attention + Candidate Isolation
Feed-Forward Network(1024次元)
※ 8回繰り返し
19種類のエンゲージメント確率出力
favorited_probretweeted_probreplied_prob
モデルの設定値
入力特徴量
  • ユーザー: 256次元
  • ツイート: 512次元
  • 投稿者: 128次元
  • コンテキスト: 64次元
Transformer設定
  • 層数: 8
  • Attention heads: 16
  • 隠れ層: 1024次元
  • Dropout: 0.1
recsys_model.py - モデル構造
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種類の確率出力
4.3

Candidate Isolation

Phoenixの最も特徴的な技術がCandidate Isolation(候補分離)です。通常のTransformerでは、入力されたすべての要素が互いに情報を交換しますが、推薦システムでこれを行うと問題が発生します。

問題1: 順序バイアス

先に入力された投稿が有利になる

問題2: 競合バイアス

他の「良い」投稿があるとスコアが下がる

問題3: 情報漏洩

他の候補の内容がスコアリングに影響

これらの問題を解決するため、Candidate Isolationではアテンションマスクを使用します(図4-2)。

図4-2:Candidate Isolationのアテンションマスク

ABCUser
A1001
B0101
C0011
User1111
1 = 参照可能
0 = マスク(参照不可)
戦略的含意

あなたの投稿は、他の候補投稿と「競争」しているのではありません。

アルゴリズムは、あなたの投稿を「このユーザーにとって、どれだけ価値があるか」で独立して評価しています。他のアカウントを意識するより、ターゲットユーザーの興味を理解することが重要です。

4.4

予測から表示までの流れ

Phoenixがスコアを計算した後、どのように表示が決まるかを見ていきましょう。

1

特徴量抽出

ユーザー・候補投稿・投稿者の特徴を取得

2

Phoenix推論

1000件の各候補に対して19種類の確率を計算

3

重み付きスコア

確率 x 重みの合計を計算

4

追加スコアラー

OON、多様性、VQVなどの調整を適用

5

最終ランキング

スコア順に並べてタイムラインに表示

4.5

この章のまとめ

第4章 重要ポイント

  • PhoenixはGrok Transformerベースの機械学習モデル(8層、16ヘッド、1024次元)
  • Candidate Isolationで候補を独立評価(他の投稿との「競争」ではなく「マッチング」)
  • 19種類のエンゲージメント確率を予測(重み付き合計が最終スコア)
  • パーソナライゼーションは絶対(同じ投稿でも、見る人によってスコアは異なる)
今日からできること
  • ターゲットを明確に絞る(全員に届けようとしない)
  • リプライ・プロフィールクリックを誘発する内容を意識
  • 他の投稿との競争ではなく、ターゲットとのマッチングに集中
  • ネガティブエンゲージメントの確率を下げる(攻撃的な内容を避ける)
Q

Grok Transformerとは何ですか?

A

Grok Transformerは、Phoenixモデルの中核となる深層学習アーキテクチャです。8層のTransformer Encoderで構成され、16個のAttention headによる並列的な特徴抽出を行います。通常のTransformerがテキストの文脈理解に特化しているのに対し、Grok Transformerはユーザーの行動予測に最適化されています。

Q

Candidate Isolation(候補分離)はなぜ重要ですか?

A

Candidate Isolationは、各投稿を公平かつ独立して評価するための仕組みです。これにより、順序バイアス(入力順で先にある投稿が有利になる)、競合バイアス(他の「良い」投稿があると相対的にスコアが下がる)、情報漏洩(他の候補の内容がスコアリングに影響する)を防ぎます。

Q

入力特徴量の4種類は何ですか?

A

Phoenixモデルは4種類の入力特徴量を使用します:(1) User Features(256次元)- 過去の行動履歴、興味カテゴリ、フォローグラフ、(2) Tweet Features(512次元)- テキスト埋め込み、メディア特徴、エンゲージメント統計、(3) Author Features(128次元)- フォロワー数、投稿頻度、エンゲージメント率、(4) Context Features(64次元)- 時間帯、デバイス、言語設定。

Q

「他の投稿と競争していない」とはどういう意味ですか?

A

Candidate Isolationにより、各投稿は独立して評価されます。自分の投稿がターゲットユーザーの興味にマッチするかが評価対象であり、他の投稿の存在は自分のスコアに影響しません。「みんなに届けたい」ではなく「誰に届けたいか」を明確にすることが重要です。

Q

Phoenix Transformerは何種類の確率を出力しますか?

A

Phoenix Transformerは19種類のエンゲージメント確率を出力します。主なものは:いいね、リポスト、リプライ、引用、プロフィールクリック、フォロー、動画品質視聴、ブックマーク(ポジティブ)と、通報、ミュート、ブロック、興味なし(ネガティブ)です。リプライ(13.5倍)やプロフィールクリック(12倍)は、いいね(0.5倍)より重みが大きいです。

理解度チェック

1

Phoenix Transformerの層数は?

2

Attention headの数は?

3

Candidate Isolationの目的は?

4

PhoenixはどのMLフレームワークを使用?

5

user_embedding_dimの次元数は?

回答済み: 0 / 5
Xアルゴリズム攻略ガイド