CN112114968A - 推荐方法、装置、电子设备及存储介质 - Google Patents
推荐方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN112114968A CN112114968A CN202010988965.1A CN202010988965A CN112114968A CN 112114968 A CN112114968 A CN 112114968A CN 202010988965 A CN202010988965 A CN 202010988965A CN 112114968 A CN112114968 A CN 112114968A
- Authority
- CN
- China
- Prior art keywords
- processing unit
- central processing
- cpu
- candidate
- recommendation
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 46
- 239000013598 vector Substances 0.000 claims abstract description 252
- 238000012545 processing Methods 0.000 claims abstract description 181
- 238000013136 deep learning model Methods 0.000 claims abstract description 45
- 230000015654 memory Effects 0.000 claims description 92
- 230000005540 biological transmission Effects 0.000 claims description 18
- HPTJABJPZMULFH-UHFFFAOYSA-N 12-[(Cyclohexylcarbamoyl)amino]dodecanoic acid Chemical compound OC(=O)CCCCCCCCCCCNC(=O)NC1CCCCC1 HPTJABJPZMULFH-UHFFFAOYSA-N 0.000 claims description 15
- 238000012549 training Methods 0.000 claims description 13
- 238000013135 deep learning Methods 0.000 claims description 5
- 238000013468 resource allocation Methods 0.000 abstract description 3
- 230000004044 response Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 238000004590 computer program Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 239000011159 matrix material Substances 0.000 description 3
- 230000006399 behavior Effects 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000007477 logistic regression Methods 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000003066 decision tree Methods 0.000 description 1
- 230000002950 deficient Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 239000012634 fragment Substances 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000010076 replication Effects 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000012384 transportation and delivery Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9535—Search customisation based on user profiles and personalisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
Abstract
本公开关于一种推荐方法、装置、电子设备及存储介质。所述推荐方法包括:中央处理器CPU响应于目标账户的推荐请求,确定目标账户对应的候选对象;获取候选对象对应的对象特征向量;将候选对象对应的对象特征向量和目标账户的账户特征向量发送至图形处理器GPU;GPU通过深度学习模型根据候选对象对应的对象特征向量和目标账户的账户特征向量确定候选对象的推荐分数;CPU根据候选对象的推荐分数对候选对象进行推荐。该方法一方面,通过将深度学习模型部署在GPU上,可以允许运行复杂的深度学习模型,从而可以提高推荐的准确性;另一方面,通过采用异构系统架构,不仅能最大化地提高推理效率,还可以根据处理需求提供弹性的资源分配。
Description
技术领域
本公开涉及互联网技术领域,尤其涉及一种推荐方法、装置、电子设备及存储介质。
背景技术
随着信息技术和互联网技术的发展,人们从信息匮乏时代步入了信息过载时代。在这种时代背景下,人们越来越难从大量的信息中找到自身感兴趣的信息。推荐系统的产生解决了这一难题。
对于大多数推荐系统来说,通常包括两个阶段:召回阶段和排序阶段。召回阶段主要职责是从海量的对象(例如音乐、网页、文献、视频等)里进行筛选,得到候选对象集合。排序阶段的主要职责是对候选对象集合中的对象进行排序。相关技术中,排序阶段主要采用基于CPU(Central Processing Unit,中央处理器)的深度学习推理系统。但是,由于候选对象的数目较多,且候选对象引入了大量的稀疏特征,如ID(Identity Document,身份标识号)类特征,因此推理系统需处理海量稀疏特征,从而需占用大量的CPU资源,导致基于CPU进行对象推荐存在效率低的问题。
发明内容
本公开提供一种推荐方法、装置、电子设备及存储介质,以至少解决相关技术中基于CPU进行对象推荐效率较低的问题。本公开的技术方案如下:
根据本公开实施例的第一方面,提供一种推荐方法,应用于由中央处理器CPU和图形处理器GPU组成的推荐系统中,包括:
中央处理器CPU响应于目标账户的推荐请求,确定目标账户对应的候选对象;
中央处理器CPU获取候选对象对应的对象特征向量;
中央处理器CPU将候选对象对应的对象特征向量和目标账户的账户特征向量发送至深度学习模型,深度学习模型预先部署在图形处理器GPU上;
图形处理器GPU通过深度学习模型获取候选对象对应的对象特征向量和目标账户的账户特征向量之间的相似度,将相似度作为候选对象的推荐分数;
中央处理器CPU根据候选对象的推荐分数对候选对象进行排序,得到排序后的候选对象,并对排序后的候选对象进行推荐。
在其中一个实施例中,中央处理器CPU获取候选对象对应的对象特征向量,包括:
中央处理器CPU根据候选对象,从对象特征索引数据中查询得到与候选对象对应的原始对象特征,原始对象特征包括稀疏特征和稠密特征;
中央处理器CPU根据稀疏特征和稠密特征,生成候选对象对应的对象特征向量。
在其中一个实施例中,中央处理器CPU根据稀疏特征和稠密特征,生成候选对象对应的对象特征向量,包括:
中央处理器CPU根据稀疏特征,从预先生成的嵌入向量表中查询得到与稀疏特征对应的嵌入特征向量;
中央处理器CPU将稠密特征和稀疏特征对应的嵌入特征向量进行拼接处理,生成候选对象对应的对象特征向量。
在其中一个实施例中,所述方法还包括:
中央处理器CPU从消息队列中获取压缩后的嵌入向量表的更新数据,嵌入向量表的更新数据是根据对象对应的原始对象特征对嵌入向量模型进行训练生成的;
中央处理器CPU根据压缩后的嵌入向量表的更新数据,对嵌入向量表进行增量更新。
在其中一个实施例中,所述方法还包括:
中央处理器CPU从消息队列中获取待更新对象以及与待更新对象对应的待更新原始对象特征;
中央处理器CPU根据待更新对象以及与待更新对象对应的待更新原始对象特征,对对象特征索引数据进行更新。
在其中一个实施例中,中央处理器CPU将候选对象对应的对象特征向量和目标账户的账户特征向量发送至深度学习模型,包括:
中央处理器CPU将对象特征向量和账户特征向量复制至预先分配的中央处理器CPU的页锁定内存中;
中央处理器CPU通过预先创建的多个统一计算设备架构CUDA流将对象特征向量和账户特征向量传输至图形处理器GPU。
在其中一个实施例中,中央处理器CPU将对象特征向量和账户特征向量复制至预先分配的中央处理器CPU的页锁定内存中,包括:
中央处理器CPU获取预先对页锁定内存进行内存分配形成的多个内存块;
中央处理器CPU将对象特征向量和账户特征向量复制至页锁定内存的内存块中。
在其中一个实施例中,中央处理器CPU将候选对象对应的对象特征向量和目标账户的账户特征向量发送至深度学习模型,包括:
中央处理器CPU根据候选对象的对象特征向量和目标账户的账户特征向量生成数据包;
中央处理器CPU将数据包发送至图形处理器GPU。
根据本公开实施例的第二方面,提供一种推荐装置,应用于中央处理器CPU和图形处理器GPU组成的推荐系统中,包括:
候选对象确定模块,运行于中央处理器CPU中,被配置为执行响应于目标账户的推荐请求,确定目标账户对应的候选对象;
特征向量获取模块,运行于中央处理器CPU中,被配置为执行获取候选对象对应的对象特征向量;
传输模块,运行于中央处理器CPU中,被配置为执行将候选对象对应的对象特征向量和目标账户的账户特征向量发送至深度学习模型,深度学习模型预先部署在图形处理器GPU上;
深度学习模块,运行于图形处理器GPU中,被配置为执行通过深度学习模型获取候选对象对应的对象特征向量和目标账户的账户特征向量之间的相似度,将相似度作为候选对象的推荐分数;
推荐模块,运行于中央处理器CPU中,被配置为执行根据候选对象的推荐分数对候选对象进行排序,得到排序后的候选对象,并对排序后的候选对象进行推荐。
在其中一个实施例中,特征向量获取模块,包括:
查询单元,运行于中央处理器CPU中,被配置为执行根据候选对象,从对象特征索引数据中查询得到与候选对象对应的原始对象特征,原始对象特征包括稀疏特征和稠密特征;
特征向量生成单元,运行于中央处理器CPU中,被配置为执行根据稀疏特征和稠密特征,生成候选对象对应的对象特征向量。
在其中一个实施例中,特征向量生成单元,包括:
嵌入向量查找单元,运行于中央处理器CPU中,被配置为执行根据稀疏特征,从预先生成的嵌入向量表中查询得到与稀疏特征对应的嵌入特征向量;
拼接单元,运行于中央处理器CPU中,被配置为执行将稠密特征和稀疏特征对应的嵌入特征向量进行拼接处理,生成候选对象对应的对象特征向量。
在其中一个实施例中,所述装置还包括:
更新数据获取模块,运行于中央处理器CPU中,被配置为执行从消息队列中获取压缩后的嵌入向量表的更新数据,嵌入向量表的更新数据是根据对象对应的原始对象特征对嵌入向量模型进行训练生成的;
增量更新模块,运行于中央处理器CPU中,被配置为执行根据压缩后的嵌入向量表的更新数据,对嵌入向量表进行增量更新。
在其中一个实施例中,所述装置还包括:
对象特征获取模块,运行于中央处理器CPU中,被配置为执行从消息队列中获取待更新对象以及与待更新对象对应的待更新原始对象特征;
更新模块,运行于中央处理器CPU中,被配置为执行根据待更新对象以及与待更新对象对应的待更新原始对象特征,对对象特征索引数据进行更新。
在其中一个实施例中,传输模块,包括:
复制单元,运行于中央处理器CPU中,被配置为执行将对象特征向量和账户特征向量复制至预先分配的中央处理器CPU的页锁定内存中;
传输单元,运行于中央处理器CPU中,被配置为执行通过预先创建的多个统一计算设备架构CUDA流将对象特征向量和账户特征向量传输至图形处理器GPU。
在其中一个实施例中,复制单元,运行于中央处理器CPU中,被配置为执行获取预先对页锁定内存进行分配形成的多个内存块;将对象特征向量和账户特征向量复制至页锁定内存的内存块中。
在其中一个实施例中,传输模块,运行于中央处理器CPU中,被配置为执行根据候选对象的对象特征向量和目标账户的账户特征向量生成数据包;将数据包发送至所述图形处理器GPU。
根据本公开实施例的第三方面,提供一种电子设备,包括:
处理器;用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令,以实现第一方面的任一项实施例中所述的推荐方法。
根据本公开实施例的第四方面,提供一种存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得所述电子设备能够执行第一方面的任一项实施例中所述的推荐方法。
根据本公开实施例的第五方面,提供一种计算机程序产品,所述程序产品包括计算机程序,所述计算机程序存储在可读存储介质中,设备的至少一个处理器从所述可读存储介质读取并执行所述计算机程序,使得设备执行第一方面的任一项实施例中所述的推荐方法。
本公开的实施例提供的技术方案至少带来以下有益效果:
当响应于目标账户的推荐请求,确定目标账户对应的候选对象后,通过CPU获取候选对象对应的对象特征向量;通过部署在GPU上的深度学习模型根据候选对象对应的对象特征向量和目标账户的账户特征向量确定候选对象的推荐分数;根据候选对象的推荐分数对候选对象进行推荐。第一方面,通过将深度学习模型部署在GPU上,可以允许运行复杂的深度学习模型,增多深度学习模型的连接层数,从而使得深度学习模型能够学习到的更多的信息,提高推荐的准确性;第二方面,通过采用异构系统架构,结合CPU和GPU的运行特点,可以最大化地提高推理效率并降低延迟;第三方面,还可以根据各个部分的运行需求提供弹性的资源分配,例如,根据运行需求相应的分配CPU和GPU服务器的数量,使得异构系统架构具有很好的弹性和可伸缩性。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。
图1是根据一示例性实施例示出的一种推荐方法的应用环境图。
图2是根据一示例性实施例示出的一种推荐方法的流程图。
图3是根据一示例性实施例示出的一种推荐方法的流程图。
图4是根据一示例性实施例示出的一种推荐装置的框图。
图5是根据一示例性实施例示出的一种电子设备的内部结构图。
具体实施方式
为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。
需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
本公开所提供的推荐方法,可以应用于如图1所示的应用环境中。其中,终端110通过网络与服务器120进行交互。终端110中安装有应用程序,该应用程序可以是视频类应用程序、即时通信类应用程序、购物类应用程序等。服务器120中配置有中央处理器CPU(Central Processing Unit,中央处理器)和图形处理器GPU(Graphics Processing Unit,图形处理器)。终端110接收到的目标账户的推荐请求后,向服务器120发送推荐请求。服务器120中的中央处理器CPU根据推荐请求,从全量对象或者指定的对象集合中确定目标账户对应的候选对象。中央处理器CPU获取候选对象对应的对象特征向量;将候选对象对应的对象特征向量和目标账户的账户特征向量发送至预先部署在图形处理器GPU上的深度学习模型。图形处理器GPU通过深度学习模型获取候选对象对应的对象特征向量和目标账户的账户特征向量之间的相似度,将相似度作为候选对象的推荐分数,并将所得到的推荐分数发送至中央处理器CPU。中央处理器CPU根据候选对象的推荐分数对候选对象进行排序,得到排序后的候选对象,并对排序后的候选对象进行推荐。其中,终端110可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,服务器120可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
图2是根据一示例性实施例示出的一种推荐方法的流程图,如图2所示,推荐方法应用于由中央处理器CPU和图形处理器GPU组成的推荐系统中,包括以下步骤。
在步骤S210中,中央处理器CPU响应于目标账户的推荐请求,确定目标账户对应的候选对象。
其中,目标账户是指待进行推荐对象的账户。推荐请求可以是在启动应用程序时触发、在用户点击指定控件时触发或者打开指定页面时触发等。候选对象是指待进行预测推荐分数的对象。对象可以是短视频、商品、新闻、文章、音乐等资源。候选对象可以通过预设的召回策略从全量对象或者指定的对象集合中筛选得到。
具体地,当客户端获取推荐请求后,将推荐请求发送至服务器。服务器中的中央处理器CPU响应于接收的推荐请求,通过预设的召回策略从全量对象或者指定的对象集合中筛选得到有限数量的候选对象。示例性地,可以采取多路召回策略,根据目标账户的账户相关信息进行兴趣标签匹配,兴趣实体匹配,协同过滤,地理位置匹配等操作,从全量对象或者指定的对象集合中筛选得到候选对象。目标账户的账户相关信息不限于是与目标账户对应的用户画像、历史行为数据等。
在步骤S220中,中央处理器CPU获取候选对象对应的对象特征向量。
其中,中央处理器CPU作为计算机系统的运算和控制核心,是信息处理、程序运行的最终执行单元。中央处理器CPU优点在于调度、管理、协调能力强,计算能力则位于其次。对象特征向量是指根据对象的对象相关信息进行处理得到的能够被深度学习模型处理的特征向量。对象相关信息不限于包含对象的标题、名称、类别、对象标识以及短期和长期统计类特征。具体地,在确定目标账户对应的候选对象后,中央处理器CPU可以获取候选对象对应的对象相关信息。通过MLP(Multilayer Perceptron,多层感知器)、one-hot编码(独热编码)、Embedding Lookup(嵌入向量查找)等方式对对象相关信息进行处理,得到候选对象对应的对象特征向量。
在步骤S230中,中央处理器CPU将候选对象对应的对象特征向量和目标账户的账户特征向量发送至深度学习模型,深度学习模型预先部署在图形处理器GPU上。
在步骤S240中,图形处理器GPU通过深度学习模型获取候选对象对应的对象特征向量和目标账户的账户特征向量之间的相似度,将相似度作为候选对象的推荐分数。
其中,图形处理器GPU又称显示核心、视觉处理器、显示芯片,是一种专门在个人电脑、工作站、游戏机和一些移动设备(如平板电脑、智能手机等)上做图像和图形相关运算工作的微处理器。图形处理器GPU提供了多核并行计算的基础结构,且核心数非常多,可以支撑大量数据的并行计算。并行计算与串行计算是相对的概念,它是一种一次可执行多个指令的算法,可以提高计算速度,以及通过扩大问题求解规模,解决大型而复杂的计算问题。推荐分数可以使用点击率CTR(Click-Through Rate)、转化率CVR(Conversion Rate)等表征。目标账户的账户特征向量可以根据目标账户的账户属性信息(例如账户年龄属性、账户标识、职业属性等),以及账户行为数据(例如观看视频时长、兴趣标签等),参照对象特征向量的生成方式生成。
具体地,中央处理器CPU获取候选对象的对象特征向量后,将候选对象的对象特征向量和目标账户的账户特征向量传输至图形处理器GPU。图形处理器GPU运行预先部署的深度学习模型,通过深度学习模型对候选对象的对象特征向量和目标账户的账户特征向量进行预测,得到候选对象的对象特征向量和目标账户的账户特征向量之间的相似度,并将所得到的相似度作为推荐分数。其中,深度学习模型可以依实际需求决定,例如,可以采用LR(Logistic Regression、逻辑回归模型)、GDBT(Gradient Boosting Decision Tree,梯度提升迭代决策树)、FM(Factorization Machine,因子分解机)等。
在步骤S250中,中央处理器CPU根据候选对象的推荐分数对候选对象进行排序,得到排序后的候选对象,并对排序后的候选对象进行推荐。
具体地,图形处理器GPU在获取候选对象对应的推荐分数后,将候选对象对应的推荐分数发送至中央处理器CPU,以使中央处理器CPU能够根据据推荐分数对候选对象进行排序,并将排序后的候选对象推荐至客户端。例如,可以根据推荐分数由高到低的方式对候选对象进行排序,进而将推荐分数较高的候选对象推荐至客户端。进一步地,由于候选对象的数量可能较多,达到千级以上,因此,中央处理器CPU在对候选对象排序后,可以根据候选对象的推荐分数对候选对象进行过滤,得到过滤后的候选对象。进而将过滤后的候选对象的相关信息推荐至客户端,使得用户可以通过客户端浏览到所推荐的对象。
上述推荐方法中,当响应于目标账户的推荐请求,确定目标账户对应的候选对象后,通过中央处理器CPU获取候选对象对应的对象特征向量;通过部署在图形处理器GPU上的深度学习模型根据候选对象对应的对象特征向量和目标账户的账户特征向量确定候选对象的推荐分数;根据候选对象的推荐分数对候选对象进行推荐。第一方面,通过将深度学习模型部署在GPU上,可以允许运行复杂的深度学习模型,增多深度学习模型的连接层数,从而使得深度学习模型能够学习到的更多的信息,提高推荐的准确性;第二方面,通过采用异构系统架构,结合CPU和GPU的运行特点,可以最大化地提高推理效率并降低延迟;第三方面,还可以根据各个部分的运行需求提供弹性的资源分配,例如,根据运行需求相应的分配CPU和GPU服务器的数量,使得异构系统架构具有很好的弹性和可伸缩性。
在一示例性实施例中,中央处理器CPU获取候选对象对应的对象特征向量,包括:中央处理器CPU根据候选对象,从对象特征索引数据中查询得到与候选对象对应的原始对象特征,原始对象特征包括稀疏特征和稠密特征;中央处理器CPU根据稀疏特征和稠密特征,生成候选对象对应的对象特征向量。
其中,对象特征索引数据中不限于包含对象标识和原始对象特征的对应关系。对象标识用于唯一性地区分对象,例如,可以是注册账号、设备标识等。原始对象特征可以根据对象的对象相关信息得到。原始对象特征包括稀疏特征和稠密特征。稀疏特征不限于是ID类特征,例如对象的标题、名称、类别以及对象标识等。稠密特征不限于是短期和长期统计类特征等。对象特征索引数据可以预先生成并保存在服务器中。为了减轻服务器的运行压力,对象特征索引数据可以在离线状态下生成。
具体地,在确定目标账户的候选对象后,中央处理器CPU根据候选对象的对象标识,从对象特征索引数据中查询与候选对象对应的原始对象特征。原始对象特征包括稀疏特征和稠密特征。进而对稀疏特征和稠密特征进行拼接处理,生成候选对象对应的对象特征向量。
本实施例中,通过预先生成对象特征索引数据,在确定目标账户对应的候选对象后,根据候选对象的对象标识从对象特征索引数据中查找得到候选对象对应的原始对象特征,可以提高对象特征向量的获取效率,从而减少推荐的延迟时间。
在一示例性实施例中,所述推荐方法还包括:中央处理器CPU从消息队列中获取待更新对象以及与待更新对象对应的待更新原始对象特征;中央处理器CPU根据待更新对象以及与待更新对象对应的待更新原始对象特征,对对象特征索引数据进行更新。
其中,待更新对象是指对象相关信息产生变更的对象。当对象的对象相关信息产生变更时,与对象对应的原始对象特征也随之改变,从而产生待更新原始对象特征。消息队列是在消息的传输过程中保存消息的容器。消息队列的主要目的是提供路由并保证消息的传递;若发送消息时接收者不可用,消息队列会保留消息,直到可以成功地传递它。消息队列可以采用ActiveMQ(Active Message Queue,一种开放源代码消息中间件),RabbitMQ(Rabbit Message Queue,一种实现了高级消息队列协议的开源消息中间件),Kafka(一种高吞吐量的分布式发布订阅消息系统),在此不做限定。
具体地,为了确保对象推荐的准确性和效率,在本实施例中,采用统一的消息通知机制将待更新对象以及与待更新对象对应的待更新原始对象特征通知至服务器。统一的消息通知机制采用消息队列实现。当存在待更新对象以及待更新对象对应的待更新原始对象产生时,可以将待更新对象以及待更新对象对应的待更新原始对象特征加入至消息队列,使得中央处理器CPU可以通过消息队列获取待更新对象以及与待更新对象对应的待更新原始对象特征。进而根据待更新对象以及与待更新对象对应的待更新原始对象特征,对对象特征索引数据进行更新。
本实施例中,一方面,通过采用消息队列更新待更新对象以及与待更新对象对应的待更新原始对象特征,可以削平高峰期的并发事务,减少服务器的响应所需时间,进而提高对象推荐的效率。另一方面,通过采用消息队列还可以降低系统耦合性,减少对系统的影响,从而提高系统的可扩展性。
在一示例性实施例中,中央处理器CPU根据稀疏特征和稠密特征,生成候选对象对应的对象特征向量,包括:中央处理器CPU根据稀疏特征,从预先生成的嵌入向量表中查询得到与稀疏特征对应的嵌入特征向量;中央处理器CPU将稠密特征和稀疏特征对应的嵌入特征向量进行拼接处理,生成候选对象对应的对象特征向量。
其中,嵌入向量表即Embedding Table,是指根据整个词典所有词的Embedding构成的矩阵。而Embedding(嵌入向量)是对嵌入向量模型进行训练得到的不同级别单元(如字、词、句子、篇章等)的特征向量。嵌入向量模型可以是Word2vec(word to vector,用来产生词向量的相关模型),GloVe(用来产生词向量的相关模型)等。
具体地,嵌入向量查找(Embedding Lookup)通常基于one-hot编码后的特征进行。在获取候选对象对应的稀疏特征后,中央处理器CPU对稀疏特征进行one-hot编码,得到对应的one hot向量。将稀疏特征的one hot向量和嵌入向量表(Embedding矩阵)相乘得到嵌入特征向量。进而中央处理器CPU对得到的嵌入特征向量和稠密特征进行拼接处理,生成候选对象对应的对象特征向量。本实施例中,通过将稀疏矩阵映射成Embedding向量,将离散变量转为连续向量表示,可以减少稀疏特征的空间维数,从而节省资源。
在一示例性实施例中,所述推荐方法还包括:中央处理器CPU从消息队列中获取压缩后的嵌入向量表的更新数据,嵌入向量表的更新数据是根据对象对应的原始对象特征对嵌入向量模型进行训练生成的;中央处理器CPU根据压缩后的嵌入向量表的更新数据,对嵌入向量表进行增量更新。
其中,增量更新是与完全更新相对的概念,是指在进行更新操作时,只更新需要改变的地方,不需要更新或者已经更新过的地方则不会重复更新。
具体地,嵌入向量表中的嵌入向量是对嵌入向量模型进行训练生成的。由于用户相关信息和对象相关信息是实时变化的数据,因此在模型训练过程中,可以实时根据用户相关信息和对象相关信息对嵌入向量模型进行训练,生成嵌入向量表的更新数据。然后,采用预先配置的压缩算法对嵌入向量表的更新数据进行压缩,生成压缩后的嵌入向量表的更新数据。将压缩后的嵌入向量表的更新数据加入至消息队列,使得中央处理器CPU可以从消息队列中获取压缩后的嵌入向量表的更新数据,进而对已保存的嵌入向量表进行增量更新。
本实施例中,通过对嵌入向量表进行实时增量更新,可以提高获取稀疏特征的嵌入特征向量的准确性;通过采用消息队列更新嵌入向量表,可以削平高峰期的并发事务,减少服务器的响应所需时间,进而提高推荐的效率且提高系统的可扩展性;通过将嵌入向量表的更新数据压缩后进行传输,可以节约网络传输带宽;通过对嵌入向量表进行增量更新,可以减少数据处理量,从而减轻系统运行压力。
在一示例性实施例中,中央处理器CPU将候选对象对应的对象特征向量和目标账户的账户特征向量发送至深度学习模型,包括:中央处理器CPU将对象特征向量和账户特征向量复制至预先分配的中央处理器CPU的页锁定内存中;中央处理器CPU通过预先创建的多个统一计算设备架构CUDA流将对象特征向量和账户特征向量传输至图形处理器GPU。
其中,中央处理器CPU的页锁定内存(CPU Page-Pinned Memory)是指在CPU上分配得到的固定内存或不可分页内存。操作系统不会对页锁定内存分页并交换到磁盘上,从而确保了页锁定内存始终驻留在物理内存中。相关技术中,当使用可分页内存进行复制时,复制操作将执行两遍,第一遍从可分页内存复制到临时的页锁定内存,第二遍从临时的页锁定内存复制到GPU上。因此,当在GPU和CPU间复制数据时,采用页锁定内存的性能将高于可分页内存的性能。CUDA流(Stream)是对应并发的概念,是一组顺序执行的操作。多个CUDA流是对应并行的概念,使用多个CUDA流可以并行执行数据复制和核函数运算等操作。
具体地,中央处理器CPU在得到候选对象的对象特征向量和目标账户的账户特征向量后,将候选对象的对象特征向量和目标账户的账户特征向量复制到预先分配的页锁定内存中。调用CUDA指令通过预先创建的多个CUDA流并行地将对象特征向量和目标账户的账户特征向量异步传输到预先分配的GPU内存。本实施例中,通过预先在CPU上分配页锁定内存,可以提高系统的性能;通过创建多个CUDA流并行地进行数据传输,可以减少执行时间,从而提高对象推荐的效率。
在一示例性实施例中,中央处理器CPU将对象特征向量和账户特征向量复制至预先分配的中央处理器CPU的页锁定内存中,包括:中央处理器CPU获取预先对中央处理器CPU的页锁定内存进行分配形成的多个内存块;中央处理器CPU将对象特征向量和账户特征向量复制至页锁定内存的内存块中。
具体地,内存块可以预先采用内存分配器将内存区按内存块(chunk)申请出来,然后使用向量(vector)保存这些内存块的首地址。具体地,在从中央处理器CPU中分配得到页锁定内存后,采用内存分配器对中央处理器CPU的页锁定内存进行分配,形成多个内存块。在得到候选对象的对象特征向量和目标账户的账户特征向量后,中央处理器CPU根据预先配置的内存分配策略将对象特征向量和账户特征向量复制至页锁定内存的内存块中。其中,内存分配策略可以是:若当前申请的内存块中剩余的内存大小满足对象特征向量和账户特征向量的分配需求时,直接使用剩余的内存,否则重新申请一块内存块;若当前申请的内存块中剩余的内存大小不满足对象特征向量和账户特征向量的分配需求,并且需要分配的内存比较大时,则单独申请一块独立的内存块;若当前申请的内存块中剩余的内存大小不够并且新的对象特征向量和账户特征向量的分配需求不大时,则另外申请一块内存块,并从中取出部分返回给调用者,剩余的内存供下次使用。
本实施例中,通过采用内存分配器管理CUDA和CPU的页锁定内存的分配,可以减少内存申请的次数,实现一次申请多次使用,从而提高内存分配的性能;另一方面,采用内存分配器还可以减少内存碎片,提高内存的使用率。
在一示例性实施例中,中央处理器CPU将候选对象对应的对象特征向量和目标账户的账户特征向量发送至深度学习模型,包括:根据候选对象的对象特征向量和目标账户的账户特征向量生成数据包;将数据包发送至图形处理器GPU。
具体地,由于推荐场景存在海量的稀疏特征,为了提高数据传输的效率,在数据传输之前,对候选对象的特征向量和目标账户的账户特征向量进行合并处理,生成数据包。然后,调用一次CUDA API(Application Programming Interface,应用程序接口)将数据包从CPU异步传输到GPU。本实施例中,通过对候选对象的特征向量和目标账户的账户特征向量进行合并处理,只需要调用一次CUDA API就能将候选对象的对象特征向量和目标账户的账户特征向量从CPU异步传输到GPU,可以提高数据传输效率,减少延迟。
图3是根据一示例性实施例示出的一种推荐方法的流程图,如图3所示,推荐方法应用于由中央处理器CPU和图形处理器GPU组成的推荐系统中,包括以下步骤。
在步骤S301中,中央处理器CPU响应于目标账户的推荐请求,确定目标账户对应的候选对象。其中,推荐请求可以是针对在线推荐而发起的请求。
在步骤S302中,中央处理器CPU根据候选对象的对象标识,从对象特征索引数据中查询得到与候选对象对应的原始对象特征,原始对象特征包括稀疏特征和稠密特征。
进一步地,中央处理器CPU可以从消息队列中获取待更新对象以及与待更新对象对应的待更新原始对象特征;根据待更新对象以及与待更新对象对应的待更新原始对象特征,对对象特征索引数据进行更新。
在步骤S303中,中央处理器CPU根据稀疏特征,从预先生成的嵌入向量表中查询得到与稀疏特征对应的嵌入特征向量。
在步骤S304中,中央处理器CPU将稠密特征和稀疏特征对应的嵌入特征向量进行拼接处理,生成候选对象对应的对象特征向量。
进一步地,为了提高推荐效率,中央处理器CPU还可以结合稀疏特征的属性优化Embedding查找效率,比如配置对于和目标账户相关的稀疏特征在每个请求只查找一次。
进一步地,由于在线训练过程中,嵌入向量模型会不断地学习新的数据,产生嵌入向量表的更新数据。因此,可以对嵌入向量表的更新数据进行压缩,并通过消息队列将压缩后的嵌入向量表的更新数据发送至服务器中,从而使中央处理器CPU可以对已保存的嵌入向量表进行增量更新。
进一步地,在模型在线训练的过程中,还可以生成新的模型参数。可以将训练得到的模型参数进行保存(称为保存模型检查点checkpoint),在下次模型训练时直接调用已保存的模型参数,从而减少提高模型训练效率。
在步骤S305中,中央处理器CPU对候选对象的对象特征向量和已获取的目标账户的账户特征向量进行合并处理,生成数据包。
在步骤S306中,中央处理器CPU获取预先对中央处理器CPU的页锁定内存进行分配形成的多个内存块。
在步骤S307中,中央处理器CPU将数据包复制至页锁定内存的内存块中。
在步骤S308中,中央处理器CPU通过预先创建的多个CUDA流将数据包传输至GPU内存中。
在步骤S309中,图形处理器GPU运行预先部署的深度学习模型。
在步骤S310中,图形处理器GPU通过深度学习模型计算候选对象的对象特征向量和目标账户的账户特征向量之间的相似度,将相似度作为候选对象的推荐分数。具体地,深度学习模型可以基于对象特征向量和账号特征向量进行前向计算,得到候选对象的推荐分数。前向计算不限于包括Embedding的交叉,批标准化(Batch Normalization)和全连接层等操作。
在步骤S311中,中央处理器CPU根据候选对象的推荐分数对候选对象进行排序,得到排序后的候选对象,并对排序后的候选对象进行推荐。具体地,将候选对象的推荐分数从图形处理器GPU异步拷贝到中央处理器CPU。通过中央处理器CPU根据候选对象的推荐分数对候选对象进行排序,并将排序后的候选对象推荐至目标账户对应的客户端。
应该理解的是,虽然图2-3的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2-3中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
图4是根据一示例性实施例示出的一种推荐装置400框图。参照图4,该装置应用于中央处理器CPU和图形处理器GPU组成的推荐系统中,包括候选对象确定模块401、特征向量获取模块402、传输模块403、深度学习模块404和推荐模块405。
候选对象确定模块401,运行于中央处理器CPU中,被配置为执行响应于目标账户的推荐请求,确定目标账户对应的候选对象;
特征向量获取模块402,运行于中央处理器CPU中,被配置为执行通过中央处理器CPU获取候选对象对应的对象特征向量;
传输模块403,运行于中央处理器CPU中,被配置为执行将候选对象对应的对象特征向量和目标账户的账户特征向量发送至深度学习模型,深度学习模型预先部署在图形处理器GPU上;
深度学习模块404,运行于图形处理器GPU中,被配置为执行通过深度学习模型获取候选对象对应的对象特征向量和目标账户的账户特征向量之间的相似度,将相似度作为候选对象的推荐分数;
推荐模块405,运行于中央处理器CPU中,被配置为执行根据候选对象的推荐分数对候选对象进行排序,得到排序后的候选对象,并对排序后的候选对象进行推荐。
在一示例性实施例中,特征向量获取模块402,包括:查询单元,运行于中央处理器CPU中,被配置为执行通过中央处理器CPU根据候选对象,从对象特征索引数据中查询得到与候选对象对应的原始对象特征,原始对象特征包括稀疏特征和稠密特征;特征向量生成单元,运行于中央处理器CPU中,被配置为执行根据稀疏特征和稠密特征,生成候选对象对应的对象特征向量。
在一示例性实施例中,特征向量生成单元,包括:嵌入向量查找单元,运行于中央处理器CPU中,被配置为执行通过中央处理器CPU根据稀疏特征,从预先生成的嵌入向量表中查询得到与稀疏特征对应的嵌入特征向量;拼接单元,运行于中央处理器CPU中,被配置为执行将稠密特征和稀疏特征对应的嵌入特征向量进行拼接处理,生成候选对象对应的对象特征向量。
在一示例性实施例中,所述装置400还包括:更新数据获取模块,运行于中央处理器CPU中,被配置为执行从消息队列中获取压缩后的嵌入向量表的更新数据,嵌入向量表的更新数据是根据对象对应的原始对象特征对嵌入向量模型进行训练生成的;增量更新模块,运行于中央处理器CPU中,被配置为执行根据压缩后的嵌入向量表的更新数据,对嵌入向量表进行增量更新。
在一示例性实施例中,所述装置400还包括:对象特征获取模块,运行于中央处理器CPU中,被配置为执行从消息队列中获取待更新对象以及与待更新对象对应的待更新原始对象特征;更新模块,运行于中央处理器CPU中,被配置为执行根据待更新对象以及与待更新对象对应的待更新原始对象特征,对对象特征索引数据进行更新。
在一示例性实施例中,传输模块403,包括:复制单元,运行于中央处理器CPU中,被配置为执行将对象特征向量和账户特征向量复制至预先分配的中央处理器CPU的页锁定内存中;传输单元,运行于中央处理器CPU中,被配置为执行通过预先创建的多个统一计算设备架构CUDA流将对象特征向量和账户特征向量传输至图形处理器GPU。
在一示例性实施例中,复制单元,运行于中央处理器CPU中,被配置为执行获取预先对中央处理器CPU的页锁定内存进行分配形成的多个内存块;将对象特征向量和账户特征向量复制至页锁定内存的内存块中。
在一示例性实施例中,传输模块403,运行于中央处理器CPU中,被配置为执行根据候选对象的对象特征向量和目标账户的账户特征向量生成数据包;将数据包发送至图形处理器GPU。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
图5是根据一示例性实施例示出的一种用于推荐方法的设500的框图。例如,设备500可以为一服务器。参照图5,设备500包括处理组件520,其进一步包括一个或多个中央处理器CPU和图形处理器GPU,以及由存储器522所代表的存储器资源,用于存储可由处理组件520的执行的指令,例如应用程序。存储器522中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件520被配置为执行指令,以执行上述推荐方法。
设备500还可以包括一个电源组件524被配置为执行设备500的电源管理,一个有线或无线网络接口526被配置为将设备500连接到网络,和一个输入输出(I/O)接口528。设备500可以操作基于存储在存储器522的操作系统,例如Windows Server,Mac OS X,Unix,Linux,FreeBSD或类似。
在示例性实施例中,还提供了一种包括指令的存储介质,例如包括指令的存储器522,上述指令可由设备500的处理器执行以完成上述方法。存储介质可以是非临时性计算机可读存储介质,例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
Claims (10)
1.一种推荐方法,其特征在于,应用于由中央处理器CPU和图形处理器GPU组成的推荐系统中,包括:
所述中央处理器CPU响应于目标账户的推荐请求,确定所述目标账户对应的候选对象;
所述中央处理器CPU获取所述候选对象对应的对象特征向量;
所述中央处理器CPU将所述候选对象对应的对象特征向量和所述目标账户的账户特征向量发送至深度学习模型,所述深度学习模型预先部署在图形处理器GPU上;
所述图形处理器GPU通过所述深度学习模型获取所述候选对象对应的对象特征向量和所述目标账户的账户特征向量之间的相似度,将所述相似度作为所述候选对象的推荐分数;
所述中央处理器CPU根据所述候选对象的推荐分数对所述候选对象进行排序,得到排序后的所述候选对象,并对排序后的所述候选对象进行推荐。
2.根据权利要求1所述的推荐方法,其特征在于,所述所述中央处理器CPU获取所述候选对象对应的对象特征向量,包括:
所述中央处理器CPU根据所述候选对象,从对象特征索引数据中查询得到与所述候选对象对应的原始对象特征,所述原始对象特征包括稀疏特征和稠密特征;
所述中央处理器CPU根据所述稀疏特征和所述稠密特征,生成所述候选对象对应的对象特征向量。
3.根据权利要求2所述的推荐方法,其特征在于,所述所述中央处理器CPU根据所述稀疏特征和所述稠密特征,生成所述候选对象对应的对象特征向量,包括:
所述中央处理器CPU根据所述稀疏特征,从预先生成的嵌入向量表中查询得到与所述稀疏特征对应的嵌入特征向量;
所述中央处理器CPU将所述稠密特征和所述稀疏特征对应的嵌入特征向量进行拼接处理,生成所述候选对象对应的对象特征向量。
4.根据权利要求3所述的推荐方法,其特征在于,所述方法还包括:
所述中央处理器CPU从消息队列中获取压缩后的嵌入向量表的更新数据,所述嵌入向量表的更新数据是根据对象对应的原始对象特征对嵌入向量模型进行训练生成的;
所述中央处理器CPU根据所述压缩后的嵌入向量表的更新数据,对所述嵌入向量表进行增量更新。
5.根据权利要求2所述的推荐方法,其特征在于,所述方法还包括:
所述中央处理器CPU从消息队列中获取待更新对象以及与所述待更新对象对应的待更新原始对象特征;
所述中央处理器CPU根据所述待更新对象以及与所述待更新对象对应的待更新原始对象特征,对所述对象特征索引数据进行更新。
6.根据权利要求1所述的推荐方法,其特征在于,所述中央处理器CPU将所述候选对象对应的对象特征向量和所述目标账户的账户特征向量发送至深度学习模型,包括:
所述中央处理器CPU将所述对象特征向量和所述账户特征向量复制至预先分配的所述中央处理器CPU的页锁定内存中;
所述中央处理器CPU通过预先创建的多个统一计算设备架构CUDA流将所述对象特征向量和所述账户特征向量传输至所述图形处理器GPU。
7.根据权利要求6所述的推荐方法,其特征在于,所述所述中央处理器CPU将所述对象特征向量和所述账户特征向量复制至预先分配的所述中央处理器CPU的页锁定内存中,包括:
所述中央处理器CPU获取预先对所述页锁定内存进行内存分配形成的多个内存块;
所述中央处理器CPU将所述对象特征向量和所述账户特征向量复制至所述页锁定内存的内存块中。
8.一种推荐装置,其特征在于,应用于中央处理器CPU和图形处理器GPU组成的推荐系统中,包括:
候选对象确定模块,运行于所述中央处理器CPU中,被配置为执行响应于目标账户的推荐请求,确定所述目标账户对应的候选对象;
特征向量获取模块,运行于所述中央处理器CPU中,被配置为执行获取所述候选对象对应的对象特征向量;
传输模块,运行于所述中央处理器CPU中,被配置为执行将所述候选对象对应的对象特征向量和所述目标账户的账户特征向量发送至深度学习模型,所述深度学习模型预先部署在图形处理器GPU上;
深度学习模块,运行于所述图形处理器GPU中,被配置为执行通过所述深度学习模型获取所述候选对象对应的对象特征向量和所述目标账户的账户特征向量之间的相似度,将所述相似度作为所述候选对象的推荐分数;
推荐模块,运行于所述中央处理器CPU中,被配置为执行根据所述候选对象的推荐分数对所述候选对象进行排序,得到排序后的所述候选对象,并对排序后的所述候选对象进行推荐。
9.一种电子设备,其特征在于,包括:
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令,以实现如权利要求1至7中任一项所述的推荐方法。
10.一种存储介质,其特征在于,当所述存储介质中的指令由电子设备的处理器执行时,使得所述电子设备能够执行如权利要求1至7中任一项所述的推荐方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010988965.1A CN112114968A (zh) | 2020-09-18 | 2020-09-18 | 推荐方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010988965.1A CN112114968A (zh) | 2020-09-18 | 2020-09-18 | 推荐方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112114968A true CN112114968A (zh) | 2020-12-22 |
Family
ID=73800715
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010988965.1A Pending CN112114968A (zh) | 2020-09-18 | 2020-09-18 | 推荐方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112114968A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114500642A (zh) * | 2022-02-25 | 2022-05-13 | 百度在线网络技术(北京)有限公司 | 模型应用方法、装置及电子设备 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170103133A1 (en) * | 2015-10-09 | 2017-04-13 | Alibaba Group Holding Limited | Recommendation method and device |
CN110162700A (zh) * | 2019-04-23 | 2019-08-23 | 腾讯科技(深圳)有限公司 | 信息推荐及模型的训练方法、装置、设备以及存储介质 |
CN110263243A (zh) * | 2019-01-23 | 2019-09-20 | 腾讯科技(深圳)有限公司 | 媒体信息推荐方法、装置、存储介质和计算机设备 |
CN110309427A (zh) * | 2018-05-31 | 2019-10-08 | 腾讯科技(深圳)有限公司 | 一种对象推荐方法、装置及存储介质 |
CN110704739A (zh) * | 2019-09-30 | 2020-01-17 | 汉海信息技术(上海)有限公司 | 资源推荐方法、装置及计算机存储介质 |
CN110969516A (zh) * | 2019-12-25 | 2020-04-07 | 清华大学 | 一种商品推荐方法及装置 |
CN111461812A (zh) * | 2020-02-28 | 2020-07-28 | 北京三快在线科技有限公司 | 对象推荐方法、装置、电子设备及可读存储介质 |
CN111639260A (zh) * | 2020-05-27 | 2020-09-08 | 北京达佳互联信息技术有限公司 | 内容推荐方法及其装置、存储介质 |
-
2020
- 2020-09-18 CN CN202010988965.1A patent/CN112114968A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170103133A1 (en) * | 2015-10-09 | 2017-04-13 | Alibaba Group Holding Limited | Recommendation method and device |
CN110309427A (zh) * | 2018-05-31 | 2019-10-08 | 腾讯科技(深圳)有限公司 | 一种对象推荐方法、装置及存储介质 |
CN110263243A (zh) * | 2019-01-23 | 2019-09-20 | 腾讯科技(深圳)有限公司 | 媒体信息推荐方法、装置、存储介质和计算机设备 |
CN110162700A (zh) * | 2019-04-23 | 2019-08-23 | 腾讯科技(深圳)有限公司 | 信息推荐及模型的训练方法、装置、设备以及存储介质 |
CN110704739A (zh) * | 2019-09-30 | 2020-01-17 | 汉海信息技术(上海)有限公司 | 资源推荐方法、装置及计算机存储介质 |
CN110969516A (zh) * | 2019-12-25 | 2020-04-07 | 清华大学 | 一种商品推荐方法及装置 |
CN111461812A (zh) * | 2020-02-28 | 2020-07-28 | 北京三快在线科技有限公司 | 对象推荐方法、装置、电子设备及可读存储介质 |
CN111639260A (zh) * | 2020-05-27 | 2020-09-08 | 北京达佳互联信息技术有限公司 | 内容推荐方法及其装置、存储介质 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114500642A (zh) * | 2022-02-25 | 2022-05-13 | 百度在线网络技术(北京)有限公司 | 模型应用方法、装置及电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110704739B (zh) | 资源推荐方法、装置及计算机存储介质 | |
WO2020258290A1 (zh) | 日志数据收集方法、日志数据收集装置、存储介质和日志数据收集系统 | |
CN111143686B (zh) | 资源推荐方法及装置 | |
CN112868004B (zh) | 资源推荐方法、装置、电子设备及存储介质 | |
US11645585B2 (en) | Method for approximate k-nearest-neighbor search on parallel hardware accelerators | |
US9269057B1 (en) | Using specialized workers to improve performance in machine learning | |
KR20210036226A (ko) | 복수의 엣지와 클라우드를 포함하는 분산 컴퓨팅 시스템 및 이의 적응적 지능 활용을 위한 분석 모델 제공 방법 | |
CN112364184B (zh) | 多媒体数据的排序方法、装置、服务器及存储介质 | |
CN112052950A (zh) | 神经网络训练方法、模型计算服务器及存储介质 | |
CN113641835B (zh) | 多媒体资源推荐方法、装置、电子设备及介质 | |
CN115329131A (zh) | 素材标签推荐方法、装置、电子设备及存储介质 | |
CN113590898A (zh) | 数据检索方法、装置、电子设备、存储介质及计算机产品 | |
CN112114968A (zh) | 推荐方法、装置、电子设备及存储介质 | |
US11436412B2 (en) | Predictive event searching utilizing a machine learning model trained using dynamically-generated event tags | |
CN114491093B (zh) | 多媒体资源推荐、对象表征网络的生成方法及装置 | |
Sivaramakrishnan et al. | Gpu-based collaborative filtering recommendation system using task parallelism approach | |
US11409821B1 (en) | Recommending content to subscribers | |
CN115202856A (zh) | 资源分配系统、方法、装置、计算机设备和存储介质 | |
CN113760497A (zh) | 一种调度任务配置方法和装置 | |
CN113535349A (zh) | 数据批量处理方法、装置和存储介质 | |
CN113705698B (zh) | 基于点击行为预测的信息推送方法及装置 | |
CN117519996B (zh) | 一种数据处理方法、装置、设备以及存储介质 | |
CN113326385B (zh) | 目标多媒体资源的获取方法、装置、电子设备和存储介质 | |
US20240155172A1 (en) | Systems and methods for determining viewing options for content based on scoring content dimensions | |
CN117011564A (zh) | 一种模型训练方法和相关装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |