一种基于gpu的深度学习方法及系统的制作方法

文档序号:9471338阅读:427来源:国知局
一种基于gpu的深度学习方法及系统的制作方法
【技术领域】
[0001]本发明涉及高性能计算、深度学习技术及互联网领域,特别是涉及一种基于GPU的深度学习方法及系统。
【背景技术】
[0002]当今,深度学习是机器学习研究中的一个新的领域,其动机在于建立、模拟人脑进行分析学习的神经网络,它模仿人脑的机制来解释数据,例如图像,声音和文本。
[0003]2006年,加拿大多伦多大学教授、机器学习领域泰斗--Geoffrey Hinton和他的学生在顶尖学术刊物《科学》上发表了一篇文章,开启了深度学习在学术界和工业界的浪潮。自2006年以来,深度学习在学术界持续升温。斯坦福大学、纽约大学、加拿大蒙特利尔大学等成为研究深度学习的重镇。2010年,美国国防部DARPA计划首次资助深度学习项目,参与方有斯坦福大学、纽约大学和NEC美国研究院。支持深度学习的一个重要依据,就是脑神经系统的确具有丰富的层次结构。一个最著名的例子就是Hubel-Wiesel模型,由于揭示了视觉神经的机理而曾获得诺贝尔医学与生理学奖。
[0004]如今Google、微软、百度等知名的拥有大数据的高科技公司争相投入资源,占领深度学习的技术制高点,正是因为它们都看到了在大数据时代,更加复杂且更加强大的深度模型能深刻揭示海量数据里所承载的复杂而丰富的信息,并对未来或未知事件做更精准的预测。
[0005]目前,深度学习应用包括语音识别、图像识别、自然语言处理、搜索广告CTR预估等,在这些应用的计算量十分巨大,其需要大规模深度学习计算,然而,现有技术中,通常仅利用CPU来实现深度学习过程中的计算,计算耗时长、效率低。并且,现有的深度学习系统通常需要部署网络设备来实现联网,但是,部署网络设备很复杂且系统成本高。

【发明内容】

