芯片、神经网络训练系统、内存管理方法及装置、设备制造方法及图纸

技术编号:29023340 阅读:12 留言:0更新日期:2021-06-26 05:24
本说明书实施例提供一种芯片、神经网络训练系统、内存管理方法及装置、设备。芯片中的处理单元在向该通信接口连接的外接设备读取或者写入与神经网络训练有关的数据时,可以将待读取或者待写入的数据对应的原始地址发送给地址转换单元,地址转换单元可以基于通信接口连接的外接设备的类型将原始地址转化为与外接设备相匹配的目标地址,以便处理单元可以成功地从外接设备的目标地址读取或者写入数据。通过对原有的接口进行功能扩展,使其可以连接外部存储器,可以增大单个芯片的内存容量,提高训练效率。高训练效率。高训练效率。

【技术实现步骤摘要】
芯片、神经网络训练系统、内存管理方法及装置、设备


[0001]本公开涉及人工智能
,尤其涉及芯片、神经网络训练系统、内存管理方法及装置、设备。

技术介绍

[0002]随着人工智能技术的发展,各种神经网络模型被广泛用于各个领域。由于神经网络模型越来越复杂,模型规模也越来越大,其所涉及的数据量也在不断增大。为了提高神经网络的训练速度,可以采用一些芯片(比如,AI芯片)加速神经网络训练,而通常单个芯片的存储空间非常有限,往往无法满足大规模的神经网络模型对内存的需求。目前通常采用多个芯片对神经网络进行加速训练,以弥补单个芯片内存不足的缺陷,多个芯片可从CPU接收指令,并根据指令共同完成对神经网络的加速训练。由于采用芯片训练神经网络时,芯片与CPU通信所使用的通信链路和CPU下发指令的通信链路相同,因而当使用芯片的数量较多时,每个芯片都要与CPU通信,从而会严重占用CPU下发指令的通信链路,影响CPU下发指令的效率,从而影响训练效率。同时,由于芯片的数量较多时,芯片之间的通信数据量较大,而芯片之间通信效率较低,也会影响神经网络训练效率。

技术实现思路

