
阿里巴巴集团副总裁周明负责阿里巴巴集团、蚂蚁金服集团,包括阿里云在内的基础设施、基础技术的研发、规划、建设、运营等。周明在2019杭州云栖大会上,深入介绍了阿里巴巴基础设施的挑战以及芯片策略,以下是周明的分享内容文字整理,经编辑。 我从基础架构的规划建设和运营者的角度,谈一下基础设施所面临的挑战,以及从基础设施角度看如何发挥整体的芯片算力及其策略。 首先,阿里巴巴基础设施的现况。阿里巴巴今天已经不仅仅是服务于电商以及蚂蚁金服的金融业务,因为有了阿里云智能也就是把技术作为业务的商业模式,所以我们服务了各行各业,服务企业有上百万家,囊括了互联网、电子政务以及金融等行业和企业。 我们有遍布全球的数据中心,也有百万级规模的在线的生产服务器,是全球前五大的服务器规模。这么大的规模一定就会给带来非常多的挑战,挑战有技术的、也有非技术的,接下来简单讲一下面临的挑战以及做了哪些方面的工作。 首先,我们服务器从10万到100万(百万级),当然今天还没有哪家公司有1000万规模的服务器,千万级规模遇到的挑战肯定是不一样的。当在线生产服务器到达10万的时候,一定要考虑在百万级的时候应该遇到什么样的挑战;同样,当到达百万级的时候,就要考虑千万级将遇到什么样的挑战,技术挑战和运营挑战都是什么,这些都是需要值得我们思考的。 从技术上简单讲一下,我们一定要考虑技术竞争力。首先技术要有先进性,另外还有考虑TCO的成本,如果不考虑成本问题的话,肯定不可能大规模应用。没有大规模应用的话,就认为是技术的自嗨,所以在这里考虑的事情就比较多了,比如考虑大规模的在线管控,肯定不可能人工管理而要高度的自动化,这就可能带来很大的风险,一个bug或故障很可能就会被放大,到底要怎么做,大家可能很多时候就会忽略供应链。 今天阿里巴巴在全中国的一年新增服务器,占到全中国增加服务器10%以上的时候,可以想一下一年增加几十万台服务器是什么概念,可能几天之内就要有多少万台的部署(高峰期时候),供应链就会带来挑战。 我们曾经有过经历,服务器可能要两三个月才能到货,因为用量大,不是几百台、几千台。现在基本上从开始下单到最后可以用,10个工作日就可以全部搞定了,这是我们认为比较经济的时间。 这里其实有非常多的技术考虑,包括如何通过算法做好预测等,包括运维管控中出现的故障、怎么解决用户的期望等。 大家都知道,今天云的客户最希望不管基础设施,只管做好业务就可以了。不管是什么概念呢?就是说这个设备永远不要换,潜台词就是永远不要出现一个故障,最好让客户不知道,但很明显是不太可能的。 另外,资源永远是需要的时候就要有,最好不要告诉客户说服务器没有了、资源没有了、数据中心没有了等等,这个其实也很难做到。 站在我们的角度就要考虑这么多的挑战。 同样,回到今天的话题“算力”,大家都在讲摩尔定律遇到的挑战,计算力是未来。我作为一个基础设施的技术研发、规划工作者,认为计算力绝对不仅仅是计算力,它涉及到计算、存储、互联,涉及到数据中心如何进行有效地结合。 今天阿里巴巴作为互联网企业,更多体现在整个集群上要考虑的事情,就特别多了。比如大家今天都在做异构计算GPU、NPU,这些算力如何与CPU进行搭配是最合理的? 同样,今天大量的数据在计算时需要搬运,搬运数据的时候一定会遇到带宽等问题,也要考虑到搬运数据的过程是否在意延时。 像今天做存储,如果是分布式存储,很明显需要集群网络的性能,这时候网络延时就很重要了,大家都知道TCP/IP协议不太适合低延时,那就要考虑到底是要利用现有的低延时网络协议如InfiniBand、RDMA,或是今天自研一个低延时的网络协议,包括拥塞控制的算法,这些都是非常有技术含量的。 应用中还遇到一些问题,比如今天的互联网公司希望做一个10万台规模的服务器集群,因为它可扩展、利用率高,相当于可以提供很多资源。 网络人员会说,数据中心只要能够承载这么大规模的服务器,网络都可以搞定;而数据中心人员会说,只要网络能搞定,其它都没有问题。 但真正要做的时候,遇到的问题就非常多了。比如从数据中心来讲,最容易想到的是供电,还要考虑每一个机柜多少千瓦最合理(结合应用)。同样,对网络来说,网络设备成本已经占到50%以上,这时候就要考虑到底是全部用相对比较昂贵的长距模块(最简单的),还是通过部署让网络设备更加合理,用的模块距离更短一些、成本更低,整个TCO更有竞争力、每个端口的成本最合理,这些都是需要考虑的。 接下来,简单讲一下阿里巴巴在这些领域里做了哪些工作。 首先,算力方面,平头哥提供了NPU芯片。同样,作为一个互联网公司,大多数时候在基础设施里还是会使用合作伙伴的技术,因为重点在于整体架构、整个系统设计,如何获取最高的能力。所以,我们也会定制化,包括FPGA。今天阿里巴巴在搜索业务上,以前的搜索用的是GPU,而GPU相对比较昂贵,我们在搜索业务用FPGA进行卸载,其实非常不错,但唯一一点就是可能经常会有算法的改变。大家都知道,算法一旦变,做个FPGA、RTL,尽管比ASIC要快,也得花两三个月的时间。这时候我们做了一个编译器层,包括专有的指令集,把一些基本算子先写好,当算法有变化时通过编译器就可以快速地应用新算法。 这样的话,就可以从以前的两三个月,很快缩短到几天的时间,其实现实中甚至不到一天或半天就搞定。 讲一下连接,连接其实贯穿了整个数据中心。从芯片来讲,服务器总线协议、机柜级连接、集群连接等,都需要做非常多的工作。 今天讲一下从节点到集群的工作,中间是今天发布的自研400G DR4硅光模块,硅光模块到今天为止还没有发布400G的。硅光模块有非常大的优点,比如把比较大的光器件做成硅光芯片,这样就能让硅光芯片象集成电路一样,可以快速地设计并且制造,体积更加小而且成本在大规模生产之后会降低,但挑战非常大,包括技术和生态链条上的挑战。如果做光芯片的,肯定会非常知道这里面的艰辛,但阿里巴巴做了并且做成了。我们今天发布以后,大规模使用可能会在明年的下半年。 再往上是DCI通讯,再往上讲一下网络集群,其实是用自研的交换机和OS来组成新的HAIL 2.0集群架构,这个集群架构抛弃了以往的商用交换机架构。 商用交换机核心是机架式核心交换机,我们全部是自研的交换机,自研NOS的好处是规模可以做到很大,可以做到10万台规模以上的集群,同样扩展能力也非常高,就是扩展非常方便。再者比较智能,可以像服务器一样来管理交换机,所以可以自动化的上线。 基本上我们的网络就是自动上线、自动变更,遇到故障时基本上实现的是3分钟恢复,就是1分钟发现故障、1分钟定位、1分钟恢复,这在传统网络设备里还是非常大的挑战,但正是因为我们今天做了这些工作,才有了这样的一个结果。 再讲一下存储,去年我们发布了AliFlash V3版本,自研的SSD也支持了Open Channel的SSD,今年已经大规模用上了。支持Open Channel SSD的好处是通过本地的存储软件,可以直接对SSD进行更加底层的操作,性能更好。同样,AliFlash V5.0也在研发中,会做一些净数据的存储和计算。 同样,我们在服务器领域里也做了从部件到整机服务器架构优化的设计,这是新一代的云服务器玄武,它其实也是一个模块化设计,就是在服务器硬件层面是模块化的,可以自由地组合、组装,通过不同的组装之后可以满足不同需求,比如不同规格的计算或存储服务器,从硬件层面都比较方便。 同样,我们也做了边缘云服务器,主要目的是为了快速交付并且快速上云。 刚才讲到了存储、计算、连接,还有一个很重要是数据中心,阿里巴巴在数据中心一直做了很多探索,前两年在千岛湖里做了一个从湖底抽水制冷的数据中心,它的好处是比较环保和节约成本。我们在张北也做了新风自然冷,也是非常环保和节约成本的,但张北还做不到365天,因为有时候与空气质量有关系,因此差不多有300天以上是自然风冷性能。 由于今天数据量越来越大,数据处理也越来越复杂,芯片功耗也越来越多,大家都面临着功耗挑战,这时候就要求单机柜的功率密度,甚至有时候要求高功率密度的机柜,所以我们研发了浸没式液冷的数据中心,今天已经在张北部署了世界上最大规模的浸没式液冷数据中心,我们即将部署在杭州的差不多有两三万台规模的浸没式液冷数据中心。不仅仅是功耗问题,我们也在考虑如何能够把浸没式液冷作为普世性的数据中心。 回到算力问题,架构会带来非常大的改变,会带来E级计算能力,事实上我们也通过各个团队的努力做了512片的训练集群。我们在数据中心领域,在低延时网络、计算、存储、编译器、AI算法等努力下,这个集群取得了很大的效果。 举个例子,比如以前做的拍立淘,之前做一项训练可能需要花两周,而用这个集群可能几十分钟就能搞定了。同样,以前我们做不到100万的分类,今天用这个集群就做到了这么大规模的分类。 总结下来看,计算能力线性的增加是有技术含量的,这个技术含量是需要各个专业深度配合,并且这是有业务价值的,体现在两个方面:一方面,以前需要花很长时间,今天可以很短的时间搞定,让业务快速迭代,尤其互联网快速迭代业务、快速试错非常重要;另一方面,以前做不到的事情现在可以做到了,比如Google发布了一个模型,很多原来根本就没法算,但对我们来说就不是问题。核心就是一点,计算能力线性增长是有技术含量的,也是有业务用途的。 今天我们团队提供的不仅仅是技术,还提供的是生产7×24小时服务,意思是说不仅仅是提供设备,也不仅仅是提供技术本身,而是要提供用于生产的服务。这时候就要管控了,我们做了一个数据中心大脑,干了什么事情呢?首先,是对服务器、网络、机电设备等进行很好的管控,从交付到业务处理,一旦有了故障可以快速恢复,从最开始人工到数据化,从数据化到自动化,从自动化到智能化。其次,是数据中心日常运维现场人员的管理,IT人员、电力设备人员、空调制冷人员等,怎么进行日常工作、做哪些工作,这时候让数据中心大脑提供决策辅助,提供最优决策。举个供应链例子,通过智能算法做好精确的预测,让整个交付准确率很高。 最后,回到今天的主题,阿里巴巴基础设施和芯片策略,芯片非常重要的,没有芯片的硬核计算能力,实际上很难有这么一个未来。 但是要把芯片能力完美地发挥出来,需要各个专业能力包括架构能力等。同时,阿里巴巴也不是所有事情都自己做,我们也坚信不管从应用到系统还是部件到芯片,也要有合作伙伴一起来发挥各个专业能力,从而获得整个系统最优的架构。 最后讲一下,所有这一切都是在客户需求的价值驱动下做的。必须回到我们做的事情到底对客户的价值是什么,解决客户的痛点到底是什么,否则一切都是技术自嗨。(文/宁川)
魏少军是清华微纳电子系教授,在2019杭州云栖大会上,他分享了“人工智能时代中国芯片设计的应用之道”,以下是他的分享内容文字整理,经编辑。 现在每个人都在谈人工智能,我一直研究芯片的架构,所以对芯片架构情有独钟,当看到人工智能的时候,第一个想到的就是人工智能芯片的架构是什么? 回过头看,对深度神经网络的研究可以追溯到早期(上世纪80年代),诺贝尔生理学和医学奖获得者David Hunter Hubel发现了视觉神经、神经元、突触,他想象了突触和神经元之间是怎样连接的。 因此,找到了一种似乎看起来可行的,通过一个节点表示神经元,通过节点互联表示突触,并用其上的权重来表示突触的通与不通或半通,因此形成了所谓的人工神经网络,进一步形成了深度神经网络。 今天我们说“无产业不AI,无应用不AI,无芯片不AI”。ARM公司院士Rob Aitken曾谈到,从Cloud的Big ML到Edge的Medium ML再到物联设备的Little ML,大概各有两个数量级的差距,从10的8次方到10的12次方。另一个角度看,从实际现实的信号输入到云中的结构化数据,中间也需要大量的过程。因此可以看到,从云上的AI到应用上的AI可以说是无所不在,只是目前更多还是在考虑云上的AI。 乐观预测,到2025年的时候,深度学习芯片市场将达到663亿美元。2018年,主要是GPU占主导地位;到2025年的时候,以专用目标作为主要目的芯片数量会远远超过GPU等通用芯片。这至少说明了一件事,就是AI芯片到2025年将具备巨大的市场规模(600亿美元以上),全球现在芯片市场也就是4000多亿的规模,所以到2025年将有1/6由AI芯片主导,所以影响是非常大的。 人工神经元等神经网络的机理其实是加权和,也就是各种层次的加权和,这样的结构要去真正完成计算任务,就需要很好的训练(通过数据的训练),找到权重的数值,最终形成训练的结果,以指导最后的推理计算。这看起来好像很简单,但它孕育着巨大的问题,即它需要巨量的计算能力,也就是算力。不同的人工神经网络适配不同的应用,例如CNN卷积神经网络可用于视觉识别,FCN全连接神经网络可用于手写体识别,RNN循环神经网络可用于语音识别和翻译等。人工神经网络到目前为止有两个问题还没有解决:一是算法仍在不断演进,新算法层出不穷;二是一种算法对应一种应用,没有一个统一的算法。 如果要去设计AI芯片而且在一个芯片上能够实现多种不同的应用,显然是不可能的,因为每一个都要做大量的运算,所以一颗芯片能完成一种神经网络的运算已经不得了。例如:1997年到2007年的ANN神经网络只有三层、网络参数为1万、芯片运算量为20万次/秒;2012年的AlexNET神经网络为7层、网络参数为6000万、芯片运算量为10亿次/秒;2014年的GoogleLeNet神经网络为22层、网络参数为5000万、芯片运算量为15亿次/秒;2014年的VGG19神经网络为19层、网络参数为1.38亿、芯片运算量为196亿次/秒;2015年的ResNet神经网络为152层、网络参数为1.5亿、芯片运算量为113亿次/秒。 所以,一颗芯片对应一种应用,两种应用就是两颗芯片,N个应用就要N颗芯片,这是应该现代AI芯片设计的重大瓶颈。前段时间清华大学的施路平教授在《Nature》上发表了一篇封面文章,把类脑计算与深度神经网络合到一个芯片中,引起了《Nature》的高度重视。原因在于现在做芯片之难,除了本身的高计算量之外,把AI从云推向边缘时的能量效率也成为巨大的问题。 可以看到VGG19,大概需要196亿次的运算加上同时处理1.38亿的参数,如果不考虑能量效率的问题,手机大概算一次电就没了,所以肯定是不行的。 所以说AI芯片需要高能效的通用Deep Learning引擎,它确实需要一个全新的算法,传统的算法都不行。其实计算能力的提升并不复杂,人脑的计算能力其实非常有限,超算早已超过人脑,所以简单的追求人脑的计算能力不是目标。相反要看到,人脑和机器逻辑去比较,最重要的一点是人脑有140亿神经元,工作频率只有200Hz,传导速率以每秒钟120米的速度,由于人脑皮层有半米也就是1/4平方米,所以还是可以完成10的16次方运算。而人脑的重量为1.2-1.6公斤,而能量效率非常高(只耗20瓦),但机器以天河2号超级计算机为例堆积了很多芯片,可以实现10的34次方运算,代价是720平方米占地面积、5吨重量以及24兆瓦功耗。因此,在现实中,不可能每个人一天到晚背一个超算去工作。所以,一定要找到一种能够实现与人脑差不多能量效率的设计,当然现在不知道应该是什么样的设计。 总结一下AI芯片应该具备的基本要素:第一,可编程性,可适应算法的演进和应用的多样性;第二,架构的动态可变性,要适应不同的算法,实现高效计算;第三,要有高效的架构变换能力,变换时钟周期要很低,低开销、低延迟;第四,高计算效率,避免使用像指令这样的低效率架构;第五,高能量效率,达到10TOPS/W,某些应用的功耗要低于1mW,某些应用的速度要达到25F/s的识别速度;第六,低成本,要能进入家电和消费类电子产品;第七,体积小,要能够装载在移动设备上;第八,应用开发简便,不需要芯片设计方面的知识等。 因此,目前流行的CPU+软件、CPU+GPU、CPU+FPGA、CPU+ASIC的做法,均不是理想架构,可能需要一种全新的架构。 也正是因为如此,我们今天还没有真正实现人工智能,UC伯克利大学的Michael Jordan教授曾说过:今天所说的Artificial Intelligence其实不是AI,更多是Intelligence Augmentation或叫IA增强智能,也就是利用这些技术来帮助人类真正实现和加强智能能力,而离真正的AI还差很远。 去年3月9号,我在2018 GTIC会上提出了一个问题,当时问题的前半部分是:是否会出现类似通用CPU那样独立存在的“通用AI处理器”,如果存在的话,它的架构是怎样的?实际上我那时候心里是有一点点答案的,但我想听听世界上的大牛们是怎么说的,而当时问题的后半句没列出来,想问的是如果不存在的话,今天做AI芯片的公司将何去何从? 后半句问题今天已经有答案了,我认为是存在这样的一个通用AI芯片的,因为在过去一年当中看到太多的相关技术,给了我们很大的启示。问题是怎么去看待这样的AI芯片。 John L. Hennessy和David A. Patterson在图灵奖讲座《计算架构的新黄金时代:专用领域硬件/软件的联合设计、增强安全、开放指令集以及敏捷芯片开发》中有一个名言,叫AI等于Architecture+Intelligence,我觉得这句话还不能够很清晰地表达AI的意义,我更多认为AI等于Architecture+Innovation,也就是说要做AI的话,首先想到的是架构的创新,如果架构上不创新,按照现在的这种方式走下去,恐怕很难获得真正所需要的架构。 AI处理器现在有很多种架构,比如ASIP的Cambricon、RS Dataflow的Eyeriss、Systolic Array的TPU、Sparsity的SCNN、Flexible Bit的UNPU等,问题是这些是不是最理想的呢,现在需要认真思考一下。 为了做这个事情,我们花了一年时间做了一个路线图:横轴是Deep Learning的Algorithm算法,纵轴是Hardware Architecture硬件架构。沿着横轴有各种各样不同的DL Algorithm,可能还在不断地演进,称为“More Algorithm”;纵轴上看到有各种各样的Hardware Architecture,称为“More Architecture”,或者更时髦的词叫“More than Algorithm”。最重要的不在于这两点,实际上要看的是中间结果,中间结果是算法与硬件的Co-design。做芯片的人都知道,曾经非常崇敬Hardware和Software的Co-design,现在看来不行,而要从Algorithm入手,也就是说硬件和算法这两者要结合到一起。派生出不同的应用场景也是自然的,现在面临的是各种各样的Co-design、Co-optimization、Co-verification、Co-implementation,因此做芯片不再容易,而变得越来越复杂。 现在的实现是怎样的呢?可以分成三个阶段,当然还有第四个阶段叫AI Chip2.0。 第一个阶段,可称为AI Chip 0.5的早期阶段,那时候要实现AI应用没有任何的现成算法,所以把CPU、GPU、FPGA、DSP都拿来用了,当时关心的是能不能实现AI计算,只要能实现就好,而不关注Performance性能够不够,当然GPU的Performance最高,所以用GPU的最多。到了AI Chip 1.0阶段,开始出现像Google TPU、MIT Eyeriss等。这时候不仅仅关注了Performance,还关注了像Power Consumption、Energy等问题,都是与应用密切相关的问题。所以,要考虑一个新产品、新技术的落地,最简单的办法就是做一个专用的芯片。到了AI Chip 1.5阶段,开始发生变化了,有两个标志性的成果:一个是清华的Thinker,还有一个是Wave Computing的DPU,分别考虑的不仅仅是专用的领域,是半通用的Reconfigurable可配置的,同时能够把Training训练和Inference推理两个任务放在一起,就意味着在性能、能量、效率、功耗等之外又加了一个Flexibility,即灵活性。在这个过程中看到Reconfigurable和System是关注的重点。到这儿还是一个Semi-General,还不是一个真正意义上的通用芯片。通用AI芯片是什么呢?目前为止还没有看到,它应该是一个通用的、自适应的、智能化和智慧化的设计,其中Intelligent和Intelligence成为两个关键词。 早期的AI芯片更多在考虑训练,像云端更多是训练计算任务,因为云端的计算能力足够强,找到那些权重参数要花费很多的算力。后来要通向终端应用的话,要有Inference能力,未来的芯片应该不分Training与Inference,应该两个都包含在其中,因为有可能在终端也要做Training和Inference,最终能不能实现也要拭目以待。 我们看到从AI Chip 1.5阶段开始出现了一种新的架构,是可配置Reconfigurable的,其实这个技术早就出现了,它在1990年就出现了,中间经过了90年代的发展期,后来又高速发展,到现在为止人们突然发现它可以用来做AI芯片。Wave-Computing就是采用了这一结果,只是它用的是静态任务。 第二种称之为软件定义,可以把软件的可编程性和硬件的可编程性定义为两个轴,尝试着把现在已有的芯片往入四个象限,例如CPU、DSP等以软件编程为主的在第二象限中,第三象限有ASIC和SoC,第四象限是FPGA和EPLD,问题是第一象限是什么呢?并不知道第一象限是什么,这就找到了一个全新的路径,第一象限应该空间可以发掘。我们称第一象限为可重构计算的芯片或叫软件定义芯片,通过软件来定义硬件的架构和功能,而且是实时和动态的定义,这样就可以解决算法在不断演进、硬件功能不断变化,如何适应算法的变化和算法的选择。通过这种方式,清华也做了重要的尝试,比如Thinker,这是一系列可重构神经网络的计算架构,这个计算架构用的是一种与其它理论不太一样的思路,它具有跟ASIC差不多的性能,但具有CPU一样的灵活性。 去年年初,MIT Technology Review专门写了一篇评论文章,对清华的这颗芯片进行评论,认为中国取得了一个宏观级的成果,这颗芯片我们今年把它推向市场以后,也成立了一个公司,今年大概已经可以到千万美元的量级、几百万颗的订单了,一下获得了很好的机会。为什么很好呢?因为它的能量效率极高,绝对功耗又极低,用它进行语音处理的时候只有200多个微瓦、0.2个毫瓦,一节电池可以用一年,用于人脸识别时大概6个毫秒可以识别一个人脸,而且同时可以识别很多的人脸,识别率高于人的识别,而每一个识别的功耗只有12毫瓦。 最后,一个更为理想化的想法是怎么能够让芯片变得更智慧一些,刚才信息化最终都想能够实现智慧化,什么叫做智慧化?需要具有自己学习的能力。人类通过接受教育、通过学习,变得与众不同。所以,学习和教育或者训练和推理,很可能起到重要的作用。设想一下,如果芯片也可以通过学习和接受教育,那是不是这颗芯片能变成越来越聪明呢,变得与其它的芯片不一样呢?如果能做到这一点,芯片的智慧化就至少有了一点点眉目。 我们给出一种可能的智慧芯片架构,大家可以看到它包含了可重构的内核加一个训练内核,同时有很多On Chip或On Device的Compiler软件,其它新设计包括Algorithm和Software的进化,当然最难的是怎样甄别软件和应用,这是可以实现的。经过时间的推移和技术的不断推进,相信这个问题可能可以实现的。 如果看架构的主要功能,可以看到三个红色的部分,现在看起来最难突破,也是最后才能突破的,也就是如何根据应用来定义一个或找到一个最适合的神经网络。通过应用定义的神经网络去找到对应的软件,这又是个难点。当然,怎样把数据抽取出来进行训练以及进行推理,这也很难。这个问题可能不是今天能解决掉的,但未来可能可以解决。 蓝色的硬件方面,至少知道该怎么做,从Reconfigurable Processor的角度是可以说清楚的,Training Engine只要性能足够高、能量效率足够高,也是可行的。 剩下绿色要解决的是比较难的。第一个叫On-Chip Compiler能不能做到,而且这个Compiler应该是具备一定智能化的Compiler,这个事情本身就是个难点。更难的是Software Evolution也就是软件的自演进,怎么能够让算法和软件自己演进,而不是简单的改参数,而甚至是自己编程,可以对架构进行变形,架构变形后再自动产生相应的算法,算法再产生软件,这样一个过程能否智能化?如果这个过程能够实现智能化,就认为向前迈了一大步。再把刚才红色的问题攻破以后,AI芯片就具备了初步的智慧功能,可以通过不断地训练和使用过程,不断地自我学习,变得越来越聪明,越来越适合应用。 设想一下,当有这样一颗芯片用在阿里云中,想换掉这颗芯片的难度都会变得非常大了,因为换掉它要付出巨大的代价,所有的训练和学习都浪费了,因此一定会想办法把“知识”传递下去。 这样的智慧芯片,除了刚才讲到的人工智能芯片所具有的特性之外,更重要的是以下三点:学习能力,接受教育,成长能力;算法、软件的自主演进能力;自主认知,自主判断,自主决策的能力。这三点都是难上加难,需要真正意义上花费大精力去实现。当时,讲技术、讲芯片、讲算法,再多也没用,应用是真正要解决的问题,AI芯片最大的障碍不是技术问题,是如何落地的问题。今天要甄别一个AI能不能有实际应用,真的很难。 列出一些应用来,它们可以用AI去实现,但十有八九不用AI也能完成,甚至完成的更好,这时候AI的压力就变得非常大。那么,到底哪些应用需要AI?需要AI帮忙解决什么样的问题?什么是AI的“杀手级”应用?以及什么样的AI应用是我们每天离不开的?如果把这些问题搞清楚,也许就知道如何去发展真正意义上可用的AI芯片了,那时候AI就真正的来临了。(文/宁川)
阿里巴巴达摩院高级研究员金榕以及含光800设计者、平头哥研究员焦阳在2019杭州云栖大会上,深入介绍了含光NPU的算法与架构。以下是金榕及焦阳的分享内容文字整理,经编辑。 金榕:首先,深度学习在所有领域都发生了质的变化,一个很明显的例子是语音识别从最初的需要依赖用户语音到今天基本上随便做一个语音输入都可以很成功,视觉是另外一个非常好的例子,今天深度学习可以从过去只能几百类或者上千类的识别到轻松几百万类甚至几千万类的识别,并且有很高的精度。 同时,今天看见在市面上有很多视觉识别公司,利用了深度学习技术,把视觉技术真正地应用在各种产品上,比如人脸识别就是非常成功的例子,非常值得一提的就是阿里城市大脑,利用视觉技术自动监控交通和安全的行为,使得视觉分析不再依靠原先的特殊设备,从而能够广泛地应用在城市的各个角落上。 自然语言和翻译严格意义上是深度学习较晚进入的领域,但是今天深度学习对这两个领域产生了质的变化。如果大家有幸用过以前的谷歌翻译和今天的谷歌翻译,可以看到非常本质的区别,其中最主要的原因就是由深度学习带来的。 简单的科普,要想把深度学习技术实用化,至少需要考虑三件重要的事情:首先要定义要学习的函数,这就是今天神经网络做的事情;第二是需要很多数据,也就是大数据;第三就是优化的问题,需要在定义的函数空间,利用数据找到一个最合适的解,从而最佳适配数据。 今天,深度学习真正实用要至少克服两大挑战(从计算的角度):第一是如何让复杂的模型更高效率和高效能运行;第二是模型需要吞吐大量数据,如何在大量数据量呑吐的情况下还能保持很好的实时性。例如,就深度语言模型而言,今天非常流行的BERT language model,几乎成为所有自然语言处理核心的模型,而今天实际上用的Bert模型还是平均的Bert模型,但它至少有几亿的参数,如果采用大型Bert的话,至少参数要翻一个数量级。 另外一个跟自然语言处理有关的就是机器翻译。今天机器翻译一般都是用Deep Transformer的结构,这是一个非常深的至少60多层的结构,它为了更好捕捉上下文信息,需要所谓的Multi-head Attention机制,这些都让模型极其复杂,使得运行模型的计算成本非常高。 而在语音识别中,最近几年一个大趋势叫做End2End语音识别模型,与过去的区别是什么呢?早期的语音识别模型都是先识别发音,形成声音模型(Acoustic Model),然后再把发音转变成句子(Language Model),但今天由于计算能力的大幅度增强而只需要一个流程即可,从语音输入直接到整个句子输出形成End2End模型。一般来讲,一个End2End的模型至少是几十个G大小。 说完了模型的大小,再提一下数据的问题。今天阿里有很多场景都需要用AI技术来支撑整个业务,而今天的数据量也是过去无法比拟的。以翻译为例,翻译在今天阿里很多跨界业务中都起着核心作用,包括阿里很多海外业务都需要翻译,就是把中国的商品翻译成相应国家的语言。每天大概需要翻译一亿+的商品,通常需要21种语言的翻译,每天翻译的调用量在10亿的级别,是非常大的使用量。 诸位也许有机会用到拍立淘,这是一个非常简单的产品,对任何有兴趣的物体拍一张照片,系统会自动识别这个商品并链接到商品页面,拍立淘大概每天有2000多万的用户、每天上传图片至少是4亿到5亿,需要一个极大的计算引擎去处理这么大量的图片,而且这还是在线的用量,离线处理量更大、约在百亿级别的水平。 另外一个值得一提的数据就是遥感影像数据,例如进行某地遥感数据分析,包括路网信息、建筑信息、地貌信息等等,浙江一个省可能就需要2个GPU、8天的时间才能把所有需要处理和识别的任务处理好,即使是一个小园区也需要好几分钟才能把其中的建筑、地貌以及地图识别出来。所以,可以想象如果扩展到整个地图,将是一个海量工程。 今天作为阿里的AI核心团队,面对这样的计算挑战,面对大数据的问题,我们做了不少工作,包括大量的推理加速工作,一个主要努力是模型压缩,例如对Fully Connected Network(FCN)可以试着去掉一些连接等,从而减少计算量,提高计算的吞吐能力。 我们还在做所谓的低功耗图像识别,这时候需要设计design神经网络架构的搜索方式,找到更合适的神经网络架构,从而更好的完成低功耗识别。所有这些都有一个问题,那就是所有的改变都发生在软件层和算法层,而如果没有底层硬件层的支持,这些改变也不会发挥最大效果,一个最突出的例子就是Sparse Connectivity,大家可以看到如果把神经网络算法从全连接Full Connected变成稀疏连接Sparse Connectivity的话,从理论上应该可以得到很大的加速,但是如果没有底层硬件的支持,这样一个加速将会受限。 由于这些原因,我们跟焦阳的团队合作,希望能够把上面最好的神经网络算法结构与底层最好的硬件支持结合起来,从而交付一个最强大的计算引擎。所以下面请焦阳介绍含光800芯片。 焦阳:我们团队在设计这款NPU的时候,能够在比较短的时间有比较大的进步,实际上在很大程度上是与阿里巴巴达摩院算法团队合作(金榕、华先胜、王刚等),团队在人工智能领域有多年的积累,如果没有这种积累就很难想象NPU会在很短的时间迅速找到方向,包括到底要怎样的设计、要解决什么样的问题、要设计什么样的架构才能突破传统的CPU和GPU优势,以及怎么样通过软硬件一体化的方法找到一条新的道路。 我刚加入阿里的时候,实际上一段时间比较苦恼,就是做什么样芯片以及怎么做的问题,在达摩院算法团队的帮助下,比较快地渡过学习曲线。 算法角度不仅是一种对人工智能算法的理论研究,也做了很多实践上的探索。入手的时候,要对神经网络本身以及业务算法有很深入的了解,这种了解如果没有阿里达摩院团队在之前的时间积累是不可能达到的。 当初在做这款NPU的时候几个重要的思考点:一是为什么要做一个云上的大芯片,云上大芯片的考虑是什么呢?阿里巴巴云计算是快速增长的业务,在国内是属于非常领先的位置,云计算是我们的强项。所以,通过硬件设计如果能帮助云快速地拓展业务、降低计算成本、提供海量计算能力,实际上是非常核心的一步。尤其在今天云计算业务的前提下,需要硬核往下走,否则很难在算力提升和成本下降方面有很大的突破,这是当时考虑的一个点。 大芯片考虑是这样的,我们希望在一个很高算力的水平上做一款NPU,而不是做一款中端或者低端的芯片,这个考虑是什么呢?最重要的目的是阿里巴巴的芯片不是短期的商业化或者销售片,更多是要赋能将来真正实现技术突破,把云计算的成本降下来。 而与算法团队的合作,让我们也意识到真正能把算法和软硬件一体进行设计,必须要解决算法中的一些痛点,这些痛点是什么呢?包括刚才金榕老师提到的像Bert这种大模型,在算力和存储等各方面的要求非常高,传统的计算平台很难满足这样的需求,所以必须要通过一个较大算力的芯片,才能真正能帮助业务往前走。 商业模式是非常重要的一个思考,我们不是单纯做技术,更多是商业模式的考虑。商业模式就是怎样通过技术带给业务一种新的能力,这个能力是什么呢?就是能够实现新的功能或别人没有做的功能或者以前因为硬件限制等种种原因没有做的功能,要通过芯片技术帮助到业务,这是我们的想法。 另外再就是第一颗芯片为什么要做一个推理(inference)芯片,而不是训练(training)芯片,我们当时跟算法团队一起讨论下来的结论是说无论从阿里巴巴还有整个业界来看,一个很强的趋势是当training到一定程度时,真正下一步实际上更多的是inference,尤其在云上的inference,我们认为是非常重要的一个开发领域。 第一款NPU的主要目标业务,像城市大脑这种业务,包括视觉、视频分析等,这些业务有一个重要的特点是在提供算力后能大幅提高计算效力,让业务量达到一个突破,从而给云计算增加更多的流量,无论是用户流量还是计算量的增长,这才是真正解决通过硬件设计来帮助业务发展的目标。 第三,我们当初考虑到底做什么样的加速,阿里巴巴与其它互联网公司不一样的地方,像传统的互联网公司都会做搜索、广告等业务,是比较传统的互联网模式,而阿里巴巴除了有搜索和广告业务之外还有更多丰富的其它视觉类的业务,比如淘宝图片搜索、智能城市、智能工厂等应用,是更多CNN类应用、视觉类的应用场景。 这些算法牵扯到CNN算法以及DNN加速,我们通过业务上的了解之后,决定了CNN的加速可能对NPU是一个重点方向,同时要保证比较好的通用性,能把芯片扩展到将来新模型的适配。 那么,这款芯片结合业务上的思索,主要的特点是什么呢? 针对CNN类的,我们加速所有的卷积类,包括各种各样的卷积、反卷积、孔洞卷积、3D卷积等,还包括插值和ROI等;这些无论在分类网络、分割网络还是检测网络,都是常用的算子,我们对这些算子做了特殊的优化。 同时我们观察CNN网络,从ResNet逐渐发展到一个更复杂的网络结构,包括后来出现的Mask-RCNN和DeepLab这样的分割网络,从整个网络架构做深入分析,提炼出来架构上的特定优化策略。 我们的架构里还提到了重要的一点就是低延时和高能效,这个通过什么实现的呢?通过数据结构进行了特定分析,让数据在存储和访问的时候有非常高的效率,减少对内存I/O的需求。这块尤其对CNN类的卷积操作进行了很深入的优化,对数据进行复用,存取后进行指令算子融合,这样保证在单位内存访问下可以大幅提升计算密度,这是主要的创新。 第二,结合与算法团队合作的模型压缩和量化处理,这部分基本上用一种比较创新的办法,就是对整个全神经网络做了量化处理,对神经网络中间的激活函数等计算,在保持比较高精度的基础上,在存储上把精度降下来,这样可以减少内存带宽,这些都是我们在架构上的尝试。 第三,在通用可编程上做了尝试。当初设计架构的时候有一些新的网络算法还没有出现,包括后期看到的Mask-RCNN、DeepLab等,还是后来搜索用到的新型网络;我们在设计阶段经过算法上的尝试,保证了整个架构有一定的扩展性。 在高精度部分,混合精度也是一个主要的特色,混合精度8比特量化加速,主要处理CNN类的网络,对其它的非CNN神经网络需要比较高精度,我们增加了INT16的量化加速,同时有一个比较高精度的浮点向量处理器,包括激活函数、向量处理等都是用比较高的浮点运算支持的,这样保证架构在设计完成之后,对非CNN网络的适配,精度都可以达到需求。 含光NPU的板卡散热设计,将来在阿里云的部署上会采用被动散热的板卡,这样可以减少板卡的体积,进一步降低成本。在服务器里面,展区有插着8卡NPU的服务器已经跑起来了。含光NPU的整个版图,可以看到是4个核的设计,整个面积接近170亿晶体管,是TSMC12纳米的工艺,采用PCle 4.0。 我们通过比较有效的片上压缩处理和流水线的处理,目前在PCle 3.0已经达到今天78000的ResNet成绩,说明带宽还没有用完,还有一倍的带宽可以用,目前已经用PCle 3跑到了峰值性能了。 大家看到含光800是4核设计,中间有命令处理器和高速互联的4核之间的网络,4核完全是同样的设计,这样设计的好处是可以在设计之后,由于良率提升的需求,可以任意四个核心有一个或者多个核心出现坏损的情况下,还不会影响整个芯片的工作,这也是我们在架构设计时特别处理的。 每个核的设计有什么呢?包括有本地内存local memory,非常接近Tensor计算核,也就是计算尽量位于存储边上,每次读出来的data可以被高度复用,再做融合算子的计算,这就是为什么含光NPU可以把功耗降到比较低的重要原因。 Tensor Array是非常有效的,我们是INT8和INT16实现的,所以它的功耗非常低,而且设计结构与Systolic Array不一样,用FLOP数量非常少,这样对功耗也有很大的帮助。 中间是向量处理器(Vector Engine),向量处理器实际上可以提供多到Floating 24bit的精度,是非常高的精度,中间的sequencer还带有各种各样的Special Function Unit(特殊函数单元),指各种各样的激活函数,比如Sigmod、LogEXP等丰富的特殊函数,这实际上有点类似于GPU的特殊函数,所以有一定的扩展性,将来可以支持新的激活函数。 这个sequencer讲一下,它是由一个高效的硬件决定,这个实际上在软件Schedule的基础上做了硬件的Scheduling,是一个多方式的机制,可以看到在做Tensor Core Operation的同时还会做Bias Normalization,以及Special Function激活函数,这样可以用pipeline的方式并行处理。 看一下Resnet50的分数,强调一下我们有两种模式,一种叫高性能模式,一种叫高能效或者低功耗模式,图中是在高性能模式下跑出来的成绩,在这个模式下跑分数的功耗是276W,实际上比英伟达的还算低了,其它的两个是GPU、后面两个是比较新的AI芯片。 去年我们在设计的时候有一个小的故事,我们设立了多少倍的目标,那个目标就是最左边的那个,所以已经达到去年说的目标了。 我觉得更重要是单位功耗性能。一般来做高性能的芯片,往往能效比较差。这张图告诉我们,实际上架构的有效性非常好,单位功耗下产生的性能还是比其它的几家公司芯片有很大的优势,这个是在高性能模式下跑出的成绩。 我们应用的场景有数据中心,将来也希望覆盖边缘服务器,甚至一些大型端上的应用。我们设计芯片的特点跟其它芯片公司不太一样,我们不能有很多型号一次量产出来,所以只有一次流片的机会,尽量把同样的一块芯片用到多个不同的场景,这是我们当初设计的一个理念。 解释一下,四个核的跑在数据中心里,如果一个核、两个核、三个核的芯片怎么办呢?也可以用,就用到端上、边缘服务器的场景产品,实际上功耗可以降下来,如果没有那么多核或者不需要多核的话,可以并出来那种单核、双核的配置,这样可以实现很低的功耗,75W、50W甚至25W,但是算力还是相当好的,所以还是非常吸引人的。 大家看到276W可以跑到78000,但是通过降电压降频的话,100W多一点还可以跑到53000,这是非常有效的一个模式。所以,建议大部分的应用场景是用高能效的模式。 讲一下各种落地的业务。第一个最重要的就是城市大脑,目前在交通场景有很多交通摄像头,大家看到一个城市或者小区里面有上千甚至上万个摄像头,这样对处理视频的能力和算力要求非常高,含光NPU非常适用这种场景。这里主要的业务算法是什么呢?包括这么几个部分,第一部分先做目标识别,就是目标检测,这部分算法一般是基于SSD和Fast R-CNN、YOLO这些算法,主要是检测图像里的移动物体,比如机动车、非机动车等,从图中找出来。第二部分再做Tracking,Tracking是跟踪物体跑到哪里,运行轨迹是什么样的。目前这部分还是用CPU在做,我们现在与达摩院城市大脑团队合作,把这一部分转成CNN的网络,一旦成功的话就可以把算力充分地用起来,解决CPU的瓶颈。第三部分,找到对象之后做特征提取,这部分一般是用DenseNet或者比较深的ResNet网络,特征提取后去做ReID重新识别和分类,这部分业务算法流程基本上是这样的。 第二个也是重要的落地业务,拍立淘。拍立淘用户上传商品照片,照片经过AI的处理,首先做类目检测,判断出它大概属于哪一类产品,可能是鞋子帽子之类,根据类目推测的结果做主体识别,主体识别类似于刚才讲的目标检测算法,一般都是SSD或者是基于ResNet的算法。这部分做完主体检测之后,抠图产生出搜索目标,搜索目标处理后当做搜索的主体进行特征抽取,特征抽取之后形成特征向量进行检索,与数据库里的海量商品数据做比对,找到最接近的商品,然后把商品返回给用户,大概是这样的流程。这里涉及的算法,主要三步都是用CNN类神经网络实现的,这一部分在业务上完全可以适配了,目前大概有400M(4亿)的参数,现在完全可以在一个NPU板卡上跑起来了,这是拍立淘。 广告推荐和搜索是下一步想去做的业务,这是两个很典型的MLP网络,实际上不是我们主要的优化网络,但这一步可以验证精度各方面是否达到当初的设计要求,这是我们在积极尝试的两个业务。 智能服装设计是做潮流分析,通过海量数据分析出服装的流行趋势,可以做服装设计。这用到的是一种对抗生成式的网络GAN,GAN网络现在用得比较火的是换脸游戏,里面用到的也是相同的算法。我们当初在设计的时候也不知道有这样类型的神经网络,我们最近进行适配的时候发现基本上都没有什么问题,都可以跑起来,而且性能已经达到对应GPU的大概十几倍,我们原来设计的是ResNet这样类型,基本上在GAN网络上也可以达到类似的性能了。 其它几个包括盒马,这些都是智能店的应用,智能医疗也就是大量图片处理、进行医疗的分析,这些都是一些典型的图像处理应用。 最后一个就是弹性裸金属,把NPU放到云上去,通过云售卖NPU技术。 这个是我们的软件栈,目前的应用包括视觉类、自然语言处理、推荐、搜索这样的应用,主流神经网络框架都支持了;离线做编译、优化、量化处理;以及非常高效的驱动程序,对主流框架对接做执行。 总结一下Resnet的成绩,特别想提到一点是Mask R-CNN的demo(非常酷),可以跑4个video stream的Mask R-CNN,可以全速在跑,是非常不容易的,大家都知道其他GPU,要达到这个是很不容易的。 我们现在在落地,希望在今年年底的时候能开始量产,大概给大家介绍一下这个情况。谢谢大家!(文/宁川)
中台战略是阿里等互联网公司在自身的数字化转型过程中提炼出来的方法论,所谓“中台”即把企业可复用的共享IT模块和共享业务模块等集成到一个平台上,一方面拉通和强化共享模块之间的协同,另一方面为前端APP开发提供最大化可复用的共享企业资源。本质上,中台是对企业组织架构的重构,是对企业内部共享资源的重新利益分配,因此阿里中台战略之所以成功是因为阿里的共享业务事业部得以平等参与业务而掌握业务话语权。 对于其它进行数字化转型的企业而言,同样面临着企业组织架构重新调整的过程,一方面业务驱动而不得已为之,另一方面内部利益冲突而导致重复建设,造成中台拆了建、建了拆的局面。因此,成功的中台战略:一方面需要服务于业务前端的业务创新和营收创建,通过新业务和新营收而促成中台的发展;另一方面需要服务于内部组织的不断调整和反复过程,可以容纳各种变化而不必重复的拆建,还能不断提升内部管理效率。 自云徙科技公司于3年前创立以来,就以一年一个版本的速度推进中台产品化的进程。2018年云栖大会,云徙科技推出了包括业务中台和数据中台在内的数字双中台2.0以及前端数字营销应用;2019年云栖大会,云徙科技再次推出数字中台3.0版本,新版本强化了企业用户的直接使用体验,可以很容易地上手一个成熟的中台系统,同时强化的运营能力让企业业务前端可以更好的创新创收,而中台自身也可以不断适应新需求、新变化而无需重建。 云徙科技副总裁李楠表示,目前云徙科技有几十个中台项目在开发和交付中,集中了零售、地产和汽车等三大行业头部客户的主要需求。云徙科技相当于这三大行业的共享中台,因而能够不断把握用户需求而推出新版本。云徙数字中台3.0强化了前端运营能力、业务流程可配置能力以及研发数字化能力,为企业提供了一个高度产品化、可升级的数字化转型底座。 高度产品化的数字中台 云徙科技的中台技术最早脱胎于阿里的中间件技术EDAS。阿里企业级分布式应用服务EDAS以阿里中间件团队多款分布式产品作为核心基础组件,是阿里企业级互联网架构解决方案的核心产品。然而,EDAS是一个技术难度相当高的面向互联网技术团队的平台,对于企业IT团队来说不够易上手、易用、易管理,也缺乏面向业务使用者的可视化体验。 2016年创业开始,云徙科技就一年一个台阶的速度,在EDAS的基础上开发基于自己IP的产品化数字中台。李楠强调,云徙科技对企业级中台的产品化有着坚定的信念。这相当于当年的ERP开发,ERP在某种程度上是传统企业的数字化中台,而ERP开发经历了长时间对企业管理最佳实践的总结和沉淀,再落实到一个信息化系统中。ERP的产品化是以西方企业管理模式高度成熟和趋同为前提,但也是SAP等公司对ERP可产品化坚定信念的结果。 如今,中国企业的管理和组织模式经过了80-90年代的以制造业为主的发展固形后,正在经历新一轮的重组和再造——这就是面向“互联网+”和“智能+”数字商业战略的数字服务企业。据资料显示,2019年8月,上汽集团总投资20亿的云计算数据中心项目在郑州开工,这也是目前汽车行业最大、最先进的云数据中心,是上汽“电动化、网联化、智能化与共享化”战略以及“以创新的汽车产品和服务,引领智慧出行,成就美好生活”愿景的基石。 如果说上汽这样的传统汽车企业正在大规模面向“互联网+”数字服务转型,那么成立于2017年的爱驰汽车是一家用户深度参与的智能出行服务公司,成立一年内完成三轮融资且估值过百亿,2019年上半年爱驰汽车以50%入股江铃控股并整体运营陆风汽车。爱驰汽车的IT体系既包括面向制造汽车的稳态也有面向渠道和用户的敏态。爱驰汽车的IT要支持管理效能提升、产品创新和业务模式创新,也分为前台、中台和后台三大体系。 作为云徙科技的客户,爱驰汽车信息科技总监杭瑜峰在云徙科技数字中台3.0发布上表示,中台真正的策略是期望以不变应万变的状态,未来企业业务组织变化大、既有可预测性也有不可预测性,能否用最快的方式进行迭代,而不能把整个框架推倒重来,变化的是各种业务、组织、数据交换等,这是中台真正的意义所在。对于汽车制造企业来说,未来新业务的裂变,从制造商变成类似于滴滴的服务商,这种可能性也需要不变的中台的支撑。 李楠表示,企业IT团队不同于互联网公司技术团队,企业IT团队需要高度产品化的开发平台和工具,以及大量轻代码甚至零代码的用户体验。企业IT团队更关注的是业务架构和逻辑,让技术服务于业务是企业IT团队的强需求。而当前市场上有不少的所谓中台解决方案公司都是定制化的项目开发为主,很难提供高度产品化的中台软件系统,这一方面是缺乏对于中台作为企业软件的可产品化的信念,另一方面也缺乏足够的数字化转型企业样本而无法提炼共性需求从而形成产品化中台软件。 云徙科技CEO包志刚在数字中台3.0发布会上表示,云徙科技成立三年来已经与阿里云一起服务了40多家头部客户,目前公司85%都是属于技术人员,在为客户交付的数字平台上也实现了4000亿以上的企业交易数量。除了在汽车、零售和地产等行业聚集了足够的头部客户需求外,包志刚强调与当年的ERP产品开发相比,今天的数字中台软件开发有足够的数据支撑,可以极大加速软件的开发和产品化过程。例如云徙科技为上海一家快销企业交付的一个秒杀活动,2小时之内20万套商品销售一空,不仅销售额4个亿、占全年销售额的11%,关键的是近2万多直销会员全部上线,另有97万左右的消费者在线参与了这次秒杀,这些数据前所未有的改变了企业级软件产品的开发模式。 不过,更关键的还是云徙科技对于产品化中台软件的信念。李楠强调,过去一年来,云徙科技将几乎所有的收入和融资都投入到产品研发中,这才有了今天更加产品化、模块化、插件件、可轻松定制化、高可用、易管理的云徙数字中台3.0。 中台3.0:固化数字化转型的变与不变 (云徙科技副总裁李楠) 云徙数字中台经过了早期版本、2.0和3.0的三代迭代。其中,早期版本是偏向于底层的技术版本,2.0版本则在总结企业数字化转型的变与不变并试图沉淀相应的模块,3.0则极大丰富了可沉淀的模块,面向企业用户,以可插拔模块选取和组合模块,而对经常变化的模块采用可变引擎以及研发底座予以承接,3.0版本还相应推出汽车、零售和地产三大行业版本。 数字中台3.0的核心组件依然是2.0的双中台:业务中台+数据中台。不同的是,3.0版本的业务中台总结11大业务域、105项商业能力以及6大通用能力支撑中心,是对2.0版本业务中台13个共享服务中心及10个基础组件的进一步丰富、规整和完善。11大业务域包括:用户域、会员域、营销域、结算域、商品域、店铺域、交易域、内容域、履约域、服务域和评价域;105项商业能力就十分细化了,例如有账号体系、会员成长、门店库存、盘点、三方物流、预售、秒杀、分佣等;6大能用能力支撑中心则包括:业务网关、调度中心、工单中心、通信中心、支付中心和流程中心。 3.0版本数据中台提供了7大主题数据服务、10大数据模型和3大数据服务工具,相比2.0的10大模型和8大数据服务则进一步细分和扩展了相应的模块。全新7大主题数据服务包括:商业企划助手、营销助手、智能配补货、运营雷达、老板看板、店铺健康助手、团队健康雷达;3大数据服务工具则包括智能标签平台、自助分析平台和智能开发平台;10大数据模型则有属于分析模型的用户主题、商品主题、交易主题、物流主题、营销主题、渠道主题、评价主题,以及属于算法模型的推荐模型、补货模型和预测模型。 可以看出,无论是3.0版本的业务中台还是数据中台,都是站在企业IT团队和业务团队的角度,进一步提炼和封装了相应的能力模块,让企业用户可以高效的设计和管理自己的中台体系,无论是企业老板还是团队普通成员或者具有一定开发能力的业务与技术人员,都可以找到自己所需要的组件并搭建起自己的策略。 在业务中台和数据中台之上,云徙数字中台3.0推出了面向前台运营的BOC和面向中台运营的MPC。BOC是面向平台/商家插件化的商业运营工具,在之前云徙前端应用的基础上按领域模型形成了i-CDP会员运营域、i-Marketing市场运营域、i-Commerce商业运营域和i-Service服务运营域,每个运营域里都有详细的开箱即用的工具,以辅助前端业务人员直接运营业务进行创收。 而MPC是中台的“控制台”,面向企业用户进一步提供对业务中台和数据中台的可变化的配置和管理,总体目标就是让中台也能“动”起来。中台对于企业来说是如此的重要,而一个标准化的中台显然不能满足所有企业的差异化需求,同样的一个流程有的公司可能包含5个步骤、有的公司可能是7步,而同一家企业的中台二期三期建设过程中也需要对中台的能力进行翻新,因此就有必要对中台进行可视化编排与管理。xConfig让商业能力可编排,业务规则可配置,而MPC的中台能力管理、业务应用管理和API管理则分别提供不同程度扩展、管理和调整中台的方法,此外还有xOpen中台能力开放生态让开发者和第三方参与中台能力的生态建设与运营。 在中台之下,就是此次全新发布的i-DP云原生研发管理平台。此前,2.0版本的数字中台之下就是纯技术的PaaS和IaaS,对于企业的IT团队和业务开发团队来说不够友好。一个企业往往有几十个、上百个项目在并行开发、发布、上线和下线,企业的开发团队要与业务部门进行紧密配合完成一次又一次的秒杀、限促、拼购等业务活动,因此i-DP的目标就是减少80%非业务开发时间,提高业务交付速度,提升系统的可靠性,降低90%以上人工失误操作,实现规模化作业、智能化监控、主动响应异常事件等。 i-DP云原生研发管理平台为企业开发团队提供了开发门户,在管理方面提供团队管理、平台管理和效率工具,可以定义团队成员权限、提供报表管理和代码生成工具等;通过规划与设计、业务管理、计划与跟踪、迭代开发、知识管理、持续交付等全流程满足企业开发团队的开发需求;而在运营管理和运维监控等方面,i-DP也提供了丰富的工具以提高企业开发团队的生产力。i-DP还提供了xMaker企业开发者工具,包括可视化的业务模板工具、基于元数据的实体模型管理、代码生产线可视化、零代码/低代码开发等,以提升企业开发者个体生产力;xConnector则通过配置化,可实现零代码与外部系统的对接;xRuntime是面向微服务、大数据平台和应用支撑的经验证的系统运行时工具,保障系统质量。 总体而言,云徙数字中台从最开始的一个纯技术平台,到跟随行业头部用户需求而不断提炼和沉淀企业数字化转型的共享能力与共享模块而形成了高度产品化的软件体系,对于可变化的能力则提供相应的编排、配置以及更底层的开发平台,同时能够引入第三方以丰富中台的生态,如今的云徙数字中台已经是数字化转型的重要软件品类代表。 同时,云徙数字中台3.0的出现,也意味着企业的数字化转型已经从早期的摸着石头过河到如今逐渐清晰的路径,未来数字服务企业的组织架构和管理模型也开始清晰化。数字化转型已经渐入深水区,新一代企业级数字化转型软件供应商由此浮出水面。(文/宁川)
(阿里云智能容器平台负责人丁宇) 十年前,阿里云写下第一行代码,从此开辟了中国云计算产业的先河;也是在十年前,当阿里云开始酝酿云计算理念的时候,率先提出了去IOE的思想,即IOE技术无法承载互联网海量规模应用的压力,即使能承载也成本巨高。十年过去了,今天的阿里云已经是世界三大公共云IaaS厂商之一;如今,阿里云再次全面拥抱云原生计算,以世界级的领先态势,再次主导下一波云产业趋势。 阿里云智能总裁张建锋在2019阿里云峰会·上海表示,“今年是一个突破性的时刻,云计算全面替代传统IT的拐点已经到来。”而云原生就是企业上云的关键一环。 广义来说,云原生就是基于云计算模型的应用软件开发与部署方式;具体来说,云原生技术包括了容器、微服务、服务网格、无服务器计算等。过去十年,全球企业开始向以公共云、私有云以及混合云为代表的云计算系统迁移,现在已经从简单的服务器上云和数据上云等向着围绕云计算系统模型重构企业应用的高级阶段发展。Gartner报告指出,到2022年将有75%的全球化企业将在生产环境中使用云原生容器化应用。 中国信息通信研究院指出,云原生技术正加速重构IT开发和运维模式,快速将企业应用构建和部署到与硬件解耦的云平台上,提供了更大的灵活性、弹性和跨云环境的可移植性。云原生技术能够有效解决跨云环境一致性问题,缩短应用交付周期,消除组织架构协作壁垒。阿里云智能容器平台负责人丁宇表示,全面使用云服务构建软件系统时代到来了,未来软件都会长在云上。 丁宇介绍,作为国内最早布局云原生技术的厂商,如今的阿里云已经具备全球最大规模的云原生应用实践、最丰富的云原生产品家族、国内最大的云原生客户群以及最全面的云原生开源贡献。阿里云曾开启了中国的云计算时代,未来将帮助更多企业云上成功。 阿里云云原生的四个“最” 中国信息通信研究院经过多方面研究,总结云原生的概念为“适合云的应用”和“好用的云架构”。 阿里从2011年开始,就已经开始了云原生方面的尝试和实践,这比行业推广容器还要早几年,并且在早年完成了容器化改造,容器化以后实现了统一调度、混合部署、异地多活、云上可扩展的弹性等,节省双11 75%的成本,同样利用这套技术体系节省了30%日常IT的成本,容器化和云原生对阿里的技术红利非常明显。 目前整个阿里70%的业务完全运行在公共云上,同时也将大力推广和运用云原生技术,未来两年内阿里巴巴集团的业务将100%以云原生的方式运行在公共云上。阿里认为现在是“All in”云的时代,这个过程中积累了大量能力和技术,并把能力和技术沉淀到提供的云原生产品中,从而赋能整个行业客户。 当前,阿里具备国内国内最丰富的云原生产品家族。任何一家企业想要构建或升级自己的IT系统,从而加速数字化转型和核心技术互联网化升级,都需要用到很多组件,也就需要丰富的产品体系支撑,而阿里云则提供包括流程、应用架构、运行托管、可观察性等在内的完整云原生产品体系,可以完全基于云原生体系构建IT系统。现在,阿里云提供了8类20余款产品,可以完整覆盖整个云原生软件构建需求,涵盖底层基础设施、数据智能、分布式应用等全栈技术能力,可以满足不同行业需求。阿里云原生基础设施已经覆盖全球,已经服务了规模最大的云原生客户群体,覆盖了众多的行业以及包括新兴IoT、AI、基因计算、边缘计算等在内的众多场景。 在对云原生领域开源贡献方面,阿里云也是国内最全面的贡献者,8类20个项目涵盖了整个软件生命周期,包括编排调度、作业管理、无服务器框架等,主导维护etcd、containerd、dragonfly等多个CNCF明星项目的发展,已有超过10个项目进入CNCF云原生全景图。阿里云还积极参与Kubernetes 项目,贡献量位居全球前10。而在开源生态社区方面,阿里云已经加入CNCF、OCI、CDF等基金会,成为多个基金会的顶级会员。2019年1月,阿里云资深技术专家李响成为首个入选全球顶级开源社区CNCF技术监督委员会(TOC)的中国工程师,致力于推动云原生技术的落地。2019年1月,阿里云成为国内唯一入选Gartner《公有云容器服务竞争格局》报告的企业。 丁宇强调,十年前阿里提出去IOE,如今企业上云已经成为共识,今天阿里云希望帮助企业更全面的使用云原生技术,赋能业务、创造更大的商业价值。 阿里云原生实践 在阿里云看来,云原生首先可以支持互联网规模应用,可以更加快速地创新、和低成本试错;其次,屏蔽了底层基础架构的差异和复杂性;同时,服务网格、无服务计算等新的计算范式不断涌现,给整体IT架构能力带来了极致弹性,从而更好地服务于业务。用户可以基于阿里云容器服务构建面向不同场景的云原生框架,如面向机器学习的Kubeflow和面向无服务器计算的Knative等等。 阿里从2011年开始通过容器实践云原生技术体系。阿里体量大、业务复杂,推动云原生要找到合适的切入点。在双11规模性和成本压力的推动下,资源成本与效率优化成了阿里云原生的起点。阿里从容器入手,研究低成本虚拟化与调度技术。在资源成本的推动下,阿里完成了全面容器化,并在这个过程中推出了大量成果,PouchContainer是阿里开源的高效、轻量级企业级富容器引擎技术,具有隔离性强、可移植性高、资源占用少等特性,可以帮助企业快速实现存量业务容器化,同时提高超大规模下数据中心的物理资源利用率。 刚开始的时候,阿里内部有着惊人规模的存量业务,如何通过技术快速容器化存量业务,是阿里容器技术当年的重点难题。富容器帮助业务在单个容器镜像中打包业务所需的运维套件、系统服务等,富容器模式下的应用在不改变任何业务代码、运维代码的情况下,像在物理机上一样运行。富容器在保障业务交付效率的同时,在开发和运维层面对应用没有任何的侵入性。在此基础之上PouchContainer也在拥抱开放云原生技术标准, 基于Containerd 提供了企业级的容器运行时实现。 在完成了面向成本优化的资源管理之后,阿里希望通过云原生让开发者效率更高。为了构建更云原生化的 CI/CD,进一步做到标准化和自动化,从研发到上线流程,阿里引入了诸如Helm的应用标准化管理,也尝试了GitOps这样的部署流程。同时,阿里也开始探索服务网格,进一步提高服务治理的普适性与标准性,降低开发者采用门槛,进一步推动微服务在多语言和多环境下的普及。 为了降低应用部署难度,提高部署自动化程度,阿里开始采用Kubernetes作为容器编排平台。基于Kubernetes,阿里持续对研发、部署流程进行改进。在数以万计的集群管理当中,阿里容器平台团队探索并总结了四个让交付更加智能与标准化的方法:Everything on Kubernetes,利用Kubernetes来管理一切,包括Kubernetes自身;应用发布回滚策略,按规则进行灰度发布,也包括发布kubelet本身;将环境进行镜像切分,分为模拟环境和生产环境;在监控侧下功夫,将Kubernetes变得更白盒化和透明化,及早发现、预防并解决问题。 Dragonfly是一个由阿里开源的云原生镜像分发系统,主要解决以Kubernetes为核心的分布式应用编排系统的镜像分发难题。随着阿里业务爆炸式增长,2015年时发布系统日均发布量突破两万,很多应用的机器规模开始破万,发布失败率开始增高,根本原因是发布过程需要大量的文件拉取,文件服务器无法承载大量的请求。如果采用服务器扩容,扩容后又发现后端存储成为瓶颈且扩容成本也非常巨大,而大量来自不同 IDC客户端请求消耗了巨大的网络带宽、造成网络拥堵。同时,阿里大量的应用部署在海外,海外服务器下载要回源国内,浪费了大量的国际带宽而且还很慢;如果传输大文件,网络环境差,失败的话又重来一遍,效率极低。而Dragonfly的系统架构不涉及对容器技术体系的任何改动,可以无缝支持容器具备P2P镜像分发能力,大幅提升文件分发效率。截止2018年底,Dragonfly承载了阿里全集团 90%以上的文件下载任务、日分发峰值达到 1 亿次,100%成功支撑双十一营销活动数据抵达数万台机器,2018 年 11 月正式进入 CNCF沙箱级别项目(Sandbox Level Project)。 2019年6月,阿里云容器平台团队宣布了两个社区项目:Cloud Native App Hub——面向所有开发者的 Kubernetes 应用管理中心,OpenKruise——源自全球顶级互联网场景的 Kubernetes自动化开源项目集。云原生应用中心为国内开发者提供了一个Helm应用中国镜像站,方便用户获得云原生应用资源,同时推进标准化应用打包格式,并可以一键将应用交付到Kubernetes集群当中,极大简化了面向多集群交付云原生应用的步骤;而OpenKruise项目致力于成为“云原生应用自动化引擎”,解决大规模应用场景下的诸多运维痛点。 总结Kubernetes作为云原生技术的核心,在阿里落地的三个阶段:首先通过Kubernetes提供资源供给,但是不过多干扰运维流程,系统容器为富容器,将镜像标准化与轻量级虚拟化能力带给了上面的PaaS平台;第二步,通过 Kubernetes controller的形式改造PaaS平台的运维流程,给PaaS带来更强的面向终态的自动化能力;最后把运行环境等传统重模式改成原生容器与pod的轻量模式,同时将PaaS能力完全移交给Kubernetes controller,形成一个完全云原生的架构体系。经过不断打磨,阿里在Kubernetes规模与性能上取得了显著成果:存储object的数量提升25倍,支持的节点数从5000提升到上万,端到端调度延迟从5s变为100ms等等。 经过云原生的探索与改造,阿里基础架构体系达到了现代化和标准化。通过智能调度与PaaS平台,让自动迁移应用,修复不稳定因素成为了可能,阿里通过云原生技术大幅降低了上云的难度。 释放云原生红利 (阿里云容器服务研发总监易立) 阿里云容器服务研发总监易立介绍,阿里云容器服务从2016年5月开始正式商业化,在这个过程中沉淀出核心竞争优势,包括优化整合、极致弹性和海量镜像分发能力。在优化整合方面,阿里云无缝整合超过20款云产品,让开发者和企业可以非常简单的使用云资源;阿里云容器技术与阿里云虚拟化技术进行了充分整合,提高了应用的执行效率。阿里云还提供了丰富全面的应用层和资源层的弹性能力,能够在90秒之内快速伸缩节点,对海量数据处理或者大业务流量都有良好支持,竞价实例可降低70%成本。阿里云可以支持上万节点并发拉取镜像以及镜像全球复制能力,用户只需要推送一次镜像就可以在阿里云18个region进行镜像拉取。阿里云容器服务一直保持非常高速增长的势头,过去三年在规模上保持着400%的增长速度而且还在持续。 接下来,阿里云容器还将从新边界、新范式和新计算三个方向进一步释放云原生技术的红利。新边界,即指的是云原生计算可以对云边端应用进行统一协同,特别是5G时代利用容器技术处理物联网边缘计算、AI实时边缘端预测等。2019年6月,阿里云发布了边缘容器“ACK@Edge”产品,可实现云、边、端一体化的应用分发,支持不同系统架构和网络状况下,应用的分发和生命周期管理,极大简化分布式应用分发的挑战。 新范式指的是全新方式构建、交付和运维应用。阿里云在2019年7月发布了以应用为中心的混合云2.0,可以管理阿里云和用户的私有集群,提供了统一的安全管理、资源感知和监控日志等端到端能力,并在此基础上提供统一资源管理和调度,让用户在跨集群中充分利用云资源实现弹性能力,此外还提供了智能流量治理能力,方便就近访问和故障转移等功能。前面提到的OpenKruise项目源自于阿里巴巴经济体过去多年的大规模应用部署、发布与管理的最佳实践,从不同维度解决了Kubernetes 之上应用的自动化问题,包括部署、升级、弹性扩缩容、QoS调节、健康检查、迁移修复等等。 新计算指利用新架构创造新价值。基因计算是精准医疗的基础但需要海量计算能力,动辄一次提交任务就需要数百T数据处理和计算,阿里云所提供的混合云高性能基因计算解决方案可以充分利用云的弹性能力以及对数据的调度和算法优化,使得像全基因组测序计算时间从30个小时缩短到5个小时,极大提升计算效率、降低计算成本。实时大数据处理已经成为企业数据智能化场景下最重要的计算需求,阿里云即将发布Flink on Kubernetes产品,可以在公共云和专有云以及边缘计算中统一方式进行Flink实时计算能力交付。 目前,阿里云的云原生技术服务了大量互联网、制造、金融、政务等领域企业和机构,拥有国内最大云原生客户群。 工业巨头西门子通过云原生满足了上线周期、扩容、运维等方面的高要求,仅用数月时间就完成了MindSphere基于阿里云平台的开发、部署。互联网超级平台微博的日活用户超过2亿,借助云原生搭建起高效稳定的机器学习平台,分钟级创建上百节点的GPU计算集群、秒级启动大规模分布式AI训练任务。家居行业巨头居然之家在两年前将渲染服务迁移至阿里云,通过云原生等技术服务,降低IT计算成本50%,系统可用性却提高到99.96%。 小程序是云原生应用的典型代表之一。为了进一步推广和提升云原生应用,为开发者释放云原生技术红利,2019年3月,阿里云、支付宝、淘宝、钉钉、高德等联合发布“阿里巴巴小程序繁星计划”,提供20亿元补贴、扶持200万+小程序开发者、100万+商家。阿里云还正式发布了小程序云,打包了一系列阿里云服务,特别是云原生的Serverless函数计算,可以低成本、高效率、快速构建月活百万的小程序应用。 2019年是阿里云十周年,从2009年开始首倡“去IOE”,阿里云就致力于推动中国进入“上好云”时期;而从2019年开始阿里云推出全线云原生产品家族以及大力倡导云原生计算,阿里云在面向未来十年推动中国进入“用好云”阶段。相信随着越来越多的企业从迁移上云到在云端重新构建业务,一个全面数字化的新十年将带来又一波上云高潮,越来越多的企业将转型为软件企业和互联网企业,而数字经济将成为新的经济范式!(文/宁川)
2019年10月