【算法研究】解锁推荐新范式:生成式大模型落地游戏内皮肤推荐

导读丨使用玩家在游戏内的行为序列基于生成式推荐端到端的对皮肤推荐精排场景进行建模,该方法在离线指标和在线效果均获得了明显提升。

作者:Deltaverse高级研发工程师 宋浩

背景介绍

英雄皮肤售卖是MOBA类游戏最重要的商业化收入来源之一。游戏内英雄皮肤主要在常驻皮肤商城或者活动类场景(抽奖、神秘商店等场景)进行出售。

对于常驻皮肤商城场景,将当前可售卖的所有皮肤按照玩家购买偏好顺序进行曝光展示,待排序的候选池总量一般在1000以内,因候选池规模不大,按照精排模型进行建模即可。活动类场景略有差异,是从指定全量候选池里选取部分候选进行曝光,这些候选也可以根据玩家偏好进行推荐,本质可以和常驻类场景复用相同模型。

在使用生成式推荐之前,我们主要是基于序列化(DIN)+多目标(MMOE)的方式进行建模,整体模型结构和下图比较类似:

在特征层面,我们主要引入了如下特征:

  1. 统计类特征(dense 特征),主要包括交互统计特征,item侧以及user侧统计特征。

  2. 预训练产生的embedding特征,譬如基于玩家历史行为产生玩家的embedding表征(user侧embedding特征)。

  3. 类别特征(spase 特征),user侧基础属性,item侧基础属性。

  4. 行为序列特征(sequence 特征),不同窗口user历史行为序列。

  5. 人工交叉特征,譬如显式对user历史行为序列和item基础属性做交叉。

  6. 实时特征,主要包括玩家实时行为序列以及item侧实时统计特征。

上面的整体方案在我们商业化以及社交等场景已经应用广泛,且取得不错的收益(相比之前策略曝光arpu +14.6%)。今年2月份,Meta发表了一篇论文《Actions Speak Louder than Words: Trillion-Parameter Sequential Transducers for Generative Recommendations》 , 提出基于统一的LLM框架分别对召回和精排场景建模,并取得显著收益。

生成式推荐方案

在之前的方案里,我们会尝试不同方向优化效果,但是主要精力在如何挖掘更多特征。Meta的生成式推荐方案对特征进行了简化,只使用用户历史行为序列或用户的不显著变化的基础属性特征,基于LLM模型结构进行自回归端到端建模。按照论文表述,去掉了统计类特征,并将多条用户行为序列按照时间戳升序合并成一条序列。

因Meta未开源精排部分代码,我们主要参考其论文描述实现我们的精排方案,但在我们场景落地时也做了调整,具体方案如下:

建模

建模样本组织方式

在Meta的方案,样本按照如下的方式进行组织:

对于精排场景,输入序列中的  \Phi_i和  a_i分别代表 item_i以及 action_i, 具体到我们场景,item 为候选池全量集合, action 主要包括(曝光,购买,点击,对局),序列的组织顺序按照 action发生的时间戳升序组织,输出序列是将输入序列右移一位且只在item_i 位置有对应输出 action_i,实际计算next-prediction loss时,我们只计算输出序列 \Phi_0, a_0, \Phi_1, a_1中 action=曝光 或者 购买action=购买位置对应的loss即可。样本如果上述方式组织,主要会有如下优缺点,

优点:

  1. 一个用户只产生一条序列,不管对于增量训练还是全量训练,都可以极大的节省计算量(论文里也详细说明了计算复杂度的对比情况)。

缺点:

  1. 对于上述组织方式,将曝光既作为特征又作为样本会导致一些问题,譬如假设上面序列的代表曝光,那么计算\Phi_0位置的loss时 a_0 作为样本的label,在计算\Phi_1 位置的loss时根据可见性  \Phi_0,a_0是作为特征输入。如果是同一个曝光产生的所有行为(譬如相同的recommend_id下, a_0 为曝光, a_1 为购买),那么实际上计算\Phi_1 位置的loss时 \Phi_0,a_0是不可见的。对于这种情况,需用通过处理attention mask去处理可见行问题。

  2. 一般情况下,不采样的情况下,玩家曝光行为在所有行为序列中占比最高,不采样的话导致序列过长难以训练。如果对曝光行为作采样,对于玩家的实时曝光行为序列也需要做相同处理,但这里因窗口限制很难保证一致性(过长很难保证实时性,过短很难保证和离线一致性)。

