00:00
爸爸,Hello,大家晚上好,晚上大家好,这里是综米的电台,今天呢,我们还是在围绕AI芯片系列里面去看看B科技里面去发布的最新一代的产品里面,说到它是一个gppu的架构,所以我们深入的去打开这个B100的整体的加工里面的一些相关的细节,回顾我们整个系统课程里面呢,从AI计算体系到AI芯片的基础,然后打开GPU的各种的内容,现在呢,我们来到了MPU的更多的细节里面,在国内其他AI芯片里面呢,我现在手上有了一些相关的材料呢,就是毕业寒武器和随缘。如果大家想要周敏分享更多相关的技术点呢,可以私下联系我,给我提供更多的材料。哼,雕虫挑技竟敢班门弄斧,我一眼就看出你不是人,接上一个视频呢,我们简单的看一下什么是BNBN的产品形态,BN的软件平台,今天我们重点的去看看B100的整体芯片的架构。还有对。
01:00
BN相关技术点的一些思考,简单回顾一下上一个视频讲到的内容,主要是BN的产品形态分两个,一个是B104,一个是B1,里面呢的是右边的这个图,通过双就两块进行装在一块上面有两个计瓦,后面呢有四块简单小的HBN,接着呢我们去整体的看了一下P雳100跟英伟达的A100和H100的具体的形态,这里面呢最大的差别就是算了,KD呢,就是我们刚才看到的B1,这款芯片呢,里面最重要的就是提供了102TB16,注意了这里面是B f16,而因为达嫩在上一代的产品A100里面呢提供了312,而MV100呢,就由猛兽般呢提供了2000,而且有BF16 FP16,另外很重要的一个技术点呢,就是B呢,就提出了自己的通讯协议b link高达512GB每秒,啊,M link呢。
02:00
现在来说还是遥遥领先的,每一代的都提供了更高的互联带宽,接下来我们来到了今天的课程最后一主要的一个内容,看看B1版一个芯片的架构的细节。首先呢,谈到架构,我们肯定是看一下整体的一个微弱的情况,那这个图呢,就是中米重新画的一个图,大家取用的时候呢,希望能够注明来源,因为画图不容易。首先呢,我们从架构图的上往下看,然后呢从外往中间看,那第一个呢,就是提供了P31乘以16的一个新一代的主机接口,这里面的主机接口呢,主要是连接到我们的CPU上面,那这一块呢,是纯粹的MPU或者GPU,接着呢,我们往下看看,这里面呢有一个me engine,主要是对我们的视频图像进行编码的,再往下呢,就是科技提出来的b link,点对点的全互联的一个技术,现在呢,我们从左右两篇去看一看,这里面呢有四块,HPM to e,就是我们的高速。
03:00
带宽内存,也就是所谓的显存,接着呢,再往里面呢,就是高速带宽跟我们的心力,或者跟我们的计算盒里面的一个连接层或者物理层了,再往里面看,诶,有很多个Mo,很多个中间的线,这里面有个MOC,对应的就是我们的片类的网络的传输,再往里面看呢,最具体的核心呢,就是这些一个个小块,我们对应的SSPC,流式处理器,那S呢,就是stream processing,对应英伟达呢,我们叫做GPC啊,就是图像处理,这里面呢,就叫做流处理器,大部分的命名呢,都是跟英伟达宝是相同的,所以概念来说呢,比较好理解,现在我们换一个角度去看看刚才的一个架构图,实际上呢,刚才架构图呢,它只是一个架构图,真正的物理上的连接呢,像下面左边的这个脱手式,因为我们刚才讲到呢,BI100是一个双do尔的封装,从Di尔two戴尔这种方式呢,把两块星力呢连接在一起,那。
04:00
左边的这一块呢,是单单的一块新力,右边的这一块呢,又是另外一块新力,而每一块新的上面呢,都有自己的一个HBM高宽的缓存,也就是对应我们的显存,这里面呢有一个很重要的点就是SSPC流式处理处,那可以看到SSPC里面呢,有一个L的case,里面有一个Le的case,中间还有很多个EU,下面呢,我们打开右边的SSPC,打开SSPC之后呢,我们从上到下也是从里到外的方式去给大家去汇报一下,首先第一个呢,就是L2的casel,二的缓存里面的大小呢有8MB,那值得注意的就是因为我们有很多SSPCL2的case呢分布在我们的SSPC里面,所以B呢就叫这个L的呢,叫做分布式的case,分布式的存,它不能有存,还可以作为CH,就是我们的存储器,存储一些相关的一些数据,那后面呢,我们可以看到中间又横插着很多的Le的cash,那这些L的cash里面有一个功能,就是可以读写我们的cash非。
05:00
那方便我们的EU呢,也就是执行单元去读取和写入相关的数据,那接下来呢,我们打开其中的一小块EU,就是我们的执行单元EUEU里面呢,我们同样从上往下去看一下,首先EU里面呢,有一个L0的instruction case,就是我们的读取的相关的指定的case,接着呢有一个web schedule,那这个概念呢,是跟英尾的保持相同的,对我们的指令呢,进行分发,变成我们的具体的线程,每一个线程呢,指令在每一个框里面,那再往下看一下,这里面呢,有一个t Lu,本地的现成的寄存器,大家理解它为寄存器文件就好了,有40KB,那可以看到呢,从8MB再到64KB,再到44KB呢,它是有个多级的缓存的,那最核心呢,就是这里面的V还有T啊,这两个概念呢,其实很好理解,V呢就是VE向量的一个缩写,T呢就是tener的一个缩写呢,就提供了一个16路的streaming process,也也就是对应的流处理器。
06:00
这里面呢,我们叫做SPC流处理处呢,就是这么一个概念来的,那注意了,这里面不是四乘四,而是16X16个,因为呢,它不是一个矩或者向量的执行方式,而是更多的是一个单元的执行的方式,那再往下呢,就是有X fu,这个呢,就是对应special function unit特殊函数的处理单元,例如Co的这些特殊的处理函数,那再往下就是tda啊后面我们会单独的对tda进行介绍,单独的对张亮的数据就是AI的数据呢进行加载读写的,这个概念呢,应该呃,作为A1版里面,它只是一个简单的概念,但是呢,在100里面呢,呃,英伟达的已经成为了一个具体的硬件,这里面呢,B100呢,应该也是学习了英伟达的一些具体的很多的概念,不过呢,讲了很多概念,我还是希望能够回到一下。
07:00
英伟达的A100的整体架构,那可以看到呢,刚才我们BM的L2的呢,主要是分布在每一个SSPC里面,我们可以看到呢,英伟达的100呢,里面的L的cash呢,一般呢,是放在芯片的中间,或者芯片的边上面,或者直接在我们的memory controller的旁边,至于L的开始呢,是跟我们刚才L的开始的方式一样,放在我们每个呃,GPC里面,或者每个SM里面的,那这种方式呢,就很独特了,决定我们的数据呢,或者决定了BR100的存储的方式,或者BR100的架构呢,它是一个进存的架构,我们现在重新打开SPC的整体的架构,看一下L2的cash放在这个位置呢,有什么好处啊,设计了这个L2的cash为分布式的缓存,而且放在我们的计算的核心旁边,也就对应的EU的旁边,能够更好的去共享我们的cash,最终呢,通过我们的偏上高速的OC网络呢,将所有的SSPC的连接。
08:00
在一起更好的进行一个互联,那好处呢,就是让数据和计算的单元呢连得非常的近,在芯片层面呢,实现更高速的数据的互联,那这种呢叫做进存计算的一种方式啊,其实跟我们之前跟大家汇报过的督组的那种方式呢是非常像,但是呢,他们的架构呢,就千差万别呢,这种架构呢更像传统GPU,但是跟传统GPU呢又有点不一样,现在我们打开每一个EU呢,去看一看另外一个维度的问题,首先呢,我们这里面呢,可以看到由非常非常多的EU,那这里面呢,多个EU呢,就组成了一个ceu,我们叫做computer unit计算单元,每个CEO呢也可以包含四八十六个EU,也就是可以通过这种方式进行组合,CU类的线程呢可以进行同步,所以我们刚才讲到了,每个EU里面呢,都有一个web schedule we schedule跟web schedule之间呢,可以进行一个简单的同步,那这里面的同步呢。
09:00
不确定BN里面用的是硬件的同步呢,还是软件的同步,你在教我做事啊forever,我们现在呢,继续深入的去打开看一下,呃,V它里面叫V,其实大家都猜得到了,它是一个呃vect的Co,最核心的就是做一些SIM的计算,那所谓的SIM呢,就是单子令多线程的方式,每个线程呢都复制自己独立的一些数据,那可以看到这里面呢一个呢,它是一个streaming process,也就是流处理的单元,所谓流处理呢,主要是呃,跟英语达的概念呢,是保持相同的,就是对我们的线层,那这种方式呢,或者左边的这个和呢,更多的是处理一些呃啊相关的一些不能用矩阵层去计算的去计算的函数,既然有了,我们往右看看另外一个和叫做T呢,T呢比较简单了,就是我们的张亮盒里面呢,主要是处理一些MM就矩阵长廓的卷积相关的操作,这里面这个T扣的大小呢,就非常的重要了,T设计。
10:00
的越大,它能够处理更多的矩阵的相乘,但是它设计的越大,有可能不利于我们一些卷积的计算,那小呢,它也不是小呢,它会非常的影响我们数据的搬运,我们对数据呢进行大量的贴片,所以这里面的T货的事迹呢,就变得非常的巧妙,不能太大,也不能太小,所以我们现在呢,打开我们的呃T去看看GM的一个计算的架构,那首先呢,我们提到的一点就是呃,尺寸越大的GMM,也就是我们的T越大呢,其实有几个好处,就是能够增加我们数据的重用,提升我们数据的复用率,就数据复用搬来搬去了,我们在一个TQ里面呢,去实现一个矩阵的外机扩者点层,减少外全带宽的诉求了,和相关的功耗,那这里面呢,我们看到在编译版里面呢,它16个T扩呢,是组成一个2D的脉冲阵列,那呃,什么叫脉冲阵列呢?那这个概念呢,又是来自于谷歌的TPU了,那我们可以看到呢,一个脉冲阵列就是我们。
11:00
拍我们的数据呢,就可以从第一个EU呢往右传,第一个数据呢往下传,直接传到到最后就可以实现一个整个大的矩阵的相乘,刚才我们讲到了整个大的脉冲层面,现在我们看一下每一个小盒里面的内容呢,这里面呢就提供了我们打开右边的这个图,提供了两组八乘八,也就是上面我这里面有一个分界线,上面呢是八横呢也是八,两组八乘八的外计的计算,也就这种计算一个SP区呢,流处理处呢,就相当于提供了64乘64的矩阵层的计算,有一个很大的问题就是gem,我们中间的这个和呀,并不是越大越好的,大了之后呢,有可能会严重的去影响我们的算力的利用率,那这个就很讲究了,算力的利用率越低,就证明我们的芯片的架构呢设计的不好,所以我们GM的设计大小呢是非常的有讲究,那这是另外一个话题了,我们现在呢,来到了最后一个内容,就是数据的格式,非常的值得争议的就是。
12:00
在B16了,B提出了呃,1000T每秒执行1万次的BF16的计算,那这个计算量呢,是非常的竟然至少在产品PPT里面呢,除之呢就是到BNBN呢也是OB,另外的话提出了少量的TT,我觉得用的可能并不是很多,你说它是一个创新的好,你说它是一个嗯,怎么说呢,也行吧,瞧你那个作死的样子,那了解完我们整个BI100系列的芯片架构之后呢,我希望提出一些相关的思考,也希望能够跟大家引起一个共鸣后,大家一起去思考更多相关呃技术点的一些分析和讨论,于是呢,我们来到了最后一个内容,对避M科技的一些技术上的思考,那首先呢是对数据格式的思考啊,数据格式我们刚讲完嘛,目前它的一个BI100的分值算力呢,主要是来源于呃1024T的BF16,还有512T的。
13:00
一个TF32,其实呢,这两种格式呢,都跟主流的计算的芯片的格式,例如FP16和FP32的数据的格式不完全一致,说白了就是完全不一致啊,这样的方式呢,就会引起我们对部分的模型可能需要进行二次训练,因为每一次的数据的最后的小数尾的一个舍入都是不一样的面,一个统一的规范和标准,而且它里面的指数也不一样了,可能会导致我们的权重或者已经训练好的模型需要进行二次训练升级增长的非常多,但是跟我们的成本的增长,我们人力成本的增长,我们时间的成本的增长,我们二次训练的成本的增长如何去平衡呢?那第二点呢,就是对计算的思考,因为呃,通用计算的能力呢,是任何一款GPU本来应该具备的一个功能,但是呢,在B100里面呢,所有的测评呢,都是强调它的AI的能力,针对通用计算,Hpc科学计算,三维计算,还有图形图像计算等通用的场景的软件的。
14:00
用性性能都没有提,所以呢,周敏认为BN它这一款呢,就不是什么GPU,它只是仿超英伟达的GPU的架构做了一款专用的AI芯片,这个是中米的个人的概念,或者中米个人的理解了。那第三点就是计算的密集度,很重要的就是在我们刚才讲到的一个AU里面呢,它有一个v cor嘛,实际上呢,我们在AI计算的时候呢,会会更强于Co,在芯片电路面积时设计上的变,其实是会牺牲通用的计算能力来去换取更多的AI的计算的能力,因为芯片的制成就放在那了,里面能容纳的晶体管就放在那了,我们能放多少的ten circle,能放多少的vect Co,其实有讲究的,AI的计算能力越高,我们的VE Co,我们通通用的计算能力呢就会越低,那最后呢,会不会沦为类GPU下面的AI芯片呢?就在完全通用的计算场景,就我们的GPU的场景里面完全没有办法打呢。
15:00
这个呢,需要我们拿到芯片之后呢,做更详细的测评了,这里面呢,就不评价任何现有的技术点呢,最后一点呢,就是我们的算力利用率的一个思考,我们之前讲到了算力的利用率呢,其实呃,这个图呢,我们在之前的AI芯片基础,还有GPU工作原理的时候呢,大量的去给大家讲到了,我们简单的回顾一下这个图里面的峰值算力呢,是中间的这一条虚线里面呢,就代表我们能够实现多少个P里面的具体的理论上的峰值算力,但是理论上的峰值算力呢,会受到我们带宽的约束,粉红色这个呢,就是我们带宽的增长,带宽的一定程度之增长呢,可以提升我们的算力的利用率,或者我们的峰值的算力,但是带宽增长到一定的程度之后呢,我们的峰值算力呢,就可能没有办法再去不断的去提升了,所以我们需要找到一个更好的平衡点,也是中间的这条线optimal的一个平衡点,而带宽对于计算的一个最好的利用率,也就是我们带宽不能成为计算的。
16:00
约束,但是计算的能力呢,不能无限制的去增长,不然然后会成为我们整体的瓶颈,我们的利用率可能上不去,那这个时候我们就引发了对利用率的思考,我们都知道在AI应用里面呢,是非常的重数据,也就是说AI它是一个数据驱动的一种主要的应用,但是对于通用的计算场景呢,会不会影响我们的有效的算力利用率呢?会使得我们的算力利用率呢,急剧的下降了,我觉得是很有可能的,因为通用的计算场景呢,它是不需要那们大量的数据呢,我们带宽可能不需要那么高,所以下面这条直线呢,针对不同的应用它是不一样的,那这个时候呢,在我们的B版里面,它更多的去强调它的AI的计算能力,可能会导致我们通用的计算能力的利用率非常非常的低,那这个有待考究,那第二个呢,就是数据流的进存计算,这也是BI100里面主打的一个主要的特性,虽然他说它是一个GPU啊,但实际上呢,它是一个特殊的架构,里面呢,就提供了高速的片内带宽比较大。
17:00
的S面向类GPU计算模式的AI应用了,软件站呢也对打进行一个对标,那这个时候呢,我的疑问点就是这个时候呢,中米的疑问点就是带宽的B和computer b就是我们的带宽和计算的平衡点,这个点到底在哪里,我们应该设置多大比较合适?那希望呢,后续有更多的方案呢,或者有后续更多的细节呢披露出来,这也是这敏觉得B100人还停留在PP当中,因为现在其实已经过去了三年了,三年里连产品都没有,这是一个很大的问题,你现在还是一个概念,好了,今天的内容呢就到这里为止,我们希望能够对更多的技术进行分享,而不去评价公司企业怎么样啊,谢谢各位,拜拜,卷的不行了,卷的不行了,记得一键三连加关注哦,所有的内容都会开源在下面这条链接里面。拜了个拜。
我来说两句