我们结合逛逛推荐场景中的具体问题,从多场景全域表征的视角进行了一系列的探索与内容推荐场景的应用,从全域表征的范围、信息迁移方式以及模型框架的应用等维度展开我们的优化工作,取得了阶段性的优化经验和业务效果。
背景介绍
淘宝逛逛自2020年底上线以来,一直作为淘宝内容化推荐体系下内容社区营造和种草分享的重要阵地。与商品推荐的区别在于,为了打造"好看, 有趣, 真实, 好物"的价值理念,淘宝逛逛在产品形态和分发体系上呈现出不同维度的"多元"特点,具体体现在:
多展现形式: 双列内容信息流(视频+图文)、无refer沉浸式视频TAB、带refer上下滑全屏页(视频、图文)等
多内容主体: 视频、图文、挂载商品
多用户心智: 内容种草心智、商品导购心智
图1. 淘宝逛逛多样化内容推荐场景
这样丰富多元的内容推荐场景在满足用户消费和创作者分享需求的同时,也为我们在复杂多样的推荐场景下进行算法建模带来了巨大挑战。一方面,模型建模需要适配每个场景的数据分布特点;另一方面,不能让各个场景成为"信息孤岛",需要从全域的角度思考如何利用好各场景的数据。因此,自淘宝逛逛上线初期,我们便确立了多场景全域表征这一项目计划,来应对我们面临的场景挑战。
多场景推荐问题是目前推荐系统普遍面临的挑战,涉及广告、营销、商品导购、内容化等多个领域。近三年内,业界许多算法团队都逐渐意识到多场景问题的重要性,并且从业务视角、数据分布、可行性分析等维度阐述与论证了多场景建模的重要性。我们在前期方案调研和数据分析时也得出与之类似的结论。更进一步地,在这些建模必要性的思考基础上,我们重点关注多场景全域表征在淘宝逛逛内容推荐场景下具有的优势:
提效优势: 相比于淘宝商品域丰富的行为数据,逛逛内容域的数据相对比较稀疏,而逛逛多场景的特点使得数据之间的建模更加割裂。在此背景下,通过多场景全域表征将有助于打通场景数据间的障碍,缓解内容推荐场景的数据稀疏问题,并由此带来业务效率的提升。
成本优势: 逛逛域内推荐场景较多,为每个场景单独设计和维护一套模型的人力成本和资源开销较大,而多场景全域表征的出发点就是希望能够以统一框架来承载多个场景,这对于成本的节省十分有意义。
迁移优势: 随着业务的深入发展,逛逛也在逐步新增或者接入一些新的场景,如视频TAB等。同时,除了效率指标,内容推荐场景还需要兼顾用户体验、内容生态、创作者成长等目标的优化。如何能够快速接入新场景,如何能将已有方案快速迁移到其他目标的优化上,考验着我们的方案设计能力。而多场景全域表征无疑在这一问题上具有先天优势。
因此,我们致力于探索一套高效、统一、可迁移的多场景全域表征框架来支持淘宝内容化推荐场景的业务需求,并寄希望于我们对该方向的思考和探索能在其他领域带来一些经验和启发。
问题和挑战
基于上述背景和业务诉求,多场景全域表征重点面临以下挑战:
广度上,如何扩大数据的利用范围
深度上,如何提升数据的利用率和信息迁移的精细效果
速度上,如何能让数据迁移快速适配多种场景和多种目标
技术迭代路线
▐ 多场景全域表征的三维评估
我们侧重从以下三个维度来评估和思考多场景全域表征方案的能力:
全域表征的范围(逐步扩大数据使用范围): 内容域单场景有标签样本→内容域多场景有标签样本→内容域多场景全空间(有标签+无标签)样本→淘宝域多场景(商品+内容)全空间样本
信息迁移的方式(场景间信息共享和差异化迁移): 样本数据的共享→模型的差异化表征→结构的自适应精细化迁移
模型框架的扩展(扩展应用到新场景新目标的能力): 对多场景主任务的提效→模型框架在其他场景和任务上的可迁移应用
▐ 方案选型与思考
目前业界已有较多的多场景建模的的优秀工作 ,篇幅原因无法一一列举,我们在前人的基础上学习和探索我们的优化方案以及和业务的适配能力。具体的,结合3.1节我们对多场景全域表征的三维评估,下表列举本文的设计方案和部分其他代表性工作的区别:
多场景方案 | 全域表征的范围 | 信息迁移的方式 | 模型框架的扩展 |
STAR | 有标签样本 | 网络参数矩阵映射(偏隐式) | 未验证 |
SAR-Net | 有标签样本 | 类MMoE结构(偏隐式) | 未验证 |
HMoE | 有标签样本 | 类MMoE结构(偏隐式) | 未验证 |
AdaSparse | 有标签样本 | 动态权重网络(偏隐式) | 未验证 |
逛逛多场景方案 | 有标签样本 + 无标签样本 | 结构的自适应精细化迁移(显式建模) | 已验证 |
▐ 迭代思路和进展
图2展示了我们一年多来在在淘宝逛逛多场景全域表征上的迭代思路和进展,截至目前,我们已经完成了前三阶段的方案设计和线上推全。本文将重点介绍我们在第三阶段的落地工作,第四阶段也将在未来的工作中展开。
图2. 淘宝逛逛多场景全域表征迭代进程
我们已将第三阶段落地方案中的核心优化点提炼成论文,文章已被会议CIKM2022收录
论文标题: Scenario-Adaptive and Self-Supervised Model for Multi-Scenario Personalized Recommendation
论文地址: https://arxiv.org/abs/2208.11457
鉴于我所在的项目组目前主要负责淘宝逛逛推荐链路中召回阶段的优化, 因此先将整体的优化思路在淘宝逛逛所有场景的召回阶段进行模型全量并取得不错效果(实验评估详见“实验分析和线上效果”一节)。本文后续的介绍也主要聚焦在召回模型和召回任务上。我们相信本文提出的优化思路也同样适用于排序等其他链路以及商品推荐等其他推荐场域。
此外,召回作为推荐链路的第一阶段,与排序相比,面对的采样空间、打分方式、优化目标都有其独立的特点和挑战。我们在多场景模型的设计和落地上也进行了对应的适配和优化。我们在前期调研中也发现,目前业界针对多场景问题的建模和落地主要集中在排序模型上,因此我们的方案也是目前业界最早在召回阶段进行多场景建模的工作之一。
核心模型方案
接下来介绍我们的多场景全域表征模型: Scenario-Adaptive and Self-Supervised Model for Multi-Scenario Personalized Recommendation (简称SASS)。SASS模型聚焦3个核心优化点:
精细化迁移: 网络参数矩阵映射等隐式差异化建模→自适应门控网络的精细化迁移
全域样本扩展: 全域有标签样本集合→全域有标签和无标签样本集合
多场景召回模型: 单场景双塔结构→多场景双塔结构
▐ 模型框架: 两阶段训练模式
图3. SASS模型框架
图3展示了SASS的模型框架,包含两个阶段:
阶段 | 任务类型 | 样本空间 | 作用 |
阶段一 | 场景对比的无监督任务 | 多场景无标签样本 | a. 引入无标签数据,扩展全域样本使用空间 |
阶段二 | 双塔度量的有监督任务 | 多场景有标签样本 | a. 与召回目标对齐,全场景样本和单场景样本的联合训练 |
由于双塔召回模型在user侧和item侧是独立建模并且结构类似,在建模上,除了底层的输入特征不同外,user侧和item侧采用完全相同的网络结构和loss形式。另外底层的embedding layer是全局共享的。为了描述的简洁,本文后续章节以user侧为例展开介绍,item侧结构不再赘述。
▐ 精细化迁移: 多层场景自适应迁移表征网络
图4. Multi-Layer Scenario Adaptive Transfer Module (ML-SAT)
图4展示了整个多场景模型框架的核心表征网络Multi-Layer Scenario Adaptive Transfer Module (简称ML-SAT)。对来源于某个场景的样本,经过ML-SAT后,都将得到一个融合全域信息并且具有场景差异化的向量表达。接下来分别介绍其中的核心模块。
全场景共享网络 & 单场景特有网络
如图4(a)所示,每条样本的特征通过共享的embedding layer并进行向量拼接后,会同时经过两个网络结构:
全场景共享网络(global shared network): 图中蓝色部分网络, 该部分结构为所有场景共享,所有场景的样本都将经过该网络进行训练。因此,全场景共享网络用于建模全域信息的表征结果。
单场景特有网络(scenario specific network): 图中灰色方框部分网络, 每个场景都有各自独立的网络参数,用于建模场景自身的差异化表达。训练和预估时,每条样本只会通过对应场景的特有网络进行表征和训练。
场景上下文Bias网络
为了保持训练的统一,我们对所有场景的特征体系进行了统一(共同的特征schema, 部分场景没有的特征用空值填充)。输入特征可以简单划分成两类:
场景普通特征: 如用户侧的profile特征、用户行为序列等
场景特有特征: 如scenario_id等能明确进行场景识别的特征,以及某些场景独有的特征(比如二跳场景中refer类特征)
场景特有特征对场景具有显著性区分,因此将此类特征单独聚合后通过辅助网络(auxiliary network)进行建模:
辅助网络输出将作为场景偏置信息应用于全场景信息迁移(4.2.3节介绍)和最终的场景融合表征(“场景Bias融合模块”节介绍)。
场景自适应门控单元
多场景建模存在这样的矛盾: 单场景数据符合场景自身分布但存在数据稀疏问题,多场景混合数据信息丰富但存在噪声。如何取长补短,在既不严重破坏原始场景的数据分布的情况下,能够从丰富的全域表征中精细化地获取有效的迁移信息, 成为了我们的方案设计的思考重点。因此,我们在全场景共享网络(global shared network)和单场景特有网络(scenario specific network)之间构建起信息迁移的桥梁,并设计场景自适应门控单元(scenario adaptive gate unit)来自适应并且精细化地控制全场景信息到单场景信息的信息迁移量以及迁移信息和原始信息的融合方式,门控结构如图4(b)所示。
场景自适应门控单元(scenario adaptive gate unit)内部主要包含两个门控结构: adaptive gate和update gate。具体地,用来控制有多少信息量可以从全场景建模迁移到单场景上;控制了迁移过来的信息和本场景原始信息的融合方式。我们将此场景自适应门控单元并列堆叠多层,从而进行逐层级精细化的信息迁移和融合:
此外,在论文发表后,我们对该结构进行了更进一步的优化。核心思路是通过两个方向信息的随机和操作来驱动信息发生定向流动。这样的结构设计一方面可以防止整个迁移结构失活,另一方面全场景侧信息的随机dropout也可以增大训练难度,避免全场景信息对单场景的过度主导。经优化后,新的场景自适应门控单元结构如图5所示。
图5. 场景自适应门控单元(新版)
场景Bias融合模块
如图4(c)所示,经过多层场景自适应门控单元(scenario adaptive gate unit)融合后的表征向量,与该场景的bias表征进行上层融合,最终得到该条样本在对应场景的向量表达:
▐ 全域样本扩展: 场景对比学习的无监督预训练
介绍完模型的核心表征网络ML-SAT,接下来介绍基于ML-SAT构建的第一阶段预训练任务。如“迭代思路和进展”章节所述,多场景全域表征下一阶段的规划发展是从有标签全域样本扩展到无标签全域样本。受对比学习在深度学习领域的应用启发,我们将对比学习训练范式和多场景问题下场景之间的关联建模进行了概念上的类比,如图6所示。
从用户的视角看,推荐系统进行信息迁移的本质前提,是假设用户在不同场景下具有兴趣心智的相似性或者关联性。比如某个美妆爱好者在首猜点击了某款口红商品,也会对逛逛内口红评测内容感兴趣;某个用户在淘宝下单了一个运动滑板,那么也很可能会点击逛逛内滑板教学甚至飞盘等其他户外运动主题的视频...... 然而用户在不同场景下的行为模式显然是存在差异的。这种刻画同一用户在不同场景视角下的兴趣相似性或者相关性的推荐诉求,跟对比学习的建模思路不谋而合。因此,我们将用户在不同场景下的行为表现(不同场景下的行为特征数据)视作一种对比学习概念下的数据增强方式,并通过表征网络(在本文中即是ML-SAT网络)得到同一用户在两个不同场景的表征,然后用对比学习的度量loss进行两个向量表征上的对齐,从而实现场景和场景之间进行模式匹配和对齐。
图6. 对比学习范式在场景对比建模上的类比
具体地,假设用户访问了个场景, 我们通过两两组合的形式得到该用户的条场景pair对样本(如图7所示)。然后分场景抽取用户在对应场景下的样本特征,具体包括:
用户profile特征: 性别、年龄、职业等
用户在场景下交互特征: 在对应场景下的行为序列以及在场景下的类目偏好、账号偏好等场景交叉统计特征
对应场景的属性特征,如scenario_id等
图7. 场景对比学习样本拆分方式(场景数>2)
如图4(a)所示,获得用户在对应场景的特征后,通过“精细化迁移: 多层场景自适应迁移表征网络”章节介绍的表征网络,得到用户在对应场景的表征向量。最后通过对比学习loss进行任务训练。假设一个用户的场景样本pair对得到向量表征后,对应的loss如下所示:
则一个batch内(batch_size=)的训练loss为:
item侧的建模思路和训练方式与user侧类似,在此不再赘述。需要强调的是,第一阶段的预训练任务刻画了场景之间的对比关系,并且整个任务是在无标签的样本集合上进行训练。通过这样的方式将全域样本的覆盖范围扩展到了无标签数据空间。
▐ 多场景召回: 全域和单场景样本联合微调训练
图8. SASS模型第二阶段微调任务和输出向量
第二阶段的微调任务是一个跟召回主任务对齐的双塔模型,如图8所示。其中第二阶段的核心网络模块与第一阶段保持一致并且会restore第一阶段模型的embedding layer和上层网络参数,从而实现两个阶段模型参数上的迁移。
微调任务的训练: 我们将用户有点击的内容作为正样本,然后在候选空间随机采样构造负样本,得到的三元组形式。因此是一个有监督的预训练任务,具体操作跟传统双塔召回模型比较类似,此处不再展开,重点介绍训练方式。
单条样本的user侧特征和item侧特征经过ML-SAT表征网络后可以得到场景对应的表征向量,在此基础上采用pairwise loss进行训练:
上述loss采用单场景自身样本,因此可以较好拟合场景自身分布。同时,我们抽取图user侧和item侧的ML-SAT网络中全场景共享网络(global shared network)最后一层输出,用来表征通过全域样本训练得到的表征结果 ,并将此输出作为辅助任务进行训练:
最终第二阶段的任务为单场景自身双塔召回任务和全域样本双塔召回任务的联合训练,训练loss表示为:
▐ 模型部署与在线预估
模型部署和预估则体现了我们规划的一个模型服务线上所有场景的目标。部署方式如图9所示。我们取第二阶段微调任务的模型,基于集团BE O2O检索架构进行线上部署,每个场景的数据将对应的单场景特有网络(scenario specific network)的输出用于线上预估(全场景共享网络的输出仅用于模型训练)。其中全量item侧候选集合通过item侧场景特有网络生成表征向量后进行索引构造;user侧向量在线预估后进行ANN检索返回top-k结果给后链路任务。
图9. SASS模型部署与在线预估
实验分析和线上效果
▐ 方法对比
我们在公开数据集和淘宝逛逛的生产数据集进行了效果的离线验证,对比了目前业界主流的多场景模型方案,评估效果如下表所示:
▐ 消融实验
同时对该模型进行了一系列的消融实验分析,重点分析解答以下几方面问题:
场景自适应gate相比其他迁移结构的效果?
item侧向量分场景表征和单一向量表征的效果?
场景对比的预训练任务相比其他预训练任务的效果?
scenario bias网络以及全域样本联合微调辅助任务等子结构对效果的影响?
▐ 线上效果
基于SASS模型的多场景全域表征召回模型目前已在淘宝逛逛的所有5个核心场景(视频双列流、视频全屏页、视频TAB、图文双列流、图文全屏页)完成了全量上线并在所有场景都取得不错收益,上线至今, 多场景全域表征召回模型一直作为各场景最主要的召回模型之一,从实际效果上实现了一个模型服务线上所有场景的目标。
模型的扩展与应用
回到“多场景全域表征的评估”章节对多场景全域表征的三个评估维度,从模型框架的迁移应用能力上看,我们期望多场景全域表征的模型框架不单能解决特定领域下特定目标的多场景建模问题,而是思考和探索这种多维度的信息迁移思路能够用于解决一大类"特征体系相似但数据分布存在差异"多领域分布的建模问题。因此,在完成多场景全域表征召回模型在主链路核心目标的推全和优化后,我们进一步的探索这一套框架在其他领域和目标上的扩展应用能力,思考是否能更深入的结合逛逛内容推荐的特点来解决其他业务问题。其中的核心思路是对"场景"的理解。接下来列举部分我们在逛逛场景下已经取得效果并且在持续探索的扩展应用。
▐ 短视频消费时长优化
短视频消费时长是内容化推荐场景的核心优化目标之一。传统的优化思路包括在排序模型中将时长作为单独目标进行建模,或者建模视频完播、视频下滑等子任务来提升最终时长; 在样本层面也常采用loss加权、采样策略调整等方式来根据消费时长刻画视频样本的重要性。其中一个难点在于如何在优化时长的同时解决视频本身长度带来的bias问题, 过去一年许多其他方案都实践过通过时长分段和预测时长分位点的方式来消除视频长度偏置。
图10. 多场景时长消偏和建模思路
我们结合多场景建模从另一个角度应对这个问题: 根据视频长度将样本划分为多个数据集合,将每个数据集视作一个场景(特征体系一致、信息重叠、分布不同),然后采用多场景全域表征框架进行建模。这样单个场景内视频时长偏置小,可以建模更细粒度的场景差异,同时由于是联合建模并且存在全域信息迁移,可以减弱由于数据划分造成的数据稀疏问题。此外,由于整个模型底层embedding是共享的,增加的参数量主要集中在上面的浅层网络,因此并不会带来太大的资源和性能开销。
▐ 商品域和内容域跨域建模
淘宝逛逛作为淘宝核心的内容分发场景之一,承担着串联起用户消费端和内容供给端的商品种草心智和内容社区心智的重要使命。从技术视角看,本质是在商品域和内容域两个数据领域建立信息关联和刻画差异。因此,如何将丰富的商品域信息迁移到内容域,一直是我们的核心工作思路之一。问题的难点在于,相比域逛逛域内的内容的多场景迁移,商品域和内容域之间在数据覆盖(用户覆盖、供给覆盖)、用户心智(商品消费心智 vs. 内容消遣心智)、特征体系(商品特征体系 vs. 内容特征体系)方面均存在巨大差异。结合多场景全域表征模型思路,我们从多场景迁移的角度分两步进行淘宝商品域和逛逛内容域跨域建模:
场景样本迁移
我们与淘宝首猜短视频团队合作,引入首猜短视频更偏导购心智的内容数据,并且通过逛逛可分发候选池过滤、逛逛推荐链路召回进粗排候选样本过滤等策略进行样本清洗和筛选。然后,我们将首猜短视频数据视作一个新的场景,引入到多场景全域表征模型中进行联合建模,来提升逛逛域内的表征效果。
商品信息和内容信息表征迁移
淘宝的视频内容有个重要特点: 很多内容会挂载商品,这为建立商品和内容关联提供了先天条件。针对商品和内容本身特征异构的难点,我们对原模型框架进行了进一步的升级,将用户特征和内容特征分成商品相关特征和内容相关特征,拆分开后单独建模。然后结合两种思路来实现跨域信息迁移: a. 商品和挂载商品进行多场景全域迁移表征,本质是商品自身相同体系的信息迁移,然后通过挂载关系关联内容,实现商品-商品-内容的关联;b. 同一个用户或者同一个内容,将它们的商品表征和内容表征通过对比学习辅助任务进行空间对齐,直接实现商品和内容的领域适应(domain adaption)。图10展示了内容侧的建模思路,用户侧结构与此类似。两种思路全部内嵌到多场景全域表征模型中进行端到端训练,从而实现商品域和内容域跨域建模。
图11. 商品和内容表征迁移和对比度量
此外, 我们也在规划和实践更直接的利用淘宝商品数据进行跨域建模的方案,目前已经完成通过引入用户全网商品行为序列并和内容行为序列跨行为建模的方式进行序列特征维度的迁移。而直接引入商品样本存在商品样本太大、联合训练成本高的难点问题,目前也有规划的方案在实践中,这也是3.3节提到的我们针对多场景全域表征学习第四阶段的优化重点,限于篇幅原因,本文暂不进一步展开。
内容冷启动问题
和商品不同,短视频内容投放存在时效性高、汰换速度快的特点。进一步的,淘宝内容推荐相比商品存在更加严重的冷启动问题和扩量的紧迫性,主要体现在:
样本更加稀疏: 淘宝内容的曝光量和渗透率,相比商品仍存在较大差距
创作者激励: 发布内容是否能快速起量将影响创作者的创作热情
时效性强: 类似节日这种相关的视频对分发和爆发的时效性要求更高
针对上述难点,我们将多场景全域表征模型应用到逛逛冷启助推链路,用于提升对新内容的推荐能力。具体地,我们将发布3天内的内容对应的样本单独抽出作为一个新场景,其他主场景不变,然后基于多场景全域表征模型进行训练实现老内容向新内容的信息迁移。线上采用此场景对应网络的输出进行召回。与只使用冷启链路的样本或者冷启+主链路样本直接混合训练的方式相比,多场景全域表征模型既实现了信息的共享和迁移,又缓解了模型被老内容主导的问题。
▐ 互动多目标与账号成长
淘宝逛逛既是内容分发场,同时也是创作者进行人设打造和达人发展的成长营。因此需要分账号层级、分转化目标进行建模和分发,其中不可避免地涉及到对特定层级对应内容或者基于特定互动目标(点头像、关注等)进行优化。因此,我们扩展多场景全域表征模型在互动多目标与账号成长目标上重点进行了以下两项应用:
优质账号内容成长扩量
根据逛逛创作者账号优质和潜力分层圈定优质且具有潜力的账号,将对应账号内容覆盖样本集合作为新场景,其他场景不变。然后基于多场景全域表征模型进行训练和线上召回,充分捕捉这批账号的分发特点。
账号人设与点头像关注
我们进一步引申对"场景"的理解。前面叙述的场景主要是基于产品形式或者业务标准进行定义和划分。更进一步地,我们是否可以把"多场景"和"多目标"进行结合,将特定目标对应的样本集合视作一个新场景,在此基础上进行多场景全域表征建模,从而提升特定目标(比如点头像、关注等互动目标)。当然,这一类比过于宽泛,毕竟多场景和多目标仍存在一些建模上的本质区别,但这种多场景的迁移思路是可以借鉴的。因此,我们针对互动多目标中的点头像率优化这一问题,将样本量较大的点击完播等样本集合和点头像样本集合视作不同场景,并通过和多场景全域表征框架相似但有适配调整的模型来提升点头像率,其他互动目标也可依照此思路进行建模。
图12. 淘宝逛逛基于场景迁移的点头像模型方案
总结与展望
我们结合逛逛推荐场景中的具体问题,从多场景全域表征的视角进行了一系列的探索与内容推荐场景的应用,从全域表征的范围、信息迁移方式以及模型框架的应用等维度展开我们的优化工作,取得了阶段性的优化经验和业务效果。然而,多场景全域表征是一个比较庞大的技术体系,而我们在工作中的具体实践也随着淘宝内容化推荐需求的扩展以及优化目标的深入,面临着更多的挑战。未来,我们的持续优化工作主要集中在以下方面:
纵向-技术深度的突破: 借助淘宝多样化的场景和丰富数据,不断提升多场景全域表征模型的基础能力。一方面,下一阶段重点从商品域和内容域的跨域表征方向探索,实现更大范围的全域表征;另一方面,继续强调信息迁移的精细化建模和可解释性,让模型建模和实际业务有跟紧密的联系。
横向-应用场景和应用目标的扩展: 通过基础模型的完善,以及在此框架基础上对实际业务问题的适配,让我们的方案能够更快速的完成未来新场景的接入和在其他互动等多目标问题上的扩展应用。
团队介绍
我们来自淘宝逛逛算法团队,逛逛是淘宝重要的内容化场景,团队优势有:
业务空间大、基础设施完善:场景海量反馈,在工程团队的支持下,算法工程师可以轻松上线大规模模型,分钟级更新,更加注重算法本身。
团队氛围好、研究与落地深度结合:团队不仅仅解决业务算法问题,还会紧跟学术领域进展。也欢迎有实习想法的同学加入,由资深师兄根据同学优势与兴趣定义好业务问题,辅导研究,给每位同学都有充分的成长空间。
人才需求:有机器学习、深度学习有一定理解,对内容分发和内容理解感兴趣,可以发邮件到邮箱mingyi.ff@alibaba-inc.com或者jinxin.hjx@alibaba-inc.com
¤ 拓展阅读 ¤
3DXR技术 | 终端技术 | 音视频技术
服务端技术 | 技术质量 | 数据算法