官方博客:https://research.ibm.com/blog/northpole-ibm-ai-chipNorthPole 的不同之处 NorthPole 与传统的 AI 处理器不同首先,NorthPole 对训练神经网络的需求没有任何帮助,它纯粹是为执行而设计的。其次,它不是通用的 AI 处理器,而是专门为以推理为重点的神经网络设计的。所以,如果你想用它推理、找出图像或音频片段的内容等,那么它就对了。但如果你需要运行一个大型语言模型,这款芯片看起来就没有什么太大用处了。最后,虽然 NorthPole 借鉴了神经形态计算芯片的一些理念,但它并不是神经形态硬件,因为它的处理单元执行的是计算,而不是模拟实际神经元使用的脉冲通信。NorthPole 和之前的 TrueNorth 一样,由一个大型计算单元阵列(16×16)组成,每个单元都包含本地内存和代码执行能力。因此,神经网络中各种连接的所有权重都可以准确地存储在需要的地方。他还有一个特点是广泛的片上网络,至少有四种不同的网络。其中一些网络将已完成计算的信息传送到下一个需要它们的计算单元。其他网络则用于重新配置整个计算单元阵列,在上一层计算仍在进行时,提供执行一层神经网络所需的神经权重和代码。最后,优化相邻计算单元之间的通信。这对于在图像中寻找物体边缘等情况非常有用。如果在输入图像时将相邻像素分配给相邻的计算单元,它们就能更轻松地合作识别出跨越相邻像素的特征。除此之外,NorthPole 的计算资源也不同寻常。每个单元都经过优化,可执行精度较低的计算,精度从 2 bit 到 8 bit 不等。为了保证这些执行单元的使用,它们不能根据变量值执行条件分支。也就是说,使用者的代码不能包含 if 语句。这种简单的执行方式使每个计算单元都能进行大规模并行执行。在 2 bit 精度下,每个单元可并行执行 8000 多次计算。配套软件由于这些独特设计,NorthPole 团队需要开发自己的训练软件,以计算出每一层成功运行所需的最低精度水平。在芯片上执行神经网络也是一个相对不寻常的过程。一旦神经网络的权重和连接被置于芯片上的缓冲区,执行时只需要一个外部控制器上传它要运行的数据,并告诉它开始运行。其他一切运行都无需中央处理器参与,这也限制了系统级功耗。