二、嵌入式VS云端,不同场景下,AI处理器的两个选择
2.1 AI处理器的发展和现状
伴随着深度学习模型的深化和算力需求的提升,从学术界兴起的AI处理器方案已经迅速蔓延到工业界。目前,各大互联网、半导体、初创公司的方案主要分为云端、嵌入式端两类(或称为云侧和端侧),可归纳如表1.1所示若感兴趣可转到唐杉同学维护的列表:
https://basicmi.github.io/Deep-Learning-Processor-List/
表1.1 深度学习处理器方案列表
图1.3 AI处理器的发展和设计目标
AI处理器的发展过程如图1.3所示。在早期,对AI处理器架构的探讨源于学术界的半导体和体系架构领域,此时模型层数较少,计算规模较小,算力较低,主要针对场景为嵌入式前端;随着模型的逐渐加深,对算力的需求也相应增加,导致了带宽瓶颈,即IO问题(带宽问题的成因详见2.2节),此时可通过增大片内缓存、优化调度模型来增加数据复用率等方式解决;当云端的AI处理需求逐渐浮出水面,多用户、高吞吐、低延迟、高密度部署等对算力的需求进一步提升。计算单元的剧增使IO瓶颈愈加严重,要解决需要付出较高代价(如增加DDR接口通道数量、片内缓存容量、多芯片互联等),制约了处理器实际应用。此时,片上HBM(High Bandwidth Memory,高带宽存储器)的出现使深度学习模型完全放到片上成为可能,集成度提升的同时,使带宽不再受制于芯片引脚的互联数量,从而在一定程度上解决了IO瓶颈,使云端的发展方向从解决IO带宽问题,转向解决算力伸缩问题。
到目前为止,以HBM/HMC的应用为标志,云端高性能深度学习处理器的发展共经历了两个阶段:
- 第一阶段,解决IO带宽问题;
- 第二阶段,解决算力伸缩问题。
2.2 带宽瓶颈
第一阶段,囊括了初期的AI处理器,以及至今的大部分嵌入式前端的解决方案,包括第一代TPU、目前FPGA方案的相关构架、寒武纪ASIC构架,以及90%以上的学术界成果。欲达到更高的性能,一个有效的方法是大幅度提升计算核心的并行度,但算力的扩张需要匹配相应的IO带宽。例如,图1.4中的1个乘加运算单元若运行在500MHz的频率下,每秒需要4GB的数据读写带宽;一个典型的云端高性能FPGA(以Xilinx KU115为例)共有5520个DSP,跑满性能需要22TB的带宽;而一条DDR4 DIMM仅能提供19.2GB的带宽(上述分析并不严谨,但不妨碍对带宽瓶颈的讨论)。因此在第一阶段,设计的核心是,一方面通过共享缓存、数据调用方式的优化等方式
提升数据复用率,配合片上缓存,减少从片外存储器的数据加载次数。另一方面通过模型优化、低位宽量化、稀疏化等方式
简化模型和计算。
图1.4 一个乘加单元及其带宽计算(累加值通常与输出共用,故未计入带宽)
2.3 算力伸缩
尽管片上分布的大量缓存能提供足够的计算带宽,但由于存储结构和工艺制约,片上缓存占用了大部分的芯片面积(通常为1/3至2/3),限制了算力提升下缓存容量的同步提升,如图1.5所示。
图1.5 芯片中片上缓存的规模,上图为Google第一代TPU,蓝色部分为缓存区域,占用芯片面积的37%;下图为寒武纪公司的DiaoNao AI ASIC设计,缓存占面积的66.7%(NBin+NBout+SB)。
而以HBM为代表的存储器堆叠技术,将原本一维的存储器布局扩展到三维,大幅度提高了片上存储器的密度,如图1.6所示,标志着高性能AI处理器进入第二阶段。但HBM的需要较高的工艺而大幅度提升了成本,因此仅出现在互联网和半导体巨头的设计中。HBM使片上缓存容量从MB级别提升到GB级别,可以将整个模型放到片上而不再需要从片外DDR中加载;同时,堆叠存储器提供的带宽不再受限于芯片IO引脚的制约而得到50倍以上的提升,使带宽不再是瓶颈。此时,
设计的核心在于高效的计算构架、可伸缩的计算规模、和分布式计算能力,以应对海量数据的训练和计算中的频繁交互。
图1.6 HBM与片内垂直堆叠技术
目前AI构架已从百家争鸣,逐渐走向应用。在后续的篇幅中,将对这两个阶段进行论述。
二、嵌入式VS云端,不同场景下,AI处理器的两个选择
2.1 AI处理器的发展和现状
伴随着深度学习模型的深化和算力需求的提升,从学术界兴起的AI处理器方案已经迅速蔓延到工业界。目前,各大互联网、半导体、初创公司的方案主要分为云端、嵌入式端两类(或称为云侧和端侧),可归纳如表1.1所示若感兴趣可转到唐杉同学维护的列表:
https://basicmi.github.io/Deep-Learning-Processor-List/
表1.1 深度学习处理器方案列表
图1.3 AI处理器的发展和设计目标
AI处理器的发展过程如图1.3所示。在早期,对AI处理器架构的探讨源于学术界的半导体和体系架构领域,此时模型层数较少,计算规模较小,算力较低,主要针对场景为嵌入式前端;随着模型的逐渐加深,对算力的需求也相应增加,导致了带宽瓶颈,即IO问题(带宽问题的成因详见2.2节),此时可通过增大片内缓存、优化调度模型来增加数据复用率等方式解决;当云端的AI处理需求逐渐浮出水面,多用户、高吞吐、低延迟、高密度部署等对算力的需求进一步提升。计算单元的剧增使IO瓶颈愈加严重,要解决需要付出较高代价(如增加DDR接口通道数量、片内缓存容量、多芯片互联等),制约了处理器实际应用。此时,片上HBM(High Bandwidth Memory,高带宽存储器)的出现使深度学习模型完全放到片上成为可能,集成度提升的同时,使带宽不再受制于芯片引脚的互联数量,从而在一定程度上解决了IO瓶颈,使云端的发展方向从解决IO带宽问题,转向解决算力伸缩问题。
到目前为止,以HBM/HMC的应用为标志,云端高性能深度学习处理器的发展共经历了两个阶段:
- 第一阶段,解决IO带宽问题;
- 第二阶段,解决算力伸缩问题。
2.2 带宽瓶颈
第一阶段,囊括了初期的AI处理器,以及至今的大部分嵌入式前端的解决方案,包括第一代TPU、目前FPGA方案的相关构架、寒武纪ASIC构架,以及90%以上的学术界成果。欲达到更高的性能,一个有效的方法是大幅度提升计算核心的并行度,但算力的扩张需要匹配相应的IO带宽。例如,图1.4中的1个乘加运算单元若运行在500MHz的频率下,每秒需要4GB的数据读写带宽;一个典型的云端高性能FPGA(以Xilinx KU115为例)共有5520个DSP,跑满性能需要22TB的带宽;而一条DDR4 DIMM仅能提供19.2GB的带宽(上述分析并不严谨,但不妨碍对带宽瓶颈的讨论)。因此在第一阶段,设计的核心是,一方面通过共享缓存、数据调用方式的优化等方式
提升数据复用率,配合片上缓存,减少从片外存储器的数据加载次数。另一方面通过模型优化、低位宽量化、稀疏化等方式
简化模型和计算。
图1.4 一个乘加单元及其带宽计算(累加值通常与输出共用,故未计入带宽)
2.3 算力伸缩
尽管片上分布的大量缓存能提供足够的计算带宽,但由于存储结构和工艺制约,片上缓存占用了大部分的芯片面积(通常为1/3至2/3),限制了算力提升下缓存容量的同步提升,如图1.5所示。
图1.5 芯片中片上缓存的规模,上图为Google第一代TPU,蓝色部分为缓存区域,占用芯片面积的37%;下图为寒武纪公司的DiaoNao AI ASIC设计,缓存占面积的66.7%(NBin+NBout+SB)。
而以HBM为代表的存储器堆叠技术,将原本一维的存储器布局扩展到三维,大幅度提高了片上存储器的密度,如图1.6所示,标志着高性能AI处理器进入第二阶段。但HBM的需要较高的工艺而大幅度提升了成本,因此仅出现在互联网和半导体巨头的设计中。HBM使片上缓存容量从MB级别提升到GB级别,可以将整个模型放到片上而不再需要从片外DDR中加载;同时,堆叠存储器提供的带宽不再受限于芯片IO引脚的制约而得到50倍以上的提升,使带宽不再是瓶颈。此时,
设计的核心在于高效的计算构架、可伸缩的计算规模、和分布式计算能力,以应对海量数据的训练和计算中的频繁交互。
图1.6 HBM与片内垂直堆叠技术
目前AI构架已从百家争鸣,逐渐走向应用。在后续的篇幅中,将对这两个阶段进行论述。
举报