00:00
爸爸,Hello,大家好,我是周米,到点我就想下班,可惜昨天晚上又加班到凌晨12点半才回来,明天又要去见客户了,Oh my god,好了,吐槽的话呢,就不多说,我们现在来到了都走系列里面的训练系统,我们现在回顾一下在整个AI芯片基础里面呢,我们已经来到了AI的专用处理器AI芯片,今天呢,我们来到了dole的训练矩阵和训练系统引发的最后关于城山一体do走这块芯片的一些思考,Do走的整体的结构进行一个简单的回顾,现在我们来看一下整个do走的架构,四计的直旋。首先呢,我们一直在强调都左呢,它是一个纯算一体的架构,单个可以扩展的计算平面,那现在呢,为什么会叫它?
01:00
恩哥可过掌的计算平面呢,主要是它由组成的方式不一样所决定的,里面最小的一个单元呢,我们叫做do洲Co,接着呢由300多个doo扣组成我们的do走de,同时呢,我们叫做do州dio,那六块do走瓦片呢,就组成了一个do走的主机。接下来打开dole Co里面去看一下dole Co其实呢是由前端执行引擎,还有我们的内存SVM,最后有一个OC的路由四部分来组成,对比GPU呢和CPU,它的控制部件少了非常非常的多,更多的内容或者更多的电路呢,是集中在MAT Mo,我们的核心的计算单元,还有S2个模块里面。那回顾完之后呢,我们来到今天的正式的内容,今天的正式内容呢,就是督左的训练取证,也就是督左的训练系统,现在我们看一下整个督。
02:00
球带有呢,里面主要是由354个都臼块,也就中间的左上角这么一小块来组成的,另外的话,它里面有440MB的SM,也就是上面蓝色的这些小模块,接着呢,我们看一下左边有几个内容,第一个呢,就是片上的网络路由,把好多的多做块呢连接在一起,变成一个非常大的一个2D的网络,那里面每一个小格子呢,就是一个do Co,另外呢,我们看一下第二个内容就是OC的路由,实际上呢,OC的路由呢,它可以随机的分发,然后每个时钟周期呢,可以在四个方向,就是上下左右,每个方向呢都传输一个数据包的输入和输出,在每一个时钟周期内呢,我们可以对多周框里面的SM呢进行一次64B的读和写,因此呢,我们可以在内核里面呢,非常方便的去搬运我们的数据,数据呢根据OC路由去搬运到具体的SM里面。实际上我。
03:00
我们关心的training呢,是由五乘以五的de dial,就是我们刚才想到有很多个do Co所组成的一片dial,这后呢就封装在一块晶圆上面,一个五乘以五的矩阵,在整个训练套里面呢,每个边缘有4.5TB每秒的传输带宽,这个带宽的传输速率是非常的高的,结合在一期里面呢,在B f16和CFP8里面呢,提供376这个S,那这个嗯,计算算力呢,其实中米觉得并不算非常非常的高,其实跟英伟达的A版320TLOS呢,还有华为的@拉斯380T fo呢,其实是没有说他们之间有一个非常高的代差或者成倍的倍数,不过呢,值得一提的就是在一个第一刀里面呢,有440MB,那特斯拉将整个世的重心呢?其实是放在网格里面均匀分布的SVM里面,最重要的一个设计的思路呢,就是通过大量更快更近的偏上。
04:00
存储偏上,存储之间就是SNSN之间的流转来减少对内存的访问需求,从而提高整个系统的性能的吞吐,所以这个呢就是非常明显的成算一体的架构。回到第一这块芯片里面呢,我们可以看到上下左右呢都有一排浅浅的一些接口,这里面呢就布满了576个双向的串行通道的接口,而单边的带宽呢是4TB每秒,传输的速率也是非常快,像台它这周围呢,可以对接非常多的芯片和外围的接口,我们现在看一下具体的外围接口有哪些,具体其实就有一种就是啊简称就是do inter多的一个对外的接口处理器,那这里面呢,有几个内容值得大家去关注的,首先第一个呢就是内存,这里面呢,我们可以看到在一块外围的接入的设备居然有一个非常大的H。
05:00
BM这里面呢,有两个HBM所组成,一共呢有32GB,那可能左边一个呢就是16,右边的这一个呢,也是16,提供了800GB每秒的带宽,这个传输速率也是非常的高的,至少比嗯m link单向的传输速率要高,另外的话,我们可以看到呢,它的传输的方式呢,下面有一个非常熟悉的接口,就是图上面的这个接口,这一个呢,就是典型的pcie的插槽的接口,不过呢,里面的实现的传输的协议呢,是特斯拉自己的协议,特斯拉的transportationco TP的协议,通过这个TP的协议呢,把整个完整的DN的内存的带宽呢,提供给我们都走的训练的芯片,那最后一个内容呢,就是我们的网络,大家注意一下这个外围的设计电路呢,有一个非常有意思的接口,就是这里面的一个网口,这个网口呢,就负责把都走的。
06:00
E戴尔呢,连接到以太网上面另外一款主机或另外一款芯片上面,使得我们整个电路连起来,把整个DO9B1连起来,变成一个hport,那现在呢,我们看一下刚才讲到的那块芯片呢,实际上呢,五乘五形成一排插到我们刚才所讲到的都走的training ta,不过呢,很有意思的一点呢,就是dip,其实呢,它把以太网的整个网络呢,转换成为Z平面的拓,那这个Z平面的top呢,是非常重要,方便我们数据的非常方便的传输到每一款都走的DE1DI里面,你要把数据呢,再继续往下一集传输到do走的Co里面,那具体的Z平面的top呢,我们会在下面进行一个详细的展开,下面我们还是回到整个do组的训练套或者训练矩阵,训练芯片里面,下面呢,我们可以看到一个DOLE1呢属于一个训练的矩阵里面呢,就有六个训练的training套和。
07:00
组成,那每个圈套呢,里面就有一款我们的第1DI,每个D呢就有300多个do,所以说细分的非常细,这里面外围呢有四个CPU,四个主机的服务器,另外的话还有20个我们的刚才讲到的DP,还有一组是wish,连接到以太网的交换机里面,再连接到其他的主机上面,从而呢组成我们整个do者V1的训练举战括了do者V1的训练服务器,那就变成我们右边的这个渲染图所示的这种结构,下面我们来到了第二个内容,都走的通讯的方式,那其实今天的视频主要是刚才讲到了整个都走的训练的主机,训练的芯片,训练的矩阵,之后呢,我们看一下有了这些主机,有了这些矩阵,我们的数据应该怎么去。
08:00
通讯怎么去传输,我要打十狗,刚才上面讲的内容有点多了,我们下面呢,然后快速的聚焦在整个通讯的方式里面,那右边的这两个图呢,是很有意思的,首先呢,一个就是我们的训练的dio,另外一个呢,就是我们的训练的to,横轴坐标呢是我们的链路的长度,那我们传输的链路越长,整个带宽的约束或者带宽的B语呢就会越明显,整体的资源利用率呢也会越低,这就是我们的督主芯片呢,为什么会通过DP去构建我们整个Z平面的链路,现在我们看一下右边的这一个图,其中的一个小框框,就是我们刚才讲到的一个do走D1,那五乘以五呢,就组成一个do的训练的它,所以呢,它整体来说还是非常复杂的一个系统,我们的数据呢,假设从A这个地方呢,传输到B这个地方,进行一个协同运作,或者做一个obdu的操操作的时候呢,整个数据通路呢,会非常非常的长久,这就会造成我们通讯的。
09:00
很紧,于是呢都九呢就提出了一个Z平面的链路,不仅仅将DM的实现呢为本地的存储,而且还提供了另外一种网络的维度,也就是我们的Z维度,要不我们整个ID网络漫长的通讯的存储方式,而且任何一个节点都可以跨系统的去访问我们的数据,那这里面呢,就得益于我们的DP这整一个架构的试剂,每一个节点呢,都可以将具体使用到的数据S到不同的SM或者D里面,下面呢我们就打开看一下多走系统的网络通讯的方式,那这里面很有意思的就是左边的这个呢,就是数据的源,右边呢就是目标的数据,我们希望把数据呢从左边传输到右边,现在我们细节的去打开,中间这一个呢,就是具体的一个多控,那多控呢,是通过片上的一个网络路由,我们之前讲到的,也就是在上一节具体的去打开do code架构的核心的时候讲到的,OC的路由对我们的数据呢进行连接和同步,C的路由呢。
10:00
可以把我们的数据呢,通过上下左右四个方向进行分发,因此呢,我们可以看到在整个都走第一里面呢,这就是整个都走的第一嘛,一个正方形五乘以五,每次快到的时候呢,都会进行一个草表,所以我们可以看到呢,这里面有个voting table lookup,这里面有个VO table lookup,每一次转发的时候都有一个VO table的,通过这种方式呢,把整个矩阵记录下来,每次跨键传输的时候呢,都会对网络的链接呢,进行一个balance recovery,接下来我们尝试的去打开其中一个小格子,也就是我们多框里面具体的数据的传输呢,刚才讲到的OC的路由呢,是里面最核心的对数据呢进行分发,那这里面呢有两个内容,一个呢就是任务的生成,一个就是任务的监控,那任务的生成呢,主要是指我们从远程去获取具体的数据包,最终任务生成之后呢,就会到具体的执行,那具体的执行实际上是会分为local的现成的执行和mode的现成的执行两种方式。另外的话,我们。
11:00
人的执行不是一直在执行的,很多时候我们会在做任务的等待和监控,所以呢,在没有任务或者没有数据的时候呢,我们的线程就会进入休眠,从而我们的计算单元呢也将会进入休眠的状态,直到我们的远程为mode data和local的data这种线程呢被触发之后呢,整个计算单元或整个线程呢才会真正的工作起来。那这里面呢,我们刚才谈到了一个五乘以五五的矩阵,实际上呢,如果我们从A点零零传到最后一个点四五,一个一个节点的传输呢,这种效率是非常非常的低效的,所以督左它在整体的编译器里面呢,就设计了一个系统的同步,把我们的整个呃,具体的嘟多括呢,变成一个带节点的通讯数,那就变成右边的Barry domain2个通讯数对整体的计算区域,也就是嘟周廓呢进行了一个平面的划分,通过数的方式呢进行索引和触达到每一个嘟周框里面,这样的话会加快我们的索引。
12:00
和运算,所以呢,在整个都走的系统的网络传输的方式呢,呃,除了硬件的Z平面的设计,把我们的dip呢插在每一块第一之外呢,我们还有在编译器软件站里面呢,做了非常大量的工作,例如look table呢,还有刚才讲到的编译通讯术这种方式呢,去提升我们整体的数据的传输方式,那这也是很有意思的一个创新点,哎呦,好不容易终于来到了do左系列的最后一个内容呢,都作已经连载了三个视频啊,这最后一个内容了,那这里面呢,综敏想引发大家的一些思考,关于do走的首先呢,我们讲了很多,其实大部分都是围绕着督左的硬件来去讲的,督左的硬件呢,又跟传统的我们的TPGP或者我们的TPNPU的架构是不一样的,它提出了一个纯算一体的架构,那这个时候呢,非常依赖于AI的编译器,或者我们的,嗯,或者我们的软件编译器,但是呢,关于业界的AI编译器,其实现在是没有。
13:00
一个统一的方案,或者没有一个业界的标准的,那这个时候呢,督主的编译器呢,就会跟业界的编译器差异非常的大,如果督主去对接业界的TPM嘛,或者siv这种编译器呢,那它可能很难对接,或者编译器有非常大量的工作,于是呢,这里面呢就衍生一个问题,我们督组如何去兼容AI软件的应用性和AI软件的生态,我觉得这是一个很大的灵魂拷问,我们从特斯拉的去年和今年的AI分享会,其实可以看到都是走的非常非常困难,所以我也是不太看好都的一个原因,他花了两年的时间才把建立起来,而建起来呢里面就跑了几个简单的应用而已,包括它跑通了,居然拿来在发布会上去讲这个事情,我觉得这是很可耻的,你只是跑出一个网络模型的大哥,当然了,吐槽的事情我们就不多说了。更多的希望留。
14:00
业界留给时间去验证,现在第二个问题呢,我们可以看到啊,多出框里面呢,其实并不太关心虚拟内存的支持,那这个时候我们会引起很多问题,就是在云服务的场景里面,我们多任务场景如何更好的分配具体的督主库的任务,其实这个就回到刚才第一个问起,它大量的依赖于我们的编译站,我们的编译器去做一个分配的,所以编译器如果写的不好,或者编译器确实,呃,现在至少来看呢,Do左是不太支持这种任务的分配和云服务的,未来不知道do左会在这方面有如何的考虑。第三点呢,就是在do作Co里面呢,其实我们可以发现之前的分享里面呢,都知道督作框里面其实阉割掉非常非常多的模块,包括精度异常这些模块,那在训练的场景里面呢,如何有效的去对我们的代码进行调试呢?如果我们只是用do走给我们提供好的模型,这个没问题,但是呢,我们要自己去开发模型,要自己去调试的时候,它既可能会成为一个灾难故障。
15:00
Dodo他是如何去解决这些问题的,所以软件上面的dodo其实是没有太提的,或者在特斯拉的会上没有太提的,但我觉得软件上面才是他最重要最应该下工夫的点。最后还有两个问题呢,是跟云是强相关的,因为都总呢,他未来是打造一个port,也就是一个嗯,超级的计算机集群,那这个时候你有一个集群,你不可能运行一个单个任务,你可能需要运行非常非常多的任务,但是呢,如果有一个任务死机了,我们需要重启计算机,或者重启整个系统的时候,这会影响到我们的其他的业务,那我们怎么去做隔离,怎么去做诊断,这个时候就变得非常非常的重要了。但是呢,另外一个方面呢,都总对硬件呢,其实是做了非常多的定制化和阉割的,那H呢,作为一个整个服务器集群,它怎么考虑云化的问题,如果不能云化的话,基本上这个服务器呢,你要跑起来是很困难的,你要需要大量的人会给整个系统做运维,我也不知道都总他是怎么考虑这些问题。
16:00
对的,说实话这些都可以有方案,但是可能投入的人力成本会非常非常的高哦。那今天的内容呢,就到这里为止了,我们其实分开了三节给大家去汇报整个督走的,包括督组整体架构都走或存上一体的细节内容,再到督组的训练的举阵和它的传输方式,最后引发一些疑问和思考,希望大家能够坚持到最后,感谢各位,卷的不行了,卷的不行了,记得一键三连加关注哦,所有的内容都会开源在下面这条链接里面。拜了个拜。
我来说两句