【技术实现步骤摘要】
用于提高AI引擎MAC利用率的方法
本公开的实施例大体涉及人工智能(AI)引擎。更特别地,本公开的实施例涉及AI引擎中的乘法累加器(MAC单元)利用率。
技术介绍
作为人工智能(AI)的分支,机器学习可以执行任务而不使用为该任务特别编程的应用程序。相反,机器学习可以在训练过程期间从给定任务的过去示例中学习,训练过程通常涉及从数据集学习权重。机器学习模型(例如,神经网络模型)可以通过推断对输入数据执行任务。在推断期间,可以从输入数据中提取特征并使用分类器将特征与分数进行比较,以进行预测并提供结果。特征提取和分类可以是计算密集的,并且可以包括对于模型中的每层计算特征和权重的点积。因此,当机器学习模型在AI引擎上运行时,需要由AI引擎执行大量的乘法和累加(MAC)操作。AI引擎可以包括多个MAC单元,MAC单元是用于执行MAC操作的硬件单元或块。在机器学习模型被部署在AI引擎上用于执行之前,映射工具可被用于从模型生成图元文件以指定模型中的每层与AI引擎中的MAC单元之间的静态映射。静态映射可以导致AI引擎中MAC单元的较低利用率。例如,当输入特征映射的片需要并非AI引擎中的总MAC单元的倍数的MAC的数量时,一些MAC可能是空闲的。由于静态映射,空闲MAC不能被用于处理输入特征映射的下一片。对于另一示例,由于特征映射的稀疏性,MAC单元可能不均衡地完成任务,从而使一些MAC单元空闲。即使对于静态地映射到特征映射片的MAC单元,一个或多个MAC单元也可能由于数据提取或指令提取中的等待时间而需要等待。< ...
【技术保护点】
1.一种集成电路,包括:/n多个乘法和累加MAC单元;以及/n调度器,耦接到MAC单元以管理并分配所述多个MAC单元的至少部分以执行被部署为人工智能AI引擎的一部分的神经网络模型以处理输入数据,所述调度器维护所述多个MAC单元的状态信息,/n其中响应于接收到从所述输入数据中提取的特征映射的片,所述调度器基于与MAC单元对应的状态信息,从所述多个MAC单元中选择一个或多个MAC单元以处理特征映射片。/n
【技术特征摘要】 【专利技术属性】
20190314 US 16/354,1071.一种集成电路,包括:
多个乘法和累加MAC单元;以及
调度器,耦接到MAC单元以管理并分配所述多个MAC单元的至少部分以执行被部署为人工智能AI引擎的一部分的神经网络模型以处理输入数据,所述调度器维护所述多个MAC单元的状态信息,
其中响应于接收到从所述输入数据中提取的特征映射的片,所述调度器基于与MAC单元对应的状态信息,从所述多个MAC单元中选择一个或多个MAC单元以处理特征映射片。
2.如权利要求1所述的集成电路,其中所述调度器包括具有比特阵列的调度器映射,所述比特阵列的每个元素对应于所述多个MAC单元中的一个,以及包括指示对应的MAC单元是空闲还是忙碌的比特。
3.如权利要求2所述的集成电路,其中所述调度器在所述多个MAC单元中的一个MAC单元被分配给特征映射片时设置所述比特阵列中的对应比特以将所述MAC单元标记为忙碌,以及在所述MAC单元中的多个处理元件PE中的每个已经完成其被分配的计算时重置所述对应比特以将所述MAC单元标记为空闲。
4.如权利要求2所述的集成电路,其中所述调度器在调度特征映射片用于在所述AI引擎上执行之前检查所述调度器映射以确定所述集成电路中的空闲的MAC单元的处理能力足以处理特征映射片。
5.如权利要求2所述的集成电路,其中所述一个或多个MAC单元选自所述集成电路上的最长连续空闲的MAC单元,其中选择的MAC单元的连续性基于它们的对应比特在所述比特阵列中的位置,以及指示它们在所述集成电路上的物理接近性。
6.如权利要求1所述的集成电路,其中,所述调度器是在所述多个MAC单元中实现的O(1)硬件调度器,或者是在所述集成电路上的动态随机存取存储器中实现的O(1)软件调度器。
7.如权利要求1所述的集成电路,还包括:
静态随机存取存储器SRAM,用以存储用于所述神经网络模型的多个层中的每层的输入特征映射、输出特征映射以及权重。
8.如权利要求7所述的集成电路,其中用于所述神经网络模型的当前层的输入特征映射的多个片与第一头部链接以创建第一链表,以及其中在一个输入特征映射片已经被所述AI引擎处理后,将从所述第一链表中移除所述输入特征映射片。
9.如权利要求8所述的集成电路,其中与处理的输入特征映射片对应的输出特征映射片被链接到第二头部以创建用于当前层的第二链表。
10.如权利要求9所述的集成电路,其中当用于所述当前层的输入特征映射的多个片中的最后一片被处理时,所述第一头部将与所述第二头部交换,以便所述第二链表中的用于所述当前层的输出特征映射片将被提供作为用于所述神经网络模型的下一层的输入特征映射片。
11.一种用于在集成电路内处理数据的方法,所述方法包括:
由具有多个乘法和累加MAC单元的集成电路的调度器接收从提供至神经网络模型的输入数据中提取的特征映射的片,所述神经网络模型被部署为人工智能AI引擎的一部分,
技术研发人员:郭敏,
申请(专利权)人:百度美国有限责任公司,
类型:发明
国别省市:美国;US
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。