IBM 再度发力。
随着 AI 系统的飞速发展,其能源需求也在不断增加。训练新系统需要大量的数据集和处理器时间,因此能耗极高。在某些情况下,执行一些训练好的系统,智能手机就能轻松胜任。但是,执行的次数太多,能耗也会增加。
幸运的是,有很多方法可以降低后者的能耗。IBM 和英特尔 已经试验过模仿实际神经元 行为设计的处理器。IBM 还测试了在相变存储器中执行神经网络 计算,以避免重复访问 RAM。
现在,IBM 又推出了另一种方法。该公司的新型 NorthPole 处理器综合了上述方法的一些理念,并将其与一种非常精简的计算运行方法相结合,从而创造出一种能高效执行基于推理的神经网络 的高能效芯片。在图像分类或音频转录等方面,该芯片的效率是 GPU 的 35 倍。
官方博客:research.ibm.com/blog/northp...
NorthPole 的不同之处
NorthPole 与传统的 AI 处理器不同
首先,NorthPole 对训练神经网络 的需求没有任何帮助,它纯粹是为执行而设计的。其次,它不是通用的 AI 处理器,而是专门为以推理为重点的神经网络 设计的。所以,如果你想用它推理、找出图像或音频片段的内容等,那么它就对了。但如果你需要运行一个大型语言模型 ,这款芯片看起来就没有什么太大用处了。
最后,虽然 NorthPole 借鉴了神经形态计算 芯片的一些理念,但它并不是神经形态硬件,因为它的处理单元执行的是计算,而不是模拟实际神经元 使用的脉冲通信。
NorthPole 和之前的 TrueNorth 一样,由一个大型计算单元阵列(16×16)组成,每个单元都包含本地内存和代码执行能力。因此,神经网络 中各种连接的所有权重 都可以准确地存储在需要的地方。
他还有一个特点是广泛的片上网络,至少有四种不同的网络。其中一些网络将已完成计算的信息传送到下一个需要它们的计算单元。其他网络则用于重新配置整个计算单元阵列,在上一层计算仍在进行时,提供执行一层神经网络 所需的神经权重 和代码。最后,优化相邻计算单元之间的通信。这对于在图像中寻找物体边缘等情况非常有用。如果在输入图像时将相邻像素分配给相邻的计算单元,它们就能更轻松地合作识别出跨越相邻像素的特征。
除此之外,NorthPole 的计算资源也不同寻常。每个单元都经过优化,可执行精度较低的计算,精度从 2 bit 到 8 bit 不等。为了保证这些执行单元的使用,它们不能根据变量值执行条件分支。也就是说,使用者的代码不能包含 if 语句。这种简单的执行方式使每个计算单元都能进行大规模并行执行。在 2 bit 精度下,每个单元可并行执行 8000 多次计算。
配套软件
由于这些独特设计,NorthPole 团队需要开发自己的训练软件,以计算出每一层成功运行所需的最低精度水平。在芯片上执行神经网络 也是一个相对不寻常的过程。
一旦神经网络 的权重和连接被置于芯片上的缓冲区,执行时只需要一个外部控制器上传它要运行的数据,并告诉它开始运行。其他一切运行都无需中央处理器参与,这也限制了系统级功耗。
NorthPole 测试芯片采用 12 纳米工艺制造,远远落后于前沿技术。尽管如此,他们还是成功地在 220 亿晶体管上安装了 256 个计算单元,每个单元拥有 768 KB 的内存。当该系统与采用类似工艺制造的英伟达 V100 Tensor Core GPU 相比时,可以发现 NorthPole 在相同功耗下的计算能力是后者的 25 倍。
在相同的条件下,NorthPole 的性能比最先进的 GPU 高出约五倍。对该系统的测试表明,它还能高效执行一系列广泛使用的神经网络任务。