Twitterの推薦アルゴリズムがオープンソース化:For Youページの背後にある機械学習の秘密を解明

想像してみてください。毎日 Twitter(現在は X)を開くと、For You ページにはあなたが興味を持ちそうなツイートが次々と表示されますが、その背後でどのように動いているのかはわかりません。この痛点に対する答えがついに明らかになりました:Twitter は彼らの推薦アルゴリズムのソースコードを公開し、GitHub 上の the-algorithm-ml リポジトリを通じて、開発者や研究者がこの複雑なシステムを深く理解できるようにしました。このオープンソースプロジェクトは主に AI エンジニア、データサイエンティスト、ソーシャルメディア研究者を対象としており、Twitter が実際に使用している推薦ロジックを提供し、コードを見るだけでなく、自分のコンテンツ推薦メカニズムを分析し改善することができます。

非公開タイムラインジェネレーターを Rust にリファクタリングしてパフォーマンスを向上

Twitter の推薦アルゴリズムの核心は Heavy Ranker と呼ばれるモデルにあり、この部分はもともと Scala で書かれていましたが、チームは非公開タイムラインジェネレーターを Rust 言語にリファクタリングしました。この変更によりパフォーマンスが大幅に向上しました。なぜなら、Rust はメモリ安全性と並行処理において優れた性能を発揮するからです。開発者がリポジトリを開くと、これらのモジュールが数億件のツイート候補をどのように処理し、ユーザーに最適なコンテンツをフィルタリングするかを見ることができます。このリファクタリングは、推薦速度を加速させるだけでなく、サーバーの負荷を軽減し、高トラフィックプラットフォームにとって重要な改善となっています。

GitHub - twitter/the-algorithm-ml: Source code for Twitter's Recommendation Algorithm · GitHub 介面截圖
GitHub – twitter/the-algorithm-ml: Source code for Twitter’s Recommendation Algorithm · GitHub 公式ページのスクリーンショット

実際の運用において、この Rust モジュールはツイート候補プールの初期ソートを担当し、ユーザーのインタラクション履歴、コンテンツの類似性、リアルタイムのトレンドを考慮に入れます。従来の言語と比べて、Rust バージョンは生産環境でより安定したパフォーマンスを示し、Twitter のエンジニアリングチームのパフォーマンス最適化への執着を証明しています。研究者はこのリポジトリをフォークして、自分のデータセットをシミュレーションし、変更の効果をテストすることができます。

リアルタイムで公開と非公開のツイートを混合して For You タイムラインを生成

アルゴリズムのもう一つの注目すべき点は、リアルタイムで公開と非公開のツイートを混合し、個別化された For You タイムラインを生成することです。システムは、ユーザーがフォローしているアカウント、フォローしていないが関連性のあるアカウント、広告ツイートなどのソースから候補を引き出し、多層のランカーで評価します。このプロセスにより、タイムラインが単調にならず、新鮮なコンテンツが注入され、ユーザーがエコーチャンバーに陥ることを防ぎます。開発者がコードを閲覧することで、この混合ロジックを追跡し、候補の生成から最終的なレンダリングまでの各ステップを確認できます。

特に注目すべきは、この混合メカニズムがユーザーが隠したり報告したりしたツイートなどのネガティブフィードバックを考慮し、動的に重みを調整することです。Twitter のこの実装は、他のソーシャルプラットフォームと比べてより繊細で、推薦が個人の好みにより合致するようになっています。

完全なリポジトリには履歴のコミットとライセンスの詳細が含まれている

リポジトリにはコアの ML コードだけでなく、詳細なフォルダ構造、最新のコミット履歴、複数のライセンスも提供されています。ユーザーはナビゲーションメニューを通じて、SimClusters(類似クラスター)や TwHIN(Twitter Heterogeneous Information Network)などの特定のモジュールに迅速にナビゲートできます。これらはユーザーの興味や関係のグラフをキャッチするための重要なコンポーネントです。履歴記録はアルゴリズムの反復プロセスを示しており、研究者が Twitter がトラフィックのピークやアルゴリズムの調整にどのように対応しているかを理解する手助けとなります。

さらに、リポジトリには行動規範とセキュリティポリシーが組み込まれており、オープンソースコミュニティの安全な参加を確保しています。明確なプラットフォームのサポートはありませんが、コードは主にサーバーサイドのデプロイを対象としており、AWS や GCP などのクラウド環境に適しています。自前の推薦システムを構築したいチームにとって、ここは貴重なリソースであり、生産レベルの実装を直接参照できます。

セキュリティポリシーとリソースリンクで開発者の貢献を促進

Twitter はリポジトリ内に明確なセキュリティポリシーを設け、ユーザーに脆弱性を報告することを奨励し、関連文書へのリソースリンクも提供しています。これらの設計により、開発者はランキングの最適化や新しい言語のサポートの追加など、改善に貢献しやすくなります。このプロジェクトは 2023 年に公開されましたが、コミット履歴は継続的なメンテナンスを示しており、Twitter のオープンソースへのコミットメントを証明しています。

総じて、このオープンソースアルゴリズムは Twitter の推薦のブラックボックスを解体するだけでなく、業界に再現可能なブループリントを提供しています。自分のアプリをデバッグしたい人や ML アプリケーションを深く研究したい人にとって、時間をかけて探索する価値があります。

製品名:the-algorithm-ml / Twitter Recommendation Algorithm
公式ウェブサイト:https://github.com/twitter/the-algorithm-ml

Nakumura
Nakumura
関連サイト:中文版 / TechRitualThe Base Principle