今年,“能写代码、能写论文”的chatgpt可谓是火爆全球,ai技术应用迎来了“iphone时刻”。一时间国内也涌现了众多大模型,部分大模型也陆续开始向公众开放;另一方面,全国各地也都在抢占人工智能的资源,纷纷投巨资建设人工智能算力中心,人工智能赛道可谓“百舸争流”。
在这两个现象的背后,笔者却发现了不一样的地方,各地新建动辄几百pb算力的智算中心,是以半精度(fp16)来作为计量标准的,甚至有些智算算力中心是通过npu架构芯片堆出来的算力。
但其实业界公认,npu天生特点决定了其在ai应用领域泛用性不足,因此npu并不适合作为ai算力通用底座。
那我们就来聊一聊,为什么chatgpt、自动驾驶这些领域不适合广泛采用npu芯片?在正式开聊之前,先说明一下这里面的两个关键词:npu和精度
(1)npu和精度
在人工智能领域,ai芯片可以分为大概分为gpgpu、fpga和asic。其中,gpgpu在人工智能的计算市场销售额占比最大,据集微咨询(jw insights)统计,ai类芯片在2022年352亿美元的市场规模中,gpgpu占比接近60%,霸主地位稳固。
我们知道 cpu遵循的是冯·诺依曼架构,核心是存储程序/数据、串行顺序执行。cpu的架构中需要大量的空间去放置存储单元和控制单元,相比之下计算单元只占据了很小的一部分,所以cpu在进行大规模并行计算方面受到限制,相对而言更擅长于处理逻辑控制。
与cpu相比,而gpu芯片空间的80%以上都是计算单元,即gpu拥有更多的计算单元用于数据并行处理,比如实现人工智能的深度学习、比特币挖矿等等。gpu其实也可以简单分为两种,一种是主要搞图形渲染的,也叫做gpu显卡;另一种是主要搞计算的,叫做gpgpu,也叫通用gpu。gpgpu芯片采用统一渲染架构,计算通用性最强,可以适用于多种算法,在很多算法前沿的领域,gpgpu是最佳选择。
fpga是一种半定制芯片,对芯片硬件层可以灵活编译。但是缺点也比较明显,当处理的任务重复性不强、逻辑较为复杂时,fpga效率就会比较差。
asic是一种为专门目的而设计的芯片(全定制),根据特定算法定制的芯片架构,算力强大,但专业性强缩减了其通用性,算法一旦改变,计算能力会大幅下降,需要重新定制。我们知道的npu、tpu就是这种架构,都属于asic定制芯片。
芯片的算力和精度又有怎样的联系?
根据参与运算数据精度的不同,可把算力分为双精度算力(64位,fp64)、单精度算力(32位,fp32)、半精度算力(16位,fp16)及整型算力(int8、int4)。数字位数越高,意味着精度越高,能够支持的运算复杂程度就越高,适配的应用场景也就越广。
举个例子,在科学计算、工程计算等领域,比如药物设计、新材料、航空航天、基因工程,天气预报等,都是需要处理的数字范围大而且需要精确计算的科学计算,需要双精度算力(fp64)的支持;在ai大模型、自动驾驶、深度学习等领域,一般需要单精度算力(fp32)的支持,实现人工智能模型的训练;而像数字孪生、人脸识别等利用训练完毕的模型进行推理的业务,适用于半精度算力(fp16)或者整型算力(int8、int4)。
gpgpu芯片一般会布局大量的双精度和单精度的计算区域,从nvidia旗舰产品白皮书中可以看出,其对fp64双精度浮点计算的布局占25%,对fp64/fp32高精度区域的布局占整个芯片的约一半左右。
图 nvidia高精度gpgpu架构图
而npu芯片主要用于加速神经网络的运算,解决传统芯片在神经网络运算时效率低下的问题。npu芯片包括乘加、激活函数、二维数据运算、解压缩等模块。它的优势是大部分时间集中在低精度的算法,新的数据流架构或内存计算能力。npu芯片的算力一般以半精度算力(fp16)和整型算力(int8、int4)为主,擅长处理视频、图像类的海量多媒体数据,不涉及高精度算力应用的领域。
图 华为npu计算单元图
综上所述,gpgpu可以支持从低精度到高精度所有类型的运算,而npu仅能支持低精度运算,这就决定了两者可适用的场景存在差距。
在此情况下,某些npu厂商混淆视听,只说自己是“算力最强的ai处理器”,却没有说清楚计算精度这一前提条件,是一种不负责的行为。
(2)gpgpu和npu技术路线对比
说了这么多,我们发现gpgpu和npu属于两个不同应用领域的芯片,gpgpu的算力精度涵盖较广,应用的领域也更广泛,整个产业的生态相对完整,但是芯片设计相对比较复杂,前一阵美国限制向中国出口的ai芯片也是高端的gpgpu芯片。
而npu芯片主要是覆盖低精度,应用领域比较受限,特别是很多nvidia的业务如果迁移到npu环境下,需要大量的迁移适配工作,而且模型在迁移后也会遇到各种各样的算法、引擎识别精度下降的问题。
对比内容 gpgpu npu
算力精度 双精度、单精度、半精度、整形 半精度、整形
应用场景 高性能计算、ai大模型、自动驾驶、深度学习 机器学习、人工智能推理
迁移工作量 基于gpgpu的通用模型需修改少量代码,自研算子、模型2-3天完成环境搭建和测试,时间周期较短 架构差异大,适配工作量较大,周期不可评估
产业生态 支持算法厂商众多,产业生态优势大 多数算法厂商对npu路线芯片适配积极性一般
表 :gpgpu和npu技术路线对比
npu更符合“术业有专攻”,在ai应用推理环节,量身定制的npu其实也有这效率和能耗的优势;但要是强行广泛应用于科学计算、模型训练等领域,npu只能表示“臣妾做不到啊”。
(3)chatgpt背后的算力面纱
当我们了解了gpgpu和npu技术路线之后,我们再来揭开chatgpt背后的算力面纱。
chatgpt的开发逻辑,是近些年逐步替代了rnn(循环神经网络)和 cnn(卷积神经网络) 的transformer架构语言模型。相较于rnn,transformer引入了自我注意力(self-attention)机制,结合算法优化可以实现并行运算,大量节约训练时间。可以看出,transformer作为人工智能算法的进化是计算机软件层面的一个发展。
因此,为了支撑这种算法的不断进化,需要一整套通用算力系统。通俗而言,chatgpt算法是在不断优化进步的,结合算法定制npu很难满足大模型迭代发展需求。
也就是说,想要诞生chatgpt这样的革命性成果,需要构建的是由高精度gpgpu+ cpu的通用异构计算体系,让各种尝试和各种创新在通用体系上自由生长。
而事实上,chatgpt以及国内众多的大模型,如紫东太初大模型、文心一言、日日新sensenova大模型等等,也都是在这种由高精度gpgpu组成的异构计算体系中诞生的。
我国超大规模预训练模型的发展如火如荼,算力需求持续攀升,人工智能计算中心的建设保持快速增长,各地都在加速建设人工智能计算中心,甚至很多算力中心的规划已经超过了1000p,看样子应该能满足各地几年内的所有人工智能算力需求,但这些算力中心的ai芯片大部分都是npu架构,目前真正应用起来的地方智算中心的寥寥无几,实际使用率也低得可怜。
另一方面,各个大模型的厂商、自动驾驶厂商和都在疯狂抢购高端的gpgpu卡,甚至不惜高价囤积高端gpgpu卡。
在这两个乱象的背后,我们需要去反思:现阶段我们是否需要建设如此大量的、空置的npu算力中心?我们的算力中心是否应该以几百pb的fp16值作为评价标准?
天妒英才:骁龙653+6G运存+4060毫安,酷派新机酷玩6却无人问津
2019强势来临,新的一年“智能”这样过!
解读同步器构造及工作原理
瑞士联邦主席表示瑞士不反对华为参加相关5G的网络建设
基于STM32F407和MAX7349的超短波电台模拟训练系统设计与实现
GPGPU和NPU技术路线对比
比特币二层网络闪电网络技术的发展介绍
【新品】自动组网低功耗射频模块
世界先进预期2024年第一季度运营将伴随着产业复苏
三大运营商齐聚eSIM市场,eSIM带来万物互联更多可能
镍氢电池工作原理 镍氢电池的主要应用特性
当年很流行,现在已经淘汰的Java技术
红外热像仪在消防中的作用
新款Apple Watch首次采用Force Touch传感器
新款完整便携式频谱仪无人机机载频谱仪解决方案
高性能测距算法与超宽带技术助力工业数字化
新型量子材料在红外摄像机中的应用
如何转行Python人工智能
A股10家乘用车企上市企业的智能化布局情况
一件充满意境的中国风水墨粒子、电子屏风交互装置