KuaFu: Compressing Long User Behavior into Understanding at Billion Scale
Jiahao Hui, Lin Zhu, Yishen Hu, Jingdong Shu, Zetai Jiang, Xining Ran, Ben Tan, Yeshou Cai, Gong Chen, Haijie Gu, Jie Jiang
cs.IR, cs.CL, cs.LG
2026-09-25
腾讯广告把每条行为压成 2 到 4 个 128–256 维 token,四项画像打平或超过未压缩单任务模型,吞吐升 37% 到 350%,上线十个月 GMV 升 1.37%。
兴趣摘要平均要读几百条行为,尾部超过一千,序列化成 prompt 就是上万 token。腾讯广告要给十亿用户每周重算画像,合计大约 10 万 QPM,GPU 预算把每卡吞吐钉死。截断和粗压缩会造出四类幻觉:捏造兴趣、漏掉信号、日期错位、逻辑断裂。这些错误不会在压缩层报警,只在 CTR 和 GMV 上表现为一团雾。一次线上 A/B 要一周,归因要一个月。
工业界现在的做法是按任务切子序列、各训各的。干净,但每条任务序列仍然太长,缓存也无法跨任务复用。
压缩单元是单条行为,不是整段历史。Qwen3-4B 编码器在物品文本后接 m 个 memory token,再走双轴投影:token 数从 m 收到 k(例如 8→2),宽度从 d 收到 d'(例如 2560→128),再加 pooling 残差。缓存按物品走,大约 0.5KB 一条,跨用户、跨任务复用。新行为只算新向量然后 append。对照:两条 2560 维 fp16 向量大约 10KB,全量存不起。
四阶段都服务于保真,由易到难:
训练覆盖 42 类任务。公开对照把骨架换成 Llama-3.2-1B,与 ICAE、SAC、500xCompressor、EPL 对齐重训。LLMLingua-2 是 5× 硬压缩,只作参考。
生产五指标,压缩后的多任务 KuaFu 对比未压缩单任务线上模型:
| 任务 | 线上 | KuaFu |
| 内容兴趣 F1 | 85.9 | 86.5 |
| 电商兴趣 F1 | 95.7 | 96.1 |
| 行业准确率 | 81.0 | 82.1 |
| 职业准确率 | 86.7 | 87.6 |
| 人生阶段准确率 | 76.0 | 78.0 |
对齐重训的软压缩基线里,最强 EPL overall 42.4,KuaFu 63.0。MRQA 上 15× 的 in-domain EM 为 50.8,相当于 SAC 在 5× 的 46.95。摘要给出的 OOD 峰值是 +17.7 EM。RecBench 零样本五数据集均值 0.617,同骨架 Qwen3-4B 是 0.570,并超过 Qwen3-8B 的 0.598。
幻觉 RL:捏造从 33.5 降到 4.5(−29 个百分点),全对率从 56.0 升到 90.0。漏检和缺答略升,是「重罚捏造、轻罚漏检」换来的。
Curriculum 不是加速技巧。1–1200 混着训,loss 卡在 2.27,980K 样本也掉不下去;五档分桶收到 0.20 / 0.28 / 0.16 / 0.02 / 0.034,总 token 相当。
线上 A/B 对照是「一年行为、每月刷新」,处理是「两年行为、每周刷新」,两端 GPU 和存储对齐。四周放量后留 5% holdout 再看十个月,整体 GMV 升 1.37%(95% CI 0.71–2.03)。吞吐:人生阶段每卡 QPM 592→810(41 卡降到 30),电商兴趣 250→800(90 降到 28),内容兴趣 40→180(150 降到 33),一共省 190 卡。
可缓存的物品级压缩,把存储从「用户数 × 任务数」改成跟物品库存走。压缩后指标不掉,说明很长的行为序列里有大量重复和噪音。想用 LLM 做用户理解,瓶颈经常在输入侧,不在再堆一个解码器。
GMV 实验同时改了历史长度和刷新频率。压缩本身,和「看得更久、更勤」缠在一起,不能把 1.37% 单记在压缩头上。
压缩比按任务族写死:兴趣 10×,画像 15×,稀疏序列怎么自适应还没做。过长物品在低宽度下会丢细节。没有系统和参数的 scaling 实验。生产日志不能发布。in-house 分数来自 LLM judge。幻觉评估 1000 条。中间评测把反馈从「月底看 GMV」缩到按天,这是工程收益,不是公开可复现基准。