00:00
Hello,大家好,我是那个以前不知睡眠好,现在人到中年失眠受不了的Z米,看看手表,现在已经凌晨12点半了,不过呢,Z米还是日常的在更新,今天我们来到一个新的内容,原谅我TPU的一个系列呢,又要再估一段时间了,我们的这一期新的内容呢,是AI芯片的思考,回顾一下整个大的章节呢,过了非常多的内容了,公司的同事呢,也给我统计了一下,我原来已经不知不觉讲了40多个小时了,哇,太难了,这40多个小时里面呢,我可能NG的次数呢,已经应该超过200个小时了,那不扯其他的,我们今天回顾一下整个大的系统章节,首先我们在开始的时候呢,给大家去汇报了一个AI的计算体系,特别是跟深度学习去结合,我们AI的芯片应该怎么去设计?
01:00
第二个呢,我们讲了AI芯片的基础,那谈到基础肯定离不开传统的CPU,到后来并行计算的GPU,那现在专门针对AI处理的n puu,在第三个内容我们会深入的去探讨一下,大家都说英伟达箱,那去看看英伟达的GPU的架构的发展,还有它专门针对AI去提出的Co和MV link,在第四个内容和第五个内容呢,我们回顾了国外的AI芯片和国内的一些AI的芯片厂商,国外呢主要是特斯拉和谷歌,国内呢有BM、寒武纪,还有其他,当然还包括华为的升腾,我现在还在犹豫要不要讲生堂,如果要讲呢,生腾可能还需要再过一段时间了。那来到最后一个内容呢,就是AI芯片的思考,那在最后一期视频AI芯片的思考里面呢,我们会分开七八个视频去给大家汇报的,可能会稍微多了一点,或者中间呢会有一些小调整。
02:00
首先第一个呢,我们会去看看simd跟SIM的区别,接着呢我们去看看SIM跟库塔编程之间的关系,大家都说英伟达箱库打箱箱在哪里,我们就要去深入的去打开了,接着呢,我们了解到跟GU塔编程的本质之后,我们就会真正的去探讨一下SIM编程的本质,它的问题在哪,它为什么这么像,就可能在前面三节内容去展开了。最后呢,Simd simt跟DSA,特别是现在的AI芯片,DSA的架构,我们打开了,去看看他们到底之间有什么偶联关系,在最后的两个视频呢,还是回到我们的DC,我们的AI芯片的里面去看看,我们之前去讲到的,类似于督作里面的进程计算,或者是谷歌这种脉冲阵列计算,不同的AI芯片的架构,不同的DA的架构,主要有哪些形态,它们之间的关联关系和它们之间的一些区别。最后呢,我们来。
03:00
来总结一下AI芯片架构的黄金十年,未来我们将会走向何方,但中间过程当中呢,还会有一些小变化,因为可能我的废话特别多,就导致了一个视频又讲不完,又要拆分出来,为什么我们需要讲硬件,讲AI芯片之上呢?会讲很多啊,还有编程之间的关系呢?最主要的原因呢,是我们现在已经涌现了大量的AI芯片,但是大家都觉得只有因为它枯打着这种生态才能够繁荣,长出非常多非常多不一样的东西,而像谷歌DP的,华为的生呢,包括其他的M的厂商,我们的编程体系应该怎么去构建,我们应该怎么更好的去开放一些编译站和编程体系给开发者去使用,去繁荣整个AI的生态,去更好的充分的发挥我们的AI芯片的算力,使得我们的算力呢,这个是新外基于硬件的编程,让生态不断的繁荣,也是我们这一期视频。
04:00
里面最核心的观点,计算机体系里面呢,其实有一个标准的定义,就是针对并行处理的硬件架构的发展,主要是由四个阶段嘛,之前给大家去简单汇报过了,已经,第一个呢,就是simdid m misd和ID,最终的中文呢,大家已经一目了然了,我们简单看看右边的这个图,主要是讲我们的数据跟指令之间的关系,那数据跟指令呢,组合起来就变成我们刚才计算机体系里面的四种不同的形态,最简单的第一种呢,就是sisd,单指令,单数据流,专门去做一些最传统的CPU能够做的工作,简单的对数据进行一些运算。后来呢,有了现在CU之后呢,大部分我们现在用到的CPU,包括GPU呢,其实采用的是的系统或者架构,那这里面呢,我们就可以对我们的数据呢,做大量的。
05:00
并行呢,操作同时间呢,可以处理很多样的数据,里面最核心呢就是增加了PU的单元了,从右边的这个图可以看到PU就是我们的process unit,有了更多的处理的单元了。讲到SIM呢,其实我们现在很关心的一点就是为什么AI编程里面我们需要关注这两个概念呢?其实大家会发现在AI编程当中呢,GPU真香啊真香啊啊,真香啊啊,真香啊,但是呢,大家有没有想过妮子的GPU呢?是有个袋子的,袋子是我们英伟达的GPU,而不是am的GPU,而这里面香呢,是达是它的生态箱吗?还是的架构试剂的香呢?所以这是我们值得深入的探讨的问题。首先呢,我们回顾一下人工智能里面主要是指深度学习或者神经网络证明。
06:00
概念,那现在神经网络呀,我们左边的这个图呢,就是整个神经网络的一个架构图或者视力图,右边的就是单个神经元展开,里面最核心的一个部件就是矩阵层,X乘以W在做一个激活,无论我们的FFN啊,CN啊,包括现在大模型非常的还是以前传统的ISTEM,都离不开我们的矩阵层。而谈到神经网络呢,里面很重要的两个流程就是训练跟推理,那不管是神经网络里面的训练的推理呢,我们都需要执行大量的矩层层,大量的对我们的权重呢进行更新。而在这里面呢,有一个整体的开发流程,就是我们AI框架的开发流程,从整个AI的系统里面去看待,我们现在走一遍这么一个流程,首先呢,就是算法的人员或者开发的工程师呢,需要定义我们这个神经网络具体长什么样子,接着呢去用我们的AI框架呀,去编写。
07:00
对应真正的程序,那编写对应程序呢,就是去写我们这个网络嘛,有了这个网络之后呢,AI框架会把我们的刚才写的程序呢,编成一个正向的计算图,接着呢,AI框架会根据自动微分的原理去构建这个反向的计算图,反向的计算图里面,最终在温态或者我们的叫做运行时,把所有的图呢,变成一个算子的执行序列,而这个算子在真正硬件执行呢,是我们的kno,诶大家有没有发现这整个AI系统运行的过程当中,我们能看到的全都是刚才描述的这么一个流程,真正的SIMSIM到底在哪里?这是应该AI系统关心或者解决的问题吗?而且我们看到SIM里面的I呢,是指instruction,应该指对硬件的设计有约束吧,他对我们的编程习惯有约束吗?于是带着这些问题呢,我们引入了两个新的概念,我们会在后面给大家去汇报的,第一个呢,就是硬件的执行的模型,第二个就是编程的模型,实际上呢,我们在AI框架的算子的执行呢,硬件提供的是科no的具体的实现,我们需要根据硬件的执行模型来确定我们的编程的模型,那讲起来有点拗口啊,像我们的程序员呢,关心的是我们的编程的模型,怎么去编写我们这些算子,怎么去编写我们这些执行算子具体的克而硬件他关心的是他的执行的模型,关心我们的指令,因此呢,在这里面呢,就有两个GAP,一个GAP呢,就是我们程序员关心的编程模型,第二个呢,就是硬件关心的。
08:42
执行的模型,根据我们之前讲到的计算机的系统设计里面呢,其实定义呢,基本上就是我们那四个嘛,Sisddd,各种各样的D啊,都是对我们的数据呢进行并行,但是这里面有个很重要的概念,就是编程的模型却以生态非常强大的英伟达的打自己定义的SIM的为主,所以这里面到底是个什么样的关系,我们接下来的视频要跟大家去澄清和思考的就是simd跟SIM之间什么关系,Simd SIM跟d domain specific architect,专门针对AI范式设计的硬件之间是什么样的区别,最后一个就是在AI的体系结构里面呢,SIMSIM的事迹对我们的编程模型带来哪些挑战,为什么大家都说SIM事迹的打好用呢?说实。
09:42
夸朱敏学裤塔当时候还挺困难的,挺头痛的,头痛了两周,然后才学会了哭塔,而且还做的性能不够优,在这个非常水的视频结束之前呢,周米还有一些简单的思考,希望大家带着这些疑问呢去往下看下去,周米给大家做一些详细的汇报,这个呢,就是我们真正编程的时候,到底哪一个程序员会去控制指令啊,SIM里面的I呀,是instruction,我们谁去控制指令的好像都没有,我们都是做一些简单的编程,所以呢是不会暴露给开发者的,但是做一个硬件的并行处理架构呢?SIM暴露了哪些接口给用户呢?暴露了哪些指令给用户呢?SIM到底是一个硬件的执行模式还是一个编程的执行模式呢?我们的开发者在英伟达的打的控制当中呢,我们到底是控制硬件还是控制线程,还是控制啥呢?而线程对应的硬件的执行。
10:42
方式到底是什么呢?它到底是一个线程,它线程不是个硬件的概念,而是个软件的概念,所以带着这些问题呢,我们深入的去探讨,接下来我们需要去给大家汇报的内容了,今天的视频呢,确实有点水啊,都是疑问,讲到这呢,我自己都满头包啊,希望接下来的内容呢,能够给大家带来一些不一样的思考,卷的不行了,卷的不行了,AI系统的全站知识都会分享在这里,欢迎打开和吐槽,给我一键三连,给我一键三连啊,谢谢各位,拜了个拜。
我来说两句