云霞资讯网

人民大学与阿里突破: 推荐系统实现思考驱动替代参数堆砌能力提升

这项由中国人民大学高岭人工智能学院与阿里巴巴集团联合完成的研究,于2026年4月以预印本形式发布,论文编号为arXiv:

这项由中国人民大学高岭人工智能学院与阿里巴巴集团联合完成的研究,于2026年4月以预印本形式发布,论文编号为arXiv:2604.19550,有兴趣深入了解的读者可通过该编号查询完整论文。

每天打开淘宝、刷抖音或者浏览京东,背后都有一套庞大的推荐系统在悄悄运转,决定你能看到什么商品、什么视频。这套系统的核心任务,是预测你对某个商品"点击"还是"略过",专业上称之为点击率预测(CTR预测)。这件事听起来简单,实际上需要极其复杂的计算——系统要同时读懂你的历史行为、你现在想买什么、你在哪里、用什么手机,再结合商品本身的特征,瞬间给出一个判断。

近年来,研究人员普遍采用一种叫做Transformer的神经网络结构来完成这个任务。Transformer最早因为在语言翻译和写作上的出色表现而声名大噪——ChatGPT背后的核心技术就是它。自然地,大家开始把这套技术搬到推荐系统里,而且发现一个规律:网络越大、层数越多、参数越多,推荐效果就越好。这个规律被称为"规模定律"。

然而,这条路走着走着就出现了一个现实困境。参数堆得越多,模型就越重,部署到线上服务器的成本越来越高,而推荐系统对速度要求极为苛刻——用户滑动屏幕的那一刻,系统必须在几毫秒内完成对成百上千个候选商品的评分。当模型越来越臃肿,这个时间窗口就变得越来越难以满足。

研究团队面对这个矛盾,提出了一个新思路:能不能让模型"反复思考同一件事",而不是"请更多专家来处理"?这就是LoopCTR的核心想法——通过让模型循环使用同一套参数来增加计算深度,而不是堆砌更多参数。这种方式让训练时的计算量可以大幅增加,但模型本身的参数量却几乎不变,从而在效果和效率之间找到了一条新路。

一、推荐系统的"堵车难题":规模越大,部署越难

以一辆城市公交车来理解当前推荐系统的处境。过去,工程师们通过不断增加车厢(参数)来提升运力(模型性能),但城市道路(服务器的内存和计算资源)是有限的,车厢太多反而造成拥堵,导致乘客等待时间(推荐延迟)急剧上升。在实际工业部署中,推荐系统每次响应用户请求,通常要在几十毫秒内完成对数百到数千个候选商品的评分,任何超时都意味着糟糕的用户体验甚至直接损失收入。

目前主流的扩展方式有三种。第一种是"深度扩展",通过堆叠更多的网络层来加深模型,类似于建更多楼层;第二种是"宽度扩展",把每个神经元的向量维度放大,让每一层能处理更丰富的信息;第三种是"输入扩展",把用户的历史行为序列做得更长,让模型能参考更多历史数据。代表性工作包括Facebook的HSTU、美团的MTGR,以及OneTrans等。这些方向的规律相当一致:沿着任何一个维度扩展,效果都会提升,但代价是参数量、数据量或者计算量的同步上涨。

这就形成了一个两难局面:研究层面的"想要更好"和工程层面的"无法承受"之间的裂缝越来越大。LoopCTR的研究团队正是看到了这条裂缝,才选择去探索一个不同的方向——把计算量和参数量这两件事彻底拆开。

二、核心突破:让同一套"大脑"反复思考,而非请更多专家

LoopCTR的根本思路,可以用一道数学题来理比喻。假设你面对一道复杂的应用题,有两种解法:第一种是找10个人同时解,每人负责一部分,但你需要协调10个人,成本很高;第二种是找1个聪明的人,让他先读题,想一想,再想一想,再想一想,经过多轮推敲得出答案,整个过程只花了1个人的开销。LoopCTR选择的就是第二种路线。

具体来说,传统做法是堆叠多个各自独立、参数不共享的网络层,每一层都有自己的一套"思考方式"。LoopCTR则设计了一个"循环模块"——这个模块的参数在多次迭代中完全共享,每次迭代读入上一轮的输出,再吐出更精炼的表示。训练时可以运行3次、5次甚至更多次循环,让模型积累更深的计算;部署时,甚至可以完全跳过这个循环模块,直接用一次前向传播就完成预测。

