BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース Twitterがレコメンデーションアルゴリズムをオープンソース化

Twitterがレコメンデーションアルゴリズムをオープンソース化

Twitterは最近、ユーザーのTwitterタイムラインにツイートをレコメンドするシステムのいくつかのコンポーネントをオープンソース化した。このリリースには、アルゴリズムを実行するいくつかのサービスやジョブのコード、ツイートを埋め込んでランキングする機械学習モデルをトレーニングするコードが含まれている。

システムの詳細は、Twitter Engineeringのブログ記事で紹介されている。このプロセスは、候補ツイートのソーシング、ツイートのランキング、ヒューリスティック/フィルタリングの3つの主要ステップで構成されている。このリリースには、機械学習モデルサーバーやストリーミングイベントプロセッサーなど、システムのコンポーネントサービスのコードと、ツイート、ユーザー、エンゲージメント(いいねやリツイートなど)に関する生データから特徴やモデルを抽出するためのコードが含まれている。Twitterは、今回の公開を透明性を高めるための努力の一環と位置付けているが、アルゴリズムの一部を公開から除外しており、特に広告推薦のためのコードやユーザーのプライバシーを侵害する可能性のあるコードを除外していると述べている。Twitterによると、以下の通りだ。

私たちのオープンソースの目的は、私たちのシステムがどのように機能するかについて、ユーザーの皆様に完全な透明性を提供することです。私たちはアルゴリズムを詳しく理解するためにレコメンデーションに使用されるコードを公開しました。

レコメンデーションパイプラインの目的は、ユーザーの「For You」タイムラインページを作成することだ。このプロセスは、ネットワーク内(ユーザーがフォローしている人)とネットワーク外の両方から、1,500件の候補ツイートを選択することから始まる。平均して、タイムラインには両方のソースからのツイートがほぼ同量含まれることになる。

Twitterレコメンデーションシステム
Image Source:https://github.com/twitter/the-algorithm_

ネットワーク内のツイートは、TwitterのRealGraphアルゴリズムを使って学習したロジスティック回帰モデルを使ってランク付けしている。"2人のユーザー間のエンゲージメントの可能性 "を予測するものだ。可能性が高いほど、そのユーザーのツイートがより多く含まれる。

ネットワーク外のツイートは2つのソースから選ばれる。まずTwitterはソーシャルグラフに従って、ユーザーがフォローしている人が関与しているツイートを見つけ、それもロジスティック回帰モデルによってランク付けされる。その他のネットワーク外のツイートは、SimClustersという埋め込み空間を使って選ばれる。SimClustersは、 matrix factorization algorithmを使って、ユーザーの14万5千の仮想コミュニティを特定する。ツイートはコミュニティ内の何人のユーザーがそのツイートを「いいね!」したかに基づいて、コミュニティと関連づけられる。

候補となるツイートが選ばれた後、MaskNetをベースにした48Mパラメータのニューラルネットワークモデルを使用してランク付けされる。最後にTwitterはヒューリスティックとフィルターを適用して、"バランスのとれた多様なフィードを作成 "する。これには結果におけるネットワーク内とネットワーク外のツイートのバランス調整や返信ツイートのスレッド化、職場で見ないほうがよいコンテンツの除去が含まれる。

Twitterがアルゴリズムを公開したことで、オンライン上で活発な議論が交わされている。Hacker News のスレッドでは、複数のユーザーが、ツイートから特徴を抽出するソースコードを指摘し、その中にはauthor_is_elon, author_is_power_user, author_is_democrat, author_is_republicanのフラグと、これらがアルゴリズムの変更を A/B テストするために使われているとするコード内のコメントが含まれている。

Twitterでは機械学習エンジニアのVicki Boykis氏がこのリリースについて次のように述べている。

これはまさにレコメンデーションシステムオタクのための贈り物です。ランカー、フィルター、ジェネレーター、Kafkaログ収集、タイムライン構築など、recsysらしい標準コンポーネントが揃っています。

リリースに関するReddit discussionでは、あるユーザーがこう書いている。

「アルゴリズム」を公開しようとする政治的な背景はさておき、これはML専門家にとって驚異的な教育コンテンツです。世界トップクラスの複雑なレコメンデーション・ランキングシステムを、誰もが読み解き、発展させることができるように公開されているのです。これはまさに金鉱のような教育資源です。

TwitterのレコメンデーションシステムのコードはGitHubで公開されており、2つのMLモデルを学習するコードも公開されている。

作者について

この記事に星をつける

おすすめ度
スタイル

BT