当前位置:首页 > > 新基建
[导读]今天的 AI 模型有数十亿或数万亿个参数,即输入和权重。所以我们需要巨大的内存来激活。这当然会对芯片设计产生巨大影响,因为激活存储器经常支配平面布局。我们可以尝试使用量化、稀疏性、权重共享等概念来减少所需的内存。但它们只能走这么远,尤其是在模型庞大且持续增长的情况下。要是有办法压缩激活就好了!好吧,Perceive 的 CEO Steve Teig 想出了一个办法。

今天的 AI 模型有数十亿或数万亿个参数,即输入和权重。所以我们需要巨大的内存来激活。这当然会对芯片设计产生巨大影响,因为激活存储器经常支配平面布局。我们可以尝试使用量化、稀疏性、权重共享等概念来减少所需的内存。但它们只能走这么远,尤其是在模型庞大且持续增长的情况下。要是有办法压缩激活就好了!好吧,Perceive 的 CEO Steve Teig 想出了一个办法。

所以很多人都在谈论压缩重量。人们甚至谈到了压缩激活,你知道,用 8 位激活而不是更大的激活来运行它。但有趣的是,当代网络的激活足迹通常比它们在内存中的权重足迹大得多。因此,对于量化和稀疏性以及人们在权重上所做的所有努力,这很棒。在某些方面,更大的问题被忽略了,那就是激活支配了网络的内存占用,它既占用空间又占用能量和时间,因为你必须四处移动激活。

所以当我看到这个问题时,我首先意识到,如果你能做到的话,激活压缩将是一件好事。其次,应用人们用于激活权重的一些微不足道的技术总比没有好,但不会让你走得太远。所以,是的,如果你能以较低的精度逃脱,你应该使用较低的精度,实践中激活的稀疏性并不是很好,因为稀疏性是如此随机,如此不可预测,以至于很难建设性地利用这种缺乏结构。

但更进一步,人们对重量所做的压缩类型,你会得到 2 倍或 4 倍。那么,您将如何获得可能需要的 20 倍或 50 倍来摆脱激活通常需要的千兆字节?因此,这促使我们想出更有创意、更开箱即用的方法来解决这个问题。事实证明,数量级的压缩是可能的。所以这就是谈话的内容。

如果你要做图像处理,为了具体、超分辨率或图像降噪或类似的东西,你真的不必看在图片的总另一端的像素处,对图片这一端的降噪部分进行降噪。因此,您实际上不必将整个图像处理为平面。如果你这样做了,它将占用大量的激活内存。

但是,如果您有足够的计算量来足够快地完成工作,您实际上可以将图像分段并按顺序执行,这是一件半显而易见的事情,这可能会增加您的计算时间,也许是因为您没有这样做一切并行。但是您现在已经减少了激活足迹。

所以人们可以概括这个想法并说,好吧,关于神经网络的最酷的事情之一就是在编译时,当你拿到神经网络时,你完全了解所有的计算依赖关系。大家都知道,神经网络用气泡表示神经元,箭头表示数据移动。好吧,这些箭头告诉您您的计算是否取决于我的数据。如果是这样,您必须等我完成后才能开始。如果没有,我们可以并行进行。

好吧,我完全了解情况。你不需要在我之后立即进行。只需要你跟在我后面。所以我有难以置信的灵活性,只是在空间中移动计算的难以置信的灵活性,它们在物理并行设备上进行,并且及时,因为只要依赖关系按顺序发生,我就可以开始了。我仍然可以得到正确的答案。嗯,在空间和时间上、在时空中重新安排计算块的灵活性是巨大的。而且我可以在空间和时间上打包计算,以一种非常灵活的方式在吞吐量和激活内存之间进行权衡。

所以举个简单的例子,为了直觉,让我们假设我们正在对图像进行降噪,图像有 8 兆像素。好吧,如果我分成 100,000 个像素块,(我选择它是为了让我可以在脑海中进行数学计算),我刚刚完成了 1/80 的工作,所以我刚刚将激活足迹压缩了大约 80折叠。现在,我可能已经减慢了计算速度。但是今天的硬件真的很快。如果我以每秒 30 帧的速度运行来完成工作,我有整整 1/30 秒的时间。但这表明即使是 80 倍压缩对我来说也很容易获得。

我们生活在一个有趣的世界,计算几乎是免费的,而内存也几乎不是免费的。内存占据了我们大部分的芯片,如果你必须把内存从芯片上取下来,它几乎占据了所有的能量。在我们的例子中,我们在芯片上做所有事情,但即便如此。因此,让我们利用我们拥有这些快得离谱的晶体管以及其中的大量晶体管来节省内存这一宝贵资源的事实。

所以合理的做法是,当你有比你想要的更多的激活内存时,压缩它,将它的压缩版本存储在架子上,然后根据需要解压它。而且您几乎总是可以不只是有损压缩,而是残酷的有损压缩,因为您真正需要哪些原始数据以供下游计算使用?它需要一些东西,或一些东西,但不是一切。所以我的建议是我们可以制作简单的小工具,我称之为 X 网络。它看起来像一个 x,因为你有一个看起来像沙漏的上半部分的压缩器和一个看起来像沙漏的下半部分的减压器,可以这么说。因此,您可以通过狭窄的瓶颈挤压数据,然后根据需要对其进行扩展。您可以在构建大量激活数据时将其压缩部分并放入。你可以在消费者所在的地方安装减压器。在这两者之间,你现在已经压缩了你的足迹。

在这里,我们的实践经验也是,您可以获得令人难以置信的压缩量,并且不会放弃任何准确性,在大多数实际网络中,您需要它保留的实际数据量非常小。所以在这里,我们再次谈论的是可能的一个或两个数量级,而不是您可能从降低精度等琐碎事情中获得的 2 或 4 倍。

大多数从事神经网络工作的人还没有真正内化的关于计算的令人惊讶的事情之一是信息论中称为数据处理的东西。不等式。并且在这个讨论中没有过多的技术和数学,虽然我会在谈话中谈论它,基本上说的是,计算本身不能添加信息。因此,如果您获取数据体并通过一些计算将其传递,则计算是可逆的,在这种情况下,您可以重建输入并保留信息,或者不是,在这种情况下,您已经丢失本质上不可重构的信息。但是没有新的信息来源。

所以这就是说,你不可能需要比你输入网络更多的激活。通常你需要的比这要多得多、少得多。但这是一个上限。所以这表明我们拥有巨大激活的唯一原因是因为它可以非常方便地以一种便于下游计算的方式表示事物。但是,大型激活并不是必然的。事实上,相反的情况是可以证明的:原则上你永远不需要大的激活。因此,这是引入技术以利用这一机会的强大动力。

神经网络世界很有趣,尤其是现在。神经网络每年都在变得越来越大。人们双手叉腰说,好吧,我什至没有压缩我的网络;我可以把它平放。而且我认为当你说这样的话时你应该感到尴尬。事实是,如果我们正确地进行压缩,我们的网络可能是一百万倍——我并没有夸大其词,而是说一百万——可能比它们小一百万倍。没有人能做到这一点。我的团队,我们看到了 100 的因数。所以我们要去参加比赛了。但我们感到尴尬的是,我们将剩下的 10,000 个鸡蛋留在了桌子上。但每个人都应该认识到,我们的网络比计算所说的要大得多。


声明:该篇文章为本站原创,未经授权不予转载,侵权必究。
换一批
延伸阅读

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