[0003]本公开提供一种芯片、神经网络训练系统、内存管理方法及装置、设备。
[0004]根据本公开实施例的第一方面,提供一种芯片,所述芯片包括处理单元、地址转换单元以及至少一个通信接口,每个所述通信接口可用于连接外接设备,所述外接设备的类型包括外部存储器和/或其他芯片,
[0005]所述处理单元,用于将待读取或待写入的与神经网络训练有关的数据对应的原始地址发送给所述地址转换单元,其中,所述原始地址为所述其他芯片中的物理地址;
[0006]所述地址转换单元,用于将所述原始地址转换为与所述外接设备的类型相匹配的目标地址并输出,以使所述处理单元在所述外接设备的所述目标地址读取或写入所述数据。
[0007]在一些实施例中,所述地址转换单元包括存储子单元;
[0008]所述存储子单元,用于存储所述其他芯片中的物理地址与所述外部存储器中的物理地址之间的映射关系;
[0009]所述地址转换单元,用于在确定所述通信接口连接所述外部存储器的情况下,基于所述映射关系将所述原始地址转换为所述目标地址。
[0010]在一些实施例中,所述地址转换单元,还用于在确定所述通信接口连接所述其他芯片的情况下,直接将所述原始地址确定为所述目标地址。
[0011]在一些实施例中,所述其他芯片的存储单元的物理地址被预先划分为多个地址分区,每个地址分区内的物理地址可通过预设的映射关系映射成所述外部存储器中的物理地址;
[0012]所述地址转换单元,用于确定所述原始地址所在的地址分区,基于所述原始地址所在的地址分区和所述映射关系确定所述目标地址。
[0013]在一些实施例中,所述地址转换单元包括多组第一寄存器,每组所述第一寄存器用于存储指示一个所述地址分区的地址范围的指示信息;
[0014]所述地址转换单元,用于根据所述指示信息确定所述原始地址所在的地址分区。
[0015]在一些实施例中,所述地址转换单元包括还包括多组第二寄存器,每组所述第二寄存器用于存储一个所述地址分区当前的使能状态信息;
[0016]所述地址转换单元,用于基于以下方式确定所述通信接口连接所述外部存储器:
[0017]基于所述使能状态信息从所述多个地址分区中确定目标地址分区;
[0018]在根据所述指示信息确定所述原始地址落入所述目标地址分区的地址范围内的情况下,确定所述通信接口连接所述外部存储器。
[0019]在一些实施例中,所述外部存储器包括DDR,所述DDR与所述芯片通过总线通信,所述总线包括PCIE总线。
[0020]在一些实施例中,所述处理单元还用于:
[0021]确定与所述神经网络训练有关的数据所处的状态,所述状态与所述数据下一次被使用的时间与当前时间之间的时间间隔有关;
[0022]根据所述状态确定是否将存储于所述芯片的内部存储器中的所述数据存储至所述外部存储器,和/或是否将所述外部存储器中的所述数据存储至所述内部存储器。
[0023]在一些实施例中,所述处理单元还用于:响应于根据所述状态确定将存储于所述芯片的内部存储器中的所述数据存储至所述外部存储器,将待存储至所述外部存储器的数据对应的所述原始地址发送给所述地址转换单元,以使所述地址转换单元将所述原始地址转换为所述外部存储器中的所述目标地址;和/或
[0024]响应于根据所述状态确定将存储于所述外部存储器中的所述数据存储至所述内部存储器,将待存储至所述内部存储器的数据对应的所述原始地址发送给所述地址转换单元,以使所述地址转换单元将所述原始地址转换为所述外部存储器中的所述目标地址。
[0025]在一些实施例中,所述状态包括第一状态和第二状态;所述处理单元用于:
[0026]在存储于所述内部存储器中的所述数据处于所述第一状态的情况下,确定将存储于所述内部存储器中的所述数据存储至所述外部存储器;
[0027]在存储于所述外部存储器中的所述数据的处于第二状态的情况下,确定将所述外部存储器中的所述数据存储至所述内部存储器。
[0028]在一些实施例中,所述处理单元用于基于以下方式确定所述数据所处的状态:
[0029]根据所述神经网络中各层与对应芯片当前处理的当前层之间间隔的层数,以及所述神经网络当前的计算方向,确定与所述各层有关的数据所处的状态。
[0030]在一些实施例中,所述处理单元用于:
[0031]基于所述计算方向和所述层数从所述神经网络中确定目标层,所述目标层在所述当前层之后参与计算,且与所述当前层之间间隔的层数小于预设层数;
[0032]将与所述目标层有关的数据所处的状态确定为所述第二状态;
[0033]将所述神经网络中除所述目标层以外的其他层有关的数据确定为所述第一状态。
[0034]在一些实施例中,所述预设层数基于所述芯片对所述神经网络每层进行计算所需
的时间,以及所述数据在所述内部存储器和所述外部存储器之间的传输时间确定。
[0035]根据本公开实施例的第二方面,提供一种神经网络训练系统,所述神经网络训练系统包括主处理器和多个上述第一方面提及的芯片,多个所述芯片通过所述通信接口连接;多个所述芯片,用于接收所述主处理器的指令,并基于所述指令对所述神经网络进行加速训练。
[0036]在一些实施例中,所述地址转换单元包括存储子单元;
[0037]所述存储子单元,用于存储所述其他芯片中的物理地址与所述外部存储器中的物理地址之间的映射关系;
[0038]所述地址转换单元,用于在确定所述通信接口连接所述外部存储器的情况下,基于所述映射关系将所述原始地址转换为所述目标地址。
[0039]在一些实施例中,所述地址转换单元,还用于在确定所述通信接口连接所述其他芯片的情况下,直接将所述原始地址确定为所述目标地址。...

【技术保护点】

