作者:MikesICroom
原文:https://zhuanlan.zhihu.com/p/76406904
作为首次登上Nature封面的中国芯片,Tianjic的意义非同凡响,可以说怎么赞誉都不为过。Nature上的论文我还没有拜读,先从媒体披露的信息中简要解读下。周末会仔细研究下Tianjic的论文,欢迎大家关注后续发布的深入解读系列。
总体来看,Tianjic是一款深度学习推理芯片,具有高度可重构性,同时具备对两种AI模型算法的高效支持,面向通用人工智能(AGI:Artificial General Intelligence)领域。
首先从整体架构上来看,Tianjic应该属于CGRA的结构,即粗粒度可重构阵列(Coarse Grained Reconfigurable Array)。之前分析Thinker的文章已经介绍过CGRA的特点,可以参考“思考的芯片:清微智能Thinker架构分析”,两者可以说是师出同门。这里只简要描述下结构。不同于FPGA,CGRA是一种更高层次的可重构技术,通过指令对可编程的执行阵列进行配置,是指令级别的配置速度。整个阵列由多个执行单元(PE)构成,通过配置每个PE的连接性和运算模式来定义整个阵列的功能。这种配置主要来源于特定算法的映射,因此也被称为“软件定义硬件”。CGRA的硬件设计是相对简单的,主要的难点是如何高效的进行阵列配置,将软件模型映射在硬件上。不仅仅是功能的映射,还包括数据流的控制,相关性的处理等。这和传统的软件编程思路有很大不同。硬件上Tianjic已经流片验证,软件工具方面不知道做到什么程度,但是从论文给出的自行车平衡和避障算法的成功运行,证明是有可行的方案。
CGRA的PE,对应Tianjic的FCcore,是一个结合了SNN和ANN主要算法的统一硬件结构,这个可以说是Tianjic最大的创新点。ANN就是我们通常意义上的深度学习框架,比如熟知的CNN,RNN等,主要运算是矩阵乘累加。SNN,即脉冲神经网络,是模拟生物神经元连接和运行方式的模型,通过计算产生神经电脉冲进行信息传递,因此是2值的。这个和传统网络的权重连接+激活的方式有很大差别。现在学术界和工业界对SNN的研究不多,主要是基础算法上还没有关键性的突破,一方面达不到深度学习模型的准确率,而且编程上没有统一便利的模型,实现上很复杂。大公司中也只有IBM的TrueNorth,Intel的Loihi芯片在做一些偏研究性质的工作。Tianjic把两者结合在一起,可以使一块芯片同时支持商业应用和算法研究,这是Tianjic能从实验室走向商用的关键。并且同时具备了非常高的灵活性,可以在FCcore,connection,Mesh Matrix,Single core,Multi core多个层面进行可重构,把CGRA的优势发挥的淋漓尽致。
最后一点是Tianjic选择的应用场景,可以说让人眼前一亮。想起以前google在愚人节发布的一个视频,就是推不倒的自行车,无人驾驶,可以像出租车一样召唤到任何地点。使用Tianjic的系统真的实现了这样一个场景,一下子有种科幻电影变为现实的魔幻感,极具吸引力和冲击力。非常高兴看到国内的科研工作者们也懂得包装自己的研究成果,以一种更震撼的方式来宣传和推广,这样才能让国内的研究成果更广泛的被世界关注。深度学习一路发展到今天,很明显的呈现出和传统科学不一样的发展思路,即更高的曝光度和关注度,科研工作者和他们的研究成果不断的在镁光灯下震撼着世界,同时也吸引着更多的人关注这个行业,投身相关研究和工程,而不是像之前行业那样只默默无闻的奉献。科研工作者能得到和他们的贡献相匹配的名誉和财富,是我们这个时代的荣幸。期待中国在AI领域更多的好消息。
[1] 文中和标题图片来源: Jing Pei, et, al. Towards artificial general intelligence with hybrid Tianjic chip architecture。 Nature, VOL 572, 1 AUGUST 2019
推荐阅读
更多AI处理器架构设计的技术干货,欢迎关注公众号MikesICroom,
同时欢迎关注AI处理器架构设计专栏。