[发明专利]基于双层索引嵌入层的推荐模型分布式训练方法及GPU在审
申请号: | 202111284302.2 | 申请日: | 2021-11-01 |
公开(公告)号: | CN114021736A | 公开(公告)日: | 2022-02-08 |
发明(设计)人: | 陈全;白铠豪 | 申请(专利权)人: | 上海交通大学 |
主分类号: | G06N20/00 | 分类号: | G06N20/00;G06F9/48;G06F9/54;G06F9/52 |
代理公司: | 上海光华专利事务所(普通合伙) 31219 | 代理人: | 庞红芳 |
地址: | 200240 *** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 双层 索引 嵌入 推荐 模型 分布式 训练 方法 gpu | ||
本发明提供一种基于双层索引嵌入层的推荐模型分布式训练方法及GPU,所述方法包括:于服务器节点和计算节点对于嵌入层向量分别构造两层索引,其中,所述服务器节点内为静态索引,所述计算节点内为动态索引;在所述服务器节点引入采样器,根据采样数据制定分片策略;在所述计算节点引入乒乓缓冲区读取和写入嵌入层向量,并基于相邻迭代的输入预取所述嵌入层向量,形成数据预取流水线。本发明能够在确保模型预测性能不下降的前提下,提升了推荐模型训练的总吞吐量,增强了分布式训练的可扩展性,有效地支持大规模嵌入层推荐模型的训练。
技术领域
本发明涉及分布式计算和机器学习技术领域,特别是涉及一种基于双层索引嵌入层的推荐模型分布式训练方法及GPU。
背景技术
随着互联网的广泛普及,用户规模和信息量与日俱增,信息过载的问题愈发显著,推荐系统正是解决信息过载问题的方案之一。推荐系统通过分析用户的历史行为信息来引导用户发现自身的信息需求,为用户提供个性化的推荐服务,已经成为人们网络生活中重要的组成部分,是学术界和工业界广泛关注的研究方向。工业界推荐模型通常具有训练数据量巨大、模型复杂、时效性强等特点,分布式训练和计算硬件加速成为了解决大规模推荐模型的必要条件。然而,当前的机器学习系统存在以下问题:第一,当独热编码后的输入特征(例如用户ID、商品ID等)达到数亿维,基于嵌入层的推荐模型规模远超GPU显存大小,无法利用GPU加速嵌入层的计算;第二,嵌入层参数的;第三,嵌入层参数的访问模式相较于全连接层、卷积层等常见网络层是稀疏的,即少数的输入特征对应的嵌入层向量在每次训练迭代中被访问并更新,这一访问模式会导致通信的热点问题,影响训练吞吐。
目前主流的深度学习框架(TensorFlow,PyTorch,MXNet等)在进行分布式训练时并未使用GPU加速嵌入层计算,且未对嵌入层的冗余通信和稀疏的访问模式进行优化,导致了分布式场景下模型训练吞吐量低、可扩展性差等问题。
发明内容
鉴于以上所述现有技术的缺点,本发明的目的在于提供一种基于双层索引嵌入层的推荐模型分布式训练方法及GPU,用于解决现有集中分布式场景下模型训练吞吐量低、可扩展性差的技术问题。
为实现上述目的及其他相关目的,本发明提供一种基于双层索引嵌入层的推荐模型分布式训练方法,所述方法包括:于服务器节点和计算节点对于嵌入层向量分别构造两层索引,其中,所述服务器节点内为静态索引,所述计算节点内为动态索引;在所述服务器节点引入采样器,根据采样数据制定分片策略;在所述计算节点引入乒乓缓冲区读取和写入嵌入层向量,并基于相邻迭代的输入预取所述嵌入层向量,形成数据预取流水线。
于本发明的一实施例中,所述于服务器节点和计算节点对于嵌入层向量分别构造两层索引包括:通过参数服务器架构将完整的嵌入层初始化在服务器节点,并在服务器节点构造第一层索引用于嵌入层的参数同步更新;在计算节点内预分配与输入维度和计算节点内工作节点个数相关的显存空间,在每个迭代周期聚合各工作节点的输入动态构造第二层索引以支持嵌入层计算。
于本发明的一实施例中,还包括:基于索引结构的通信方式配置:所述在计算节点内先聚合各工作节点的输入,并初始化通信缓冲区代替工作节点与服务器节点通信。
于本发明的一实施例中,所述根据采样数据制定分片策略包括:采样器根据采样规则对训练集进行采样得到嵌入层的访问频率;再通过预先设定的阈值筛选出嵌入层热点参数,并通过热点位图记录热点参数;根据热点参数的访问频率,通过可更换的热点感知分片策略在各服务器节点再次将热点参数初始化,建立嵌入层索引到服务器节点的分片映射表;在训练时基于所述热点位图判断当前嵌入向量是否为热点参数,若是则根据所述分片映射表拉取和更新嵌入向量,并旁路原有映射。
于本发明的一实施例中,所述在所述计算节点引入乒乓缓冲区读取和写入嵌入层向量包括:根据预设的输入维度建立乒乓缓冲区,包含可读缓冲区和可写缓冲区;可读缓冲区服务于当前迭代的嵌入层计算,可写缓冲区基于下一迭代的输入写入对应的嵌入层向量。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海交通大学,未经上海交通大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111284302.2/2.html,转载请声明来源钻瓜专利网。