所以,我们对样本组织方式做了如下调整,将原本一条用户序列拆分成多条,譬如我们对20241108这一天的曝光进行采样后,我们采用和之前baseline类似的方式进行组织样本,以单个玩家的样本为例,类似如下:

对于正样本,需要保证同一个recommend_id下的购买或者点击不可见,直接对当天行为序列中,与样本中的购买属于同一个recommend_id下的其他购买或者点击从序列中去除即可。这种样本组织方式可以理解为Meta论文提到的一种特殊形式,虽然对训练性能有较大开销,但是可以避免直接将曝光引入到序列中间导致的问题。

模型结构

模型的主体结构和Meta论文里的HSTU(decoder架构)保持一致:

关于模型内部每一层block的细节,按照作者的说法主要分为Pointwise 映射,Patial 聚合,Pointwise 转换这几个部分,具体说明可以参考论文,这里不做重复介绍。对于精排模型,我们需要在每一个token位置对应的最后一层输出接一个相同的MLP网络,最后使用sigmod激活函数预测每一个token位置的打分,该打分代表基于该token位置之前的输入序列,购买该位置item的概率。

loss计算方式如下:

loss = cross\_entropy( pred_{i}, y_{i} * action\_mask) * action\_mask

对于action\_mask,如果当前token为item,且下一个action为曝光或者购买,则为 action\_mask 1,其余为0。

序列组织方式

在了解了基本的CoT的形式和功能之后,我们参考上海交大的一篇综述性论文【5】,来总结CoT模式转变的几个方向。在我们的场景中,我们只用到了玩家历史行为序列,没有用到玩家基础属性特征,且这部分序列特征是之前baseline特征的子集,将所有行为序列以 item_{1}, action_{1}, ..., item_{i}, action_{i}交错的方式进行组织:其中,对于item的基础属性,以sideinfo的形式与itemid进行整体处理作为该位置的token,最终输入序列的整体seq_{e}采用如下方式处理:

seq_{e} = f(concat( seq_{e} , hero_{e} , price_{e}, up\_day_{e} ) ) * item\_mask + seq_{e} * (1-item\_mask)

, 其中f为一层MLP, 输出输入序列对应embedding表的维度一致。对于item\_mask,如果当前token为item则为1,其余为0。

输入序列不同组成部分

精排部分为了能保证线上预估时一次对多个候选进行打分,模型的输入序列按照如下方式组织:

其中,user sequence就是实际的玩家历史行为序列,candidate sequence为候选item列表,训练时占位即可(默认占位为0,不参与loss计算),推理时为实际线上的item候选列表,最后为padding sequence, 主要进行填充和截断操作,保证输入的长度一致。

通过引入candidate sequence, 训练时增加了计算量,但是在推理时,可以一次对candidate sequence将原本候选池为1000,对应推理batch_size=1000的打分,优化为batch_size=10的打分(假设candidate sequence的长度为100),这样可以显著改善推理性能。

causal-mask处理

causal-mask主要用于attention计算,在输入序列中我们引入了candidate sequence,为了与线上模型推理时保持一致,除了正常的user sequence使用下三角矩阵,candidate sequence使用对角线全为1的单位矩阵,保证item列表里只能看到自己位置的item,padding sequence处为0即可。

效果提升

在某常驻皮肤商城场景,我们的在线效果相比之前baseline曝光arpu +3.6%, 在某活动类皮肤打折售卖场景,我们的在线效果相比之前baseline曝光arpu +11.2%。

后续计划

基于生成式模型进行端到端建模对特征做了极大的精简,且整体的推荐工程架构相对简化,避免之前为保障离线和在线样本和特征一致性引入的复杂数据链路。关于后续计划,主要包括两个方面:

  1. 进一步挖掘玩家历史行为,尝试目前主流LLM模型架构,以及基于当前框架结合多目标或多场景建模进一步优化。

  2. 结合当前主流LLM推理方案,优化线上推理性能。


关于腾讯游戏数据

腾讯游戏数据(海外品牌名称Deltaverse)沉淀20余年、700+款大型游戏的数据工作经验,基于AI大模型及数据科学能力,为全球游戏业务和企业提供专业智能的数据平台及定制化解决方案,覆盖治理、开发、分析全链路及业务全场景,助力实现高效增长。

相关推荐

AI驱动下的数据新基建:腾讯游戏数据资产治理与湖仓架构革新