这种设计带来了两个天然好处。其一,参数量与循环次数无关——不管训练时跑了多少圈,部署的模型大小不变。其二,循环共享参数相当于一种隐式的正则化:模型被迫学习在不同迭代深度下都有效的通用特征,这对推荐系统这种天然存在数据稀疏问题的场景尤为有益,能有效抑制过拟合。

不过,研究团队很快遇到了两道拦路虎。第一道是"表达力瓶颈":普通的Transformer层在反复应用时,表达能力不足,无法在每一轮迭代中产生有效的信息增量。第二道是"效率瓶颈":如果推理时也要跑多轮循环,延迟会成比例增加,依然无法满足线上要求。为了解决这两个问题,研究团队在LoopCTR中设计了三个配套机制,并将它们编织进一个名为"三明治架构"的整体框架里。

三、三明治架构:入口、循环与出口各司其职

LoopCTR的整体架构被研究团队形象地称为"三明治",由三层组成:入口模块(Entry Block)、循环模块(Loop Block)和出口模块(Exit Block)。这三层就像一个精心设计的流水线——第一层负责把杂乱的原始特征整理清楚,第二层负责反复"深度思考",第三层负责把思考结果转化为最终的点击率预测。

入口模块的任务是处理异构特征。推荐系统的输入极为复杂,涵盖用户画像(年龄、性别、城市)、商品属性(类目、价格、商家)、短期行为序列(最近点了哪些商品)、长期行为序列(历史上有哪些偏好)、上下文信息(设备类型、时间戳)以及交叉特征(预计算的用户-商品亲和度统计量)。这些信息的性质差异极大,把它们一股脑丢进同一个投影矩阵会造成特征污染。入口模块为每一组特征准备一套专属的投影参数,把不同来源的特征分别映射到统一的向量空间,再在各组内部独立做自注意力计算。特别地,对于可能长达1024个时间步的长期行为序列,直接处理代价太高,研究团队借鉴了视觉语言模型BLIP-2的思路,用一组可学习的"查询向量"通过交叉注意力机制把长序列压缩成16个紧凑的表示,同时保留关键的长期偏好信号。

循环模块是整个架构的核心。它采用一种叫"前缀注意力"的特殊机制:序列类特征(短期行为、压缩后的长期行为)只在自己这个群体内互相注意,而全局特征(用户画像、商品属性等)则可以同时关注序列特征和其他全局特征。这种不对称的注意力设计有一个非常重要的工程价值:序列特征的计算完全独立于商品特征,因此在服务一个用户请求时,序列部分的键值缓存可以计算一次后被所有候选商品复用,大幅减少了冗余计算。循环模块在训练时被重复调用L次,每次读入上一轮的输出,生成更精炼的表示。

出口模块则相对简洁:全局特征通过交叉注意力机制从序列特征中汇聚信息,随后把拼接后的全局表示送入一个多层感知机,输出最终的点击概率。

四、超连接残差:让反复思考真正"有新意"

解决"表达力瓶颈"的第一个武器,是研究团队设计的"超连接残差"机制(Hyper-Connected Residuals,简称HCR)。

传统Transformer中,每一层的输出等于当前层的计算结果加上输入本身,像一条固定的"传送带",把旧信息原封不动地带入下一层。这种固定的1:1混合方式在普通的多层网络中问题不大,但在循环共享参数的场景下却很受限:同一套参数在第1轮和第3轮执行时,面对的问题复杂度可能截然不同,但信息流动的方式却完全相同,无法自适应地调整。

超连接残差的做法是把单条"传送带"扩展为多条并行的信息流,并引入根据当前输入内容动态调整的混合系数。研究团队用矩阵来控制这些信息流之间的权重,而这些权重不是固定的,而是由当前隐藏状态经过一个小型网络动态生成的。这样一来,循环模块在第1轮迭代时可以选择更激进地更新信息,在第3轮信息已经比较收敛时则更温和地微调,就像一个有经验的编辑在第一遍大刀阔斧删改,第三遍只做细节润色。

在初始化时,研究团队把动态部分的权重全部设为零,确保训练刚开始时超连接残差退化为普通的前置归一化残差,这样模型可以稳定起步,随着训练推进再逐渐发挥动态调节的优势。

五、专家混合层:一套参数,多种"专业能力"