【技术特征摘要】
1.一种芯片,其特征在于,所述芯片包括处理单元、地址转换单元以及至少一个通信接口,每个所述通信接口可用于连接外接设备,所述外接设备的类型包括外部存储器和/或其他芯片,所述处理单元,用于将待读取或待写入的与神经网络训练有关的数据对应的原始地址发送给所述地址转换单元,其中,所述原始地址为所述其他芯片中的物理地址;所述地址转换单元,用于将所述原始地址转换为与所述外接设备的类型相匹配的目标地址并输出,以使所述处理单元在所述外接设备的所述目标地址读取或写入所述数据。2.根据权利要求1所述的芯片,其特征在于,所述地址转换单元包括存储子单元;所述存储子单元,用于存储所述其他芯片中的物理地址与所述外部存储器中的物理地址之间的映射关系;所述地址转换单元,用于在确定所述通信接口连接所述外部存储器的情况下,基于所述映射关系将所述原始地址转换为所述目标地址。3.根据权利要求1或2所述的芯片,其特征在于,所述地址转换单元,还用于在确定所述通信接口连接所述其他芯片的情况下,直接将所述原始地址确定为所述目标地址。4.根据权利要求1

3任一项所述的芯片,其特征在于,所述其他芯片的存储单元的物理地址被预先划分为多个地址分区,每个地址分区内的物理地址可通过预设的映射关系映射成所述外部存储器中的物理地址;所述地址转换单元,用于确定所述原始地址所在的地址分区,基于所述原始地址所在的地址分区和所述映射关系确定所述目标地址。5.根据权利要求4所述的芯片,其特征在于,所述地址转换单元包括多组第一寄存器,每组所述第一寄存器用于存储指示一个所述地址分区的地址范围的指示信息;所述地址转换单元,用于根据所述指示信息确定所述原始地址所在的地址分区。6.根据权利要求5所述的芯片,其特征在于,所述地址转换单元包括还包括多组第二寄存器,每组所述第二寄存器用于存储一个所述地址分区当前的使能状态信息;所述地址转换单元,用于基于以下方式确定所述通信接口连接所述外部存储器:基于所述使能状态信息从所述多个地址分区中确定目标地址分区;在根据所述指示信息确定所述原始地址落入所述目标地址分区的地址范围内的情况下,确定所述通信接口连接所述外部存储器。7.根据权利要求1

6任一项所述的芯片,其特征在于,所述外部存储器包括DDR,所述DDR与所述芯片通过总线通信,所述总线包括PCIE总线。8.根据权利要求1

7任一项所述的芯片,其特征在于,所述处理单元还用于:确定与所述神经网络训练有关的数据所处的状态,所述状态与所述数据下一次被使用的时间与当前时间之间的时间间隔有关;根据所述状态确定是否将存储于所述芯片的内部存储器中的所述数据存储至所述外部存储器,和/或是否将所述外部存储器中的所述数据存储至所述内部存储器。9.根据权利要求8所述的芯片,其特征在于,所述处理单元还用于:响应于根据所述状态确定将存储于所述芯片的内部存储器中的所述数据存储至所述外部存储器,将待存储至所述外部存储器的数据对应的所述原始地址发送给所述地址转换单元,以使所述地址转换单元将所述原始地址转换为所述外部存储器中的所述目标地址;和/或
响应于根据所述状态确定将存储于所述外部存储器中的所述数据存储至所述内部存储器,将待存储至所述内部存储器的数据对应的所述原始地址发送给所述地址转换单元,以使所述地址转换单元将所述原始地址转换为所述外部存储器中的所述目标地址。10.根据权利要求9所述的芯片,其特征在于,所述状态包括第一状态和第二状态;所述处理单元用于:在存储于所述内部存储器中的所述数据处于所述第一状态的情况下,确定将存储于所述内部存储器中的所述数据存储至所述外部存储器;在存储于所述外部存储器中的所述数据的处于第二状态的情况下,确定将所述外部存储器中的所述数据存储至所述内部存储器。11.根据权利要求9或10所述的芯片,其特征在于,所述处理单元用于基于以下方式确定所述数据所处的状态:根据所述神经网络中各层与对应芯片当前处理的当前层之间间隔的层数,以及所述神经网络当前的计算方向,确定与所述各层有关的数据所处的状态。12.根据权利要求11所述的芯片,其特征在于,所述处理单元用于:基于所述计算方向和所述层数从所述...

【专利技术属性】
技术研发人员:冷祥纶康硕王勇徐宁仪
申请(专利权)人:上海阵量智能科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1