都是年。
3月22日,英伟达宣布比亚迪将投产搭载DRIVEOrin计算平台的汽车。
一个月后,地平线宣布,第三代产品征程5芯片首个定点合作,花落比亚迪。
两项合作的上车时间,都是年。
比亚迪并不是唯一一个同时部署英伟达和地平线的车企。理想在其爆款理想ONE上搭载了征程3以实现高速领航驾驶辅助能力,而在最新的理想L9上则将使用英伟达Orin。目前,地平线芯片的定点企业达到60家,基本可以肯定,其中也有英伟达的客户。
有评论认为,这是因为地平线是国内鲜有通过了车规级的大算力AI芯片,而且更加便宜,所以车企选择其作为英伟达Orin的“平价替代”和供应链安全B选项。
这一说法并非全无道理。
但年地平线成立时,英伟达的芯片已经开始准备上车特斯拉。短短6年多时间里,一个中国创业公司如何能够与AI芯片王者进入同一份采购清单?
更重要的是,在更远的未来,地平线将只是英伟达的“平替”,还是将一路追赶,成为其在汽车AI芯片领域真正的对手?
本文为大家奉上地平线和英伟达全方位的对比,帮助您做出判断。
01
逻辑:阿尔法狗会开车吗?
如果说起广为人知的人工智能(AI),阿尔法狗肯定算一号。
年,谷歌围棋人工智能“阿尔法狗”(AlphaGoLee)以4:1的成绩,战胜世界冠*数量排名第二的韩国棋手李世石。
年,阿尔法狗与李世石对弈
围棋的特性决定了其不适用穷举法,相比算力更考验棋手的“脑力”,因此这场“人机大战”成为人工智能史上一座里程碑:AI在某些领域能比人类更“聪明”。
但围棋翘楚AlphaGoLee能开车吗?
答案恐怕是否定的。定位为围棋人工智能的阿尔法狗以进行推理任务的决策算法为主,其所采用的神经网络类型也许并不能胜任视觉感知的任务;
AlphaGoLee的服务器
为进行比赛,阿尔法狗所需算力高达约TOPS功耗高达W(DeepMind论文),度电量的车也只能支撑10小时(纹丝不动),更别说带着衣柜大小的服务器;
更重要的是,在比赛中,阿尔法狗拥有共计两个小时+秒的“思考”时间,而汽车一秒多想的时间都没有。
不能开车的阿尔法狗显示出了人工智能/神经网络在实际应用中的苛刻要求:相比于人类智能的高通用性,人工智能在功能实现上,与应用场景、AI算法模型、部署硬件情况息息相关。
正是这种高度相关性为地平线追赶英伟达提供了逻辑基础。
1.1站在云端的英伟达
英伟达是第一个为AI创造出合适物理“大脑”的公司。
创立于年的英伟达在年发明了GPU(图形处理器)。相比于CPU,GPU从架构上算子的数量要远远多于Cache(缓存)和Control(控制器),由此导致其只适用于计算密集与数据并行的运算程序。
所谓计算密集指:数值计算的比例要远大于内存操作,因此内存访问的延时可以被计算掩盖,对缓存的需求较低;
数据并行则是说:大任务可以拆解为执行相同指令的小任务,因此对复杂流程控制的需求较低。
AI机器学习正是这样的“运算程序”:将一个复杂问题拆解为众多的简单问题,一次性输入海量用于计算的参数。对简单问题解决的顺序性要求不高,最后输出整体结果即可。
而且对存储和控制空间需求小,导致GPU更容易增加算子,以此增加算力,并在此后成为“大算力”的领*企业。
但要高效运行GPU的代码极度困难,程序员需要把相关运算“黑进”图形API(应用程序编程接口),让显卡以为是在进行图像渲染计算,编程难度极高。
直到年英伟达发布了CUDA通用并行计算架构,实现了软硬解耦。开发者不必再使用高难度的GPU专用开发语言,而能使用通用性的编程语言调用GPU算力。
英伟达CUDA架构与应用方向
至此,GPU“破图而出”,成为通用并行数据处理超级加速器。英伟达也由此站上了C位,成为AI时代的加速器。
一方面,搭载英伟达GPU硬件的工作站、服务器和云通过CUDA软件系统以及开发的CUDA-XAI库,为AI领域的机器学习、深度学习所需的训练和推理提供软件工具链,来服务众多的框架、云服务等等,推动了AI领域的迅速发展。
另一方面,英伟达从此前单纯的芯片制造商,向人工智能平台公司发展,逐步将业务拓展到云端的AI加速、HPC(高性能计算机群)高性能计算、AR/VR(增强/虚拟现实技术)等领域。
英伟达CEO*仁勋也在CUDA生态积累14年后放言:“英伟达不是游戏公司,它将推动下一个人工智能大爆炸”。
但至少目前,从业务结构上英伟达还是一个中心化的云端数据中心和游戏公司。
英伟达数据中心
5月26日,英伟达发布财年Q1财报(截至年3月),实现营收82.9亿美元,同比增长46%。其中,由超大规模计算、云端和AI业务推动的数据中心业务占比45.23%;显卡支撑的游戏业务占比43.67%。
以云端数据中心业务为核心,英伟达的核心技术需要服务这一场景。
但云端(服务器、数字中心)和端侧(手机、智能汽车等移动端)场景中,AI芯片的运算方式有着本质性的差别。
首先,云端处理大批量一次性到达的累积数据(扩大批处理量,batchsize),车端芯片则需要处理流数据,随着行驶(时间)陆续到来的数据;
第二,云端处理可以“等”数据“够了”再开始处理,车端则需要实时完成计算,尽可能得降低延迟,更勿论几秒钟的“等待”;
第三:在云端,任务本身是限定在虚拟世界,无需考虑与现实世界的交互。在车端则身处现实世界,每一个任务都需要考虑交互性。
此外,功耗和成本在车端AI芯片的考量中也占据更重的分量。
可见,云端AI芯片更侧重于数据吞吐量和支持多种AI任务的要求,车端的AI芯片则须保证很高的计算能效和实时性要求,能够实现端侧推断,以及低功耗、低延迟甚至低成本的要求。
但目前,英伟达端侧芯片的核心GPU架构仍是云端架构。
Orin诞生于Ampere(安培)架构,其正是一季度推动英伟达数据中心业务增长近9成的主力产品架构。换而言之,面向高级别自动驾驶场景的Orin,其中的核心计算模块技术对标的是云端数据中心场景。
-财年(英伟达财年较自然年提前一年)汽车营收占比
英伟达的这一选择无可厚非。架构是芯片企业最底层的核心技术,迭代成本巨大,也是为了产出更赚钱的产品。虽然汽车业务已成为英伟达图形技术大会上的重要一节,但其创造的营收目前仍是微不足道——占比2.1%(财年)。
1.2站在“端侧”的地平线
而地平线目前的核心业务只有端侧的汽车。
地平线的完整名为“地平线机器人”,其创立设定的场景便是机器人这样需要实时完成计算的端侧场景,其产品所有的软硬件架构都为端侧的特殊需求设计。
但“机器人”此前更多存在于科幻电影当中,直到自动驾驶使汽车成为机器人在现实世界中的第一个爆发点。
“单一”的业务结构使地平线的技术能够聚焦在“一种”需求上,而汽车智能化需求的爆发则为从智能/自动驾驶场景出发,收敛AI任务范围,打造更贵、更具针对性的专用型芯片提供了规模化基础,使其商业模型能够成立,从而吸引投资人和专业“选手”进场。
“GPU这样的通用芯片对于开发者非常友好,但不是商业化竞争的最优解,”一位芯片行业专家向《电动汽车观察家》表示:“地平线采用面向特定场景的软硬结合方法论来设计芯片,也就是DSA(DomainSpecificArchitecture特定领域架构)的芯片,极大提升了芯片的有效算力。”
软硬解耦,将图形处理的专用芯片GPU变为适用于大规模并行计算的通用型芯片,使英伟达站上AI时代的C位。
而地平线追赶英伟达的第一步,是软硬结合。
地平线在公众亮相中多次强调软硬结合方法论核心——以终为始:
永远从系统的视角评价其中每个模块(从AI模型、工具链、开发工具的全体系出发,看待芯片上每个细微空间的排布逻辑和利用效率);
永远用未来的预测来指导当下每个选择(针对自动驾驶AI未来算法演进趋势,指导当下的技术研发方向和取舍关系)。
地平线的软硬结合开发模式
地平线芯片开发过程中的一个环节可以从一个侧面展示软硬结合的方法到底如何落地。
地平线有一个AI模型性能分析工具。首先将选取包含了丰富的、代表未来演进趋势的算法模型作为TestingBenchmark(测试基准)。将其在地平线BPU架构的建模工具上进行运行,测试这架构对算法模型的运算性能如何,并基于这一测试基准,探索软件层面的编译器、模型量化工具、训练工具应该怎么做。
地平线软硬结合下的工程性能验证模式
由于芯片从设计到最终应用有着二到三年的”时差“,这样的工作流程帮助地平线以软性的算法趋势指导硬件架构设计,提前“适应“未来。
“像地平线已经达到百万芯片出货量的征程二代和征程三代芯片里就有比较多的设计,在年、年时已经考虑到了相关一些算法的演进趋势。“地平线高级研发总监凌坤表示。
02
架构:一切都是为了更快
征程5对标英伟达车端芯片性能情况
逻辑是一回事,技术实现往往是另一回事。地平线能够拿到英伟达的客户根本上还要看数据。
单片英伟达Orin和征程5的算力分别为TOPS(每秒万亿次计算)和TOPS,功率为55W和30W,功耗比分别为4.6TOPS/W和4.2TOPS/W。
但如果以自动驾驶AI在两个平台上每秒图像帧率FPS进行对比测试时,Orin为1FPS,只有一半算力的征程5则实现了3FPS(Orin数据为地平线基于同安培架构的英伟达RTX进行调整后测算得出)。“能效上来看,我们(征程5相比Orin)有6倍多的提升。”地平线BPU算法负责人罗恒表示。
在智能/自动驾驶场景,视觉仍是目前最核心的感知路线,也是智能/自动驾驶AI面临的核心任务:“我看到的是什么”。因此,对于自动驾驶所有应用的计算平台来说,FPS被认为是衡量先进算法在计算平台上运行效率的评价标准之一。
高级别智能/自动驾驶能力数据量和算力需求来源:光大证券
年发布自研的FSD芯片时,特斯拉创始人马斯克便以此前应用的英伟达DrivePX2作比,从算力来看FSD是DrivePX2的3倍,但在执行自动驾驶任务时,其FPS是后者的21倍。
GPU的看家本领便是图像识别。为何GPU发明者英伟达的Orin会在测试中表现不及算力只有一半的地平线征程5?部分核心原因在于安培(Ampere)架构和贝叶斯(Bayes)架构设计出发点的差异。
从物理世界来看,芯片架构就是在方寸之间(目前主流车规级量产芯片尺寸40nm-5nm)做文章:如何在有限的空间内排布算子、存储器以及之间的通信线路,不同的计算需求将导致不同的阵列方式。
2.1学霸英伟达
数据中心场景主要包括高性能计算(HCP)和深度学习,以此出发的芯片架构要能够支持各类AI模型任务,在限定时间内吞吐恒河沙数般的数据量。如同被开了金手指的学霸,文史哲数理化通吃,一天能做三万张卷子。
英伟达从帕斯卡到安培架构都以高拓展性为核心目标:
支持尽可能多种类的神经网络结构以保证算法的正确率和泛化能力;
支持能够识别广大数字范围的浮点运算,以保证巨大的数据吞吐量;
支持阵列式结构以能够连接更多的处理单元,以进一步加大可计算的数据规模。
落地到硬件技术上,Tensorcore(张量核)和cudacore(下称CUDA核)并行,以及从INT1到FP64的数据精度范围等一系列革新技术,都以支持上述目标为目的。
年,英伟达Volta架构亮相,其以深度学习为核心的标志便是推出了与CUDA核)并行的张量核)。
张量(Tensor)是一个数学概念,指多维数组,有0-5维,被看作是现代机器学习的基础,是数据的容器。
标量、向量、矩阵、张量概念
在早期以逻辑判断模型为主的机器学习中,学习任务简单,学习素材可被数据化为结构化的二维图表。
但进入神经网络模型的深度学习阶段中,AI的任务不再是找出花束中的蓝色花朵,而是找出图片库中的猫。教材变为非结构化数据,单一的图像数据就需要三维张量来表示,语音和视频的维度则更高。
配合多维张量设计的乘积累加运算MultiplyAccumulate(MAC)计算阵列与神经网络模型的运算模式高度匹配,成为AI芯片的核心算子类型。
英伟达张量核工作模式演示
谷歌年推出了张量处理器(TensorProcessingUnit,简称TPU)。年英伟达在完全面向深度学习的Volta架构上增加了MAC阵列,直接命名为“张量核”。
对从事数据中心、显卡和车端等多种业务的英伟达来说,CUDA核和张量核各有用处。
CUDA核在每个GPU时钟中最多可以执行1个单精度乘法累加运算,适用于参数一致的AI模型深度学习以及高精度的高性能计算。
但对于AI模型来说,模型参数的权重各有不同,如果全部对标当中的高精度进行运算,则时间长且内存消耗大;而如果都降维到低精度参数,则输出的结果误差较大。
张量核就可以做到混合精度:每1个GPU时钟执行1个矩阵乘法累加运算,输入矩阵是FB16,乘法结果和累加器是FB32矩阵。
混合精度虽然在一定程度上牺牲了训练的精度,但可以减少内存的占用,以及缩短模型的训练时间。
在扩充适应多样计算需求的算子同时,英伟达也在不断扩充算子所能支持的浮点精度。
CUDA核在最主流的FP32基础上,先后增加了对FP64、INT32的计算能力;张量核则可支持FP16、INT8/INT4/Binary、TF32、BF16、FP64等多种数据精度的支持。
多样化到什么程度?
FP64具有完整的15–17位十进制数字精度,多用于医学、*事等对精度要求极高的科学计算,通常不用于深度学习计算。而TF32甚至成为英伟达GPU中的新数学模式。
——未完请看下篇——