解决"表达力瓶颈"的第二个武器,是把推荐系统领域常用的"专家混合"机制(Mixture-of-Experts,简称MoE)引入循环模块。

MoE的逻辑类比一家咨询公司的工作方式。公司里有很多专家,但每次客户来访,不需要全体专家都出动,而是由一个分配员根据客户的具体需求,选出最合适的2到3位专家来处理。这样做的好处是:公司总体的专业能力(参数量)可以非常丰富,但每次实际动用的资源(计算量)却相当有限。

在LoopCTR中,MoE被施加在注意力机制的值投影层、输出投影层,以及前馈网络上。每次一个特征向量经过这些层时,路由器会根据该特征的内容决定激活哪2个专家(共有4个专家可选),未被选中的专家不参与计算。两个共享同一路由器的MoE层会自动选择同一组专家,减少路由开销。

为了防止所有特征都集中涌向少数几个"明星专家"而让其他专家闲置(这种现象叫"专家崩溃"),训练时还加入了一个负载均衡辅助损失,鼓励每个专家被大致均等地使用。敏感度实验发现,每次激活2个(共4个)专家的配置表现最佳——只激活1个缺少多样性,激活全部4个则失去了稀疏化带来的正则化效果。

六、过程监督:让"零轮推理"也能拿出好成绩

解决"效率瓶颈"的关键武器,是"过程监督"(process supervision)策略。

这里有一个类似于老师批改作业的比喻。假设一名学生做一道多步骤的数学题,传统做法是老师只看最终答案对不对,学生在中间步骤怎么推演并不重要。但在LoopCTR的训练方式下,老师会在每一个中间步骤都给出反馈:做完第一步就评分一次,做完第二步再评分一次,一直到最后。每一步的表示都会被输入出口模块,生成一个独立的预测,这个预测都会被拿去和真实标签比较,计算损失。最终的训练损失是所有深度的损失之和取平均。

这种做法的深远影响在于:循环模块的共享参数被迫变得"在任意深度下都能产生有意义的表示",包括完全没有经过任何循环的深度0(即只经过入口模块的输出)。当推理时跳过循环模块直接使用深度0的输出时,模型已经通过训练把多轮迭代积累的"见识"编码进了共享参数,即便不执行实际的循环计算,也能输出有竞争力的预测结果。这就是"训练多轮循环,推理零轮循环"策略的底层逻辑。

七、实验证明:不仅更快,效果还更好

研究团队在四个数据集上做了全面评测。三个是公开学术基准:来自亚马逊的电子产品评论数据集(约300万条交互)、淘宝广告数据集(约2500万条交互)以及快手视频数据集(约1366万条交互)。第四个是研究团队从某头部电商平台2026年1月21日至29日的生产日志中采样构建的内部数据集(约611万条交互),这个数据集的特殊之处在于包含长达1024步的长期行为序列,更贴近真实工业场景。

评测指标使用了推荐领域标准的三项:AUC(曲线下面积,越高越好)、GAUC(按用户分组的AUC均值,更能反映个性化质量)和NE(归一化熵,越低越好)。在CTR预测领域,AUC提升0.001就被视为统计显著且具有实际意义的进步。

对比基线涵盖三大类共11个方法,从传统的DNN方法(DLRM、DIN、DCNv2、Wukong)到基于Transformer的特征交互方法(DHEN、AutoInt、HiFormer),再到统一序列与特征建模的最新方法(InterFormer、OneTrans、HSTU、MTGR)。为了公平比较,研究团队还设置了一个名为StackCTR的专项对照模型:它把循环模块替换为3个参数各异的普通层,与LoopCTR(3/3)的浮点计算量(FLOPs)完全相同,直接验证"循环共享参数"对比"堆叠独立层"的优劣。

实验结果相当有说服力。LoopCTR的各变体在四个数据集上全面领跑,包揽了AUC和NE的最佳和次佳位置。以最受关注的几组数字为例:在亚马逊数据集上,LoopCTR(1/3)的AUC达到0.8728,比次佳的OneTrans高出0.0039;在快手数据集上,AUC为0.7450,超过DIN的0.7430;在内部数据集上,LoopCTR(0/3)的AUC为0.7007,同样排名第一。

