Nvidia正在研究什么?首席科学家透露!
来源:内容由半导体行业观察(ID:icbank)编译自hpcwire,谢谢。
在常规 GPU 技术会议的专题报道中,Nvidia 首席科学家兼研究高级副总裁 Bill Dally通常会介绍 Nvidia 如何组织研发以及它的一些首要任务。在上周的 GTC23 上,Dally 再次展示了 Nvidia 研发的幕后花絮。
“我们松散地分为供应方和需求方。供应方的研究小组生产我们提供的技术,使 GPU 变得更好。这些都是进入 GPU 本身的东西,”Dally 说。
“我们有一个电路研究小组,负责设计更好的电路,用于芯片和类似设备之间的信号传输;一个致力于新设计方法的 VLSI 小组,实际上我们的许多深度学习加速器工作都是在该小组中进行的;一个架构组,一个做网络的组,一个做编程系统的组;和一个研究 GPU 存储系统的小组。需求方负责推动对 GPU 的需求,开发引人注目的应用程序以引导客户购买更多 GPU。从历史上看,很多这样的工作都是图形化的。”
Dally 说,在全球范围内,Nvidia 拥有大约 300 名博士。从事研发工作。毫不奇怪,AI 技术(硬件和软件)已成为 Nvidia 的主要目标,Nvidia 现在有五个不同的 AI 组。
“有些有特定的任务,比如我们的感知学习组和我们的人工智能算法组。我们还有一个应用深度学习研究小组,将深度学习技术转化为产品应用。然后在使用 AI 方面,我们有一组在做机器人技术,另一组在做自动驾驶汽车。有时,我们会将人们从多个组中抽调到一个集成组或 Moonshot 组中;我们为研究 GPU 做了其中一个,最终变成了Volta,”Dally 说。另一个 Moonshot 产生了 Nvidia 的实时光线追踪,最终导致了图灵 GPU架构中的 RT 内核。
今年春天,Dally 重点介绍了围绕自动驾驶开发更好的不确定性量化、使用降低精度的数值表示来加速深度学习性能而不牺牲准确性的改进技术,以及用于图像、视频和 3-D 图像的视觉转换器和生成模型的工作. 我们将只涉及两个主题。
面向安全驾驶的更好的不确定性预测
当然,人工智能技术是自动驾驶的基本要素。这就是让自动驾驶汽车——使用它们的摄像头、雷达和激光雷达——解释周围环境并做出预测的原因。Dally 指出,传统的机器学习将有一个网络,并针对图像运行一个模型,并产生一个单一的分类,比如行人、骑自行车的人或汽车,然后确定它是如何移动的。
“我们真正想做的是能够输出一个 [数据] 集,我们可以说它可能是行人,有一定的概率是骑自行车的人。如果我们判断距离,而不是说它是 20 米处的行人,我们可以说它是行人或可能是骑自行车的人,它的精度是 20 米正负一米,因为我们需要确保我们是不会错过这个对象。如果我们的估计偏离一米,那么在困难的情况下可能会变得很多。因此,我们不希望从我们的神经网络获得单个输出,而是希望有一组输出、一组可能的类(对象)和一组通常以平均估计位置为中心的可能位置。鉴于该输出集,我们可以运行我们的计划器,因此我们可以保证对该集的任何元素执行安全操作,”Dally 说。
一种称为共形预测(conformal prediction)的技术用于完成任务(见下面的幻灯片)。从广义上讲,这种方法包括一个不合格函数,用于为许多可能的解决方案注入范围概率或置信度。
Dally 举了一个将共形预测应用于物体姿态估计的例子。
“假设我们的车上有摄像头,它看到了另一辆车。提出了估计。我们将拍摄这辆车的图像,将其放入神经网络并检测汽车上的一些关键点;它们可能是左前角、左轮毂盖、窗户等。使用这些关键点,我们可以估计汽车的姿态,包括它的距离——目标距离 21 米——以及它的偏航、俯仰和滚动,[基本上]它的行驶方向。在这样做时,我们可以产生一个单一的估计,汽车在 21 米外,但这可能会产生误导,如果我们计算它恰好在 21 米外,我们实际上可能会让我们的规划器生成一个不安全的计划。解决这个问题的正确方法是进行共形预测。完成校准集后,我们可以通过这些检测中的每一个来 [生成] 而不是单个输出点 y,但是一组可能的y。你可以把这个集合想象成围绕这个实际关键点的某个直径的球体[代表预测置信度,见下图],”他说。
“通过我们的姿态估计器运行这些共形预测会将每个关键点的不确定性传播到 [整体] 姿态的不确定性。所以,我们会说这个目标在 21 米外,正负 1.2 米。如果我们估计它的偏航、俯仰和滚动角度,我们也会对每一个都有不确定性,这样我们就可以更准确地预测这辆车未来可能的发展方向。使用不确定性预测,我们可以高置信度地保证,实际上以我们想要附加到保形预测的任何置信度百分比,我们已经正确检测到车辆并且我们可以在我们的规划器中做出统计保证以产生安全路径。
Dally 还花时间解决了应对不断增长的模型/网络规模和数据集的挑战,以及 Nvidia 如何努力提高其硬件的应对能力。
“我们实际上在这方面有很好的历史。这张图表(下图)说明的是,在过去 10 年中,从 2012 年的 Kepler 一代开始,到去年 2022 年的 Hopper 一代,我们已经将单芯片推理性能提高了 1,000 倍。这基本上每年翻一番。但正如您之前看到的,这跟不上模型改进的速度。我们这样做的方式并不是因为摩尔定律。因为摩尔定律已死。这里有四代技术,从 Kepler 的 28 纳米到 Hopper 的 5 纳米。但技术改进实际上只占这 1,000 倍的两倍半左右。其他 400 倍来自更好的设计、更好的架构。让我们谈谈那里的一些要点,”Dally 说。
“如果你看看我们的改进,从开普勒开始,所有的算法都是在 FP32 中完成的。真正的收益来自更有效的数字表示,从 FP32 到 FP16 再到 INT8,最后是 FP8。有了 Hopper,[有]更复杂的指令,这样我们就可以分摊指令获取和操作数获取的开销到更多的操作——这是张量核心的营销名称,但它实际上是像 HMMA(half-precision matrix multiply accumulator),IMMA(integer matrix multiply accumulate)。这使我们达到了 Hopper 的水平,它的效率约为每瓦 10 tera-ops。我们一直在研究如何才能比这做得更好,一种方法是尝试继续从数字表示中获得收益。”
“但如果我们只是从 INT8 到 INT4,甚至从 FP8 到 FP4,我们发现我们实际上放弃了一些东西,我们的准确性会急剧下降。我们需要更聪明地了解如何进行量化,如何从更高精度的数字表示量化到更低精度的数字表示。您可以将执行此操作的常规方法视为标记为常规量化的棕色区域(下面的幻灯片)。如果我们可以更聪明地进行量化,我们最终可以在相同的精度水平上获得更高的效率。因此,我们将把这个权衡效率与准确性的帕累托最优边界移出。这基本上就是我们希望每年将效率提高一倍的方式,”Dally 说。
Nvidia 正在研究其他方法来扩展量化的使用,例如使用矢量缩放量化和改进的裁剪。Dally 建议,考虑量化的一种方法是从网络中的权重和激活为实数开始;它们沿着数轴连续分布,越接近零,越接近尾部的越少。
“大多数深度学习系统所做的是,它们量化整个网络或可能独立地量化网络的每一层。通过这样做,您必须采用权重分布并确定您要表示的一些最大-最小值。这是一个很大的分布,因为你正在做一个完整的网络,那里有成千上万的值。所以你得到了很大范围的[值],你得到了有限数量的符号,你可以对其进行量化,每个符号之间的空间最终变得很大,[并且你] 得到很大的量化噪声。”Dally 说。
“另一方面,如果我们取少量的点,比如一个包含 16 到 64 个元素的向量,因为点数较少,值的范围就会小得多。现在我们可以更严格地设置我们的最大最小点,并且我们得到更少的噪音。所以这里的概念不是一次缩放整个网络层,而是独立缩放每个向量。这最终会给我们带来更高的精度,然后我们可以在量化后使用更少的比特,但仍能获得相同的精度。”
“它真正表明的是,”Dally 说,“如果我们操作 FP32,这基本上被认为是实数,我们就会获得一定程度的准确性。如果我们量化到 INT8,我们将获得相同级别的精度。如果我们天真地尝试量化为 INT4,我们的准确度就会跌落悬崖,网络将毫无价值。但是,如果我们应用逐向量量化,我们最终会在 INT4 处获得与在 INT8 处获得的相同精度。但现在,就运行网络所需的功耗而言,我们的网络效率提高了两倍多。”
Dally 的 GTC 演讲总是语速很快,同时又易于理解。值得直接观看,虽然您不会看到任何秘方,但它确实提供了对 Nvidia 思维的洞察力。
👇👇 点击文末【阅读原文】,可查看原文链接!
*免责声明:本文由作者原创。文章内容系作者个人观点,半导体行业观察转载仅为了传达一种不同的观点,不代表半导体行业观察对该观点赞同或支持,如果有任何异议,欢迎联系半导体行业观察。
今天是《半导体行业观察》为您分享的第3355内容,欢迎关注。
推荐阅读
半导体行业观察
『半导体第一垂直媒体』
实时 专业 原创 深度
识别二维码,回复下方关键词,阅读更多
晶圆|集成电路|设备|汽车芯片|存储|台积电|AI|封装
回复 投稿,看《如何成为“半导体行业观察”的一员 》
回复 搜索,还能轻松找到其他你感兴趣的文章!
微信扫码关注该文公众号作者