[发明专利]针对神经网络训练调整激活压缩在审
申请号: | 202080014556.X | 申请日: | 2020-01-30 |
公开(公告)号: | CN113424202A | 公开(公告)日: | 2021-09-21 |
发明(设计)人: | D·洛;B·达尔维什·鲁哈尼;E·S·钟;赵一人;A·费尼沙耶;R·赵 | 申请(专利权)人: | 微软技术许可有限责任公司 |
主分类号: | G06N3/063 | 分类号: | G06N3/063;G06N3/08;G06N3/04 |
代理公司: | 北京市金杜律师事务所 11256 | 代理人: | 马明月 |
地址: | 美国华*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 针对 神经网络 训练 调整 激活 压缩 | ||
1.一种计算系统,包括:
一个或多个处理器;
包括计算机可读存储设备和/或存储器的大容量存储器;
由所述处理器中的至少一个处理器形成的浮点压缩器,所述浮点压缩器与所述大容量存储器通信;并且
所述计算系统被配置为:
产生包括以第一浮点格式表达的激活值的神经网络,
基于针对所述神经网络的性能度量,选择针对所述神经网络的第二浮点格式,
将所述激活值中的至少一个激活值转换为所述第二浮点格式,从而产生经压缩的激活值,以及
利用所述处理器中的至少一个处理器,将所述经压缩的激活值存储在所述大容量存储器中。
2.根据权利要求1所述的计算系统,还被配置为:
将所述经压缩的激活值中的至少一个经压缩的激活值转换为所述第一浮点格式,以产生未压缩的激活值;以及
利用所述未压缩的激活值对所述神经网络的至少一层执行反向传播,产生经进一步训练的神经网络。
3.根据权利要求2所述的计算系统,其中所述计算系统还被配置为:
针对所述经进一步训练的神经网络执行前向传播,产生经更新的激活值;
基于所述经更新的激活值,确定经更新的性能度量;
基于所述经更新的性能度量,选择与所述第二浮点格式不同的第三浮点格式;
将所述经更新的激活值中的至少一个经更新的激活值转换为所述第三浮点格式,以产生第二经压缩的激活值;以及
将所述第二经压缩的激活值存储在所述大容量存储器中。
4.根据权利要求1-3中任一项所述的计算系统,其中所述第二浮点格式具有以离群值尾数格式或非均匀尾数格式表达的至少一个尾数。
5.根据权利要求1-4中任一项所述的计算系统,还被配置为:
确定所述神经网络的层的输出与预期输出之间的差异;以及
基于所确定的所述差异,通过增加被用来存储所述经压缩的激活值的尾数位数来选择第三浮点格式。
6.根据权利要求1-5中任一项所述的计算系统,其中所述压缩器还被配置为通过执行以下至少一项或多项来在所述存储之前对所述经压缩的激活值进行进一步压缩:熵压缩、零压缩、行程长度编码、压缩稀疏行压缩或压缩稀疏列压缩。
7.根据权利要求1-6中任一项所述的计算系统,其中:
所述处理器包括以下至少一项:张量处理单元、神经网络加速器、图形处理单元或者以可重构逻辑阵列实现的处理器;
所述大容量存储器位于与所述处理器不同的集成电路上;并且
其中所述大容量存储器包括动态随机存取存储器(DRAM)或嵌入式DRAM,并且所述系统还包括硬件加速器,所述硬件加速器包括临时存储针对所述神经网络的仅一层的至少一部分的第一激活值的存储器,所述硬件加速器存储器包括静态RAM(SRAM)或寄存器文件。
8.一种操作实现神经网络的计算系统的方法,所述方法包括:
利用所述计算系统:
基于针对所述神经网络的训练性能度量,选择激活压缩格式;以及
在计算机可读存储器或存储设备中存储针对所述神经网络的、以所述激活压缩格式表达的经压缩的激活值。
9.根据权利要求8所述的方法,还包括:
通过计算所述神经网络的至少一层的准确度或准确度变化,来产生所述训练性能度量。
10.根据权利要求8或权利要求9中任一项所述的方法,还包括:
解压缩所存储的所述经压缩的激活值并且训练所述神经网络;
评估针对经训练的所述神经网络的所述训练性能度量;
基于所述训练性能度量,将所述激活压缩格式调整为提高的精度;以及
以经调整的所述激活压缩形式存储针对经训练的所述神经网络的至少一层的激活值。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于微软技术许可有限责任公司,未经微软技术许可有限责任公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202080014556.X/1.html,转载请声明来源钻瓜专利网。