最令人印象深刻的是"零轮推理"的表现。LoopCTR(0/3)——这个在推理时完全跳过循环模块的版本——在所有四个数据集上的AUC和NE都超过了全部对比基线。在内部数据集上,LoopCTR(0/3)只需要13.38M次浮点运算和9.26毫秒延迟,而HSTU需要2150M次浮点运算和775.72毫秒,OneTrans则需要417.97M次浮点运算和494.58毫秒。效率差距高达数十倍至一两百倍,而预测质量却更胜一筹。

参数共享对比堆叠层的比较同样一目了然。LoopCTR(3/3)在相同FLOPs下的AUC在四个数据集上均超过StackCTR,印证了共享参数作为更强归纳偏置的理论预期。StackCTR偶尔在个别指标上接近LoopCTR,但总体格局清晰。

八、循环越多训练越好,但推理时一次就够

研究团队系统地扫描了训练循环次数L(从0到3)和推理循环次数i(从0到3)的所有组合,结果呈现出几条规律清晰的趋势。

随着训练循环次数L增加,已实现的最佳性能稳定提升。以亚马逊数据集为例,L=0时最佳AUC为0.8662,L=3时提升至0.8728。这证实了"循环扩展"确实是一条有效的扩展路径,更多的训练时计算深度能稳定提升模型质量。

然而在推理阶段,额外的循环次数呈现出明显的收益递减。同样在L=3配置下,i从0增加到1时AUC从0.8715跳升至0.8728,但i从1增加到2时AUC维持在0.8728不变,i=3时甚至微降至0.8726。这个规律在四个数据集上高度一致,说明推理时跑一次循环就能捕获绝大部分的增益,多余的循环几乎不带来新的提升,这进一步为"零轮或单轮推理"的实用部署提供了依据。

研究团队还通过损失地形可视化(一种把神经网络的优化地形投影到二维平面的技术)解释了这个现象的几何原因。训练循环越多的模型,其收敛点周围的"低损失盆地"越宽、越平坦,轮廓线越稀疏均匀;训练循环少的模型则落在一个更窄、更尖的谷底。宽平的盆地通常对应更好的泛化性能,这与LoopCTR随L增加性能提升的观察一致。

九、令人困惑但意义深远的"神谕分析"

研究中最出乎意料的发现,来自一组被研究团队称为"神谕分析"(Oracle Analysis)的后验实验。

研究团队假设存在一个全知全能的"神谕":对于测试集中的每一条样本,这个神谕都知道应该用哪个推理深度(0轮、1轮、2轮还是3轮)才能得到该样本最准确的预测,然后把每个样本的最优预测汇总成整体性能。这个神谕分数代表了同一个训练好的模型在理想调度下能达到的性能上界。

实验结果揭示了两个重要信息。第一,当前最好的固定推理策略与神谕之间存在相当大的差距:在亚马逊数据集上,神谕AUC为0.8858,而最好的实现结果(LoopCTR(1/3)或LoopCTR(2/3))为0.8728,差距达到0.013;在淘宝广告数据集上,差距更大,为0.0231。在CTR预测领域,这是相当可观的未挖掘潜力。

第二,一个反直觉但规律清晰的现象:训练循环次数越少的模型,神谕上界反而越高。在亚马逊上,L=3的神谕AUC为0.8858,L=2为0.8865,L=1为0.8885;在内部数据集上,L=3为0.7195,L=1则高达0.7306。研究团队用损失地形来解释:训练循环多的模型收敛在更宽平的谷底,各循环深度的表示趋于同质化,相互之间的差异减小;训练循环少的模型虽然落在更尖锐的谷底(泛化性略弱),但不同循环深度的表示保留了更大的多样性,这种多样性正是神谕进行"按样本选深度"调度时的基础。

神谕分析对样本分布的观察同样值得关注。在L=3的配置下,36.8%的样本在深度0时预测最准,30.9%在深度3时预测最准,深度1和深度2分别只占17.2%和15.0%。这种双峰分布意味着样本群体自然分裂成两类:一类是"简单样本",入口模块的一次编码已经足够,额外的循环反而会引入干扰;另一类是"复杂样本",必须经过充分的迭代推理才能做出准确判断。这与大语言模型推理领域观察到的"过度思考"现象高度对应——对于已经能直接判断的问题,让模型继续"反刍"不但无益甚至有害。

十、消融实验:每个组件都在解决不同的问题

为了验证四个核心组件各自的贡献,研究团队在亚马逊和快手数据集上逐一移除每个组件进行对照实验。被测试的四个组件分别是:超连接残差(HCR)、专家混合层(MoE)、过程监督(PS)和入口模块中的异构特征投影(MP)。

