【新智元导读】英伟达首席科学家揭秘英伟达 GPU 能如此成功的 4 个主要原因,4 个关键数据带来持续的行业竞争力。
数字表示:16 倍提升
Dally 表示,总的来说,我们最大的收获是来自更好的「数字表示」。
这些数字,代表着神经网络的「关键参数」。
其中一个参数是权重,模型中神经元与神经元之间的连接强度。
另一个是激活度,神经元的加权输入之和乘以多少才能决定它是否激活,从而将信息传播到下一层。
在 P100 之前,英伟达 GPU 使用单精度浮点数来表示这些权重。
根据 IEEE 754 标准定义,这些数字长度为 32 位,其中 23 位表示分数,8 位基本上是分数的指数,还有 1 位表示数字的符号。
但机器学习研究人员很快发现,在许多计算中,可以使用不太精确的数字,而神经网络仍然会给出同样精确的答案。
这样做的明显优势是,如果机器学习的关键计算 —— 乘法和累加 —— 需要处理更少的比特,可以使逻辑变得更快、更小、更高效。
因此,在 P100 中,英伟达使用了半精度 FP16。
谷歌甚至提出了自己的版本,称作 bfloat16。
两者的区别在于分数位和指数位的相对数量:分数位提供精度,指数位提供范围。Bfloat16 的范围位数与 FP32 相同,因此在两种格式之间来回切换更容易。
回到现在,英伟达领先的图形处理器 H100,可以使用 8 位数完成大规模 Transformer 神经网络的某些任务,如 ChatGPT 和其他大型语言模型。
然而,英伟达却发现这不是一个万能的解决方案。
例如,英伟达的 Hopper 图形处理器架构实际上使用两种不同的 FP8 格式进行计算,一种精度稍高,另一种范围稍大。英伟达的特殊优势在于知道何时使用哪种格式。
Dally 和他的团队有各种各样有趣的想法,可以从更少的比特中榨取更多的人工智能性能。显然,浮点系统显然并不理想。
一个主要问题是,无论数字有多大或多小,浮点精度都非常一致。
但是神经网络的参数不使用大数,而是主要集聚在 0 附近。因此,英伟达的 R&D 重点是寻找有效的方法来表示数字,以便它们在 0 附近更准确。
复杂指令:12.5 倍
「提取和解码指令的开销远远超过执行简单算术操作的开销,」 Dally 说道。
他以一个乘法指令为例,执行这个指令的固定开销达到了执行数学运算本身所需的 1.5 焦耳的 20 倍。通过将 GPU 设计为在单个指令中执行大规模计算,而不是一系列的多个指令,英伟达有效地降低了单个计算的开销,取得了巨大的收益。
Dally 表示,虽然仍然存在一些开销,但在复杂指令的情况下,这些开销会分摊到更多的数学运算中。例如,复杂指令整数矩阵乘积累加(IMMA)的开销仅占数学计算能量成本的 16%。
摩尔定律:2.5 倍
保持摩尔定律的有效性需要数十亿美元的投资、非常复杂的工程上的设计,甚至还会带来国际关系的不稳定。但这些投入都不是造成英伟达 GPU 的成功的主要原因。
英伟达一直在使用全球最先进的制造技术来生产 GPU——H100 采用台积电的的 N5(5 纳米)工艺制造。这家芯片工厂直到 2022 年底才开始建设它的其下一代 N3 工艺。在建好之前,N5 就是业内最顶尖的制造工艺。
稀疏性:2 倍
将这些网络变得「稀疏」以减少计算负荷是一项棘手的工作。
但是在 A100,H100 的前身中,英伟达引入了他们的新技术:「结构化稀疏性」。这种硬件设计可以强制实现每四个可能的剪枝事件中的两次,从而带来了一种新的更小的矩阵计算。
Dally 表示:「我们在稀疏性方面的工作尚未结束。我们需要再对激活函数进行加工,并且权重中也可以有更大的稀疏性。」=
#免责声明#
①本站部分内容转载自其它媒体,但并不代表本站赞同其观点和对其真实性负责。
②若您需要商业运营或用于其他商业活动,请您购买正版授权并合法使用。
③如果本站有侵犯、不妥之处的资源,请联系我们。将会第一时间解决!
④本站部分内容均由互联网收集整理,仅供大家参考、学习,不存在任何商业目的与商业用途。
⑤本站提供的所有资源仅供参考学习使用,版权归原著所有,禁止下载本站资源参与任何商业和非法行为,请于24小时之内删除!