[发明专利]用于神经网络的数据压缩在审
申请号: | 202010192465.7 | 申请日: | 2020-03-18 |
公开(公告)号: | CN111708511A | 公开(公告)日: | 2020-09-25 |
发明(设计)人: | D·R·加西亚·加西亚 | 申请(专利权)人: | 辉达公司 |
主分类号: | G06F5/01 | 分类号: | G06F5/01;G06F7/556;G06F17/16;G06N3/08 |
代理公司: | 北京市磐华律师事务所 11336 | 代理人: | 刘爱平 |
地址: | 美国加利*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 神经网络 数据压缩 | ||
本申请提供了一种用于神经网络的数据压缩。用于生成数据集的代表值的系统和方法,通过首先压缩数据集中的一部分值来确定第一公共值以及进一步压缩这一部分值的子集来确定第二公共值。代表值是通过取第一公共值和第二公共值之间的差生成的,其中代表值对应于第一和第二公共值与该一部分值的子集内的每个值之间的数学关系。相比于第一和第二公共值,代表值需要更少的存储。
背景技术
在存储压缩数据以实现所需存储度量时,能够压缩和解压缩数据以及进一步减少位数会涉及存在各种技术挑战。与确定压缩数据元素的压缩数值表示以及进一步存储这些压缩数值表示(通常由大量位表示)相关的算法可能会超过或以其他方式压倒与存储设备关联的存储容量。而且,由于这些数值表示的大小,与训练神经网络相关的计算成本也会受到影响。此外,在给定带宽限制和/或计算环境中的限制的情况下,需要大量位的数值表示通常会导致与在设备内或不同设备之间传输数据相关的复杂问题。
附图说明
参考附图来对各种技术进行描述,其中:
图1根据实施例说明了计算环境,在其中执行了块浮点(Block Floating Point,BFP)编码器以生成一个或更多个压缩数值表示;
图2根据实施例说明了包括由指数、符号和尾数表示的值的集合(例如,根据块浮点格式)的矩阵的图以及另一个包括由指数、压缩数值表示、符号和尾数表示的值的集合(根据具有压缩数值表示的块浮点格式)的矩阵的图;
图3根据实施例说明了示例性的矩阵、子矩阵(或块)、块的子矩阵(或四元组)和标量的图;
图4根据实施例说明了在其中确定块和四元组(quad)的公共指数值的图;
图5根据实施例说明了在其中确定与块中和四元组中的值之间的数学关系相对应的压缩数值表示(或指示符)的图;
图6根据实施例显示了用于生成与数据集中的指数值之间的数学关系相对应的压缩数值表示(或指示符)的过程的说明性示例;
图7根据实施例显示了用于生成与数据集中的指数值之间的数学关系相对应的压缩数值表示(或指示符)的过程的另一说明性示例;
图8根据实施例说明了并行处理单元(“PPU”)的示例;
图9根据实施例说明了通用处理集群(“GPC”)的示例;
图10根据实施例说明了存储器分区单元的示例;
图11根据实施例说明了流式多处理器的示例;以及
图12根据实施例说明了在其中可以实现各种实施例的计算机系统。
具体实施方式
在一个实施例中,根据本公开实现的系统和方法用于在数据集中生成压缩数值表示,该压缩数值表示同时非常适合表示深度神经网络中的激活、权值和梯度,并同时可以在硬件中有效地实现。特别地,在一个实施例中,压缩数值表示适合矩阵乘法的有效实现,因为这些乘法主要构成了训练神经网络的计算成本的大部分。在一个实施例中,压缩数值表示包括整数或其他数值,但在某些实施例中,它包括值的指示符、确定该值的指示符和/或确定值的数学关系的指示符。
也就是说,在一个实施例中,根据本公开实现的系统和方法用于在多步骤过程中压缩数据集,其中对于数据集中的每个元素,通过找到可以存储一次而不是多次的值来首先对整个数据集进行压缩。在一个实施例中,然后,以相同的方式对数据集的各个子集进行压缩,以找到(对于每个子集)第二值,然后不存储该第二值,而是存储如何从第一值到第二值获得的指示符。该指示符通常比第二值本身占用更少的空间(更少的位),因此是一种更有效的存储数据集的值的方法。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于辉达公司,未经辉达公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010192465.7/2.html,转载请声明来源钻瓜专利网。
- 上一篇:用于操作汽车内部空间中的通风喷嘴的旋转操作元件
- 下一篇:钢带传动机构