[0006]有鉴于此,本发明提供了一种基于GPU的深度学习方法及系统,以解决现有技术中计算耗时长效率低,系统部署复杂、成本高的问题。
[0007]为解决上述技术问题,本发明提供一种基于GPU的深度学习方法,应用于基于GPU的深度学习系统,所述系统为单机系统且所述系统包括CPU和至少一个所述GPU,该方法包括:
[0008]所述CPU传输待训练数据至每个所述GPU ;
[0009]每个所述GPU利用所述待训练数据,前向后向计算得到神经网络模型的权重信息,并将所述权重信息反馈至所述CPU ;
[0010]所述CPU依据所述权重信息更新所述神经网络模型,并将更新后的神经网络模型传输至每个所述GPU,循环执行上述步骤直至完成所述神经网络模型的深度学习过程。
[0011]上述方法中,优选的,所述CPU传输待学习数据至每个所述GPU,包括:
[0012]从SSD硬盘中并行读取所述待训练数据至内存;
[0013]将所述内存中的所述待训练数据传输至每个所述GPU。
[0014]上述方法中,优选的,所述CPU与每个所述GPU之间通过PCIE接口进行数据传输。
[0015]本发明还提供了一种基于GPU的深度学习系统,所述系统为单机系统,该系统包括:
[0016]CPU 和至少一个 GPU ;
[0017]其中,
[0018]所述CPU用于传输待训练数据至每个所述GPU,依据所述GPU反馈的权重信息更新神经网络模型,并将更新后的神经网络模型传输至每个所述GPU ;
[0019]每个所述GPU用于利用所述待训练数据,前向后向计算得到所述神经网络模型的权重信息,并将所述权重信息反馈至所述CPU ;循环执行上述步骤直至完成所述神经网络模型的深度学习过程。
[0020]上述系统中,优选的,还包括:
[0021]SSD硬盘和内存;
[0022]所述CPU从所述SSD硬盘中并行读取所述待训练数据至所述内存;将所述内存中的所述待训练数据传输至每个所述GPU。
[0023]上述系统中,优选的,还包括:
[0024]PCIE 接口 ;
[0025]所述CPU与每个所述GPU之间通过所述PCIE接口进行数据传输。
[0026]上述系统中,优选的,所述CPU的数量为两个,所述至少一个GPU包括八个GPU。
[0027]上述系统中,优选的,所述八个GPU具体为四块GPU卡,每块所述GPU卡包括2个GPU芯片。
[0028]以上本发明提供的一种基于GPU的深度学习方法采用了 CPU与多个GPU卡协同的高密度计算方式,具体地,由具有强大并行计算能力的GPU执行耗时的前向后向计算,其余的根据深度学习应用的算法特点的参数更新计算、数据读取和分发、神经网络模型更新计算则由CPU完成;从而加速了数据深度学习应用的处理时间,提升了计算效率。
[0029]以上本发明提供的一种基于GPU的深度学习系统为单机系统,不需要部署网络设备进行联网,具体地,采用了 CPU与多个GPU卡协同的部署方式,单机系统内插入多个GPU卡,硬件部署方便、成本低。
[0030]综上,本发明提供了一种单机多GPU并行的基于GPU的深度学习方法及系统,有效解决了现有技术中计算耗时长效率低,系统部署复杂、成本高的问题。
【附图说明】
[0031]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
[0032]图1为本发明实施例提供的一种基于GPU的深度学习方法的流程图;
[0033]图2为本发明实施例提供的基于图1的数据交互图;
[0034]图3为本发明实施例提供的一种硬件设计架构图;
[0035]图4为本发明实施例提供的一种软件设计架构图;
[0036]图5为本发明实施例提供的一种基于GPU的深度学习系统的结构框图示意图。
【具体实施方式】
[0037]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0038]本发明的核心是提供一种基于GPU的深度学习方法及系统,以解决现有技术中计算耗时长效率低,系统部署复杂、成本高的问题。
[0039]为了使本技术领域的人员更好地理解本发明方案,下面结合附图和【具体实施方式】对本发明作进一步的详细说明。
[0040]本发明以下技术方案以图片数据的深度学习为例进行说明,当然,这仅仅是举个例子,并不局限于图片数据,还可以是其它的比如语音数据、广告数据等等。
[0041]参考图1,图1示出了本发明实施例提供的一种基于GPU的深度学习方法的流程图,该方法承载于基于GPU的深度学习软件系统,该软件系统应用于基于GPU的深度学习系统(即硬件系统),系统为单机系统且系统包括CPU和至少一个GPU,具体可以包括如下步骤:
[0042]步骤S100、CPU传输待训练数据至每个GPU ;
[0043]本发明中,基于GPU的深度学习系统还可以包括SSD硬盘和内存,参考图2,ReadData:CPU从SSD硬盘中并行读取待训练数据至内存;Send Data:将内存中的待训练数据传输至每个GPU。
[0044]步骤S101、每个GPU利用待训练数据,前向后向计算得到神经网络模型的权重信息,并将权重信息反馈至CPU ;
[0045]图2中,Forward Backward:执行前向后向并行计算;
[0046]Transfer Weight:将计算得到的权重信息反馈至CPU。
[0047]步骤S102、CPU依据权重信息更新神经网络模型,并将更新后的神经网络模型传输至每个GPU,循环执行上述步骤直至完成神经网络模型的深度学习过程。
[0048]图2 中,Recive New Weight and Send New Net:接收 GPU 反馈的权重信息,并将更新后的神经网络模型传输至每个GPU ;
[0049]Compute Update Value and Net Update:依据权重信息更新神经网络模型;
[0050]Send/Recive New Net:传输/接收更新后的神经网络模型。
[0051]以上本发明提供的一种基于GPU的深度学习方法采用了 CPU与多个GPU卡协同的高密度计算方式,具体地,由具有强大并行计算能力的GPU执行耗时的前向后向计算,其余的根据深度学习应用的算法特点的参数更新计算、数据读取和分发、神经网络模型更新计算则由CPU完成;从而加速了数据深度学习应用的处理时间,提升了计算效率。
[0052]基于上述本发明实施例所公开的技术方案,本发
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1