AI芯片到底咋工作的?别慌,用咱大老粗能听懂的话给你唠明白

说实话,每次一提到“芯片”这俩字儿,特别是前面再加个“AI”的前缀,我这脑袋瓜子就嗡嗡的。总感觉那是穿着白大褂的科学家,在无尘室里拿着放大镜鼓捣的玩意儿,跟咱普通人离得十万八千里。包括我自己也是,最开始连GPU和CPU这哥俩谁管干啥的都分不清,就觉得电脑一卡,肯定是它们仨(加上内存)在里头打架。

但你发现没有,现在这年头,甭管是刷个短视频的滤镜,还是让手机里的语音助手给你定个闹钟,甚至是开车时候那个“滴滴”乱叫的防碰撞预警,背后其实都是这“ai芯片原理”在撑着场面。就这么个看不见摸不着的小玩意儿,硬生生地把咱们这个时代给扛起来了。今儿个咱就坐下来,倒杯茶水,用咱们农村屯里唠嗑的大白话,把这看似高深莫测的玩意儿给它掰扯清楚。我尽量不拽那些听着唬人的洋词儿,咱就说这事儿“到底咋回事儿”。

首先咱们得明白一个理儿,这电脑啊,它不像人脑子,人脑子生下来不用教就知道“1+1=2”(虽然可能算错),电脑它傻得很,它只认识“通”和“断”,也就是“0”和“1”。咱们平时觉得挺复杂的看电影、打游戏,其实在它看来,就是无数个“0”和“1”在那儿噼里啪啦地来回蹦跶。这个计算的过程,咱们以前全靠CPU(中央处理器)这哥们儿扛着。

CPU这家伙吧,就像是咱们生产队以前那个最能干的劳模,一个人能耕十亩地,啥活儿都能干,修个拖拉机、算个账本、记个工分,一把好手。但是,到了AI这儿,事儿就变了。AI要干啥?它不是算一道题,它是要同时看成千上万张图片,找出里头有没有猫。你想让劳模一个人干这活儿,他得一张一张翻,翻到后半夜也翻不完。这就是咱们常说的,CPU虽然全能,但在对付这种“一眼看万张图”的并行计算上,累死它也白搭。

这时候,GPU(图形处理器)就闪亮登场了。GPU这玩意儿,最早是玩游戏为了画面流畅才发明的。它的结构跟CPU完全拧着来。CPU是“十项全能冠军”,GPU则是“一千个纺织女工”。你要它算1000道简单的加法题,CPU这劳模得算1000次;但GPU呢?它底下有一千个小工,手一挥,“你们一人算一道,给我把结果凑齐了报上来!”一秒不到活儿就干完了。这种本事,在“ai芯片原理”里头叫“SIMD”(单指令多数据流),听着玄乎,其实就是个“包工头原理”。现在的AI训练,特别是像让AI认出你家的狗,就得靠这种海量的矩阵乘法,这正是GPU的看家本领 -2-5

但是,GPU虽然快,它也是个“电老虎”。你去看那些挖矿的、跑AI的机房,里头那风扇转得跟飞机起飞似的,为啥?散热啊!那电表跑得比家里跳闸还快。这时候,又有一帮人不满足了,他们寻思着,能不能整出个更精明的玩意儿?就像咱专门磨一把砍柴刀,不去用它切菜一样。于是,NPU(神经网络处理器)就应运而生了。

NPU这玩意儿,你要是拆开看它的内部结构(当然咱拆不起,咱只能看人家书里写的),那更是把“专门的事儿专人干”发挥到了极致。刚才说GPU是“一千个纺织女工”,那NPU简直就是给这些纺织女工身上装了个传送带,脚下还安了轮子。它用的是一种叫“脉动阵列”的结构,听着挺像心脏跳动对吧?就是这么个感觉。数据刚流进去,那边结果就哗哗地出来了,中间不带停的,也不用来回跑腿去拿数据 -2-6。华为他们搞的达芬奇架构里头,那个什么Cube立方体核心,就是干这个活儿的,专门狂怼矩阵运算,能效比比GPU还要高出一大截子 -6-7

