用户行为序列建模(篇十一)-小结篇(篇一)
结合之前对“用户历史行为序列建模”的学习,将阿里巴巴在2018年~2020年的4篇典型工作做个小结,从中可以窥探近几年的研究脉络。涉及的工作有:DIN、DIEN、MIMN、SIM,详见如下内容
知识框架
Embedding &MLP
优点
自动完成特征交叉、提取,增强泛化性能
不足
Embedding &MLP通过固定长度的向量作为用户表征的方式限制了用户的多兴趣表达
模型结构
模型包含三部分:Embedding层、Pooling&Concat层、MLP层,具体结构如下:
DIN
简要总结如下,详细介绍可参考历史文章:用户行为序列建模-DIN
背景
在阿里巴巴电商的在线展示广告场景,用户的兴趣是多样的
应用场景
阿里巴巴电商的在线展示广告的CTR排序
效果
相比于Embedding&MLP:
离线:绝对值0.0113的AUC提升
在线:10%的CTR提升,3.8%的RPM提升
优势
通过从用户历史行为序列中自适应学习用户对特定广告的兴趣表征,在不同的广告上有不同的用户表征可以极大地提升模型的表达能力
不足
缺少捕捉用户行为间的依赖,以及和目标item相关的兴趣演变;
只适用于用户行为序列<150的建模,超出面临无法接受的计算、存储问题
模型结构
如下所示:
模型改进点
相比于Embedding&MLP:
- 增加“局部激活单元”:从用户历史行为序列中自适应学习用户对特定广告的兴趣表征
- 更改激活函数:提出“自适应激活函数”Dice。通过自适应调整校正点,实现激活函数输出在校正点左右平滑切换,适应每层输入的不同分布
参数更新优化点
提出mini-batch aware regularization,只需每次mini-batch中的非零的特征参数参与计算,保证可承受的计算量
工程优化点
采用CPU-GPU的优化来加速线上预测,实现单机下双QPS的提升,在线广告的时延满足要求的10ms以内
代码
论文开源代码
DIEN
简要总结如下,详细介绍可参考历史文章:用户行为序列建模-DIEN
背景
用户的行为之间存在依赖关系,但不是所有用户的行为都严格依赖每一个相邻的行为。而且,受到外部环境和内部感知的变动,用户兴趣随时间在动态地变化。比如:在一段时间内用户对书籍感兴趣,在另一段时间内用户对衣服感兴趣。除此之外,每个兴趣有自己的演变过程,比如:对书籍、衣服感兴趣的过程是独立的。我们只关心和目标item相关的演变过程。
应用场景
阿里巴巴电商的在线展示广告的CTR排序
效果
相比于Embedding&MLP:
离线:绝对值0.0191的AUC提升
在线:有20.7%的CTR的提升,17.1%的eCPM提升,3.0%的PPC提升
优势
捕捉用户行为间的依赖,以及和目标item相关的兴趣演变
不足
当用户行为序列长度较大(超过50)时,性能无法满足在线广告的时延要求
模型结构
如下所示:
模型改进点
相比于DIN:
- 增加“兴趣提取层”:基于GRU,从用户显式的历史行为序列中建模行为间的依赖,捕捉隐式兴趣。相比于RNN模型,引入辅助loss,对隐藏层的状态进行监督,保证兴趣表征的准确性
- 增加“兴趣演变层”:采用“局部激活”建模兴趣演变。可以在GRU的每一步强化关联兴趣的效果,弱化兴趣漂移的干扰,对于建模和目标item相关的兴趣演变过程是有助的
工程优化点
为了保证低延迟、高吞吐,采用了一些重要的技术来提升服务性能:
1、element parallel GRU & kernel fusion(GRU并行和内核融合);
2、Batching:将时间紧近的不同用户的请求merge到一个batch,充分利用GPU的优势
3、模型压缩:训练轻量级模型,但是效果和大模型类似
效果:DIEN的延迟从38.2ms->6.6ms,每个worker的QPS提升至360
代码
论文开源代码
MIMN
简要总结如下,详细介绍可参考历史文章:用户行为序列建模-MIMN
背景
阿里巴巴电商场景拥有丰富的用户行为数据,当用户行为序列长度>=1000时,因为系统的耗时、存储的增长和用户行为序列的长度增长成近似正比关系,而且现有的序列建模的工作支持的用户行为序列的长度在<=50,所以无法直接使用目前的算法、工程架构满足在线广告的时延要求
应用场景
阿里巴巴电商的在线展示广告的CTR排序
效果
相比于DIN:
离线:绝对值0.0103的AUC提升
在线:有7.5%的CTR的提升,6%的RPM的提升
优势
通过算法、工程架构的协同设计,解决CTR预估中的延迟、存储问题,实现对于用户长期行为序列行为的用户兴趣建模
不足
当用户行为序列长度超过1000时,由于MIMN将用户的历史行为编码到一个固定长度的memory matrix,因而会带来大量的噪声
模型结构
如下所示:
模型改进点
相比于DIEN,增加Memory Utilization Regularization(MUR)、Memory Induction Unit(MIU):
- MUR:相比于NTM,降低对于同一个用户的同一个兴趣点的多个行为被写入到同一个slot中的频率。保证memory tensor存储更多的信息量,增强memory tensor的表达能力
- MIU:通过引入GRU,实现多通道兴趣建模,捕捉随时间演变的用户兴趣
工程优化点
(1)建立User Interest Center,保留每个用户最新的兴趣状态。通过依赖实时的用户行为触发事件实现更新,而非依赖于实时的通信请求,因而可以保证在实时CTR预估中保证UIC是无延迟的。新旧系统对比见下方,A是旧系统,B是新系统,两者的关键差异点在于用户兴趣表征的计算:
(2)采用了Warm Up Strategy。基于用户行为序列平均长度超过1000的过去120天内的历史行为,通过离线训练好的MIMN得到用户兴趣表征的初始值,并初始化UIC。通过上述机制,保证后续的持续更新
(3)Rollback Strategy(回滚策略)。为了防止UIC更新出现问题,设计了回滚策略在每天的00:00存储学习得到的用户兴趣表征的拷贝,并保存最近7天的回滚策略的结果
代码
TensorFlow实现MIMN
SIM
简要总结如下,详细介绍可参考历史文章:用户行为序列建模-SIM
背景
SIM(Search-based Interest Model)是阿里妈妈于2020年提出的点击率模型。MIMN通过算法、工程架构的协同设计,解决计算、存储问题,作为工业界第一个在长达1000长度的用户行为序列上进行用户兴趣建模并取得了SOTA效果的落地实践。SIM突破了用户行为序列的长度限制,并在长达54000长度的用户行为序列上进行用户兴趣建模,并取得比MIMN更优异的SOTA效果的落地实践。
应用场景
阿里巴巴电商的在线展示广告的CTR排序
效果
相比于MIMN:
离线:绝对值0.008的AUC提升
在线:有7.1%的CTR的提升,4.4%的RPM的提升。对于最大的序列长度达54000时,线上延迟相比MIMN只增加了5ms
优势
突破了用户行为序列的长度限制,并在长达54000长度的用户行为序列上进行用户兴趣建模,并取得比MIMN更优异的SOTA效果的落地实践
模型结构
如下所示,包含2个串联的部分:General Search Unit(GSU)、Exact Search Unit(ESU):
模型改进点
相比于DIEN,增加GSU、ESU:
- GSU:在线性时间复杂度下,从用户原始的长期行为序列中获取top-K相关的子行为序列,K<<用户原始的长期行为序列长度。一般,K在百级别。
- MIU:基于获取到的top-K相关的子行为序列,更精准地捕捉用户兴趣
工程优化点
主要体现在“改进RTP系统”,具体如下:
(1)原系统
如下所示,是展示广告的实时预测系统(Real Time Prediction system,RTP system),在线实时请求实时获取到用户的行为序列特征、用户人口统计学数据
不足:
-
- CTR模型的响应时间需要在30ms内,考虑用户长期行为序列,则RTP系统的模型预测面临较大的存储、延迟问题
- RTP系统最多每秒服务于100万用户,信号传输量和用户行为序列长度成线性增长,考虑用户长期行为序列导致信号传输面临问题
(2)改进后的系统
如下所示,是改进后的展示广告的实时预测系统(Real Time Prediction system,RTP system),在线实时请求实时获取到用户的行为序列特征、用户人口统计学数据
改进点:
-
为每个用户建立two-level索引(即user behavior tree, UBT),第一层表示用户id,第二层表示类目id,索引值是行为序列的item
(3)改进后的计算和存储
1)计算:由于可以在离线构建UBT,所以在线hard-search的响应时间足够短,相比于GSU的计算可以忽略。除此之外,也可以并行计算用户的其它特征
2)存储:UBT是分布式系统,总存储是22TB。通过UBT、hard-search,用户行为序列的长度从上万降低到上百,大大减少存储压
结尾
亲爱的读者朋友:感谢您在繁忙中驻足阅读本期内容!您的到来是对我们最大的支持❤️
正如古语所言:"当局者迷,旁观者清"。您独到的见解与客观评价,恰似一盏明灯💡,能帮助我们照亮内容盲区,让未来的创作更加贴近您的需求。
若此文给您带来启发或收获,不妨通过以下方式为彼此搭建一座桥梁: ✨ 点击右上角【点赞】图标,让好内容被更多人看见 ✨ 滑动屏幕【收藏】本篇,便于随时查阅回味 ✨ 在评论区留下您的真知灼见,让我们共同碰撞思维的火花
我始终秉持匠心精神,以键盘为犁铧深耕知识沃土💻,用每一次敲击传递专业价值,不断优化内容呈现形式,力求为您打造沉浸式的阅读盛宴📚。
有任何疑问或建议?评论区就是我们的连心桥!您的每一条留言我都将认真研读,并在24小时内回复解答📝。
愿我们携手同行,在知识的雨林中茁壮成长🌳,共享思想绽放的甘甜果实。下期相遇时,期待看到您智慧的评论与闪亮的点赞身影✨!
万分感谢🙏🙏您的点赞👍👍、收藏⭐🌟、评论💬🗯️、关注❤️💚~
自我介绍:一线互联网大厂资深算法研发(工作6年+),4年以上招聘面试官经验(一二面面试官,面试候选人400+),深谙岗位专业知识、技能雷达图,已累计辅导15+求职者顺利入职大中型互联网公司。熟练掌握大模型、NLP、搜索、推荐、数据挖掘算法和优化,提供面试辅导、专业知识入门到进阶辅导等定制化需求等服务,助力您顺利完成学习和求职之旅(有需要者可私信联系)
友友们,自己的知乎账号为“快乐星球”,定期更新技术文章,敬请关注!