文章摘要
GitHub上公开了Twitter的X推荐算法的源代码,用户可以通过该平台查看和探索相关代码内容,同时GitHub提供了多种开发工具和功能,如Copilot、Actions、Codespaces等,帮助开发者提升代码质量和效率。
文章总结
GitHub - twitter/the-algorithm: X推荐算法的源代码
该项目是Twitter(现为X)推荐算法的开源代码库,旨在为用户提供个性化的内容推荐,涵盖“为你推荐”时间线、搜索、探索和通知等多个产品界面。该算法通过一系列服务和任务来构建和优化内容推荐流程。
主要架构
X的产品界面基于共享的数据、模型和软件框架构建。该代码库包含以下核心组件:
数据服务:
- tweetypie:处理推文数据的读写操作。
- unified-user-actions:实时记录用户在X上的行为数据流。
- user-signal-service:集中管理用户的显式(如点赞、回复)和隐式(如个人资料访问、推文点击)行为信号。
模型:
- SimClusters:社区检测和稀疏嵌入模型。
- TwHIN:用户和推文的密集知识图谱嵌入。
- trust-and-safety-models:用于检测不当或滥用内容的模型。
- real-graph:预测用户之间互动可能性的模型。
- tweepcred:基于Page-Rank算法的用户声誉计算模型。
软件框架:
- navi:高性能的机器学习模型服务框架,使用Rust编写。
- product-mixer:用于构建内容流的软件框架。
- timelines-aggregation-framework:生成实时或批量聚合特征的框架。
主要产品界面
“为你推荐”时间线:
- 通过多个候选源(如搜索索引、推文混合器、用户-推文实体图等)获取推文候选。
- 使用轻量级和重量级排序模型对候选推文进行排序。
- 通过home-mixer服务构建和提供时间线内容,并结合visibility-filters进行内容过滤。
推荐通知:
- pushservice是主要的推荐服务,用于通过通知向用户推荐内容。
- 使用轻量级和重量级排序模型对通知内容进行排序。
贡献与反馈
X鼓励社区通过提交GitHub问题和拉取请求来改进推荐算法。任何安全问题应通过HackerOne的官方漏洞赏金计划报告。X希望通过全球社区的集体智慧,帮助识别问题并提出改进建议,从而提升用户体验。
许可证
该项目采用AGPL-3.0许可证,允许用户自由使用、修改和分发代码,但需遵守许可证的相关条款。
相关资源
该项目是X开源计划的一部分,旨在通过透明化算法,增强用户对平台的信任。
评论总结
评论内容主要围绕Twitter(现为X)的算法开源及其相关话题展开,观点多样,以下是总结:
对开源内容的质疑:
- 评论5和评论16指出,Twitter仅开源了架构而非权重,这使得代码对理解其推荐系统帮助有限。评论5称:“他们只发布了架构,而不是权重……这几乎无法揭示Twitter信息流的行为。” 评论16则认为:“没有训练集或权重,这基本上是无效的,只是开源表演。”
对开源代码的实际用途:
- 评论10和评论15提到,代码中存在大量样板文件,难以从中获得实质性见解。评论10表示:“我浏览了最新的代码差异,但太多样板文件,无法通过略读找到任何真正的见解。” 评论15则详细分析了代码中的一些有趣细节,如“slop评分”和“NSFW过滤器”。
与其他平台的对比:
- 评论6和评论13比较了Twitter与其他社交媒体的体验。评论6称赞Twitter的“Following”信息流是纯时间顺序的,没有推荐内容,而Facebook则无法做到这一点。评论13则质疑Bluesky为何比X更快:“Bluesky感觉比X加载和交互更快,尽管它是较新的平台。”
对开源动机的猜测:
- 评论8和评论5认为,Twitter的开源行为可能更多是象征性的,而非实质性透明。评论8表示:“看到Twitter只发布了算法源代码,而所有竞争对手都发布了算法和权重,这令人失望。”
其他技术细节与讨论:
- 评论3和评论12提出了对代码部署和技术透明度的疑问。评论3问:“作为非X工程师,如何确保GitHub上的代码实际部署在他们的服务器上?” 评论12则设想了一种可以SSH进入服务器的社交媒体。
总结:评论者对Twitter的开源行为持不同态度,部分人认为其缺乏实质性内容,仅是一种“开源表演”,而另一些人则从技术细节中发现了有趣的点。同时,与其他平台的对比也引发了关于用户体验和透明度的讨论。