-
公开(公告)号:CN110546628A
公开(公告)日:2019-12-06
申请号:CN201880025415.0
申请日:2018-04-06
Applicant: 微软技术许可有限责任公司
IPC: G06F15/80
Abstract: 神经网络(NN)和/或深度神经网络(DNN)的性能可以受到正在执行的操作的数目以及NN/DNN的各种存储器组件中间的数据管理的限制。使用可操作地在数据块中插入要处理的一个或多个移位比特的有向线缓冲器,可以优化对线缓冲器的数据读/写以便由NN/DNN进行处理,从而增强NN/DNN的整体性能。可操作地,操作控制器和/或迭代器能够生成具有所计算的(多个)移位比特的一个或多个指令,以用于传送到线缓冲器。说明性地,可以使用输入数据的各种特性以及包括数据维度的NN/DNN来计算(多个)移位比特。线缓冲器可以读取用于处理的数据,插入移位比特并将数据写入线缓冲器中以供(多个)协作处理单元进行后续处理。
-
公开(公告)号:CN110520909A
公开(公告)日:2019-11-29
申请号:CN201880025420.1
申请日:2018-04-16
Applicant: 微软技术许可有限责任公司
IPC: G08B13/196 , G06N3/063 , H03M7/30 , H03M7/46
Abstract: 深度神经网络(“DNN”)模块可以压缩和解压缩神经元生成的激活数据,以减少存储器总线带宽的利用率。压缩单元可以接收由DNN模块中的神经元生成的未压缩数据块。压缩单元生成压缩输出块的掩码部分和数据部分。掩码部分对未压缩数据块中的零字节和非零字节的存在和位置进行编码。数据部分存储来自未压缩数据块的截断的非零字节。解压缩单元可以从DNN处理器中的存储器或应用主机的存储器中接收压缩数据块。解压缩单元使用掩码部分和数据部分对压缩数据块进行解压缩。这可以减少存储器总线利用率,允许DNN模块更快地完成处理操作,并降低功耗。
-
公开(公告)号:CN116909985A
公开(公告)日:2023-10-20
申请号:CN202310874704.0
申请日:2018-04-06
Applicant: 微软技术许可有限责任公司
Abstract: 本申请的各实施例涉及对数据分区的动态排序。经优化的存储器使用和管理对于神经网络(NN)或深度神经网络(DNN)计算环境的整体性能至关重要。使用输入数据维度的各种特性,分配序列针对将由NN或DNN处理的输入数据而被计算,分配序列优化本地和外部存储器组件的有效使用。分配序列可以描述如何将输入数据(及其相关联的处理参数(例如,处理权重))拆分为一个或多个部分以及输入数据的这样的部分(及其相关联的处理参数)如何在本地存储器、外部存储器和NN或DNN的处理单元组件之间被传递。附加地,分配序列可以包括将所生成的输出数据存储在本地和/或外部存储器组件中以优化本地和/或外部存储器组件的有效使用的指令。
-
公开(公告)号:CN110506260B
公开(公告)日:2023-09-22
申请号:CN201880024892.5
申请日:2018-04-06
Applicant: 微软技术许可有限责任公司
IPC: G06F15/80
Abstract: 神经网络(NN)和/或深度神经网络(DNN)的性能可能会受到被执行的操作的数量以及NN/DNN的各种存储器组件之间的数据管理的限制。通过在输入数据中插入选择的填充以对齐存储器中的输入数据,数据读取/写入可以被优化以供NN/DNN处理,从而增强NN/DNN的整体性能。操作上,操作控制器/迭代器可以生成一个或多个指令,其将所选填充插入数据中。可以使用输入数据的各种特性以及NN/DNN以及协作存储器组件的特性来计算数据填充。输出数据上的填充可用于支持NN/DNN的存储器组件和协作处理单元处的数据对齐。
-
公开(公告)号:CN110520870B
公开(公告)日:2023-07-14
申请号:CN201880025227.8
申请日:2018-04-06
Applicant: 微软技术许可有限责任公司
Abstract: 神经网络(NN)和/或深度神经网络(DNN)的性能可以由正执行的操作数目以及NN/DNN的存储器数据管理来限制。使用神经元权重值的向量量化,神经元的数据的处理可以优化操作的数目以及存储器利用以便增强NN/DNN的总体性能。操作地,权重值的一个或多个连续段可以被转换为任意长度的一个或多个向量,并且一个或多个向量中的每个向量可以被分配有索引。所生成的索引可以被存储在示例性向量量化查找表中并且在飞行中在运行时由示例性快速权重查找硬件来取回,作为NN的示例性数据处理功能的一部分,作为内联去量化操作的一部分,以获得所需要的一个或多个神经元权重值。
-
公开(公告)号:CN110546610B
公开(公告)日:2023-02-10
申请号:CN201880025126.0
申请日:2018-04-16
Applicant: 微软技术许可有限责任公司
Abstract: 具有与一个或多个存储器组件协作的示例性DNN模块的示例性人工智能/机器学习硬件计算环境可以执行数据共享和分发以及缓冲器数据的重用,以减少存储器组件读/写的数目,从而增强整体硬件性能并降低功耗。说明性地,根据示例性硬件的所选操作来读取来自协作存储器组件的数据,并将其写入对应的其他存储器组件以供一个或多个处理元件(例如,神经元)使用。以该方式读取数据,来优化每个处理周期的一个或多个处理元件的参与,以及重用先前存储在一个或多个协作存储器组件中的数据。可操作地,将写入的数据在被处理元件消费之前复制到阴影存储器缓冲器。
-
公开(公告)号:CN110546654A
公开(公告)日:2019-12-06
申请号:CN201880025130.7
申请日:2018-04-16
Applicant: 微软技术许可有限责任公司
Abstract: 具有DNN模块的示例性计算环境可以维持一个或多个带宽节流机制。说明性地,第一节流机制可以指定在协作构造组件(例如,数据总线)上的事务之间等待的周期数目。说明性地,第二节流机制可以是事务计数限制器,该事务计数限制器操作性地设定在给定事务序列期间要被处理的事务数目的阈值,并且限制诸如飞行中的多个事务的事务数目不超过所设定的阈值。在说明性操作中,在执行这两个示例性的所计算的节流参数时,平均带宽使用和峰值带宽使用可以被限制。操作性地,利用该构造带宽控制,DNN的处理单元被优化,以跨每个事务周期处理数据,从而得到增强的处理和较低的功耗。
-
公开(公告)号:CN110537194A
公开(公告)日:2019-12-03
申请号:CN201880025488.X
申请日:2018-04-13
Applicant: 微软技术许可有限责任公司
Abstract: 一种深度神经网络(DNN)处理器被配置为执行层描述符列表中的层描述符。描述符定义用于由DNN处理器执行DNN的前向传递的指令。层描述符也可以用于管理通过DNN模块的描述符流。例如,层描述符可以定义对其他描述符的依赖性。定义依赖性的描述符将不执行,直到它们所依赖的描述符已经完成。层描述符也可以定义“防护”或“屏障”功能,该功能可以用于阻止对上游层描述符的处理,直到所有下游层描述符的处理完成。防护位保证了在处理具有要声明的防护的层描述符之前,DNN处理流水线中没有其他层描述符。
-
公开(公告)号:CN110520909B
公开(公告)日:2021-03-19
申请号:CN201880025420.1
申请日:2018-04-16
Applicant: 微软技术许可有限责任公司
IPC: G08B13/196 , G06N3/063 , H03M7/30 , H03M7/46
Abstract: 深度神经网络(“DNN”)模块可以压缩和解压缩神经元生成的激活数据,以减少存储器总线带宽的利用率。压缩单元可以接收由DNN模块中的神经元生成的未压缩数据块。压缩单元生成压缩输出块的掩码部分和数据部分。掩码部分对未压缩数据块中的零字节和非零字节的存在和位置进行编码。数据部分存储来自未压缩数据块的截断的非零字节。解压缩单元可以从DNN处理器中的存储器或应用主机的存储器中接收压缩数据块。解压缩单元使用掩码部分和数据部分对压缩数据块进行解压缩。这可以减少存储器总线利用率,允许DNN模块更快地完成处理操作,并降低功耗。
-
公开(公告)号:CN110582785A
公开(公告)日:2019-12-17
申请号:CN201880025508.3
申请日:2018-04-16
Applicant: 微软技术许可有限责任公司
IPC: G06N3/063
Abstract: 一种深度神经网络(DNN)处理器被配置为执行层描述符列表中的描述符。所述描述符定义用于由所述DNN处理器执行DNN的传递的指令。可以使用若干类型的描述符:存储器到存储器移动(M2M)描述符;操作描述符;主机通信描述符;配置描述符;分支描述符;以及同步描述符。DMA引擎使用M2M描述符来执行多维跨界DMA操作。操作描述符定义将由DNN处理器中的神经元执行的操作的类型以及将由神经元使用的激活函数。M2M描述符与操作描述符分开缓存,并且可以在受制于明确设置依赖性的情况下下尽快执行。结果,可以减少等待时间,并且因此神经元可以更快地完成其处理。因此,与其他方式相比,可以更早地关闭DNN模块的电源,从而节省功率。
-
-
-
-
-
-
-
-
-