在亚马逊数据集上,移除超连接残差导致AUC下降幅度最大,达到0.0201,说明自适应残差流对于循环共享参数架构的有效运作至关重要。在快手数据集上,移除MoE的影响最大(AUC下降0.0060),说明对于序列模式更丰富的数据,扩展参数容量更为关键。过程监督和异构特征投影在两个数据集上都有稳定且不可忽视的贡献,印证了每个组件都在针对性地解决循环扩展范式中的某个瓶颈,缺少任何一个都会造成可见的性能损失。

十一、工程层面:部署成本的实际数字

研究团队还提供了详细的效率对比数据,这些数字在工业应用背景下颇为关键。

LoopCTR各变体的参数量维持在0.73M到1.56M之间(M表示百万),远低于OneTrans(最多1.29M,但推理延迟极高)或HSTU(参数最少仅0.15M,但浮点运算量和延迟均为最高)。关键是,由于循环模块参数共享,LoopCTR(3/3)和LoopCTR(1/3)的活跃参数量完全相同;LoopCTR(0/3)在部署时可以直接去掉循环模块,参数量进一步缩小。

内部数据集上的延迟对比尤为直观:LoopCTR(0/3)仅需9.26毫秒,LoopCTR(1/3)为73.65毫秒,而HSTU高达775.72毫秒,OneTrans为494.58毫秒。延迟随推理循环次数线性增长的特性,让工程师可以根据实际资源约束精准选择部署配置,这种可预测的线性扩展极大地简化了产能规划。

说到底,LoopCTR做的事情并不神秘:它找到了一种方式,让一个模型在训练时"多想几遍",把这种反复思考的价值沉淀到参数里,然后在真正上线时"只想一遍"甚至"不想直接给答案"。这件事的意义不仅是在推荐系统领域多刷了几个数字,更在于它指出了一个此前被忽视的扩展维度:计算深度和参数规模未必要绑定在一起。当两者被解耦,在参数预算有限的前提下,反复计算同一组参数可以带来比单次更深网络更好的效果,同时规避了堆参数带来的存储和部署压力。

更有趣的是神谕分析揭示的那个未竟的疆域:现有的固定推理策略距离理论最优还差着0.02到0.04个AUC,而实现这个跨越的关键,是让模型学会"知道自己什么时候想清楚了",从而在简单问题上省力、在复杂问题上深思。如何设计这样的自适应推理机制,是研究团队明确指出的下一步方向。对推荐系统感兴趣的读者,可以通过arXiv:2604.19550查阅完整论文,其中附录部分还包含了专家路由可视化、损失地形分析以及每一循环深度的表示相似度追踪等丰富的补充实验。

Q&A

Q1:LoopCTR的"零轮推理"是什么意思,为什么不需要循环就能表现好?

A:LoopCTR在训练时会同时监督每个循环深度的预测结果,包括完全没有执行任何循环的深度0。这迫使模型即便在没有循环的情况下也能输出有效预测。训练时多轮循环积累的"深度推理能力"会通过梯度反传编码进共享参数,推理时跳过循环模块直接使用入口模块输出,性能已经超越所有对比基线,延迟也降低到了个位数毫秒级别。

Q2:LoopCTR中的超连接残差和普通残差连接有什么区别?

A:普通残差连接是把当前层的输出和输入以固定的1:1方式相加,信息流动方式在整个网络中一成不变。超连接残差把单条信息流扩展为多条并行流,并通过由当前输入内容动态生成的混合系数控制各条流的权重。这样,同一套共享参数在循环的不同轮次可以自适应地调整信息流动方式,早期迭代大幅更新,后期迭代小幅微调,克服了普通残差在循环共享参数场景下的表达力瓶颈。

Q3:为什么训练循环次数少的模型,神谕性能上界反而更高?

A:训练循环次数越多,模型收敛在更宽平的损失地形中,各循环深度的表示趋于同质化,相互差异减小;循环次数少的模型虽然泛化稍弱,但不同深度的表示保留了更大的多样性。神谕选择最优深度时,正是在利用这种多样性——不同样本可以匹配到最适合自己的那个深度。多样性越丰富,神谕能挖掘的潜力越大,所以训练循环少的模型神谕上界更高,但已实现的平均性能更低。