[发明专利]低功率、低内存乘法和累加(MAC)单元在审
申请号: | 202111126072.7 | 申请日: | 2021-09-26 |
公开(公告)号: | CN114442994A | 公开(公告)日: | 2022-05-06 |
发明(设计)人: | 张帆;哈曼·巴蒂亚 | 申请(专利权)人: | 爱思开海力士有限公司 |
主分类号: | G06F7/487 | 分类号: | G06F7/487;G06N3/04;G06N3/063;G06N3/08 |
代理公司: | 北京路浩知识产权代理有限公司 11002 | 代理人: | 赵永莉;赵赫 |
地址: | 韩国*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 功率 内存 乘法 累加 mac 单元 | ||
本申请涉及与低功率、低内存乘法和累加(MAC)单元相关的技术。在示例中,MAC单元执行MAC运算,MAC运算表示数的乘法。基于量化和量化值的聚类来至少压缩一个数的位表示,由此使用索引位而非实际的位表示。将索引位加载到索引缓冲区中,并且将另一个数的位表示加载到输入缓冲区中。索引位被用于查找,以基于该位表示来确定是否将相应位表示和移位运算应用到输入缓冲区,然后进行累加运算。
技术领域
本申请涉及与低功率、低内存乘法和累加(MAC)单元相关的技术。
背景技术
在处理器的硬件级别,可以将变量的值量化,并且可以由位序列表示量化。进一步地,可以基于位表示来使用乘法和累加(MAC)运算。
在深度神经网络(DNN)应用(例如,图像处理、视频识别)中,可以使用量化来表示由DNN使用的值。通常,DNN的训练和推理中计算量最大的运算是MAC运算。在计算中,尤其是在数字信号处理器(DSP)级别,MAC运算可以计算两个数的乘积并将该乘积添加到累加器中。执行该运算的硬件单元被称为MAC单元。MAC运算修改累加器a:a←a+(b*c)。当在MAC运算中使用浮点数时,可能执行两次舍入(常见于许多DSP中)或一次舍入。DNN可以使用数百万到数十亿的浮点权重,并且因此浮点MAC运算消耗大量电力。当DNN部署到具有有限的内存占用和功率预算的边界装置或物联网(IoT)装置(诸如手机、固态驱动器(SSD)或相机)时,这将成为关键问题。
发明内容
描述了技术和系统,技术和系统涉及实施MAC运算的低功率、低内存MAC单元。MAC运算可以用于但不限于DNN训练和/或DNN推理。
在一个示例中,一种系统实施了一种方法。该方法包括确定第一数将与第二数相乘,并且执行MAC运算以将第一数与第二数相乘。执行MAC运算包括:确定与第一数相关联的量化级别的索引,其中该索引由“m”个位表示,其中量化级别由“l”个位表示,并且其中“l”大于“m”。执行MAC运算还包括:通过在查找表中至少使用索引来确定“r”组“k”位(即,“r”个组,每个组具有“k”个位),其中“r*k”等于“l”,并且其中“l”个位包括“r”组“k”位。执行MAC运算还包括:在应用到输入缓冲区的移位运算和累加运算中使用“r”组“k”位,输入缓冲区存储第二数的位表示。
描述该说明性示例并非为了限制或限定本公开,而是提供示例以帮助理解。在具体实施方式中讨论了附加的实施例和示例,并且提供了进一步的描述。
附图说明
可以通过参照下面的附图来实现对各个实施例的性质和优点的理解。
图1示出根据本公开的特定实施例的实施人工智能(AI)推理引擎的处理器的示例。
图2示出根据本公开的特定实施例的在训练时可以用作AI推理引擎的AI模型的示例。
图3示出根据本公开的特定实施例的用于执行基于压缩的MAC运算的流程的示例。
图4示出根据本公开的特定实施例的量化值的示例。
图5示出根据本公开的特定实施例的目标权重分布的示例。
图6示出根据本公开的特定实施例的基于目标权重分布的量化值的聚类的示例。
图7示出根据本公开的特定实施例的MAC单元的示例。
图8示出根据本公开的特定实施例的由MAC单元执行MAC运算的示例性流程。
图9示出根据本公开的特定实施例的由MAC单元执行MAC运算的另一示例性流程。
图10示出根据本公开的特定实施例的压缩量化级别的另一示例性流程。
图11示出根据本公开的特定实施例的基于压缩的MAC运算的计算系统的示例。
具体实施方式
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于爱思开海力士有限公司,未经爱思开海力士有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111126072.7/2.html,转载请声明来源钻瓜专利网。