Twitter 推薦算法開源,馬斯克被“特殊照顧”
整理 | 夢依丹 責(zé)編 | XXXXX
出品 | CSDN(ID:CSDNnews)
在馬斯克反復(fù)承諾表示要開源 Twitter 推薦算法之后,3 月 31 日,Twitter 部分推薦算法源碼正式在 GitHub 上開放,采用 GNU Affero General Public License v3.0 許可證。
Twitter 開放推薦算法源碼
https://github.com/twitter/the-algorithm
Twitter 在 GitHub 上發(fā)布了兩個代碼庫,包括用于控制用戶在 For You 時間線上看到推文的機制。Twitter 將此舉描述為“更透明的第一步”,同時還可以“防止風(fēng)險”,既可以保護 Twitter 本身,也可以保護平臺上的人。
此次開源不包括驅(qū)動 Twitter 廣告推薦的代碼或用于訓(xùn)練 Twitter 推薦算法的數(shù)據(jù)。Twitter 表示:“[我們排除了]任何可能危及用戶安全和隱私或破壞我們打擊兒童性侵犯和操縱等惡意行為的能力的代碼?!?/p>
馬斯克在 Twitter Spaces 上提到:
“算法的初始版本會比較尷尬,人們會發(fā)現(xiàn)許多錯誤,但我們會很快修復(fù)。即使你不同意某些內(nèi)容,但至少你會知道它為什么在那里,而且你不會被秘密操縱...這里的類比是我們所追求的 Linux 作為開源操作系統(tǒng)的偉大范例...在理論上,人們可以發(fā)現(xiàn)許多 Linux 的漏洞。事實上,發(fā)生的是社區(qū)識別和修復(fù)這些漏洞。”
后續(xù) Twitter 將開源所有顯示展示推文相關(guān)的代碼。
在 Twitter 源碼公布后,新浪微博新技術(shù)研發(fā)負責(zé)人張俊林在朋友圈中提到:
Twitter 開源了推薦系統(tǒng)源代碼,發(fā)現(xiàn)排序模型用的是我們兩年前發(fā)布的 MaskNet 模型,Twitter 的研發(fā)人員也在開源當(dāng)天給我們發(fā)了一封郵件,他們和其他排序模型做過效果對比,發(fā)現(xiàn) MaskNet 是效果最好的,所以最終 Twitter 排序采用了這個模型。我們自己內(nèi)部評估,這個模型也是我們自己過去幾年摸索的幾個模型里(FiBiNet、GateNet、MaskNet、ContextNet)綜合效果最好的一個。要說搜廣推模型,卷得最狠的應(yīng)該還是國內(nèi)互聯(lián)網(wǎng)公司,不過,隨著 GPT 4 的降臨,很可能這個賽道未來用什么模型已經(jīng)不那么重要了。
如何從 5 億條推文中精選內(nèi)容給用戶?
一條推文從發(fā)布到展示,期間都經(jīng)歷了哪些奇妙的旅程呢?Twitter 官博重點介紹了“For You”列表下的算法相關(guān)推薦機制和排名,每天從 5億條推文中展示部分精選內(nèi)容的背后,正式揭曉。
Twitter 算法推薦的基礎(chǔ)是一組核心模型和特征,從推文、用戶和互動數(shù)據(jù)中提取潛在信息。推薦流水線由三個主要階段組成,這些階段使用這些特征:
1、從不同的推薦來源中獲取最佳推文,這個過程稱為獲取候選推文;
2、使用機器學(xué)習(xí)模型對每個推文進行排名;
3、應(yīng)用啟發(fā)式和過濾器,例如過濾用已屏蔽用戶的推文、NSFW 內(nèi)容和已經(jīng)看過的推文等。
負責(zé)構(gòu)建和提供 For You 時間線的服務(wù)稱為 Home Mixer。Home Mixer 基于 Product Mixer 構(gòu)建,Product Mixer 是 Twitter 自定義的 Scala 框架,可以幫助構(gòu)建內(nèi)容流。該服務(wù)充當(dāng)軟件骨干,連接不同的候選源、評分函數(shù)、啟發(fā)式和過濾器。
下面的圖表說明了構(gòu)建時間線所使用的主要組件:
作為該系統(tǒng)的核心部分,大致按照單個時間線請求期間被調(diào)用的順序,從檢索候選推文開始。
候選推文來源
Twitter 有幾個候選推文作為來源,它們?yōu)橛脩魴z索最近和相關(guān)的推文。對于每個請求,推薦算法會嘗試通過這些來源從數(shù)億條推文中提取最佳的 1500 條。會從用戶關(guān)注的(內(nèi)部網(wǎng)絡(luò))和不關(guān)注的人中(外部網(wǎng)絡(luò))找到候選者。目前, For You 時間線平均由 50% 的內(nèi)部網(wǎng)絡(luò)推文和 50% 的外部網(wǎng)絡(luò)推文組成,也存在因用戶而異的情況。
內(nèi)部網(wǎng)絡(luò)資源
內(nèi)部網(wǎng)絡(luò)資源是最大的候選推文來源,旨在提供你關(guān)注的用戶最相關(guān)、最新的推文。它使用邏輯回歸模型高效地對你關(guān)注對象的推文進行排名。然后將排名靠前的推文發(fā)送到下一個階段。
這里最重要的組件是真實圖(Real Graph)模型,用于預(yù)測兩個用戶之間的互動可能性。用戶和推文作者之間的真實圖得分越高,F(xiàn)or You 下面即會展示更多兩者之間的推文。
內(nèi)部網(wǎng)絡(luò)資源目前已停用 Fanout Service,這是一個 12 年前的服務(wù),用于為每個用戶提供緩存的內(nèi)部網(wǎng)絡(luò)推文。目前 Twitter 還在重新設(shè)計邏輯回歸排名模型,該模型最近幾年已經(jīng)更新和訓(xùn)練過!
外部網(wǎng)絡(luò)資源
相較于內(nèi)部網(wǎng)絡(luò)資源,在用戶關(guān)注之外找到相關(guān)的推文是一個更加棘手的問題, Twitter 采取了兩種方法來解決這個問題。
1、社交圖譜,首先通過分析你所關(guān)注用戶或興趣相似的用戶互動來推出你可能會感興趣的內(nèi)容;其次會通過一些問題來遍歷互動和關(guān)注的圖形來對結(jié)果進行邏輯回歸模型排名,如 Twitter 開發(fā)的 GrapJet 圖形處理引擎,可以維護用戶和推文之間的實時互動圖形。
2、嵌入空間,旨在回答關(guān)于內(nèi)容相似性的更一般的問題:哪些推文和用戶與我的興趣相似?Twitter 最有用的嵌入空間之一是 SimClusters。SimClusters 使用自定義矩陣分解算法發(fā)現(xiàn)由一群有影響力的用戶錨定的社區(qū)。有 145k 個社區(qū),每三周更新一次。
排名
內(nèi)容源確定好,那如何來確定內(nèi)容的時間線呢?排名是通過一個約 48M 個參數(shù)的神經(jīng)網(wǎng)絡(luò)實現(xiàn)的,該神經(jīng)網(wǎng)絡(luò)持續(xù)根據(jù)推文互動進行訓(xùn)練,以優(yōu)化積極的參與度(例如,點贊、轉(zhuǎn)發(fā)和回復(fù))。這種排名機制考慮了數(shù)千個特征,并輸出十個標(biāo)簽,以給每個推文打分,其中每個標(biāo)簽表示參與的概率。Twitter 根據(jù)這些分數(shù)對推文進行排名。
啟發(fā)式、過濾器和產(chǎn)品特性
在排名階段之后,Twitter 會應(yīng)用啟發(fā)式和過濾器來實現(xiàn)各種產(chǎn)品特性。這些特性共同工作,創(chuàng)建一個平衡和多樣化的信息流。其中包括:
可見性過濾:根據(jù)內(nèi)容和用戶偏好過濾推文。例如,刪除用戶屏蔽或靜音的帳戶的推文;
作者多樣性:避免連續(xù)太多來自單個作者的推文;
內(nèi)容平衡:確保提供公平的網(wǎng)絡(luò)內(nèi)資源和網(wǎng)絡(luò)外推文平衡;
基于反饋的打分機制:如果查看者在某些推文周圍提供了負面反饋,則降低該推文的分數(shù);
社交證明:該機制通過排除沒有與推文具有二度連接的網(wǎng)絡(luò)外推文來實現(xiàn)這一點。這意味著,為了被推薦給用戶,推文必須與用戶的關(guān)注者或關(guān)注者的關(guān)注者有一定的連接;
對話:通過將回復(fù)與原始推文串在一起,為回復(fù)提供更多上下文;
編輯的推文:確定設(shè)備上當(dāng)前的推文是否過時,并發(fā)送指令以用編輯版本替換它們。
混合和推送
作為推文展示到用戶面前的最后一步,系統(tǒng)將推文與其他非推文內(nèi)容(如廣告、關(guān)注建議和入門提示)混合在一起,返回用戶的設(shè)備上顯示。
上述管道每天運行約 50 億次,并平均在 1.5 秒內(nèi)完成。單個管道執(zhí)行需要 220 秒的 CPU 時間,幾乎用戶在應(yīng)用程序上感知到的延遲的 150 倍。
被特殊照顧的馬斯克
Twitter 算法開源引起了用戶的強烈興趣,用戶很快發(fā)現(xiàn) Twitter CEO 馬斯克(Elon Musk)得到了特別對待。上個月馬斯克的推文曾一度展示給幾乎所有 Twitter 用戶。相關(guān)算法代碼特別提到了 author_is_elon、author_is_power_user、author_is_democrat、author_is_republican...
( "author_is_elon", candidate .getOrElse(AuthorIdFeature, None).contains(candidate.getOrElse(DDGStatsElonFeature, 0L))), ( "author_is_power_user", candidate .getOrElse(AuthorIdFeature, None) .exists(candidate.getOrElse(DDGStatsVitsFeature, Set.empty[Long]).contains)), ( "author_is_democrat", candidate .getOrElse(AuthorIdFeature, None) .exists(candidate.getOrElse(DDGStatsDemocratsFeature, Set.empty[Long]).contains)), ( "author_is_republican", candidate .getOrElse(AuthorIdFeature, None) .exists(candidate.getOrElse(DDGStatsRepublicansFeature, Set.empty[Long]).contains)), )
這段代碼地址:https://github.com/twitter/the-algorithm/blob/7f90d0ca342b928b479b512ec51ac2c3821f5922/home-mixer/server/src/main/scala/com/twitter/home_mixer/functional_component/decorator/HomeTweetTypePredicates.scala#L224-L246
隨后,一位 Twitter 工程師表示,這些標(biāo)簽僅用于指標(biāo)。但馬斯克表示,他不知道這些標(biāo)簽之前沒有出現(xiàn)過,并表示它們不應(yīng)該存在。
隨便看看:
- [數(shù)據(jù)]旗艦配置全拉滿!realme GT Neo5 SE開箱:這真
- [數(shù)據(jù)]一個頗具實踐意義的專利失效了
- [數(shù)據(jù)]Keychron推出帶有Gateron機械開關(guān)的K7 Max
- [數(shù)據(jù)]中國移動云盤 X 蘇炳添,引領(lǐng)速度時代
- [數(shù)據(jù)]消息稱字節(jié)跳動2022年收入超800億美元,直逼騰訊
- [數(shù)據(jù)]95分APP閑置交易引關(guān)注,熱衷分享省錢經(jīng)驗貼
- [數(shù)據(jù)]1一加11新配色木星巖限定版開箱包裝全新定制一加11木星巖限
- [數(shù)據(jù)]新一輪汽車“以舊換新”政策落地:振興消費與回收產(chǎn)業(yè)
- [數(shù)據(jù)]虎頭局聲明:線上店鋪正常運營,訂單有序發(fā)貨
- [數(shù)據(jù)]全球開源極客嘉年華GOGC2024盛大啟幕,首日看點一覽
相關(guān)推薦:
網(wǎng)友評論:
推薦使用友言、多說、暢言(需備案后使用)等社會化評論插件
- 2025年最受歡迎的電動窗簾品牌排名,AI幫您揭曉
- 趣丸千音All Voice Lab來襲!10 倍效
- 拓維海云天智能考試新品重磅發(fā)布,引領(lǐng)考試國產(chǎn)化與數(shù)
- 阿爾西加大研發(fā)力度,加速半導(dǎo)體的“國產(chǎn)化”發(fā)展之路
- 元宇宙中如何修復(fù)數(shù)字文物?
- 探索長尾詞工具,解鎖SEO秘訣!
- 抖音本地新年營銷玩法攻略,助力本地生意開個好頭
- 企云方全面預(yù)算系統(tǒng):財務(wù)智能引領(lǐng)企業(yè)戰(zhàn)略規(guī)劃
- 【智齒科技】AI Agent實現(xiàn)全程自動應(yīng)答,生成
- 簡化大模型訓(xùn)推全流程,天翼云息壤即將重磅升級!