-
公开(公告)号:CN110582785B
公开(公告)日:2024-02-27
申请号:CN201880025508.3
申请日:2018-04-16
Applicant: 微软技术许可有限责任公司
IPC: G06N3/063
Abstract: 一种深度神经网络(DNN)处理器被配置为执行层描述符列表中的描述符。所述描述符定义用于由所述DNN处理器执行DNN的传递的指令。可以使用若干类型的描述符:存储器到存储器移动(M2M)描述符;操作描述符;主机通信描述符;配置描述符;分支描述符;以及同步描述符。DMA引擎使用M2M描述符来执行多维跨界DMA操作。操作描述符定义将由DNN处理器中的神经元执行的操作的类型以及将由神经元使用的激活函数。M2M描述符与操作描述符分开缓存,并且可以在受制于明确设置依赖性的情况下下尽快执行。结果,可以减少等待时间,并且因此神经元可以更快地完成其处理。因此,与其他方式相比,可以更早地关闭DNN模块的电源,从而节省功率。
-
公开(公告)号:CN110520857B
公开(公告)日:2023-07-28
申请号:CN201880025504.5
申请日:2018-04-06
Applicant: 微软技术许可有限责任公司
Abstract: 神经网络(NN)和/或深度神经网络(DNN)的性能可能受到正在执行的操作的数目以及NN/DNN的各种存储器组件之间的数据管理的限制。使用虚拟化硬件迭代器,由NN/DNN处理的数据可以被遍历并且被配置为优化操作的数目以及存储器利用率,以增强NN/DNN的整体性能。可操作地,迭代器控制器可以生成用于由NN/DNN执行的指令,指令表示一个或多个期望的迭代器操作类型并执行一个或多个迭代器操作。可以根据所选择的迭代器操作来将数据迭代,并将数据通信到NN/DD的一个或多个神经元处理器来进行处理并输出到目标存储器。迭代器操作可以应用于并行的各种数据量(例如,二进制大对象)或相同容量的多个切片。
-
公开(公告)号:CN110546611B
公开(公告)日:2023-05-02
申请号:CN201880025480.3
申请日:2018-04-16
Applicant: 微软技术许可有限责任公司
Abstract: 深度神经网络(“DNN”)模块可以确定由神经元对输入缓冲区或权重缓冲区中的某些值的处理是否可以被跳过。例如,DNN模块可以确定神经元是否可以跳过对神经元缓冲区的整个列中的值的处理。例如,如果输入缓冲区或权重缓冲区的整个列为零,则可以跳过对这些值的处理。DNN模块还可以确定对输入缓冲区或权重缓冲区的行中的单个值的处理(例如,如果这些值为零)是否可以被跳过。由于跳过操作而提早完成其处理的神经元可以协助其他神经元进行其处理。可以在将由神经元执行的处理操作的结果传递给其正确所有者的处理完成之后执行组合操作。
-
公开(公告)号:CN110520856B
公开(公告)日:2023-03-31
申请号:CN201880025244.1
申请日:2018-04-06
Applicant: 微软技术许可有限责任公司
IPC: G06F15/80 , G06F12/0862 , G06F9/50
Abstract: 神经网络(NN)的性能可能会受到所执行的操作的数目的限制。使用涉及将存储器块移位所选择的移位步幅以用于协作神经元的线缓冲器,可以像在单个线缓冲器写入周期中那样处理可操作地驻留在存储器中并且需要向协作线缓冲器中的多个写入周期的数据,从而增强了NN/DNN的性能。控制器和/或迭代器可以生成具有用于与线缓冲器通信的存储器块移位值的一个或多个指令。移位值可以使用输入数据的各种特性以及包括数据维度在内的NN/DNN来计算。线缓冲器可以读取数据以进行处理,移位存储器块的数据,并且将数据写入线缓冲器中以进行后续处理。
-
公开(公告)号:CN114008584A
公开(公告)日:2022-02-01
申请号:CN202080044133.2
申请日:2020-05-11
Applicant: 微软技术许可有限责任公司
IPC: G06F7/499
Abstract: 神经处理元件被配置有硬件与门,该与门被配置为执行符号扩展信号与操作数的最高有效位(“MSB”)之间的逻辑与操作。符号扩展信号的状态可以是基于生成操作数的深度神经网络(“DNN”)的层的类型。如果符号扩展信号是逻辑假,则没有信号扩展被执行。如果符号扩展信号是逻辑真,则联接器联接硬件与门的输出和操作数,从而将操作数从N位无符号的二进制值扩展到N+1位有符号的二进制值。神经处理元件还可以包括另一硬件与门和用于类似地处理另一操作数的另一联接器。针对两个操作数的联接器的输出被提供给硬件二进制乘法器。
-
公开(公告)号:CN110520870A
公开(公告)日:2019-11-29
申请号:CN201880025227.8
申请日:2018-04-06
Applicant: 微软技术许可有限责任公司
Abstract: 神经网络(NN)和/或深度神经网络(DNN)的性能可以由正执行的操作数目以及NN/DNN的存储器数据管理来限制。使用神经元权重值的向量量化,神经元的数据的处理可以优化操作的数目以及存储器利用以便增强NN/DNN的总体性能。操作地,权重值的一个或多个连续段可以被转换为任意长度的一个或多个向量,并且一个或多个向量中的每个向量可以被分配有索引。所生成的索引可以被存储在示例性向量量化查找表中并且在飞行中在运行时由示例性快速权重查找硬件来取回,作为NN的示例性数据处理功能的一部分,作为内联去量化操作的一部分,以获得所需要的一个或多个神经元权重值。
-
公开(公告)号:CN118153639A
公开(公告)日:2024-06-07
申请号:CN202410312381.0
申请日:2018-04-16
Applicant: 微软技术许可有限责任公司
IPC: G06N3/0464 , G06N3/063
Abstract: 本公开涉及用于增强数据处理的系统、方法及神经网络处理器。说明性地,第一节流机制可以指定在协作构造组件(例如,数据总线)上的事务之间等待的周期数目。说明性地,第二节流机制可以是事务计数限制器,该事务计数限制器操作性地设定在给定事务序列期间要被处理的事务数目的阈值,并且限制诸如飞行中的多个事务的事务数目不超过所设定的阈值。在说明性操作中,在执行这两个示例性的所计算的节流参数时,平均带宽使用和峰值带宽使用可以被限制。操作性地,利用该构造带宽控制,DNN的处理单元被优化,以跨每个事务周期处理数据,从而得到增强的处理和较低的功耗。
-
公开(公告)号:CN110546654B
公开(公告)日:2024-03-29
申请号:CN201880025130.7
申请日:2018-04-16
Applicant: 微软技术许可有限责任公司
IPC: G06N3/0464 , G06N3/063
Abstract: 具有DNN模块的示例性计算环境可以维持一个或多个带宽节流机制。说明性地,第一节流机制可以指定在协作构造组件(例如,数据总线)上的事务之间等待的周期数目。说明性地,第二节流机制可以是事务计数限制器,该事务计数限制器操作性地设定在给定事务序列期间要被处理的事务数目的阈值,并且限制诸如飞行中的多个事务的事务数目不超过所设定的阈值。在说明性操作中,在执行这两个示例性的所计算的节流参数时,平均带宽使用和峰值带宽使用可以被限制。操作性地,利用该构造带宽控制,DNN的处理单元被优化,以跨每个事务周期处理数据,从而得到增强的处理和较低的功耗。
-
公开(公告)号:CN110678843B
公开(公告)日:2023-07-07
申请号:CN201880025426.9
申请日:2018-04-16
Applicant: 微软技术许可有限责任公司
Abstract: 公开了能够将神经元工作负载动态地划分以降低功率消耗的深度神经网络(DNN)模块。DNN模块包括神经元和组划分器以及调度器单元。组划分器和调度器单元将针对神经元的工作负载拆分为分区,以便将可以同时处理工作负载的神经元的数量最大化。组划分器和调度器单元然后将神经元的组分配给分区中的每个分区。DNN模块中的神经元的组处理它们的分配的分区中的工作负载以生成部分输出值。每个组中的神经元然后能够对它们的部分输出值求和以针对工作负载生成最终输出值。一旦神经元的组完成了对它们的分配的工作负载的处理,就可以将神经元关断以降低功率消耗。
-
公开(公告)号:CN110537194B
公开(公告)日:2023-07-07
申请号:CN201880025488.X
申请日:2018-04-13
Applicant: 微软技术许可有限责任公司
Abstract: 一种深度神经网络(DNN)处理器被配置为执行层描述符列表中的层描述符。描述符定义用于由DNN处理器执行DNN的前向传递的指令。层描述符也可以用于管理通过DNN模块的描述符流。例如,层描述符可以定义对其他描述符的依赖性。定义依赖性的描述符将不执行,直到它们所依赖的描述符已经完成。层描述符也可以定义“防护”或“屏障”功能,该功能可以用于阻止对上游层描述符的处理,直到所有下游层描述符的处理完成。防护位保证了在处理具有要声明的防护的层描述符之前,DNN处理流水线中没有其他层描述符。
-
-
-
-
-
-
-
-
-