讲到这里,就不得不提一嘴现在这“ai芯片原理”里最难缠的一个鬼——冯·诺依曼瓶颈(Von Neumann bottleneck,咱老百姓管它叫“冯·洛伊曼”也行,听个大概)。这名字听着挺唬人,其实道理贼简单。咱们传统的电脑结构,就像是把“仓库”(内存)和“工厂”(CPU)分在两个大院里。计算的时候,原料(数据)得从仓库拉到工厂,加工完了再送回仓库。如果加工特别快,来回跑腿的路就成了拖后腿的。AI计算这玩意儿,吃数据吃得厉害,就像个无底洞,大量的电量和时间都浪费在“拉货”的路上,而不是真正在生产上 -5

为了解决这个堵车的问题,现在的芯片设计师们脑洞大开,整出了个叫“存内计算”或者“存算一体”的新思路。这意思就是说,干脆把仓库和工厂盖到一栋楼里去,甚至让仓库的每一个架子上都装个小马达,让数据直接在存储的地方就被算完了。这样一来,路也不用跑了,电也省了,速度快得飞起 -7。这就像是咱们以前算账得去账房先生那儿拿算盘算,现在干脆给每个装钱的匣子上都画上刻度,一看刻度就知道多少钱,那能不快吗?

而且,这事儿还没完。就在前几天,我还瞅见个新鲜事儿,说是上海交大那帮人鼓捣出来个“全光芯片” -4-8。这玩意儿更是邪乎,它干脆不用电来算了,直接用光。咱们现在的芯片再快,电子在导线里跑也有个极限速度,而且还会发热。光不一样啊,光速多快,还几乎不发热。他们这个叫LightGen的芯片,据说在图像生成上,算力能比现在最好的数字芯片提升好几个数量级,咱也搞不清好几个数量级是多少倍,反正就是快得没影了 -4。虽然现在可能还在实验室里,但万一哪天真普及了,咱们手机里跑个大模型,估计就跟开个计算器一样省电。

咱再唠点实际的。这硬件是牛了,但软件咋跟它对话呢?总不能让人直接去敲010101的机器码吧?这中间就得靠一层层的软件栈在那儿“传话”。比如说英伟达的CUDA,就是它的一套标准。你想让GPU干活,得通过CUDA这个翻译官,把你的想法(比如用Python写的一段代码)转成GPU能听懂的指令 -10。这个过程里头,那些大厂早就准备好了各种数学库,比如cuDNN,就像是给翻译官配了一本专业的词典,遇到“卷积”、“池化”这种常用的词儿,直接翻词典就行了,不用现编,速度贼快 -10。咱们平时用的PyTorch、TensorFlow这些框架,其实就是站在最顶层的发号施令者,底下那一整套复杂的硬件原理和指令集,都被严严实实地包裹起来了。咱们动动嘴皮子,底层那一大帮子“工人”和“仓库”就得忙活半天。

所以说,别再觉得AI芯片是啥天顶星科技了。它就是咱们人类为了让机器更聪明,想尽办法逼出来的计算工具。从原来啥都会一点的CPU劳模,到千人一起干活的GPU车间,再到专啃硬骨头的NPU特战队,甚至是不用电子用光子的光芯片,万变不离其宗,骨子里还是在解决一个“算得更快、更省电”的老问题。

以上就是我根据网上那些碎片化的信息,再加上我自个儿琢磨出来的一些拙见。说实在的,我这也就是半桶水晃荡,讲得不深,甚至可能有些比喻不那么严谨,但大体上的道理就是这么个理儿。科技进步这东西,有时候就像变魔术,一旦你知道幕后那点小九九,再回头看那些神奇的功能,也就没那么玄乎了。反倒是对那些躲在幕后,绞尽脑汁折腾这些沙子的工程师们,多了一份打心眼里的佩服。这帮人,确实是在改变世界,而且是一行代码、一颗晶体管地在那儿较劲。