【技术实现步骤摘要】
【国外来华专利技术】具有非均匀尾数的神经网络激活压缩
技术介绍
[0001]机器学习(ML)和人工智能(AI)技术可以被用于解决许多复杂的计算问题,诸如识别图像和语音、分析和分类信息、以及执行各种分类任务。机器学习是计算机科学的一个领域,它使用统计技术来使计算机系统能够从训练数据集合中提取更高级别的特征。具体来说,可以通过训练诸如人工神经网络(NN)或深度神经网络(DNN)之类的模型来提取特征。模型经过训练之后,新数据可以被应用于模型,并且可以使用经训练的模型对新数据进行分类(例如,可以提取更高级别的特征)。机器学习模型通常在通用处理器(也被称为中央处理单元(CPU))上被执行。然而,训练模型和/或使用模型在计算上可能是昂贵的,并且因此可能无法使用通用处理器实时地执行特征提取。因此,有大量机会改进计算机硬件和软件以实现神经网络。
技术实现思路
[0002]公开了用于以压缩格式存储来自神经网络的激活值以用于在神经网络的前向和后向传播训练期间使用的装置和方法。适合采用这种神经网络的计算系统包括具有通用处理器、神经网络加速器或可重构逻辑设备(诸如现场可编程门阵列(FPGA))的计算机。前向传播期间生成的激活值可以以压缩格式“隐藏”(临时存储在大容量存储器中),并且被取回以用于在后向传播期间使用。训练期间使用的激活值可以用量化或块浮点格式(BFP)来表达。所存储的激活值可以是比训练期间使用的格式进一步压缩的格式。在一些示例中,压缩格式包括用于压缩值的有损或非均匀尾数。
[0003]在所公开技术的一些示例中,计算机系统包括通用和/或专用神经网络处理 ...
【技术保护点】
【技术特征摘要】
【国外来华专利技术】1.一种计算系统,包括:一个或多个处理器;包括计算机可读存储设备和/或存储器的大容量存储器;由所述处理器中的至少一个处理器形成的浮点压缩器,所述块浮点压缩器与所述大容量存储器通信;并且所述计算系统被配置为:利用所述处理器中的至少一个处理器,针对神经网络的层执行前向传播,以产生第一浮点格式的第一激活值,所述第一浮点格式具有正常尾数格式;利用所述浮点压缩器,通过将激活值尾数映射到非均匀尾数格式,将所述激活值中的至少一个激活值转换为第二浮点格式,以产生压缩的激活值;以及利用所述处理器中的至少一个处理器,将所述压缩的激活值存储在所述大容量存储器中。2.根据权利要求1所述的计算系统,其中所述映射包括:将具有所述正常尾数格式的两个或更多个尾数值的尾数映射到所述非均匀尾数格式的单个尾数值。3.根据权利要求1所述的计算系统,其中所述映射包括:将具有所述正常尾数格式的一个或多个尾数值的第一尾数映射到所述非均匀尾数格式的单个尾数值;以及将具有所述正常尾数格式的至少多出一个尾数值的第二尾数映射到所述非均匀尾数格式的单个尾数值。4.根据权利要求1
‑
3中任一项所述的计算系统,其中所述压缩器还被配置为通过至少执行以下中的一项或多项来在所述存储之前进一步压缩所述压缩的激活值:熵压缩、零压缩、行程长度编码、压缩的稀疏行压缩、或者压缩的稀疏列压缩。5.根据权利要求1
‑
4中任一项所述的计算系统,其中所述计算系统还被配置为:通过将存储的所述压缩的激活值转换为所述第一浮点格式的激活值以产生未压缩的激活值,来针对所述神经网络的层执行后向传播;以及利用所述未压缩的激活值来执行梯度操作。6.根据权利要求1
‑
4中任一项所述的计算系统,其中所述层是第一层,所述压缩的激活值是第一压缩的激活值,所述非均匀尾数格式是第一非均匀尾数格式,并且其中所述计算系统还被配置为:利用所述处理器中的至少一个处理器,针对神经网络的不同的第二层执行前向传播,以产生所述第一浮点格式的第二激活值;利用所述浮点压缩器,针对所述第二激活值中的至少一个第二激活值,将所述第二激活值中的所述至少一个第二激活值转换为第三浮点格式,以产生第二压缩的激活值,所述第三浮点格式具有第二非均匀尾数格式的激活值尾数,所述第二非均匀尾数格式与所述第一非均匀尾数格式不同;以及利用所述处理器中的至少一个处理器,将所述第二压缩的激活值存储在所述大容量存储器中。7.根据权利要求1
‑
6中任一项所述的计算系统,其中:
所述处理器包括以下至少一项:张量处理单元、神经网络加速器、图形处理单元、或者以可重构逻辑阵列实现的处理器;并且所述大容量存储器包括动态随机存取存储器(DRAM)或嵌入式DRAM,并且所述系统还包括硬件加速器,所述硬件加速器包括临时存储针对所述神经网络的仅一层的至少一部分的所述...
【专利技术属性】
技术研发人员:D,
申请(专利权)人:微软技术许可有限责任公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。