找回密码
立即注册
搜索
热搜: Java Python Linux Go
发回帖 发新帖

1657

积分

0

好友

215

主题
发表于 前天 20:02 | 查看: 11| 回复: 0
本帖最后由 云栈后端架构 于 2026-1-22 20:38 编辑

最近马斯克又把 X(原 Twitter)核心推荐算法开源了,这对咱们做后端的来说,绝对是个拆解大厂架构的好机会。这套算法底层重构,全面采用了与 xAI 的 Grok 模型相同的 Transformer 架构,是一个基于 LLM 大模型的推荐系统。

4451.png

很多人好奇,那个 "For You" 列表到底是怎么算出来的?怎么在毫秒级处理亿级数据?我花时间扒了扒 x-algorithm 的源码,发现里面全是硬核干货。今天就从架构角度,聊聊这套基于 Rust 的高性能混合架构到底是怎么跑起来的。

64063.png

架构总览:Mixer 模式的落地

整个系统的入口叫 home-mixer,架构模式是非常经典的 Mixer(混合器)

它不像以前那种大单体,而是采用了一套叫 CandidatePipeline 的框架。简单说,就是把召回、过滤、排序这些逻辑全拆成了独立的插件(Trait)。

这种设计在 后端 & 架构 领域非常实用。X 的代码完美印证了“重流程,轻业务”的思路:业务逻辑变了改插件就行,不用动骨架,解耦做得非常漂亮。

关键组件:数据与计算的分离

1. Thunder:手撸的内存数据库

处理用户关注流(In-Network)的实时召回,X 没有直接用现成的 KV 存储,而是专门搞了个叫 Thunder 的组件。

  • 技术栈:Rust + Kafka
  • 设计:它本质上是一个基于内存的 Post Store。
  • 亮点:代码里用了 DashMap 做高并发读写,配合 VecDeque 存储用户时间线。这操作就是为了快,保证了 O(1) 的存取效率,在处理海量实时数据时非常稳。

2. Phoenix:AI 驱动的排序引擎

再看未关注内容的推荐,这块归 Phoenix 管。它用了双塔模型做召回,但最值得看的是排序阶段。

grok.py 代码里,实现了一种特殊的 Attention Mask。啥意思呢?就是在 Transformer 推理时,让候选推文之间“互不相见”,只能看到用户信息。

这样一来,每条推文的打分就是独立的,不会受批次内其他推文干扰。这思路对做 人工智能 和推荐系统的同学很有参考价值。

为什么都在转 Rust?

通读源码最大的感触就是:X 是真的彻底拥抱 Rust 了。

在 Feed 流这种高并发、低延迟的场景下,Java 或 Go 的 GC(垃圾回收)有时候会带来不可控的延迟抖动。而 Rust 既保证了内存安全,又没有 GC 负担,确实是做高性能服务的首选。云栈社区里很多做基础设施的老哥也都在往这个方向转。

总结

这不仅仅是一个算法项目,更是一个实打实的工程架构范本。Rust 搞定底座,AI 搞定大脑,Pipeline 串联全身。如果你想了解亿级流量下的系统该怎么搭,这套源码值得细品。

项目地址

  • GitHubgithub.com/xai-org/x-algorithm
  • 官方博客x.ai/blog
  • Rust 学习https://yunpan.plus/f/57
  • AI 学习https://yunpan.plus/f/29

关注【云栈后端架构】,获取更多硬核源码解析与架构干货。

更多技术资源与交流,欢迎访问:云栈社区

标签:#xAlgorithm #Github #Rust #后端架构 #推荐系统 #xAi #算法 #Mixer #Thunder

来自圈子: 云栈后端架构



上一篇:PostgreSQL Schema 权限归属与命名空间辨析:下列错误说法解析
下一篇:小肩膀逆向 JS高端2期 工程与风控对抗实战 V8引擎、混淆破解、滑块算法与安全攻防深度解析
您需要登录后才可以回帖 登录 | 立即注册

手机版|小黑屋|网站地图|云栈社区 ( 苏ICP备2022046150号-2 )

GMT+8, 2026-1-24 00:33 , Processed in 0.351051 second(s), 43 queries , Gzip On.

Powered by Discuz! X3.5

© 2025-2026 云栈社区.

快速回复 返回顶部 返回列表