[发明专利]使用混合精度数据格式训练神经网络加速器在审
申请号: | 201980083108.2 | 申请日: | 2019-12-05 |
公开(公告)号: | CN113196305A | 公开(公告)日: | 2021-07-30 |
发明(设计)人: | B·D·鲁哈尼;T·纳;E·S·钟;D·洛;D·C·伯格 | 申请(专利权)人: | 微软技术许可有限责任公司 |
主分类号: | G06N3/063 | 分类号: | G06N3/063;G06N3/04 |
代理公司: | 北京市金杜律师事务所 11256 | 代理人: | 马明月 |
地址: | 美国华*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 使用 混合 精度 数据格式 训练 神经网络 加速器 | ||
1.一种计算系统,包括:
计算机可读存储器,存储神经网络的给定层的操作参数;以及
硬件加速器,与所述计算机可读存储器通信,所述硬件加速器被配置为:
接收针对多层神经网络的给定层的输入张量;
将所述输入张量从普通精度浮点格式转换为量化精度浮点格式;
使用被转换为所述量化精度浮点格式的所述输入张量来执行张量运算;
将所述张量运算的结果从所述量化精度浮点格式转换为所述普通精度浮点格式;以及
使用经转换的、以所述普通精度浮点格式的所述结果来更新被存储在所述计算机可读存储器中的所述操作参数,其中所述参数以普通精度浮点格式被存储。
2.根据权利要求1所述的计算系统,其中所述量化精度浮点格式是具有共享共同指数的多个尾数值的块浮点格式。
3.根据权利要求1或2中任一项所述的计算系统,其中所述输入张量是二维矩阵,并且所述量化精度浮点格式是块浮点格式,在所述块浮点格式中,给定行内的多个尾数值共享共同指数,并且不同行中的尾数值具有相应的不同指数。
4.根据权利要求1至3中任一项所述的计算系统,其中所述输入张量是卷积滤波器,并且所述量化精度浮点格式是块浮点格式,在所述块浮点格式中,空间像素内的多个尾数值共享共同指数。
5.根据权利要求1至4中任一项所述的计算系统,其中所述张量运算在所述神经网络的反向传播模式期间被执行,所述输入张量是从相邻层到所述给定层的输出误差项。
6.根据权利要求1至5中任一项所述的计算系统,其中使用经转换的、以所述普通精度浮点格式的所述结果来更新所述操作参数包括:执行标量运算,所述标量运算使用经转换的、以所述普通精度浮点格式的所述结果来生成所述操作参数。
7.一种用于神经网络加速器的方法,所述方法包括:
将所述神经网络加速器配置为加速多层神经网络的给定层;
将针对所述给定层的输入张量从普通精度浮点格式转换为块浮点格式;
使用被转换为所述块浮点格式的所述输入张量来执行张量运算;
将所述张量运算的结果从所述块浮点格式转换为所述普通精度浮点格式;以及
使用经转换的、以所述普通精度浮点格式的所述结果来生成所述神经网络的所述层的输出张量,其中所述输出张量是以普通精度浮点格式。
8.根据权利要求7所述的方法,其中将所述神经网络加速器配置为加速所述多层神经网络的所述给定层包括:初始化所述多层神经网络的所述给定层的输入边的权重。
9.根据权利要求7或8中任一项所述的方法,其中将针对所述给定层的所述输入张量从所述普通精度浮点格式转换为所述块浮点格式包括:
为所述输入张量的多个元素选择边界框。
10.根据权利要求7至9中任一项所述的方法,其中将针对所述给定层的所述输入张量从所述普通精度浮点格式转换为所述块浮点格式包括:
为所述输入张量的多个元素选择边界框;
标识针对在所述输入张量的所述边界框内的、所选择的所述多个元素的共享指数;
缩放所述输入张量的所述元素的尾数值,使得经缩放的所述尾数的整数部分具有用于所述块浮点格式的、所选择的比特数;
从所述尾数的经缩放的整数部分中移除小数比特;以及
舍入所述尾数以产生块浮点值。
11.根据权利要求7至10中任一项所述的方法,其中所述多层神经网络是循环神经网络,并且将所述神经网络加速器配置为加速所述多层神经网络的所述给定层包括:将硬件编程为执行所述循环神经网络的层的功能。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于微软技术许可有限责任公司,未经微软技术许可有限责任公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201980083108.2/1.html,转载请声明来源钻瓜专利网。