AI芯片研究现状及体系结构
为了应对不同场景的智能计算任务,AI芯片诞生了不同的分支,包括适用于各种大规模网络训练的大算力、高功耗通用AI芯片和适用于特定应用、在边缘设备(如机器人)上进行智能计算的专用AI芯片。基于人工智能的感知、定位与导航技术与众多机器人应用相关,这些技术通常具有高算力需求。因此,专用AI芯片对机器人的智能化应用具有重要意义,学术界和工业界一直致力于高性能AI芯片架构的设计。
随着网络模型的不断增大,研究人员发现单纯依赖高性能硬件架构的设计已然无法满足最先进网络在专用AI芯片上的高效部署,而新兴的软硬件结合加速技术为问题的解决带来了突破口,并得到广泛重视和大量研究。
当前存在的人工智能芯片可被划分为通用芯片、专用芯片和可重构芯片三大类。
通用芯片主要包括中央处理器(CPU)和图形处理器(GPU)。这两种芯片基于冯·诺依曼体系结构,以控制流作为驱动,具有很强的灵活性与通用性。
早在20世纪60年代,计算机工业就开始广泛使用CPU这一术语。随着技术的进步和数十年的发展,CPU的设计技术和计算性能不断提升,但CPU的基本原理保持不变。CPU的架构如图所示,其中算术逻辑单元(ALU)模块用于执行逻辑运算,而指令集训(IR)、指令程序计数器(PC)等模块则确保指令能够有序执行。
为了提高CPU的计算性能,像英特尔和AMD等全球顶级CPU制造商致力于多核设计、超频等方面的技术突破。然而,随着深度学习等计算密集型任务的兴起,CPU面临着严重的算力依赖性挑战。特别是在散热和功耗的限制下,无法无限制地提高CPU的工作频率以满足计算需求,这就导致了在CPU平台上部署神经网络时遇到了不可逾越的鸿沟。
神经网络的训练和推理过程对大量的计算资源和高效的数据处理能力有着极高的要求,而现代CPU在这些方面的表现往往无法完全满足。
GPU的出现不仅弥补了CPU算力不足的缺陷,而且极大地推动了人工智能技术的发展。与CPU不同,GPU在单位面积上集成了更多数量的处理单元。如英伟达在2024年推出的GeForce RTX 4090显卡拥有16384个CUDA核心,而同时期最先进的英特尔Core i9处理器最高仅有24个核心。因此,相比CPU,GPU在应对大规模并行运算时更具优势,能够实现1到2个数量级的性能提升。
同时,GPU巨头英伟达不断改进硬件架构和编程模型,工业界和学术界越来越多地将GPU应用到神经网络的训练与推断。2012年的ImageNet挑战赛上仅有4支参赛队伍使用GPU;而到了2014年,几乎所有队伍都使用了GPU。到如今,随着网络深度不断加大,尤其大模型的出现导致参数量突破千亿,因此对GPU的依赖更加严重。
然而,CPU和GPU这种基于冯·诺依曼体系结构的通用芯片在智能计算应用中遇到以下问题:
① 任务的执行涉及大量“取指”“译码”“寄存器访问”和“数据回写”等辅助性操作,限制了处理器性能,降低了能效;
② 存储与运算分离的计算架构无法高效适配智能计算这种访存量巨大的任务,频繁的数据交换导致大量功耗浪费和严重的网络处理延迟;
③ 冯·诺依曼架构的计算单元位宽固定,无法支持多精度协同运算。
鉴于GPU和CPU的上述缺陷,低功耗、高性能的专用芯片应运而生,并逐渐在网络加速中崭露头角。
在2016年和2017年,Facebook、微软、亚马逊AWS、阿里云等发布了基于可重构芯片的云计算服务。2017年以来,专用芯片成为学术界和工业界的研发热点 —— 如谷歌在服务器中使用的TPU(Tensor Processing Unit)就是一项被大规模部署、证明有效的GPU替代方案。
所谓专用智能芯片,主要是指基于ASIC和FPGA方法设计的定制处理器。ASIC这类面向计算任务进行有针对性设计的芯片能够实现以毫瓦级的功耗取得高达100~1000GOP/W的算力,因而适配于智能计算。随着近些年来人工智能算法的爆炸式发展和相关技术的逐渐成熟,专用智能芯片的优势逐渐凸显,因而有大量国内外公司参与到此类芯片的研发,研发情况如图所示。
虽然ASIC芯片在功耗、可靠性和集成度上颇具优势,且在有高性能、低功耗需求的边缘计算场景下尤其凸显。然而,ASIC芯片本身也存在着固有的缺陷,比如电路设计需要定制、开发周期长、功能难以扩展、无法根据神经网络架构的不同来更改计算架构等。
FPGA是对GPU与ASIC的折中选择,其发展历程如图所示。FPGA的原理是在芯片内部署大量基本的门电路与存储器,通过更改FPGA的配置文件来定义这些门电路与存储器之间的连接。基于可重构芯片的智能加速汲取了通用芯片与专用芯片的优势,在拥有定制化电路高性能优势的同时,又具备相当的通用性。
FPGA摒弃了传统冯·诺依曼架构命令执行流程中需要有指令存储器、译码器、各种指令的运算器及分支跳转处理逻辑参与的问题,极大地降低了计算任务执行功耗,能耗比得到大幅提升。另一方面,FPGA的灵活性使其克服了ASIC无法实现电路级可重构定制化的问题,为算法的功能实现和优化留出了更大的空间。而且,FPGA的一次性成本远低于ASIC。由于上述优势,FPGA在众多领域逐渐出现替代ASIC与GPU的趋势。
值得注意的是,数据流占据高性能机器人专用AI芯片设计的半壁江山,一个高效的数据流能够提高数据复用率,降低功耗代价高昂的片上、片外内存访问频率是设计机器人专用AI芯片必不可少的一环。
评论