|
5月14日消息,长期神秘的加拿大AI芯片初创企业Tenstorrent终于在今年有了新动向,4月7日,Tenstorrent发布其首款AI芯片Grayskull,算力最高可达368TOPS,相当于是高通2019年12月发布的旗舰手机SoC骁龙865算力的24倍。相较市面上现有AI芯片产品,Grayskull不仅能兼顾高算力和低能耗,还具备高度可扩展的特点,可扩展到10万个节点,支持从小型嵌入式设备到大型数据中心的AI推理和训练任务。
一、兼顾高效能和高扩展性的创新架构
Tenstorrent在2016年创立,总部位于加拿大多伦多市。在创办Tenstorrent之前,其创始人兼CEO Ljubisa Bajic曾在NVIDIA芯片制造部门担任高级架构师,还曾在AMD担任IC设计师和架构师。
Bajic不认为像NVIDIA这样的芯片公司会很快消失,但是该公司迟早会研发不是GPU的AI芯片产品。
Bajic总结,当今对人工神经网络的研究主要集中于两个阵营:一是倾向于在CPU、GPU等硬件上进行密集的矩阵计算,当前已大规模落地;二是对脉冲神经网络(SNN,Spiking neural network)的研究,目前尚处研究阶段,还未实现广泛应用。
密集矩阵算法能够提高芯片密集计算能力,但是能耗较高,常通过以太网扩展到其他机器进行通信。
SNN通过电活动的尖峰来传递信息,运作方式更接近自然神经元。每次根据神经网络的行为,只有一定比例的神经元会被激活,这致使网络运行时能耗较低、条件执行效率较高。
但SNN无法保证硬件效率。Bajic解释,训练SNN时,设计人员试图用微分方程来直接描述自然神经元的运作过程,然后尽可能在硬件上实现这些运作方式。“对于工程师来说,这个过程基本上就是把许多标量处理器核心连接到标量网络上。”Bajic说。
据Bajic介绍,Tenstorrent希望能够设计出兼顾硬件效率、条件执行效率、存储效率和高度可扩展性(超过10万个芯片)的产品。
二、动态消除不必要计算,大幅节省功耗和运算时间
如何才能兼顾上述特性呢?研究人员设计了一个能实现细粒度条件执行、动态稀疏处理的完全可编程体系结构,可将较大数据组的复杂计算任务分解成多个较小数据组的计算,由芯片上的各个内核进行独立的处理。为了避免性能损失,Tenstorrent在这些数据组上启动了控制流。
“在运行较小矩阵时,我们可以加上‘if’语句来判别是否运行它们,如果要运行它们,还可以决定是用较低精度、全精度或是两者之间的其他精度。”Bajic说。通过动态消除不必要的计算,该方法打破了计算/带宽需求与模型大小之间的直接联系,使得模型可以适应于已提出的确切输入,并对模型进行训练。
这种创新的设计方法一方面实现了非常出色的能效,但另一方面也带来了关于软件和可扩展性的挑战。
首先需要与硬件适配的新软件堆栈。Bajic称:“问题在于,这个领域内许多公司推出的软件堆栈都假设有一套固定的维度和固定的工作要运行。因此,为了能够在运行时启用适配功能,需要硬件和软件堆栈都能支持它。”
而Tenstorrent的设计将许多决策程序从编译时转到运行时,以实现正确大小的输入。“当我们在运行时去除一些东西后,我们确切地知道了这些东西有多大了。所以要跟上硬件的能力,对软件来说是相当大的挑战。”Bajic说道。
其次是可扩展性。创建可扩展到10万个节点的体系架构,意味着在没有共享内存空间的情况下进行操作,缓存一致性会致使难以扩展到超过几百个节点,这是Tentorrent想要避开的麻烦。
具体而言,Tenstorrent使用一系列Tensix内核来通过网络实现通信。Tensix内核阵列与一个定制的双2D环形片上网络(NoC)集成在一起,这些网络可以在芯片外扩展,从而创建包含成百上千个处理器的大型芯片到芯片集群,并且最小化了用于调度粗粒度数据传输的软件负担。
每个Tensix内核的算力约为3TOPS,包含1个高利用率的数据包处理器、1个可编程的单指令流多数据流(SIMD)、1个密集数学计算模块、5个高效且灵活的单流(single-issue)的精简指令集(RISC)。
这5个RISC内核是相同的,但不一定同时运行相同的代码。它们具有基本的算术和逻辑运算能力,并且可以管理流控制,还会争夺共享计算引擎中更先进的硬件资源,在该硬件资源上执行矩阵、卷积和矢量/ SIMD操作。 此外,每个Tensix内核还具有1MB的本地静态随机存取存储器(SRAM)。
假设一个神经网络层有两个需要相乘的矩阵,该神经网络层的输入被分解成“以太网大小的块”,即子张量,然后将这些张量帧化为一组固定长度的数据包,分布在多个Tensix内核中。
每个数据包都会进入内核的SRAM缓冲区中,触发软件去找到数据包并运行一个硬件解包引擎,硬件解包引擎去除所有的数据包帧、解释其含义、解压缩数据包,在RISC内核的指导下发送到计算引擎。再往下进行,这些数据包被重新打包并存储在SRAM缓冲区中,以准备传输到下一个Tensix内核中。
灵活的并行化和完整的可编程性可实现运行时适应和工作负载平衡,从而有助于节省功耗并缩短运行时间,从而显著节省成本。
三、Grayskull芯片:一颗相当于24颗骁龙865
基于其架构设计理念,Tenstorrent可打造能执行推理和训练任务的高性能芯片,可支持小至小型嵌入式设备、大至大型数据中心的工作负载部署。
Tenstorrent研发的首款推理芯片Grayskull包含120个Tensix内核、120MB本地SRAM和8个通道的LPDDR4,支持高达16GB的外部DRAM和16通道的PCI-E Gen4。在75W总线供电的PCIe卡上,Grayskull的算力最高可达到368TOPS。预计今年晚些时候,Tenstorrent将推出功耗为300W的训练设备。相比之下,高通2019年发布的骁龙865芯片算力为15TOPS。也就是说,一颗Grayskull芯片就能完成约24颗骁龙865芯片才能完成的运算量。
在条件执行的情况下,使用BERT-Base的SQuAD 1.1数据集,Grayskull芯片可实现高达23345句/秒的性能,使其性能比当今的领先解决方案高出26倍。许多机构和研究者都在推进AI芯片的设计、研发。AI芯片可以优化许多领域的生产流程,比如,或可用于提升疾病追踪模型、疫苗研发工具的效率,还可推动情感人工智能等新兴领域的发展。这些研究存在一个共同的问题——如何节约总拥有成本(TCO)。在Bajic看来,许多现有AI芯片方案非常耗电,而通过架构创新,兼顾高性能和低功耗的AI芯片将推动AI在你的智能可穿戴设备上完成运算任务。
在推出Grayskull芯片的同时,Tenstorrent也在推进第二代Tensix核心芯片的研发。第二代Tensix核心芯片被称为Wormhole,核心架构和Grayskull相同,且使用很多以太网链接来进一步扩展系统规模,预计于2020年秋季发布。 |
|