← 返回 PaperDaily
大模型与智能体
UniRank开源基准来了:15模型同台,7亿样本怎么比才公平
排序模型最怕的不是“谁更强”,而是“到底谁更公平”。这篇 UniRank 直接把数据管道、任务定义、训练流程和效率优化一起统一,15 个模型、5 个大数据集同台比武,终于不再靠各家自说自话。
龙哥读论文
阅读 4
查看原文
原论文信息如下:
还在为AI排序模型复现难、对比乱而头疼?UniRank来了!
排序模型这件事,最烦的从来不是“跑不动”,而是“跑出来也不知道算不算数”。有的论文用私有数据,有的只放模型名不放代码,有的训练流程写得像谜语,还有的把数据切分方式一换,榜单就能翻脸。UniRank做的事很朴素:把数据管道、任务定义、训练流程、效率优化全都统一起来,再把15个代表性排序模型拉到5个工业级公开数据集上同台竞技。说白了,就是不让“谁更强”变成“谁更会包装”。
如果把推荐系统想成一条流水线,排序模型就是最后拍板的那个“裁判”。它要看用户画像、上下文、历史行为、目标商品,再判断这个点击、关注、点赞、购买到底会不会发生。问题在于,工业界越来越偏爱把序列建模和特征交互揉成一个统一模型,但学术界经常只看到“结果”,看不到“过程”。UniRank就是冲着这个缝隙来的:它不只评模型,还评能不能被复现、能不能被公平比较、能不能在有限算力下跑得像样。
统一序列建模与特征交互,15大模型同台竞技
先说人话:排序模型过去大致分成两类。第一类只会看“当前这次曝光”里有哪些静态特征,擅长做特征交叉;第二类会看用户历史行为,擅长理解兴趣随时间怎么变。可真实业务里,这两件事往往是绑在一起的——用户昨天刚刷过什么、刚点过什么、当前看到的是什么,最终都会影响这一轮排序。于是,近年的模型开始走向统一建模:既处理序列,又处理字段交互。
UniRank把这些统一排序模型分成两条路线。第一条叫堆叠式统一交互:先把历史序列编码成一个表示,再把这个表示和用户、上下文、目标商品一起做特征交互。第二条叫层内式统一交互:每一层里都同时交换序列信息和非序列信息。前者像“先做摘要,再开会讨论”;后者像“边讨论边补材料”,信息流动更频繁,但结构也更复杂。
这里有个关键概念得先解释清楚。论文里反复出现的pointwise autoregressive supervision,中文可以理解为“逐点自回归监督”。其中,autoregressive就是“自回归”,意思是后一个位置只能看前面的历史,不能偷看未来;pointwise就是“逐点”,意思是序列中的每个符合条件的位置都可以单独作为一个训练样本。这个设计看起来简单,实际很狠,因为它把过去那种“只拿最新一次曝光算损失”的稀疏监督,变成了“每个时间点都能出题”的密集监督。
从方法上看,UniRank并没有发明一个“神秘新层”,而是在统一协议下比较不同统一架构的真实表现。像HiFormer、RankMixer、Zenith、TokenMixer、UniMixer、HeMix、SSR这类堆叠式模型,通常先把历史压成一个目标相关的序列表示,再与其他特征融合;而OneTrans、HyFormer、MixFormer、INFNet、EST、TokenFormer、LONGER、UltraHSTU这类层内式模型,则更强调每层都做信息交换。UniRank的价值不在“再造一个更花哨的模型”,而在于告诉读者:这些路线到底谁更稳,谁更省,谁只是论文里看着热闹。
为了更清晰地理解这两条路线的差异,我们可以从信息流的角度做一个类比。堆叠式模型(如HiFormer)中,序列编码器像一个独立的“秘书”,它先阅读用户所有的历史行为,然后提炼出一份摘要(即序列表示)。这份摘要随后被送入特征交互网络,与当前候选商品的特征、用户画像特征等进行“会议讨论”。这个流程的优点是结构清晰,序列编码和特征交互两个模块可以独立设计和优化。但其潜在风险是,摘要过程可能会丢失一些对当前决策至关重要的细粒度信息,因为“秘书”在写摘要时并不知道“会议”上具体要讨论什么。相比之下,层内式模型(如OneTrans)则更像一个“圆桌会议”,序列信息和非序列信息在每一层都进行直接交换。每一层网络不仅更新特征交互的结果,也同时更新序列表示。这种设计使得信息流动更加充分和动态,模型可以在不同抽象层次上灵活地决定如何结合历史行为与当前特征。当然,这种灵活性的代价是模型结构更复杂,训练和推理的计算开销也更大。UniRank通过统一基准,首次在多个大规模数据集上系统性地量化了这两种路线的性能差异和效率权衡,为后续研究提供了宝贵的参考。
五大工业级数据集,长达10万的行为序列
这篇工作的另一个狠点,是数据不是“小样本玩具”,而是直接上了五个公开大规模数据集,覆盖短视频、广告、电商等典型场景。最夸张的是,最大的数据集有7.57亿条样本,最长行为序列超过10万级交互。这个量级已经不是“做个实验”了,更像是把模型扔进了真实业务的海里,看它会不会呛水。
UniRank对数据切分也很讲究。很多推荐论文喜欢用“按用户随机划分”或者“用户互斥划分”,看起来干净,实际上容易把未来趋势、热门变化、时间顺序都搅乱。UniRank更强调按全局时间顺序切分:最早的大约80%进训练,中间10%做验证,最新10%做测试。这样更接近真实线上场景——模型只能用过去预测未来,不能拿未来的风向给自己作弊。
数据预处理部分也很“工程化”。论文把特征分成用户特征、上下文特征、序列特征和动作特征;低频类别统一映射到OOV,也就是out-of-vocabulary,词表外索引;多值特征用掩码平均池化;连续特征再做分桶离散化。别看这些步骤不花哨,排序实验里最容易“翻车”的,往往就是这些看起来不起眼的预处理细节。例如,连续特征的分桶边界如何选择,会直接影响模型对数值分布的感知能力;多值特征的池化方式(平均、最大、求和)也会改变信息聚合的效果。UniRank将这些细节标准化,确保了不同模型在输入层面站在同一起跑线上。
具体来说,五个数据集各有侧重。KuaiRand和KuaiRec来自快手短视频平台,包含了丰富的用户-视频交互行为,特点是序列长、行为类型多(如点击、滑动、播放时长等)。Avazu和Criteo是经典的广告点击率(CTR)预估数据集,特征以高维稀疏类别特征为主,序列信息相对较少,更考验模型的特征交互能力。Amazon则是电商场景的代表,用户行为序列围绕商品购买和浏览展开。这种多样化的数据集选择,使得UniRank的基准测试能够全面评估模型在不同数据特性下的泛化能力。一个在短视频数据集上表现优异的模型,未必能在广告数据集上同样出色,反之亦然。UniRank通过统一协议,清晰地揭示了这种“场景依赖性”。
一份详尽的“实操手册”:从分词到缩放法则
UniRank真正像“手册”的地方,不只是给结果,还把怎么跑、怎么省、怎么对齐讲得很细。先看训练协议:默认每个GPU批大小为8192,若显存不够,就按比例减小批大小,再把梯度累积加回去,保证有效批大小不变。这个思路很朴素,但很实用——别让“显存不够”变成“实验不可比”的借口。
更关键的是,UniRank把模型训练拆成了稠密参数和稀疏参数两套优化器:稀疏嵌入用 Adagrad,稠密网络用 AdamW。这里的 Adagrad 是 Adaptive Gradient的缩写,中文常译为自适应梯度算法;AdamW 则是带权重衰减的 Adam。这个组合在推荐系统里很常见,因为稀疏特征和稠密网络的优化节奏本来就不一样,硬塞一个优化器,往往就是给训练稳定性找麻烦。
这部分最值得学的,不是某个单独技巧,而是“组合拳”的思路。DDP,即 Distributed Data Parallel,分布式数据并行,负责多卡同步;torch.compile配合编译后端优化密集算子;bf16混合精度减少激活存储;满足条件时,注意力层还能走 Flash Attention 或 Flex Attention;超大模型再加激活检查点。每一项都不算“论文新发明”,但拼在一起,才有了能跑大规模基准的底气。
除了上述消融实验,UniRank还深入探讨了序列长度对模型性能的影响。实验通过控制输入序列的最大长度(如从50逐步增加到200),观察各模型性能的变化曲线。结果发现,大多数统一模型在序列长度增加时性能会持续提升,但提升幅度逐渐放缓。然而,不同模型对序列长度的“敏感度”差异很大。一些堆叠式模型在序列较短时表现不错,但长度增加后性能提升有限,可能因为其“摘要”机制存在信息瓶颈。而某些层内式模型,特别是基于Transformer架构的,则能更有效地利用长序列信息,性能随长度增长而稳步提升。这一发现对于实际部署至关重要,因为它直接关系到模型需要存储和处理的用户历史长度,进而影响存储成本和推理延迟。
开源代码与数据,告别“黑盒”研究
这篇论文最实在的地方,是没有把“开放”停留在口号上。它不仅给出基准结果,还放出了代码、配置、预处理脚本和处理后的数据,GitHub 和项目主页都明确可用。对于做推荐系统的人来说,这比一句“效果提升了多少”更值钱,因为它能直接省掉大量搭环境、补细节、猜参数的时间。
如果说传统论文的痛点是“看完了很强,但复现不了”,那UniRank的目标就是把这个痛点往回拽一点。它承认工业排序研究离不开大规模数据和工程优化,也承认学术界不可能总拿到私有日志,于是干脆把公开数据、统一协议、效率工具一起打包。这个思路不花哨,但很对路。
实验结果分析上,UniRank的说服力主要来自两点。第一,实验设置足够统一,减少了“到底是模型强还是训练策略强”的扯皮空间;第二,结果并不呈现一种“某个新模型全面吊打”的戏剧化叙事,而是更真实地展示了统一排序模型在不同场景下的分化表现。这样的结果反而更可信,因为真实工业环境本来就不是单一指标一锤定音,而是效果、效率、稳定性一起算账。
论文还做了缩放规律研究。简单说,就是观察模型、序列长度、算力之间的关系,看性能是不是会随着规模增长而稳定提升。这个问题很像大模型时代的老生常谈:不是堆得更大就一定更好,关键是在有限算力下,增长曲线是否值得。UniRank把这件事放进排序模型里讨论,意义不小,因为推荐系统长期被“工程优先”绑住,真正系统化讨论缩放规律的工作并不多。
UniRank的缩放规律研究主要围绕两个维度展开:模型参数量和序列长度。在模型参数量方面,实验通过控制Transformer的层数、隐藏维度等超参数,构建了从百万级到十亿级参数不等的模型变体。结果发现,在大多数数据集上,模型性能与参数量之间存在一个“收益递减”的临界点。超过这个点后,继续增加参数带来的性能提升微乎其微,但计算成本却线性增长。这为工业界选择“够用就好”的模型规模提供了实证依据。在序列长度方面,缩放规律同样存在。虽然更长的序列通常带来更好的性能,但性能提升的边际效益在序列超过一定长度(如200-300)后显著下降。更重要的是,长序列带来的计算和存储开销是超线性的,尤其是在基于自注意力的模型中。因此,UniRank建议在实际部署中,应根据业务场景和资源预算,仔细权衡序列长度与性能收益,而不是盲目追求“越长越好”。
龙迷三问
这篇论文到底解决了什么问题?它解决的是排序模型研究里最常见的三个老毛病:复现难、比较乱、工程代价高。UniRank把数据切分、任务定义、训练配置和效率优化统一起来,让统一排序模型终于能在同一把尺子下被公平比较。
“逐点自回归监督”是什么意思?意思是把时间序列里每个符合条件的位置都当成一个训练样本,只能用它前面的历史预测它当前的反馈,不能偷看后面。这样做的好处是监督信号更密,长序列里的每一步都能贡献梯度,不再只盯着最后一个曝光样本。
为什么这类基准对推荐系统很重要?因为推荐系统最怕“实验结论看着漂亮,换个数据管道就失效”。统一基准能把模型结构、数据处理和训练工程拆开看,帮助判断提升到底来自哪里,也能更接近真实工业部署时的表现。
如果你还有哪些想要了解的,欢迎在评论区留言或者讨论~
龙哥点评
论文创新性分数:★★★☆☆ 这篇工作的创新更偏“基准与体系化”,不是提出一个全新网络结构,但把统一排序研究最缺的公共比较框架补上了,属于很实用的创新。
实验合理度:★★★★☆ 数据、任务、切分、训练、效率都尽量统一了,实验设计整体很扎实;不足是不同公开数据之间仍存在天然差异,跨数据结论不能过度外推。
学术研究价值:★★★★☆ 对统一排序模型、长序列建模和缩放规律研究都很有价值,尤其适合后续工作做可复现实验和横向对比。
稳定性:★★★★☆ 论文给出的训练与优化方案比较工程化,稳定性比“只给一个demo”强很多,但大规模长序列训练仍然对显存和吞吐有要求。
适应性以及泛化能力:★★★☆☆ 适合推荐、广告、短视频这类排序场景,但并不意味着所有业务都能直接照搬;字段组织和反馈定义仍需按场景重做。
硬件需求及成本:★★★☆☆ 通过优化后成本明显下降,但本质上还是大规模训练基准,不是轻量级模型。普通机器能跑部分设置,完整实验仍需要像样的GPU资源。
复现难度:★★★★☆ 代码和处理数据都公开了,训练细节也比较完整,复现门槛在同类工作里算低的。
产品化成熟度:★★★☆☆ 作为评测与研究平台很成熟,作为直接线上排序方案还不够,需要结合具体业务做延迟、稳定性和收益验证。
可能的问题:基准统一得越好,越容易暴露模型真实差异,但也意味着结果对数据预处理和训练设定敏感;如果后续数据分布变化大,结论需要重新验证。
主要参考文献
[1] Li, H., Wang, X., Zhang, Z., Zhang, Y., Lin, K., Zhang, Y. Benchmarking Ranking Models for Unified Sequential Modeling and Feature Interaction. arXiv:2607.19987v1, 2026.
[2] UniRank Project Page: https://unirank-benchmark.github.io
[3] UniRank Code Repository: https://github.com/UniRank-Benchmark/UniRank
排序模型最怕的不是跑不动,而是对比不公平、复现说不清、结果看不懂。欢迎加入龙哥读论文粉丝群,和一群认真抠细节的同路人一起拆基准、拆模型、拆实验。扫描下方二维码或者添加龙哥助手微信号加群:kangjinlonghelper。一定要备注:研究方向+地点+学校/公司+昵称,进群更快。