[发明专利]一种防止数据溢出的方法、装置和芯片有效
申请号: | 202010044318.5 | 申请日: | 2020-01-15 |
公开(公告)号: | CN111258537B | 公开(公告)日: | 2022-08-09 |
发明(设计)人: | 不公告发明人 | 申请(专利权)人: | 中科寒武纪科技股份有限公司 |
主分类号: | G06F7/499 | 分类号: | G06F7/499;G06N20/00 |
代理公司: | 北京维昊知识产权代理事务所(普通合伙) 11804 | 代理人: | 李波;孙新国 |
地址: | 100000 北京市海*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 防止 数据 溢出 方法 装置 芯片 | ||
本公开防止数据溢出的方法、装置和芯片。其中该防止数据溢出的装置可以包括在组合处理装置中,该组合处理装置还可以包括通用互联接口和其他处理装置。该防止数据溢出的装置与其他处理装置进行交互,共同完成用户指定的计算操作。组合处理装置还可以包括存储装置,该存储装置分别与防止数据溢出的装置和其他处理装置连接,用于防止数据溢出的装置和其他处理装置的数据服务。借助于本公开的内容,使得在CPU和机器学习单元交互的时候,数据从CPU拷到机器学习单元上时,数据在从float32浮点数格式数据转换到float16浮点数格式数据的时候,不会出现float16浮点数格式数据因为狭窄的表示范围造成的溢出问题。
技术领域
本公开涉及计算机领域,更具体地涉及一种防止数据溢出的方法、装置和芯片。
背景技术
在现有技术使用的板卡上,由于在机器学习单元上的表示精度是float16浮点数格式,一个float16浮点数格式数据占据两个字节,其中1位符号位,5位指数位,10位有效精度。数值计算公式为:(-1)^signbit*2^(e)*(1+significantbits)。一个float16浮点数格式数据最大值为:0 111101111111111=(-1)^0*2^15*(1+1-2^-10)=65504,最小值为:0000010000000000=2^-14=6.10*10^-5,即一个float16浮点数格式数据表示范围是[6.10*10^-5,65504]。而在中央处理单元(CPU)上表示的精度是float32浮点数格式数据。
现有技术存在的缺陷在于,因为CPU和机器学习单元存在交互行为,数据从CPU拷贝到机器学习单元上,数据就从float32浮点数格式数据转换到了float16浮点数格式数据。但是float16浮点数格式数据因为狭窄的表示范围会带来溢出问题。网络的输入、输出或者权值表示的范围超出了float16浮点数格式数据的表示范围后,在机器学习单元上这个数值就会溢出(上溢或者下溢)。
发明内容
为了至少解决在上述背景技术部分所描述的问题,以避免数据的溢出,本公开提出了如下的技术方案。
根据本公开的第一方面,提供了一种防止数据溢出的方法,可以包括下面的步骤:
在数据上溢的情况下,将输入数据先缩小n倍,然后在后续的输出单元再放大相应的倍数;和/或
在数据下溢的情况下,将输入数据先放大n倍,然后在后续的输出单元再缩小相应的倍数。
根据本公开的第二方面,提供了一种用于防止数据溢出的装置,可以包括:
处理器,其配置用于执行程序指令;以及
存储器,其配置用于存储程序指令,当程序指令由处理器加载并执行时,使得装置执行根据上述的方法。
根据本公开的第三方面,提供了一种用于防止数据溢出的芯片,可以包括:
输入端,其配置成用于接收输入数据;
处理器,其配置成用于:
在数据上溢的情况下,将输入数据先缩小n倍,然后在后续的输出单元再放大相应的倍数;和/或
在数据下溢的情况下,将输入数据先放大n倍,然后在后续的输出单元再缩小相应的倍数。
借助于上述的技术方案,使得在CPU和机器学习单元交互的时候,数据从CPU拷到机器学习单元上,即数据在从float32浮点数格式数据转换到float16浮点数格式数据的时候,不会出现float16浮点数格式数据因为狭窄的表示范围造成的溢出问题。
附图说明
图1示意性示出了现有技术中CPU的批量归一化层(bn层)的计算逻辑图。
图2示意性示出了根据本公开一个实施例的防止数据溢出的方法流程图;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中科寒武纪科技股份有限公司,未经中科寒武纪科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010044318.5/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种区块链私钥托管方法及系统
- 下一篇:一种复杂形状大型薄壁件及其制造工艺
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置