[发明专利]一种基于异构计算的用户特征快速检索方法有效
| 申请号: | 202211416854.9 | 申请日: | 2022-11-14 |
| 公开(公告)号: | CN115455061B | 公开(公告)日: | 2023-04-18 |
| 发明(设计)人: | 张殷;唐琪;李国伟;王俊波;武利会;蒋维;刘益军;范心明;李新;董镝;宋安琪;王智娇;刘少辉;吴焯军;章涛;刘昊;梁年柏;刘崧;黄静;陈邦发 | 申请(专利权)人: | 广东电网有限责任公司佛山供电局 |
| 主分类号: | G06F16/2455 | 分类号: | G06F16/2455;G06F9/48;G06F16/245;G06F16/28;G06F18/23 |
| 代理公司: | 北京集佳知识产权代理有限公司 11227 | 代理人: | 任文生 |
| 地址: | 528000 广*** | 国省代码: | 广东;44 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 基于 计算 用户 特征 快速 检索 方法 | ||
1.一种基于异构计算的用户特征快速检索方法,其特征在于,包括以下步骤:
对待检索数据进行缓存,当缓存的待检索数据的数量或缓存时间达到预定的要求时,则将缓存的待检索数据转换成对应的特征向量;
获取检索库中的数据向量,将多个所述数据向量与特征向量分配至多个线程中,将每个线程分配得到的所述数据向量与特征向量加载至CPU缓存;
获取检索库中的数据向量,将多个所述数据向量与特征向量分配至多个线程中,将每个线程分配得到的所述数据向量与特征向量加载至CPU缓存的步骤具体包括:
获取检索库中的数据向量,根据预设的线程数量分别对所述数据向量与特征向量进行切片,并将切片结果分配至多个线程中,将每个线程分配得到的所述数据向量与特征向量加载至CPU三级缓存;
为每个线程分配一个堆,将所述数据向量与特征向量进行相似度检索,并根据所述数据向量的数量确定检索模式,其中,若数据向量的数量大于预设的数量时,则检索模式为使用GPU进行检索,若数据向量的数量不大于预设的数量时,则检索模式为使用CPU和GPU进行协同检索,并将检索的数据向量结果赋值到对应的线程的堆上;
赋值完成后,合并每个线程的堆,得到最终的检索结果;
还包括:
在线程创建过程中,通过下式计算特征向量的批处理大小为:
s =[L3 cache size – P/c * sizeof(float)] / [d * sizeof(float)]
式中,s表示批处理大小,L3 cache size为CPU三级缓存大小,sizeof(float)为float类型的数据占用的字节数,P为检索库中的数据向量的数量,c为预设的线程数,d为特征向量的维度;
通过计算特征向量的批处理大小,使得每个线程的特征向量与数据向量的容量与CPU缓存容量相适配。
2.根据权利要求1所述的基于异构计算的用户特征快速检索方法,其特征在于,对待检索数据进行缓存,当缓存的待检索数据的数量或缓存时间达到预定的要求时,则将缓存的待检索数据转换成对应的特征向量的步骤具体包括:
当收到检索请求时,依次对待检索数据进行缓存;
统计放入缓存中的待检索数据的数量,并开启定时器开始计时;
当定时器到达预设时长时,则停止将待检索数据放入缓存,将缓存的待检索数据转换成对应的特征向量;
或,当缓存中待检索数据的数量达到预设的数量阈值时,停止将待检索数据放入缓存,将缓存的待检索数据转换成对应的特征向量。
3.根据权利要求1所述的基于异构计算的用户特征快速检索方法,其特征在于,使用GPU进行检索的步骤具体包括:
将所述数据向量与特征向量传输到GPU内存中,通过GPU利用余弦相似度计算特征向量与所有数据向量的第一相似度,比较特征向量与所有数据向量的第一相似度的大小,按照第一相似度的大小对所有数据向量进行降序排列,提取前k个数据向量作为聚类中心;
通过GPU利用余弦相似度计算每个聚类中心与所有数据向量的第二相似度,按照第二相似度的大小对所有数据向量进行降序排列,取前v个数据向量作为相应的聚类中心的邻近数据向量;
通过GPU利用余弦相似度计算特征向量与所有邻近数据向量的第三相似度,比较特征向量与所有邻近数据向量的第三相似度的大小,获得第三相似度的大小最高的邻近数据向量作为检索的数据向量结果。
4.根据权利要求1所述的基于异构计算的用户特征快速检索方法,其特征在于,使用CPU和GPU进行协同检索的步骤具体包括:
将所述数据向量与特征向量传输到GPU内存中,通过GPU利用余弦相似度计算特征向量与所有数据向量的第一相似度,比较特征向量与所有数据向量的第一相似度的大小,按照第一相似度的大小对所有数据向量进行降序排列,提取前k个数据向量作为聚类中心;
将多个所述聚类中心返回至CPU,通过CPU利用余弦相似度计算每个聚类中心与所有数据向量的第二相似度,按照第二相似度的大小对所有数据向量进行降序排列,取前v个数据向量作为相应的聚类中心的邻近数据向量;
通过CPU利用余弦相似度计算特征向量与所有邻近数据向量的第三相似度,比较特征向量与所有邻近数据向量的第三相似度的大小,获得第三相似度的大小最高的邻近数据向量作为检索的数据向量结果。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于广东电网有限责任公司佛山供电局,未经广东电网有限责任公司佛山供电局许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202211416854.9/1.html,转载请声明来源钻瓜专利网。





