CN109739514A - 参数处理方法及相关产品 - Google Patents
参数处理方法及相关产品 Download PDFInfo
- Publication number
- CN109739514A CN109739514A CN201811570061.6A CN201811570061A CN109739514A CN 109739514 A CN109739514 A CN 109739514A CN 201811570061 A CN201811570061 A CN 201811570061A CN 109739514 A CN109739514 A CN 109739514A
- Authority
- CN
- China
- Prior art keywords
- parameter
- deep learning
- container
- learning frame
- module
- 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.)
- Granted
Links
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Stored Programmes (AREA)
Abstract
本公开提供一种参数处理方法及相关产品,应用于人工智能芯片,人工智能芯片中部署了上层语言接口和深度学习框架,深度学习框架中包括容器,容器是用于存放参数的类或结构体,与上层语言接口连接,其中方法包括:上层语言接口将第一参数写入容器中;深度学习框架从容器中获取第一参数,将第一参数与深度学习框架的模块数据进行交互,获得第二参数,并将第二参数传递到容器中;上层语言接口从容器中获取第二参数。本申请实施例通通过向容器中写入第一参数,提升了深度学习框架中的并行运算效果,通过统计并获取第二参数,提升了并行运算性能的可监测性。
Description
技术领域
本公开涉及人工智能领域,具体涉及一种参数处理方法及相关产品。
背景技术
随着人工智能行业的发展,越来越多的深度学习框架被大家再开发和使用。而在深度学习框架配套人工智能芯片开发使用过程中,通常需要用户对框架设定一些参数来达到更好的计算效果,或者获得框架中的一些参数来监测框架的运行状态。
目前深度学习框架没有针对人工智能芯片相关的参数设定机制和方式,导致用户无法针对人工智能芯片进行参数设定或芯片运行相关数据的获取。如何对这一现状进行改进成了亟待解决的问题。
公开内容
有鉴于此,本公开的目的在于提供一种参数处理方法及相关产品,通过新增容器,然后将用于描述深度学习框架并行程度的第一参数写入容器中,再将容器中的第一参数与深度学习框架其他模块结合获得用于监测并行运算性能的第二参数,提升了深度学习框架的计算效果,同时增加了并行运算性能的可监测性。
为了解决上述技术问题,本发明实施例第一方面提供了一种参数处理方法,应用于人工智能芯片,
所述人工智能芯片中部署了上层语言接口和深度学习框架,所述深度学习框架中包括容器,所述容器与所述上层语言接口连接,所述方法包括:
所述上层语言接口将第一参数注入所述容器中,其中所述第一参数用于描述所述深度学习框架的并行程度;
所述深度学习框架从所述容器中获取所述第一参数,并将所述第一参数与所述深度学习框架的模块数据进行交互,获得第二参数,并将所述第二参数传递到所述容器中,所述第二参数用于监测所述第一参数描述的深度学习框架的并行运算性能,所述容器是用于存放参数的类或结构体;
所述上层语言接口从所述容器中获取第二参数。
可选情况下,在所述上层语言接口将第一参数写入容器中之前,所述方法还包括:
所述容器中包括参数数据字段,所述参数数据字段用于指向第一参数和第二参数。
可选情况下,所述第一参数包括数据并行度和模型并行度。
可选情况下,所述第二参数包括通道消失时间和通道消失时间总和。
可选情况下,所述将所述第一参数与所述深度学习框架的模块数据进行交互,获得第二参数,包括:
将所述数据并行度传递到深度学习框架的模块进行数据交互,获得所述数据并行度对应的通道消失时间(CET)和通道消失时间总和(CETS),所述CETS和所述CET用于统计算子的计算时间;
将所述模型并行度传递到深度学习框架的模块进行数据交互,获得所述数据并行度对应的CET和CETS。
可选情况下,所述深度学习框架为MXNet深度学习框架。
可选情况下,所述深度学习框架还包括载体,所述方法还包括:
通过所述载体进行所述容器与所述深度学习框架的模块之间的参数传递交互,所述参数包括第一参数和第二参数。
可选情况下,所述人工智能芯片还包括底层库模块,所述方法还包括:
通过所述载体进行所述容器与所述底层库模块之间的参数传递交互,所述参数包括第一参数和第二参数。
可选情况下,所述容器包括所述深度学习框架中的原生类或结构体,或者针对所述人工智能芯片在所述深度学习框架中独立创建的类或结构体。
本发明实施例第二方面提供了一种参数处理装置,应用于人工智能芯片,所述人工智能芯片中部署了上层语言接口和深度学习框架,所述深度学习框架中包括容器,所述容器与所述上层语言接口连接,所述装置包括:
写入模块,用于通过所述上层语言接口将第一参数写入容器中,其中所述第一参数用于描述所述深度学习框架的并行程度;
计算模块,用于通过所述深度学习框架从所述容器中获取所述第一参数,并将所述第一参数与所述深度学习框架的模块的数据进行交互,获得第二参数,并将所述第二参数传递到所述容器中,所述第二参数用于监测并行运算的性能,所述容器为用于存放参数的类或结构体;
获取模块,用于通过所述上层语言接口从所述容器中获取第二参数。
本发明实施例第三方面提供了一种芯片,包括第二方面提供的参数处理装置。
本发明实施例第四方面提供了一种芯片封装结构,该封装结构包括上述第三方面所述的芯片;
本发明实施例第五方面提供了一种板卡,该板卡包括上述第四方面所述的芯片封装结构。
第六方面,本申请实施例提供了一种电子装置,该电子装置包括上述第四方面所述的芯片封装结构或者上述第五方面所述的板卡。
本发明实施例第七方面提供了一种存储介质,用于存储用于电子数据交换的计算机程序,其中,所述计算机程序使得计算机执行第一方面任一方法所述的步骤的指令。
可以看出,本申请实施例公开的参数处理方法,在人工智能芯片中部署了上层语言接口和深度学习框架,深度学习框架中包括容器,容器与上层语言接口连接,首先上层语言接口将第一参数写入容器中,然后深度学习框架从容器中获取第一参数,结合第一参数和深度学习框架的模块参数获得第二参数,并将第二参数传递到容器中,最后上层语言接口从容器中获取第二参数并提供给用户。因为第一参数用于描述深度学习框架的并行程度,第二参数用于监测并行运算的性能,因此这个过程通过向容器中写入第一参数,提升了深度学习框架中的并行运算效果,通过统计并获取第二参数,提升了并行运算性能的可监测性。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1A为本申请实施例提供的一种人工智能芯片。
图1B是本申请实施例提供的一种参数处理方法流程示意图。
图2是本申请实施例提供的另一种参数处理方法流程示意图。
图3是本申请实施例提供的另一种参数处理方法流程示意图。
图4是本申请实施例提供的一种参数处理装置。
图5是本申请实施例提供的一种组合处理装置的示意图。
图6是本申请实施例提供的另一种组合处理装置的结构图。
图7是本申请实施例提供的一种板卡的结构示意图。
具体实施方式
为使本公开的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本公开作进一步的详细说明。
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
请参阅图1A,图1A为本申请实施例提供的一种人工智能芯片,如图1A所示,人工智能芯片10包括上层语言接口101和深度学习框架100,上层语言接口用于接入编程语言,深度学习框架中包括容器和其他深度学习框架的模块,容器能够与深度学习框架的模块进行数据交互,深度学习框架的模块包括有graph executor模块、各个算子模块以及engine模块等。可选的,上层语言接口101也可以部署在其他芯片或装置上,其他芯片或装置与人工智能芯片连接,两者之间也能进行信息交互。另外,人工智能芯片10也可以包括底层库模块102,底层库模块包括底层运行时库和驱动模块等。深度学习框架100中还包括载体,用于进行容器与深度学习框架其他模块或者底层库模块之间的数据传递。
请参阅图1B,图1B是申请实施例公开的一种参数处理方法流程示意图,本参数处理方法应用于如图1A所示的人工智能芯片,如图1B所示,本方法具体包括如下步骤:
111、所述上层语言接口将第一参数写入容器中,其中所述第一参数用于描述所述深度学习框架的并行程度。
深度学习框架是用于进行深度学习项目的代码框架,目前流行的深度学习框架包括Tensorflow、Caffe、Theano、MXNet、Torch和PyTorch等。接口是***中两个独立的部件进行信息交换的共享边界。上层语言与深度学习框架是两个独立部件,因此它们之间存在接口,用于进行信息交互。上层语言例如Python,R语言等,都能够用于深度学习中,常规情况下,上层语言接口与深度学习框架直接连接。但是,这个接口中缺少相关的参数设定机制,使得用户无法对人工智能芯片进行参设设定和参数获取,因此,在上层语言接口的下层新增容器,用于进行参数设定和相关数据的获取。对于在容器中进行参数设定和参数获取的参数数据字段,可以在容器中新增,也可以在其他模块新增,然后指定参数设定和参数获取的位置为容器位置。
容器是用于存放数据的类或结构体,属于深度学习框架中的一个模块。深度学习框架中的容器可以是深度学习框架中的原生类或结构体,然后在该类或结构体中新增用于进行参数设定和参数获取的字段,例如graphexecutor类。或者,深度学习框架中的容器也可以是用户为人工智能芯片中的参数处理方法独立创建的类或结构,例如mludevice设备类,单独用于进行参数设定和参数获取的字段。
可选的,该方法还包括:所述容器中包括参数数据字段,所述参数数据字段用于指向第一参数和第二参数。
具体地,在容器中创建参数数据字段之前,整个人工智能芯片中没有关于第一参数和第二参数的数据字段,因此也就无法进行第一参数的设定和第二参数的获取。在容器中创建涉及第一参数和第二参数的参数数据字段,用于指示第一参数和第二参数的获取方式、与其他模块或接口的交互方式,以及数据存储位置等,也便于对第一参数和第二参数进行管理。另外,也可以在别的位置创建参数数据字段,但是通过容器进行数据存储。
可选的,第一参数包括数据并行度和模型并行度。
可选的,该实施例中的深度学习框架为MXNet深度学习框架。
数据并行(data parallelism,DP)是指不同内核或处理单元对数据进行并行处理,数据并行度是指对数据进行并行处理时,并行执行的最大数目;模型并行(ModelParallelism,MP)是指一个算子或模型在多个内核上进行并行处理,模型并行度是指对模型或算子进行并行处理时,并行执行的最大数目。当MXNet深度学习框架在人工智能芯片上运行时,运算量庞大,为了减少运算时间,提高运算效率,需要采用DP或MP,或者同时采用两种并行运算。而为了达到更好的运算效果,需要对数据并行度和模型并行度进行设置,一方面要使设置的并行度参数能够与人工智能芯片的硬件基础想匹配,另一方面,当输入数据的规模、稀疏度或者其他特征不同时,也需要设置不同的并行度参数。将设定的数据并行度和/或模型并行度通过编程语言写入,然后通过上层语言接口注入容器中,即完成第一参数的设定。
MXNet是一个深度学习框架,支持C++,Python,R,Scala,Julia,Matlab以及JavaScript等语言,支持命令和符号编程,可以运行在包括人工智能芯片的任何硬件上,是目前最优秀的深度学习框架之一。因此采用MXNet深度学习框架能够很好地与本申请实施例的方法相结合,完成第一参数的设置和第二参数的获取。
112、所述深度学习框架从所述容器中获取所述第一参数,将所述第一参数与所述深度学习框架的模块数据进行交互,获得第二参数,并将所述第二参数传递到所述容器中,所述第二参数用于监测所述第一参数描述的深度学习框架的并行运算的性能。
第一参数设定完成并注入容器中后,深度学习框架的模块从容器中获取第一参数,深度学习框架的模块包括graph executor模块、各个算子模块以及engine模块等。例如各个算子模块如果需要进行并行运算,则需要获取第一参数,然后根据第一参数结合算子模块中的其他参数,例如数据尺寸等,即可获得第二参数,第二参数是用于监测并行运算性能的参数,获得的第二参数需要传回容器中。
可选的,第二参数包括通道消失时间和通道消失时间总和。
可选的,将第一参数与深度学习框架的模块数据进行交互,获得第二参数,包括:将数据并行度传递到深度学习框架的模块进行数据交互,获得数据并行度对应的通道消失时间(CET)和通道消失时间总和(CETS);将模型并行度传递到深度学习框架的模块进行数据交互,获得数据并行度对应的CET和CETS,其中CETS和CET用于统计算子的计算时间。
具体地,在深度学习框架采用DP或MP时,都有多个并行通道,通道消失时间(Channel Elapsed Time,CET)和通道消失时间总和(Channel Elapsed Time Sum,CETS),都是用来描述多个并行通道进行并行运算的性能参数,用于统计算子的计算时间。将根据第一参数和深度学习框架的模块获得的单个模块或者整个深度学习框架的第二参数传递到容器中,即完成第二参数的获取。
113、所述上层语言接口从所述容器中获取第二参数。
上层语言接口与容器能够从容器中获取第二参数并进行暴露,那么第二参数对于用户来说是可见的,用户可以通过第二参数监测深度学习框架的运算性能,进而可以通过修改第一参数或其他参数对第二参数进行调整或改进,提升深度学习框架的运算效果。
可选的,深度学习框架还包括载体,该方法还包括:容器与深度学习框架的模块通过载体进行数据传递交互。
载体是深度学习框架中用来进行数据传递交互的类或结构体,容器与深度学习的其他模块没有直接关联,即可通过载体进行数据传递。例如MXNet框架中的载体可以是算子的上下文类OpContext,容器在注入第一参数后,可以将第一参数赋值给载体,载体再将第一参数传递给深度学习框架的模块。同样的,第二参数也可以由载体从深度学习框架的模块传递到容器。
可选的,人工智能芯片还包括底层库模块,该方法还包括:通过所述载体进行所述容器与所述底层库模块之间的参数传递交互,所述参数包括第一参数和第二参数。
具体地,底层库模块包括底层运行时库和驱动模块等,这些底层库的参数也可能影响到深度学习框架的并行性能或其他性能,因此容器也可以通过载体与底层库模块进行数据交互,以便获取并行运算性能参数或其他性能参数。
可见,在本申请实施例中,人工智能芯片中部署了上层语言接口和深度学习框架,深度学习框架中包括容器,容器与上层语言接口连接,首先上层语言接口将第一参数写入容器中,然后深度学习框架从容器中获取第一参数,结合第一参数和深度学习框架的模块参数获得第二参数,并将第二参数传递到容器中,最后上层语言接口从容器中获取第二参数并提供给用户。因为第一参数用于描述深度学习框架的并行程度,第二参数用于监测并行运算的性能,因此这个过程通过向容器中写入第一参数,提升了深度学习框架中的并行运算效果,通过统计并获取第二参数,提升了并行运算性能的可监测性。
与上述一致的,请参阅图2,图2是本申请实施例提供的另一种参数处理方法流程示意图,如图2所示,所述参数处理方法包括:
201、在容器中创建人工智能芯片相关的参数数据字段,所述参数数据字段涉及第一参数和第二参数;
202、上层语言接口将所述第一参数注入所述容器中,其中所述第一参数用于描述所述深度学习框架的并行程度;
203、所述深度学习框架还包括载体,所述深度学习框架从所述容器中获取所述第一参数,通过所述载体将所述第一参数与深度学习框架的模块数据进行交互,获得第二参数;
204、所述深度学习框架通过所述载体将所述第二参数传递到所述容器中,所述第二参数用于监测并行运算的性能;
205、人工智能芯片还包括底层库模块,所述容器与所述底层库模块通过所述载体进行参数的传递交互,所述参数包括第一参数和第二参数。
其中,上述步骤201-步骤205的具体描述可以参照步骤101-103所描述的参数处理方法的相应描述,在此不再赘述。
可见本申请实施例中,通过在深度学习框架中新增容器,然后通过载体进行深度学习框架和容器之间的参数交互,以及底层库模块与容器之间的参数交互,因为第一参数用于描述深度学习框架的并行程度,第二参数用于监测并行运算的性能,因此这个过程通过向容器中写入第一参数,提升了深度学习框架中的并行运算效果,通过统计并获取第二参数,提升了并行运算性能的可监测性。
与上述一致的,请参阅图3,图3是本申请实施例提供的另一种参数处理方法流程示意图,如图3所示,所述参数处理方法包括:
301、设定数据并行度,所述数据并行度用于描述不同内核处理数据的不同部分时,并行执行的最大数目;
302、设定模型并行度,所述模型并行度用于描述一个算子或模型在多个内核上进行运算时,并行执行的最大数目;
303、通过所述上层语言接口将所述数据并行度和/或所述模型并行度注入所述容器中;
304、将所述数据并行度传递到深度学习框架的模块进行数据交互,获得所述数据并行度对应的CET和CETS,所述CETS和所述CET用于统计算子的计算时间;
305、将所述模型并行度传递到深度学习框架的模块进行数据交互,获得所述数据并行度对应的CET和CETS;
306、将所述数据并行度和/或所述模型并行度对应的CETS和CET传递到所述容器中;
307、所述上层语言接口从所述容器中获取所述数据并行度和/或所述模型并行度对应的CETS和CET。
其中,上述步骤301-步骤307的具体描述可以参照步骤101-103所描述的参数处理方法的相应描述,在此不再赘述。
可见本申请实施例中,通过在深度学习框架中新增容器,然后通过载体进行深度学习框架和容器之间的参数交互,以及底层库模块与容器之间的参数交互,通过设置数据并行度和/或所述模型并行度,提升了深度学习框架中的并行运算效果,通过统计并获取第二参数,通过获取CETS和CET提升了并行运算性能的可监测性。
请参阅图4,图4为本申请实施例提供的一种参数处理装置,应用于如图1A所示的人工智能芯片,如图4所示,本参数处理装置400包括:
写入模块401,用于通过所述上层语言接口将第一参数写入容器中,其中所述第一参数用于描述所述深度学习框架的并行程度;
计算模块402,用于通过所述深度学习框架从所述容器中获取所述第一参数,将所述第一参数与所述深度学习框架的模块的数据进行交互,获得第二参数,并将所述第二参数传递到所述容器中,所述第二参数用于监测并行运算的性能;
获取模块403,用于通过所述上层语言接口从所述容器中获取第二参数。
其中,上述参数处理装置的具体描述可以参照步骤101-103所描述的参数处理方法的相应描述,在此不再赘述。
可见,本申请实施例中的参数处理装置,首先上层语言接口将第一参数写入容器中,然后深度学习框架从容器中获取第一参数,结合第一参数和深度学习框架的模块参数获得第二参数,并将第二参数传递到容器中,最后上层语言接口从容器中获取第二参数并提供给用户。因为第一参数用于描述深度学习框架的并行程度,第二参数用于监测并行运算的性能,因此这个过程通过向容器中写入第一参数,提升了深度学习框架中的并行运算效果,通过统计并获取第二参数,提升了并行运算性能的可监测性。
在一种可选的实施例中,所述写入模块还用于:
在所述容器中包括参数数据字段,所述参数数据字段用于指向第一参数和第二参数。
在一种可选的实施例中,所述第一参数包括数据并行度和模型并行度。
在一种可选的实施例中,所述第二参数为通道消失时间和通道消失时间总和。
在一种可选的实施例中,所述计算模块具体用于:
将所述数据并行度传递到深度学习框架的模块进行数据交互,获得所述数据并行度对应的通道消失时间(CET)和通道消失时间总和(CETS),所述CETS和所述CET用于统计算子的计算时间;
将所述模型并行度传递到深度学习框架的模块进行数据交互,获得所述数据并行度对应的CET和CETS。
在一种可选的实施例中,所述深度学习框架为MXNet深度学习框架。
在一种可选的实施例中,所述深度学习框架还包括载体,所述计算模块还用于:
通过所述载体进行所述容器与所述深度学习框架的模块之间的参数传递交互,所述参数包括第一参数和第二参数。
在一种可选的实施例中,所述人工智能芯片还包括底层库模块,所述计算模块还用于:
通过所述载体进行所述容器与所述底层库模块之间的参数传递交互,所述参数包括第一参数和第二参数。
在一种可选的实施例中,所述容器包括所述深度学习框架中的原生类或结构体,或者针对所述人工智能芯片在所述深度学习框架中独立创建的类或结构体。
本申请还揭露了一个组合处理装置,其包括上述的参数处理装置,通用互联接口,和其他处理装置。参数处理装置与其他处理装置进行交互,共同完成用户指定的操作。图5为组合处理装置的示意图。
其他处理装置,包括中央处理器CPU、图形处理器GPU、神经网络处理器等通用/专用处理器中的一种或以上的处理器类型。其他处理装置所包括的处理器数量不做限制。其他处理装置作为参数处理装置与外部数据和控制的接口,包括数据搬运,完成对本参数处理装置的开启、停止等基本控制;其他处理装置也可以和参数处理装置协作共同完成运算任务。
通用互联接口,用于在所述参数处理装置与其他处理装置间传输数据和控制指令。该参数处理装置从其他处理装置中获取所需的输入数据,写入参数处理装置片上的存储装置;可以从其他处理装置中获取控制指令,写入参数处理装置片上的控制缓存;也可以读取参数处理装置的存储模块中的数据并传输给其他处理装置。
可选的,该结构如图6所示,还可以包括存储装置,存储装置分别与所述参数处理装置和所述其他处理装置连接。存储装置用于保存在所述参数处理装置和所述其他处理装置的数据,尤其适用于所需要运算的数据在本参数处理装置或其他处理装置的内部存储中无法全部保存的数据。
该组合处理装置可以作为手机、机器人、无人机、视频监控设备等设备的SOC片上***,有效降低控制部分的核心面积,提高处理速度,降低整体功耗。此情况时,该组合处理装置的通用互联接口与设备的某些部件相连接。某些部件譬如摄像头,显示器,鼠标,键盘,网卡,wifi接口。
在一些实施例里,还申请了一种芯片,其包括了上述参数处理装置。
在一些实施例里,申请了一种芯片封装结构,其包括了上述芯片。
在一些实施例里,申请了一种板卡,其包括了上述芯片封装结构。参阅图7,图7提供了一种板卡,上述板卡除了包括上述芯片以外,还可以包括其他的配套部件,该配套部件包括但不限于:存储器件710、接收装置720和控制器件730;
所述存储器件710与所述芯片封装结构内的芯片通过总线连接,用于存储数据。所述存储器件可以包括多组存储单元711。每一组所述存储单元与所述芯片通过总线连接。可以理解,每一组所述存储单元可以是DDR SDRAM(英文:Double Data Rate SDRAM,双倍速率同步动态随机存储器)。
DDR不需要提高时钟频率就能加倍提高SDRAM的速度。DDR允许在时钟脉冲的上升沿和下降沿读出数据。DDR的速度是标准SDRAM的两倍。在一个实施例中,所述存储装置可以包括4组所述存储单元。每一组所述存储单元可以包括多个DDR4颗粒(芯片)。在一个实施例中,所述芯片内部可以包括4个72位DDR4控制器,上述72位DDR4控制器中64bit用于传输数据,8bit用于ECC校验。可以理解,当每一组所述存储单元中采用DDR4-3200颗粒时,数据传输的理论带宽可达到25600MB/s。
在一个实施例中,每一组所述存储单元包括多个并联设置的双倍速率同步动态随机存储器。DDR在一个时钟周期内可以传输两次数据。在所述芯片中设置控制DDR的控制器,用于对每个所述存储单元的数据传输与数据存储的控制。
所述接口装置与所述芯片封装结构内的芯片电连接。所述接口装置用于实现所述芯片与外部设备(例如服务器或计算机)之间的数据传输。例如在一个实施例中,所述接口装置可以为标准PCIE接口。比如,待处理的数据由服务器通过标准PCIE接口传递至所述芯片,实现数据转移。优选的,当采用PCIE 3.0X 16接口传输时,理论带宽可达到16000MB/s。在另一个实施例中,所述接口装置还可以是其他的接口,本申请并不限制上述其他的接口的具体表现形式,所述接口单元能够实现转接功能即可。另外,所述芯片的计算结果仍由所述接口装置传送回外部设备(例如服务器)。
所述控制器件与所述芯片电连接。所述控制器件用于对所述芯片的状态进行监控。具体的,所述芯片与所述控制器件可以通过SPI接口电连接。所述控制器件可以包括单片机(Micro Controller Unit,MCU)。如所述芯片可以包括多个处理芯片、多个处理核或多个处理电路,可以带动多个负载。因此,所述芯片可以处于多负载和轻负载等不同的工作状态。通过所述控制装置可以实现对所述芯片中多个处理芯片、多个处理和或多个处理电路的工作状态的调控。
在一些实施例里,申请了一种电子设备,其包括了上述板卡。
电子设备包括数据处理装置、机器人、电脑、打印机、扫描仪、平板电脑、智能终端、手机、行车记录仪、导航仪、传感器、摄像头、服务器、云端服务器、相机、摄像机、投影仪、手表、耳机、移动存储、可穿戴设备、交通工具、家用电器、和/或医疗设备。
所述交通工具包括飞机、轮船和/或车辆;所述家用电器包括电视、空调、微波炉、冰箱、电饭煲、加湿器、洗衣机、电灯、燃气灶、油烟机;所述医疗设备包括核磁共振仪、B超仪和/或心电图仪。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于可选实施例,所涉及的动作和模块并不一定是本申请所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置,可通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件程序模块的形式实现。
所述集成的单元如果以软件程序模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储器中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储器中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储器包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储器中,存储器可以包括:闪存盘、只读存储器(英文:Read-Only Memory,简称:ROM)、随机存取器(英文:Random Access Memory,简称:RAM)、磁盘或光盘等。
以上对本申请实施例进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (12)
1.一种参数处理方法,其特征在于,应用于人工智能芯片,所述人工智能芯片中部署了上层语言接口和深度学习框架,所述深度学习框架中包括容器,所述容器是用于存放参数的类或结构体,与所述上层语言接口连接,所述方法包括:
所述上层语言接口将第一参数注入所述容器中,其中所述第一参数用于描述所述深度学习框架的并行程度;
所述深度学习框架从所述容器中获取所述第一参数,将所述第一参数与所述深度学习框架的模块数据进行交互,获得第二参数,并将所述第二参数传递到所述容器中,所述第二参数用于监测所述第一参数描述的深度学习框架的并行运算性能;
所述上层语言接口从所述容器中获取第二参数。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
所述容器中包括参数数据字段,所述参数数据字段用于指向第一参数和第二参数。
3.根据权利要求1或2所述的方法,其特征在于,所述第一参数包括数据并行度和模型并行度。
4.根据权利要求3所述的方法,其特征在于,所述第二参数包括通道消失时间和通道消失时间总和。
5.根据权利要求4所述的方法,其特征在于,所述将所述第一参数与所述深度学习框架的模块数据进行交互,获得第二参数,包括:
将所述数据并行度传递到深度学习框架的模块进行数据交互,获得所述数据并行度对应的通道消失时间(CET)和通道消失时间总和(CETS),所述CETS和所述CET用于统计算子的计算时间;
将所述模型并行度传递到深度学习框架的模块进行数据交互,获得所述数据并行度对应的CET和CETS。
6.根据权利要求1-5任一项所述的方法,其特征在于,所述深度学习框架为MXNet深度学习框架。
7.根据权利要求1-6任一项所述的方法,其特征在于,所述深度学习框架还包括载体,所述方法还包括:
通过所述载体进行所述容器与所述深度学习框架的模块之间的参数传递交互,所述参数包括第一参数和第二参数。
8.根据权利要求7所述的方法,其特征在于,所述人工智能芯片还包括底层库模块,所述方法还包括:
通过所述载体进行所述容器与所述底层库模块之间的参数传递交互,所述参数包括第一参数和第二参数。
9.根据权利要求1-8任一项所述的方法,其特征在于,所述容器包括所述深度学习框架中的原生类或结构体,或者针对所述人工智能芯片在所述深度学习框架中独立创建的类或结构体。
10.一种参数处理装置,其特征在于,应用于人工智能芯片,所述人工智能芯片中部署了上层语言接口和深度学习框架,所述深度学习框架中包括容器,所述容器为用于存放参数的类或结构体,与所述上层语言接口连接,所述装置包括:
写入模块,用于通过所述上层语言接口将第一参数写入容器中,其中所述第一参数用于描述所述深度学习框架的并行程度;
计算模块,用于通过所述深度学习框架从所述容器中获取所述第一参数,将所述第一参数与所述深度学习框架的模块的数据进行交互,获得第二参数,并将所述第二参数传递到所述容器中,所述第二参数用于监测并行运算的性能;
获取模块,用于通过所述上层语言接口从所述容器中获取第二参数。
11.一种电子装置,其特征在于,包括处理器、存储器、通信接口,以及一个或多个程序,所述一个或多个程序被存储在所述存储器中,并且被配置由所述处理器执行,所述程序包括用于执行如权利要求1-9任一项所述的方法中的步骤的指令。
12.一种计算机可读存储介质,其特征在于,存储用于电子数据交换的计算机程序,其中,所述计算机程序使得计算机执行如权利要求1-9任一项所述的方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811570061.6A CN109739514B (zh) | 2018-12-21 | 2018-12-21 | 参数处理方法及相关产品 |
PCT/CN2019/087631 WO2020124948A1 (zh) | 2018-12-21 | 2019-05-20 | 网络离线模型的处理方法、人工智能处理装置及相关产品 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811570061.6A CN109739514B (zh) | 2018-12-21 | 2018-12-21 | 参数处理方法及相关产品 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109739514A true CN109739514A (zh) | 2019-05-10 |
CN109739514B CN109739514B (zh) | 2021-03-02 |
Family
ID=66360837
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811570061.6A Active CN109739514B (zh) | 2018-12-21 | 2018-12-21 | 参数处理方法及相关产品 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109739514B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112114931A (zh) * | 2019-06-21 | 2020-12-22 | 鸿富锦精密电子(天津)有限公司 | 深度学习程序配置方法、装置、电子设备及存储介质 |
CN112860424A (zh) * | 2019-11-28 | 2021-05-28 | 上海商汤智能科技有限公司 | 任务处理方法及*** |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106156851A (zh) * | 2016-06-24 | 2016-11-23 | 科大讯飞股份有限公司 | 面向深度学习业务的加速装置及方法 |
CN107480789A (zh) * | 2017-08-07 | 2017-12-15 | 北京中星微电子有限公司 | 一种深度学习模型的高效转换方法及装置 |
CN107844371A (zh) * | 2017-10-12 | 2018-03-27 | 北京京东尚科信息技术有限公司 | 任务处理方法、***及电子设备 |
CN108229258A (zh) * | 2016-12-21 | 2018-06-29 | 田文洪 | 一种基于深度学习和Spark的人脸并行识别方法 |
CN108921210A (zh) * | 2018-06-26 | 2018-11-30 | 南京信息工程大学 | 一种基于卷积神经网络的云分类方法 |
CN109034386A (zh) * | 2018-06-26 | 2018-12-18 | 中国科学院计算机网络信息中心 | 一种基于资源调度器的深度学习***及其方法 |
CN109032671A (zh) * | 2018-06-25 | 2018-12-18 | 电子科技大学 | 一种基于数据并行策略的分布式深度学习方法及*** |
US20180365562A1 (en) * | 2017-06-20 | 2018-12-20 | Battelle Memorial Institute | Prediction of social media postings as trusted news or as types of suspicious news |
CN110110621A (zh) * | 2019-04-23 | 2019-08-09 | 安徽大学 | 基于多特征整合深度学习模型的倾斜摄影点云分类方法 |
-
2018
- 2018-12-21 CN CN201811570061.6A patent/CN109739514B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106156851A (zh) * | 2016-06-24 | 2016-11-23 | 科大讯飞股份有限公司 | 面向深度学习业务的加速装置及方法 |
CN108229258A (zh) * | 2016-12-21 | 2018-06-29 | 田文洪 | 一种基于深度学习和Spark的人脸并行识别方法 |
US20180365562A1 (en) * | 2017-06-20 | 2018-12-20 | Battelle Memorial Institute | Prediction of social media postings as trusted news or as types of suspicious news |
CN107480789A (zh) * | 2017-08-07 | 2017-12-15 | 北京中星微电子有限公司 | 一种深度学习模型的高效转换方法及装置 |
CN107844371A (zh) * | 2017-10-12 | 2018-03-27 | 北京京东尚科信息技术有限公司 | 任务处理方法、***及电子设备 |
CN109032671A (zh) * | 2018-06-25 | 2018-12-18 | 电子科技大学 | 一种基于数据并行策略的分布式深度学习方法及*** |
CN108921210A (zh) * | 2018-06-26 | 2018-11-30 | 南京信息工程大学 | 一种基于卷积神经网络的云分类方法 |
CN109034386A (zh) * | 2018-06-26 | 2018-12-18 | 中国科学院计算机网络信息中心 | 一种基于资源调度器的深度学习***及其方法 |
CN110110621A (zh) * | 2019-04-23 | 2019-08-09 | 安徽大学 | 基于多特征整合深度学习模型的倾斜摄影点云分类方法 |
Non-Patent Citations (2)
Title |
---|
PANDSU: "深度学习 模型训练超参数调整总结", 《HTTPS://BLOG.CSDN.NET/M0_37167788/ARTICLE/DETAILS/84059452?UTM_MEDIUM=DISTRIBUTE.PC_AGGPAGE_SEARCH_RESULT.NONE-TASK-BLOG-2~ALL~FIRST_RANK_V2~RANK_V25-3-84059452.NONECASE&UTM_TERM》 * |
杨楠: "基于Caffe深度学习框架的卷积神经网络研究", 《中国优秀硕士论文全文数据库 信息科技辑》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112114931A (zh) * | 2019-06-21 | 2020-12-22 | 鸿富锦精密电子(天津)有限公司 | 深度学习程序配置方法、装置、电子设备及存储介质 |
CN112114931B (zh) * | 2019-06-21 | 2023-12-26 | 富联精密电子(天津)有限公司 | 深度学习程序配置方法、装置、电子设备及存储介质 |
CN112860424A (zh) * | 2019-11-28 | 2021-05-28 | 上海商汤智能科技有限公司 | 任务处理方法及*** |
Also Published As
Publication number | Publication date |
---|---|
CN109739514B (zh) | 2021-03-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109740751A (zh) | 神经网络模型的架构融合方法及相关装置 | |
CN109754011A (zh) | 基于Caffe的数据处理方法、装置和相关产品 | |
CN109284815A (zh) | 神经网络模型算法编译方法、装置及相关产品 | |
CN109543825A (zh) | 神经网络模型算法编译方法、装置及相关产品 | |
CN109754074A (zh) | 一种神经网络量化方法、装置以及相关产品 | |
CN110119807B (zh) | 运算方法、装置、计算机设备和存储介质 | |
CN109739514A (zh) | 参数处理方法及相关产品 | |
CN110147249A (zh) | 一种网络模型的计算方法及装置 | |
CN111767995B (zh) | 运算方法、装置及相关产品 | |
CN110163349A (zh) | 一种网络模型的计算方法及装置 | |
CN109726800A (zh) | 运算方法、装置及相关产品 | |
CN111767999B (zh) | 数据处理方法、装置及相关产品 | |
CN109740746A (zh) | 运算方法、装置及相关产品 | |
CN109740730A (zh) | 运算方法、装置及相关产品 | |
CN111949318B (zh) | 指令处理方法、装置及相关产品 | |
CN111382856B (zh) | 数据处理装置、方法、芯片及电子设备 | |
CN111047030A (zh) | 运算方法、装置、计算机设备和存储介质 | |
CN111124497B (zh) | 运算方法、装置、计算机设备和存储介质 | |
CN112396186B (zh) | 执行方法、装置及相关产品 | |
CN111339060B (zh) | 运算方法、装置、计算机设备和存储介质 | |
CN219304904U (zh) | 三维视觉开发板及视觉感知设备 | |
CN109543835A (zh) | 运算方法、装置及相关产品 | |
CN112394985B (zh) | 执行方法、装置及相关产品 | |
US11983535B2 (en) | Artificial intelligence computing device and related product | |
CN112395006B (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 | ||
CB02 | Change of applicant information |
Address after: 100000 room 644, No. 6, No. 6, South Road, Beijing Academy of Sciences Applicant after: Zhongke Cambrian Technology Co., Ltd Address before: 100000 room 644, No. 6, No. 6, South Road, Beijing Academy of Sciences Applicant before: Beijing Zhongke Cambrian Technology Co., Ltd. |
|
CB02 | Change of applicant information | ||
GR01 | Patent grant | ||
GR01 | Patent grant |