マスク(Elon Musk)は5月15日にX上で、最新のXアルゴリズムがGitHubに公開されたと発表した。xAIがGitHubで公開しているxai-org/x-algorithmリポジトリによれば、今回リリースされた内容の主眼は、Xプラットフォーム「For You」フィードの情報流を駆動する中核レコメンド(推薦)システムだ。同システムは、ユーザーが追跡しているアカウントのサイト内コンテンツと、機械学習によって世界規模のコンテンツ・ライブラリから掘り起こしたサイト外コンテンツを組み合わせ、その後、Grokアーキテクチャに基づくtransformerモデルで並べ替える(ランキングする)。
このプロジェクトはApache 2.0のライセンスで、主にRustとPythonで実装されており、調査時点でGitHubには約2.1万stars、3,800個のforksが表示されている。
For Youの推薦アーキテクチャ:Thunderが追跡コンテンツを探し、Phoenixがサイト外コンテンツを掘り出す
リポジトリの説明ドキュメントによると、XのFor Youフィードは主に2種類の候補コンテンツの出所で構成される。
1つ目はサイト内コンテンツで、Thunderモジュールが担当する。Thunderはメモリ内の投稿ストレージ領域と、リアルタイムのデータ取り込みパイプラインで、Kafkaから投稿の作成・削除イベントを消費し、すべてのユーザーの直近の投稿を追跡して、依頼者に対して追跡アカウント由来のコンテンツ候補を提供する。ドキュメントは、Thunderが外部データベースを照会せずに、サイト内コンテンツ候補のサブミリ秒級クエリを提供できると強調している。
2つ目はサイト外コンテンツで、Phoenix Retrievalが担当する。Phoenixはグローバルなコンテンツ・ライブラリから、ユーザーが興味を持ちそうだが追跡アカウントの投稿ではない投稿を見つける。その検出(リトリーブ)段階では双塔モデル(Two-Tower Model)を採用する。User Towerがユーザーの特徴とインタラクションの履歴をベクトル化し、Candidate Towerが候補投稿をベクトル化し、その後、内積の類似度によって最も関連性の高い内容を選び出す。
これらの候補コンテンツはHome Mixerに入る。Home MixerはFor You情報流の協調(コーディネート)層だ。Home Mixerはユーザーのコンテキストを調べ、候補コンテンツを取得し、投稿や作成者のデータを補完し、不適切なコンテンツをフィルタし、ランキングモデルを呼び出し、スコア調整を適用したうえで、最後にユーザーのFor Youページに表示する投稿を決定する。ドキュメントでは、Home Mixerが特定ユーザーに対して並べ替え済みの投稿を返すためのgRPCエンドポイントScoredPostsServiceを外部提供していることも示されている。
Grokアーキテクチャが推薦システムの中核になる
今回最も注目されている点は、Xの推薦システムが明確にGrokを導入したことだ。
GitHubのREADMEでは、For Youフィードの内容はPhoenixが並べ替えるとされており、PhoenixはGrokベースのtransformerモデルで、各投稿が引き起こし得るインタラクション確率を予測し、最後にこれらの予測値を加重合成して最終スコアにする、と記されている。さらにドキュメントには、このリポジトリでのtransformer実装はxAIがオープンソースとして公開したGrok-1を移植したもので、推薦システムの利用シーンに合わせて調整されている。たとえば、カスタムの入力埋め込みや、候補分離のためのattention maskを追加している。
ただし、だからといってXが完全な本番環境のモデルをすべて公開したという意味ではない。PhoenixのREADMEには、今回公開されたのはmini versionであり、本番ではより大きなモデルを使用していると明記されている。そこには、より多くの層数と、より幅広いembeddingsが含まれる。また、公開版のcheckpointは連続学習のプロセスから切り出したある時点のスナップショットで、本番環境のPhoenixはリアルタイムデータに基づき継続的に学習するとされている。
5月15日の更新:実行可能なエンドツーエンド推論、ミニPhoenixモデル、広告の混合システム
GitHubの更新説明によると、5月15日バージョンでは複数の重要コンポーネントが追加された。
まずはエンドツーエンド推論プロセスだ。新しいphoenix/run_pipeline.pyは、従来の分離されたrun_ranker.pyとrun_retrieval.pyを置き換え、単一の入口で「リトリーブ→ランキング」の一連の流れをつなげられるようになっており、exported checkpointsで動作させて、本番環境での2つの段階の組み合わせを模擬する。
次に、事前学習済みのモデルartifactsだ。今回リリースされたmini Phoenix modelはGit LFSで公開されており、ドキュメントによれば、256次元のembeddings、4つのattention heads、2層のtransformerを含み、約3GB。開発者はモデルを自前で学習しなくても、out-of-the-boxで推論(inference)を実行できる。PhoenixのREADMEではさらに、公開されたdemo corpusは、6時間のウィンドウから抽出した運動トピックの投稿データセットで、約53.7万件の投稿が含まれ、リトリーブ段階のデモに用いられるとしている。
加えて、リポジトリにはGroxのcontent-understandingパイプラインが追加された。spam detection、post-category classification、PTOS policy enforcementなどのコンテンツ理解タスクを目的としている。あわせてHome Mixerには広告混合(ad混在)システムも追加されており、情報流における広告の挿入と配置を担い、ブランドセーフティ追跡も組み込まれている。
並べ替えモデルは15種類のインタラクションを一度に予測する。「単一の“関連性”スコア」だけではない
Phoenixのランキングモデルは、抽象的な「関連性」スコアを1つ出すだけではなく、複数のインタラクション行為の発生確率を同時に予測する。
ドキュメントによれば、モデルはfavorite、reply、repost、quote、click、profile click、video view、photo expand、share、dwell、follow authorに加え、not interested、block author、mute author、reportなど、合計15種類の行為を予測する。
その後、Weighted Scorerがこれらのインタラクション確率を加重して最終スコアにまとめる。いい方向の行為(いいね、リポスト、共有など)には正の重みを与え、悪い方向の行為(ブロック、ミュート、通報など)には負の重みを与えて、ユーザーが好まない可能性のあるコンテンツを下に押し下げる。
モデルのスコアが算出された後、システムはさらに別の調整も適用する。たとえばAuthor Diversity Scorerは重複する作者のスコアを下げて情報流の多様性を維持する。OON Scorerはout-of-networkコンテンツ、つまり追跡していないアカウントの投稿のスコアを調整する。
これは、Xの「For You」が単に“いいねされやすい”投稿を上に押し上げているだけではないことを示す。多種のインタラクション行為を分解して予測し、それを重み設計によって最終的に並べ替えるのだ。つまり、アルゴリズムの価値判断はモデルそのものだけに存在するのではなく、各種のインタラクション重みや後処理のルールの中にも同じように存在する、ということになる。
候補の隔離:投稿のスコアは同じバッチの他投稿に影響されるべきではない
今回のドキュメントで特に注目すべきなのが「候補隔離」(Candidate Isolation)だ。
Phoenix READMEによれば、ranking段階では、候補投稿同士が相互にattendしてはならず、ユーザーとその履歴のみを見られるようにする。この設計の目的は、単一投稿のスコアが、それがどのような他の投稿と同じbatchに入れられるかによって変わってしまうのを防ぐことにある。言い換えると、ある投稿のスコアは、それがユーザーとの間にどのような関係を持つかによって決まるべきで、同じバッチ内にたまたま競合投稿がどれだけ含まれているかによって決まるべきではない。
これはクリエイターにとっても潜在的な意味がある。過去には、多くのコミュニティ運用者が、投稿時間は人気の出来事や高いインタラクションの投稿を避けるべきなのではないか、そうしないと推薦プールで強い内容に押し負けるのではないか、などと推測していた。しかしドキュメントどおり候補隔離が実装されているなら、少なくともモデル推論の層においては、同じバッチに他の強い投稿が同時に存在しても、単一投稿のスコアが直接変わることはない。
ただし、投稿時間がまったく重要でないという意味ではない。前段の候補召還、投稿の鮮度、ユーザーがオンラインにいる時間帯、既読コンテンツのフィルタ、人気イベントによる競合の注意力などの要因が、最終的な露出に影響する可能性は依然ある。
「人工特徴なし」の語りには議論がある:モデルの並べ替え以外にも、人工ルールは存在する
xAIはドキュメントの中で、システムはすべての人工的な設計特徴と大部分のヒューリスティック(経験則)ルールを排除し、主にGrok-based transformerがユーザーのインタラクション列から関連性を学習すると主張している。ドキュメントには、無人工設計特徴、ランキング段階の候補隔離、ハッシュ式の埋め込み、多行為予測、組み合わせ可能なパイプライン構成といった5項目のコア設計も列挙されている。
しかし、この主張はより正確に解釈する必要がある。同じドキュメントからも、For Youフィードは並べ替えに入る前に大量のpre-scoring filtersを通過することが読み取れる。たとえば重複投稿の除去、あまりに古い投稿の除去、ユーザー自身の投稿の除去、ブロックまたはミュートされたアカウント、ミュートキーワード、既読または直近で出現したコンテンツの除外、資格を満たさないサブスクリプション内容などだ。さらに並べ替え後にも、削除、spam、暴力的・猥褻な内容、会話スレッドの重複分岐などのpost-selection filtersが適用される。
したがって、より正確に言うべきはこうだ。Xは「コンテンツの関連性に基づく候補の並べ替え」は、Grok-based transformerが学習しており、従来の手作りのコンテンツ特徴に依存しないと主張している。しかし、For You情報流全体には、なお大量のプロダクトルール、フィルター、重み、そして後処理メカニズムがある。これらのルールもまた、ユーザーが最終的に目にするコンテンツを形作っている。
実戦教室:Xのアルゴリズムを使ってアカウントを運営する方法
実戦で見ると、クリエイターが「アルゴリズムに沿って」Xアカウントを運営しようとする場合、単にいいねやリポストを追うだけでは不十分で、For Youシステムが同時に複数のインタラクション指標を評価することを理解する必要がある。良いシグナルには滞在時間、クリック、返信、リポスト、作者のフォロー、動画視聴、画像の展開などが含まれる。悪いシグナルには興味なし、ミュート、ブロック、通報などが含まれる。
つまり、コンテンツは派手な見出しでクリックを騙すだけではいけない。なぜならユーザーが入ってきたあとすぐにスワイプして離れたり、「興味なし」を押したり、作者をブロックしたりすると、むしろその後の推薦パフォーマンスが下がる可能性があるからだ。
アカウント運営者にとってより効果的な戦略は「インタラクションの質」を高めることだ。冒頭では最初の数秒で注意をつかみ、本文では人が読み続けて滞在できる内容にし、結末では読者が自然に返信したり共有したりしたくなる観点を設計する。無理にインタラクションを促すのではなく、同時に、システムには作者多様性の調整があるため、短時間に連投しても露出が線形に増えるとは限らず、むしろ同一作者の評価が下がって希釈される可能性がある。より合理的なのは、投稿のリズムをコントロールして、各投稿に明確なテーマを持たせ、十分な情報密度と、転送(共有)しやすい立場を備えることだ。
最後に、サイト外コンテンツの推薦が意味するのは、アカウントが既存のフォロワーだけに依存する必要はないということだ。内容によって知らない受け手が滞在し、クリックし、フォローするようになれば、より大きなFor Youの流量プールに押し込まれる可能性がある。ただし前提として、低品質の農場文、重複コンテンツ、過度に物議を醸す運用は避けるべきだ。これらの行為が静音、ブロック、通報を引き起こすと、アルゴリズムが与えるペナルティは短期の流量ボーナスよりも重くなることが多いからだ。
この記事はXが公開した「For You」推薦アルゴリズムの原始コード:アルゴリズムでTwitterアカウントを運営する実戦チュートリアル。最初に鏈新聞ABMediaに掲載された。
Related News
SpaceX は有望で、6/12 に上場(掛け)し、NASDAQ 100 指数に組み込まれることが期待されています。
Codex は ChatGPT のモバイルアプリを導入し、Mac の開発タスクを遠隔で制御できる
Pi Network PiScan 回帰、KYC AI アップグレードで短縮された人工隊列 50%
サム・アルトマン発表:OpenAI Codexを提供企業が2か月間「無料」で利用可能
GoogleがSpaceXと提携を模索、「捕日者計画」の宇宙AI計算基盤を構築