如何聚焦AI驱动下的数据基础设施智能化跃迁,围绕腾讯游戏数据发展背景、基于AI的资产体系重塑、智能湖仓架构建设及AI智能场景应用探索四大核心议题,揭秘腾讯游戏如何利用AI技术打造"人+AI"双引擎驱动的数据资产管理体系,开启数据治理新篇章。

Deltaverse的博客 826

LLM在腾讯游戏数据分析的实战

腾讯游戏数据技术负责人刘岩针对LLM在游戏数据分析实战中的关键环节进行了分享

Deltaverse的博客 1203

AI Agent 在角色扮演场景的研究进展

本文探讨了AI Agent在角色扮演场景中,角色扮演智能体的构建方式和应用场景。

Deltaverse的博客 1815

【活动推荐】腾讯游戏数据如何做AI+BI?

6月21日「DataFunSummit2025:AI+BI峰会」,腾讯游戏数据专家将与大家共同探讨AI+BI的建设之道。

Deltaverse的博客 412

【直播预约】大模型时代的智能数据体系建设|腾讯游戏数据技术分享

4月24日(本周四)晚上19:00一起认识《大模型工程化:AI驱动下的数据体系》

Deltaverse的博客 374

腾讯游戏数据宣布:智能数据助手UData已接入DeepSeek

复杂需求理解能力及SQL生成能力进一步提升。

Deltaverse的博客 659

【后台技术】StarRocks执行原理与SQL性能优化策略探索

理解StarRocks是如何进行数据读取与计算,从而进一步更好地基于StarRocks进行业务SQL的编写与优化。

Deltaverse的博客 1652

撕掉“玩具“标签,大模型工程化落地如何破局

如何通过工程化理念和工程建设,让大模型在企业场景中创造实际的业务价值?

Deltaverse的博客 695

【算法研究】大模型掷骰子吗?

本文通过实验验证探讨GPT-4在随机数生成方面的能力。

Deltaverse的博客 975

不是DeepSeek不强,而是你的数据资产得“特调”:腾讯游戏如何重构数据资产体系?

构建"大模型可理解的数据资产"体系,已成为释放数据要素价值的关键突破口。

Deltaverse的博客 1119

从CoT到O1推理模型,简单聊聊LLM的Test-Time Scale Law

本文解析大模型推理能力,从CoT到O1模型的演进及应用。

Deltaverse的博客 1276

DeepSeek固然很强,但它不懂我的业务:腾讯游戏如何建设领域大模型

结合需求匹配实践案例,分享自研领域大模型的方案和架构。

Deltaverse的博客 639

【AI分析】从争议到刷梗:TGA2024海内外玩家真实观点全解析

借助AI能力,整理和分析TGA2024颁奖结束后,海内外不同内容平台用户对今年TGA的真实看法。

Deltaverse的博客 1325

腾讯游戏怎么做「大模型+数据」?内部方法论揭秘

由浅入深,系统讲解大模型在数据架构、资产运营与工程化实践中的应用理念。

Deltaverse的博客 528

腾讯游戏数据团队在“数据+AI”上的最佳实践

已被应用于80+腾讯游戏业务,SQL代码编写效率提高300%…

Deltaverse的博客 1315

【AI分析】万字解析:《黑神话:悟空》的口碑和文化传播

借助AI能力,整理和分析游戏在国内外各渠道的用户口碑数据,及其带来的影响。

Deltaverse的博客 1282

【社交算法】K-Free社群检测:找到属于你的游戏搭子

该成果为腾讯游戏社交算法团队在KDD 2024发表的论文之一。

Deltaverse的博客 1326

【算法研究】游戏复杂网络的研究和应用

介绍腾讯游戏在游戏知识图谱以及游戏社交网络方面的探索与实践。

Deltaverse的博客 1158

【数据工程】AI写SQL真的靠谱吗?AI+湖仓实践经验分享

如何通过大语言模型技术,基于湖仓一体+AI的能力提升游戏业务数据提取的效率?

Deltaverse的博客 921
上一篇: 撕掉“玩具“标签,大模型工程化落地如何破局
下一篇: 【后台技术】StarRocks执行原理与SQL性能优化策略探索
腾讯游戏数据
腾讯游戏数据 腾讯游戏数据官方账号 腾讯游戏数据官方账号
博客等级 码龄2年 104粉丝 20原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值