The performance of neural networks (NN) and / or deep neural networks (DNN) may be limited by the number of operations being performed and data management between the various memory components of NN / DNN. Using the virtual hardware iterator, the data processed by NN / DNN can be traversed and configured to optimize the number of operations and memory utilization to enhance the overall performance of NN / DNN. Operatively, the iterator controller can generate instructions for execution by NN / DNN that represent one or more expected iterator operation types and perform one or more iterator operations. The data can be iterated according to the selected iterator operation, and the data can be communicated to one or more neuron processors of NN / DD for processing and output to the target memory. Iterator operations can be applied to a variety of parallel data volumes (for example, binary large objects) or multiple slices of the same capacity.
【技术实现步骤摘要】
【国外来华专利技术】使用虚拟化数据迭代器对神经网络进行数据处理性能增强
技术介绍
在人工神经网络(NN)中,神经元是用于对大脑中的生物神经元进行建模的基本单元。人工神经元的模型包括输入向量和权重向量的内积,权重向量被添加到应用非线性的偏置。对于深度神经网络(DNN)(例如,如示例性DNN模块所表示的),神经元可以被紧密地映射到人工神经元。在跨NN或DNN处理数据时,执行示例性处理操作的控制器需要对大量数据进行迭代,以应用可以影响整体NN或DNN性能的特定操作,从而导致关键时延而损害期望的所述处理目标(例如,标识示例性输入数据中的对象和/或对象特征,图像、声音、地理坐标等)。通常地,现有NN和DNN在执行各种操作时花费可避免的处理时间(例如,每秒浮点/定点操作(GFlops/s))和存储器空间(例如,每秒传递的字节数(GBytes/s))。具体地,当前实践不标识输入/数据的关键特征和/或向NN或DNN的协作组件提供关于如何最好地处理这样的输入数据来避免这样的性能问题的指令。与NN或DNN中的低效数据处理相关联的性能影响包括NN或DNN的本地和外部存储器组件之间的低效管 ...
【技术保护点】
1.一种用于在神经网络环境中使用一个或多个虚拟化硬件迭代器来增强数据处理的系统,所述系统包括:/n至少一个处理器;/n至少一个硬件迭代器,可操作来执行一个或多个数据迭代功能;以及/n与所述至少一个处理器通信的至少一个存储器,所述至少一个存储器具有存储在其上的计算机可读指令,当所述计算机可读指令由所述至少一个处理器执行时,使得所述至少一个处理器:/n从所述神经网络环境的协作控制器组件接收一个或多个初始化参数,所述初始化参数包括表示将由所述神经网络环境处理的数据的维度的数据;/n从所述神经网络环境的协作存储器组件加载数据;/n从所述神经网络环境的所述协作控制器组件接收一个或多个 ...
【技术特征摘要】
【国外来华专利技术】20170417 US 62/486,432;20170901 US 15/694,6631.一种用于在神经网络环境中使用一个或多个虚拟化硬件迭代器来增强数据处理的系统,所述系统包括:
至少一个处理器;
至少一个硬件迭代器,可操作来执行一个或多个数据迭代功能;以及
与所述至少一个处理器通信的至少一个存储器,所述至少一个存储器具有存储在其上的计算机可读指令,当所述计算机可读指令由所述至少一个处理器执行时,使得所述至少一个处理器:
从所述神经网络环境的协作控制器组件接收一个或多个初始化参数,所述初始化参数包括表示将由所述神经网络环境处理的数据的维度的数据;
从所述神经网络环境的协作存储器组件加载数据;
从所述神经网络环境的所述协作控制器组件接收一个或多个指令,以根据一个或多个迭代器操作类型和所述一个或多个初始化参数来遍历加载的所述数据;
根据一个或多个迭代器操作类型和所述一个或多个初始化参数,对所述一个或多个指令进行处理来选择加载的所述数据的一个或多个部分;以及
将加载的所述数据的所述一个或多个部分通信到所述神经网络环境的一个或多个处理组件。
2.根据权利要求1所述的系统,其中加载的所述数据的所述一个或多个部分是相等部分。
3.根据权利要求1所述的系统,其中所述计算机可读指令还使得所述至少一个处理器根据由接收的所述一个或多个初始化参数限定的选择数据量来遍历所述数据,所述参数包括包含以下的数据:数据高度、数据宽度、信道数目、内核数目和一个或多个其他数据描述符。
4.根据权利要求3所述的系统,其中所述计算机可读指令还使得所述至少一个处理器利用一个或多个滑动窗口遍历所述数据,所述窗口可操作来选择所述数据量的一个或多个数据元素作为通信到所述一个或多个处理组件的所述一个或多个部分。
5.根据权利要求4所述的系统,其中所述计算机可读指令还使得所述至少一个处理器使用一个或多个滑动窗口来遍历加载的所述数据,所述一个或多个滑动窗口跨越加载的所述数据的数据维度边界。
6.根据权利要求1所述的系统,其中所述计算机可读指令还使得所述至少一个处理器将一个或多个数...
【专利技术属性】
技术研发人员:G·彼得,C·B·麦克布赖德,A·A·安巴德卡,K·D·塞多拉,B·博布罗夫,L·M·瓦尔,
申请(专利权)人:微软技术许可有限责任公司,
类型:发明
国别省市:美国;US
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。