Hybrid GPU-CPU Retrieval for Personalized Search at Ultra-Large Scale
Hao Fu, Jichao Sun, Baiting Zhu, Qiaoling Liu, Yan Shi, Cheng Lu, Liu Liu, Yubo Wang, Xin Yao, Xiangyu Niu, Xu Dong, Wenhan Lyu, Chiyao Shen, Yinjie Huang, Minglei Chen, Shuai Ding, Li Fan, Xiao Kong
KDD 2027 Applied Data Scien
cs.IR, cs.DC, cs.LG, cs.PF
2026-09-18
Meta把十亿级GPU交互检索和约二十倍CPU库存并行共服,相对旧纯CPU栈相关性涨4.51%、好搜率涨2.01%,两条通路候选几乎不重叠。
用户生成内容上的个性化检索有两头需求。发现类查询要用行为历史做非线性交互,比如同一句「附近吃饭」要因人偏向海鲜还是快餐;导航类、长尾查询则必须能找回那篇冷门评价。源语料是万亿级文档,线上还要过政策、质量、语言、新鲜度和去重。
这被写成 personalization-scale paradox:深度交互适合 GPU,但高带宽显存养不起完整线上库存;CPU 养得起库存,却跑不动同一套交互模型。SVFusion、FusionANNS 把同一次 ANN 拆到 CPU 和 GPU 上。这篇走另一条路:两套模型、两套独立选出的库存,只在聚合层汇合。作者均来自 Meta,目标会议是 KDD 2027 Applied Data Science。
系统是异构共服,不是新模型家族。GPU 通路在约十亿文档的精选池上做双塔检索,并在加速器内用 DeepFM 风格交互做预排序。查询塔把 384 维语义和 128 维用户画像拼成 512 维,文档塔输出 128 维向量。训练同时拉 InfoNCE、Smooth L1 相关性和 BCE 互动。服务栈跟 SilverTorch:ANN、推理、预排序留在 AMD MI300X 上,稀疏表经 PCIe Gen5 从主机按需取。单卡负载测试大约 150–200 QPS,模型服务 P99 约 30–40 ms,不含网络和下游排序。
CPU 通路覆盖大约二十倍大的库存(百亿级),用微调 XLM-V 的统一双塔产出 384 维多语向量,交互只做点积。索引从词法倒排里拆出来,专用 embedding 索引避免和延迟敏感的词法抢资源。服务侧把最近邻扫描改成 term-at-a-time 的 eager evaluation,再用 AVX-512 做 hit scanning。质心从每分片 64k 训到分布式 512k,索引服务器不再各自聚类。
两条通路可按请求并行,也可单独关掉。聚合按文档 ID 去重并保留来源,再交给共享下游排序。GPU 池按搜索价值筛选,一年以上内容里常青池保留不到 0.1%。
全系统相对旧的纯 CPU 配置做账户级 A/B,每臂每日约百万账户,九天等权日均:
| 配置 | DCG@20 | GSRR |
| GPU 通路(单独实验) | +0.73% ± 0.15% | +1.04% ± 0.13% |
| CPU 通路(单独实验) | +3.16% ± 0.15% | +1.20% ± 0.11% |
| 混合上线 | +4.51% [+3.99%, +5.04%] | +2.01% [+1.71%, +2.32%] |
DCG@20 是模型打分相关性,不是人工标注。GSRR 是「好搜结果率」:一次会话里是否出现足够长的浏览或明确正反馈。九天每天的区间都在零以上。各通路实验窗口不同,行与行不能横比,也不能把混合增益理解成两行相加。
三天日志里两条稠密通路同时跑时,Jaccard 重叠在头/腰/尾查询上分别只有 0.75%、0.44%、0.41%。共享排序入口平均约 781 个去重候选:GPU 独有 209,稠密 CPU 独有 47,词法独有 500,跨组 26。GPU 检索 594 个、放入排序 224 个(到达率 37.6%);CPU 检索 1352 个、放入 59 个(4.4%)。生产分支 P50:词法 196 ms,CPU 41 ms,GPU 151 ms。
专用索引加 eager 执行让检索阶段计算降 89.45%(9.48×)。512k 质心、nprobe=256 的 15 天实验让 CPU 用量降 63.5%,未检出 GSRR 回退。另做的宽库存容量规划里,同样 256 维 SQ8、三地副本,加速器方案年化容量成本大约是 CPU 的 4 倍。
超大规模个性化检索不必逼一个硬件层同时扛深度和广度。深度给 GPU,广度给 CPU,中间用稳定的候选合同(库存、模型、截止时间、回滚各自版本化)。对工业检索,这是可独立演进的深度-广度架构,证据来自线上 A/B,不是离线召回曲线。匹配容量账也写清楚了:把百亿库存硬塞进 GPU 并不划算。
通路实验一次改多个组件,增益不能拆给硬件、ANN 精度、模型深度或库存大小。混合 A/B 验证的是整包上线点,不是交互效应。排序入口的来源多样性不等于 Top-20 曝光或分来源互动,那需要带归因的展示日志。请求级学习路由被列为下一步,但要用随机通路分配才能无偏评估。子群质量和创作者曝光没有证明。前代语义模型离线变好、线上浏览变差,提醒 embedding、ANN 配置、在线特征和下游过滤必须绑成一个发布单元。