大模型的发展意味着算力变的越发重要,因为大国间科技竞争的关系,国内AI从业方在未来的一段时间存在着算力不确定性的问题,与之而来的是许多新型算力替代方案的产生。如何从架构关系上很好的理解计算芯片的种类,并且从计算类型、生态、流片能力等多角度评估算力需求,正在成为AI方向负责人的核心竞争力。
正因为这个原因,最近几个休息日我一直在看相关领域的文章和论文,试着理清算力基础架构关系,因为过去积累不够深,可能有不准确的地方,还望指出。
PART01 AI芯片架构体系
学习芯片架构,首先需要有一个体系架构图,如何评价一款AI芯片,可以从芯片类型、指令集类型、指令集架构、代表公司以及制程几个角度来看。
不同的芯片类型决定了芯片的用途和设计理念,所以这方面一定是了解芯片最关键的一点。指令集类型和指令集架构,跟芯片的生态息息相关,因为一款好的芯片,不光要具备强大的计算性能,也要有广泛、灵活的开发者生态体系,做到软硬结合。最后一点是公司以及制程,公司的市占率以及芯片的制程是否足够先进,关系到芯片的商用成熟度以及供货保障程度。接下来会详细展开以上几个方向。
PART02AI芯片基本类型
CPU、GPU、FPGA、ASIC是目前AI计算过程中最主流的四种芯片类型,他们的主要区别体现在计算效率、能耗和灵活性上面。
-
CPU:CPU是冯诺依曼架构下的处理器,遵循"Fetch (取指) -Decode (译码) - Execute (执行) - Memory Access (访存) -Write Back (写回)"的处理流程。在执行计算任务过程中,数据需要先获取并存入RAM,然后解码获得指令,然后在ALU计算模块计算,最终将计算结果返回RAM。整个流程更强调控制和决策,在并行计算效率上有较大提升空间
-
GPU:GPU最早用于图像处理领域,减少了大量数据预取和决策模块,增加了计算单元ALU的占比,从而在并行化计算效率上有较大优势。
-
FPGA:FPGA的设计使得计算逻辑十分灵活,它不像CPU和GPU那样只能执行编译和汇编的内容,FPGA因为几乎没有控制模块,所有模块都是ALU计算模块,而且所有模块都可定制开发。但这也是FPGA的主要缺陷,因为具备很强的灵活度,导致设计难度和复杂度较高。
-
ASIC:ASIC是专门针对某一领域设计的芯片,比如神经网络计算芯片NPU、Tensor计算芯片TPU等。因为是针对特定领域定制,所以ASIC往往可以表现出比GPU和CPU更强的性能,ASIC也是目前国内外许多AI芯片设计公司主要研究的方向,可以预见未来市面上会逐渐有大量AI领域的ASIC芯片出现。
PART03AI芯片指令集和架构
接着说下AI芯片的指令集,首先要了解指令集是什么。计算机执行任务的过程可以看作是把程序编译成硬件可以理解的语言,再有硬件完成最终的计算工作。指令集可以理解是为编程和编译服务的一种计算机硬件可以理解的语言。
指令集分复杂指令集(CSIC)和精简指令集(RISC)。
CSIC主要用于传统的CPU芯片领域,他的设计模式是把用一个指令完成较复杂的任务,比如"帮我选个餐厅"。RISC是精简指令集,把任务进行拆解,比如"先了解我喜欢什么",再"查查附近有什么餐厅","做一个匹配"。因为精简的设计,RISC在优化编译方面有很大的空间,目前深度学习主要计算都在RISC指令集的英伟达GPU芯片,所以目前在计算的编译优化方向,有很大空间,也是行业聚焦的技术方向。
接下来看下指令集架构(ISA),在AI领域需要重点关注ARM、RISC-V,国内外许多厂商也有在探索自研指令集架构,但是也是基于ARM或者RISC-V的设计思路。
ARM架构则是由英国的ARM Holdings公司开发的,它是为嵌入式系统和移动设备而设计的。ARM架构的主要特点是低功耗、高性能和可扩展性,它可以支持移动设备、嵌入式系统、智能家居等应用。
RISC-V是近些年非常流行的指令集架构,RISC-V与 ARM 和 MIPS 最大的差别还是在于其为 RISC-V 基金会进行标准的制定和维护工作而非商业公司,任何人可以无偿使用该指令集开发自己的 CPU ,或者往自己已有的芯片中集成开源免费的 RISC-V IP Core,这是比较吸引电子设备厂商的重要原因。
PART04总结
最近有几个大事件,一个是NV收购ARM进军CPU领域,另外就是美国强化了对国内的高端芯片制裁。从这些动作来看,AI芯片的新一轮竞争暗潮汹涌,随着各个厂商都在减少自己的芯片生态体系,未来在编译优化、异构芯片调度、冯诺依曼内存墙突破等方向一定会有更多新的工作,这些也需要持续探索。