电动汽车观察家

电动汽车观察家

关注

地平线追击英伟达

环形隧道
地平线

2022-06-01

作者 | 朱世耘

编辑 | 邱锴俊

都是 2023 年。

3 月 22 日,英伟达宣布比亚迪将投产搭载 Orin " style="border-bottom: 2px dashed #78BBC4; cursor: pointer;" class="dictionaries_wrap"> DRIVE Orin 计算平台的汽车。

一个月后,地平线宣布,第三代产品征程 5 芯片首个定点合作,花落比亚迪。

两项合作的上车时间,都是 2023 年。

比亚迪并不是唯一一个同时部署英伟达和地平线的车企。理想在其爆款 2021 理想 ONE 上搭载了征程 3 以实现高速领航驾驶辅助能力,而在最新的理想 L9 上则将使用英伟达 Orin。目前,地平线芯片的定点企业达到 60 家,基本可以肯定,其中也有英伟达的客户。

有评论认为,这是因为地平线是国内鲜有通过了车规级的大算力 AI 芯片,而且更加便宜,所以车企选择其作为英伟达 Orin 的 「平价替代」 和供应链安全 B 选项

这一说法并非全无道理

但 2015 年地平线成立时,英伟达的芯片已经开始准备上车特斯拉。短短 6 年多时间里,一个中国创业公司如何能够与 AI 芯片王者进入同一份采购清单?

更重要的是,在更远的未来,地平线将只是英伟达的 「平替」,还是将一路追赶,成为其在汽车 AI 芯片领域真正的对手?

本文为大家奉上地平线和英伟达全方位的对比,帮助您做出判断。

逻辑:阿尔法狗会开车吗?

如果说起广为人知的人工智能(AI),阿尔法狗肯定算一号。

2016 年,谷歌围棋人工智能 「阿尔法狗」(AlphaGo Lee) 以 4:1 的成绩,战胜世界冠军数量排名第二的韩国棋手李世石。

2017 年,阿尔法狗与李世石对弈

围棋的特性决定了其不适用穷举法,相比算力更考验棋手的 「脑力」,因此这场 「人机大战」 成为人工智能史上一座里程碑:AI 在某些领域能比人类更 「聪明」

但围棋翘楚 AlphaGo Lee 能开车吗

答案恐怕是否定的。定位为围棋人工智能的阿尔法狗以进行推理任务的决策算法为主,其所采用的神经网络类型也许并不能胜任视觉感知的任务;

AlphaGo Lee 的服务器

为进行比赛,阿尔法狗所需算力高达约 4416TOPS 功耗高达 10000W(DeepMind 论文),100 度电量的车也只能支撑 10 小时(纹丝不动),更别说带着衣柜大小的服务器;

更重要的是,在比赛中,阿尔法狗拥有共计两个小时 + 180 秒的 「思考」 时间,而汽车一秒多想的时间都没有。

不能开车的阿尔法狗显示出了人工智能 / 神经网络在实际应用中的苛刻要求:相比于人类智能的高通用性,人工智能在功能实现上,与应用场景、AI 算法模型、部署硬件情况息息相关

正是这种高度相关性为地平线追赶英伟达提供了逻辑基础

站在云端的英伟达

英伟达是第一个为 AI 创造出合适物理 「大脑」 的公司

创立于 1993 年的英伟达在 1999 年发明了 GPU(图形处理器)。相比于 CPU,GPU 从架构上算子的数量要远远多于 Cache (缓存) 和 Control(控制器),由此导致其只适用于计算密集与数据并行的运算程序。

所谓计算密集指:数值计算的比例要远大于内存操作,因此内存访问的延时可以被计算掩盖,对缓存的需求较低;

数据并行则是说:大任务可以拆解为执行相同指令的小任务,因此对复杂流程控制的需求较低。

AI 机器学习正是这样的 「运算程序」:将一个复杂问题拆解为众多的简单问题,一次性输入海量用于计算的参数。对简单问题解决的顺序性要求不高,最后输出整体结果即可

而且对存储和控制空间需求小,导致 GPU 更容易增加算子,以此增加算力,并在此后成为 「大算力」 的领军企业

但要高效运行 GPU 的代码极度困难,程序员需要把相关运算 「黑进」 图形 API(应用程序编程接口),让显卡以为是在进行图像渲染计算,编程难度极高。

直到 2006 年英伟达发布了 CUDA™通用并行计算架构,实现了软硬解耦。开发者不必再使用高难度的 GPU 专用开发语言,而能使用通用性的编程语言调用 GPU 算力。

英伟达 CUDA 架构与应用方向

至此,GPU 「破图而出」,成为通用并行数据处理超级加速器。英伟达也由此站上了 C 位,成为 AI 时代的加速器

一方面,搭载英伟达 GPU 硬件的工作站、服务器和云通过 CUDA 软件系统以及开发的 CUDA-XAI 库,为 AI 领域的机器学习、深度学习所需的训练和推理提供软件工具链,来服务众多的框架、云服务等等,推动了 AI 领域的迅速发展。

另一方面,英伟达从此前单纯的芯片制造商,向人工智能平台公司发展,逐步将业务拓展到云端的 AI 加速、HPC(高性能计算机群)高性能计算、AR/VR(增强 / 虚拟现实技术)等领域。

英伟达 CEO 黄仁勋也在 CUDA 生态积累 14 年后放言:「 英伟达不是游戏公司,它将推动下一个人工智能大爆炸」

但至少目前,从业务结构上英伟达还是一个中心化的云端数据中心和游戏公司

英伟达数据中心

5 月 26 日,英伟达发布 2023 财年 Q1 财报(截至 2022 年 3 月),实现营收 82.9 亿美元,同比增长 46%。其中,由超大规模计算、云端和 AI 业务推动的数据中心业务占比 45.23%;显卡支撑的游戏业务占比 43.67%

以云端数据中心业务为核心,英伟达的核心技术需要服务这一场景

但云端(服务器、数字中心)和端侧(手机、智能汽车等移动端)场景中, AI 芯片的运算方式有着本质性的差别。

  • 首先,云端处理大批量一次性到达的累积数据(扩大批处理量,batch size),车端芯片则需要处理流数据,随着行驶(时间)陆续到来的数据;

  • 第二,云端处理可以 「等」 数据 「够了」 再开始处理,车端则需要实时完成计算,尽可能得降低延迟,更勿论几秒钟的 「等待」;

  • 第三:在云端,任务本身是限定在虚拟世界,无需考虑与现实世界的交互。在车端则身处现实世界,每一个任务都需要考虑交互性。

  • 此外,功耗和成本在车端 AI 芯片的考量中也占据更重的分量。

可见,云端 AI 芯片更侧重于数据吞吐量和支持多种 AI 任务的要求,车端的 AI 芯片则须保证很高的计算能效和实时性要求,能够实现端侧推断,以及低功耗、低延迟甚至低成本的要求

但目前,英伟达端侧芯片的核心 GPU 架构仍是云端架构。

Orin 诞生于 Ampere(安培) 架构,其正是一季度推动英伟达数据中心业务增长近 9 成的主力产品架构。换而言之,面向高级别自动驾驶场景的 Orin,其中的核心计算模块技术对标的是云端数据中心场景

2019-2022 财年(英伟达财年较自然年提前一年)汽车营收占比

英伟达的这一选择无可厚非。架构是芯片企业最底层的核心技术,迭代成本巨大,也是为了产出更赚钱的产品。虽然汽车业务已成为英伟达图形技术大会上的重要一节,但其创造的营收目前仍是微不足道 —— 占比 2.1%(2022 财年)。

站在 「端侧」 的地平线

而地平线目前的核心业务只有端侧的汽车

地平线的完整名为 「地平线机器人」,其创立设定的场景便是机器人这样需要实时完成计算的端侧场景,其产品所有的软硬件架构都为端侧的特殊需求设计

但 「机器人」 此前更多存在于科幻电影当中,直到自动驾驶使汽车成为机器人在现实世界中的第一个爆发点。

「单一」 的业务结构使地平线的技术能够聚焦在 「一种」 需求上,而汽车智能化需求的爆发则为从智能 / 自动驾驶场景出发,收敛 AI 任务范围,打造更贵、更具针对性的专用型芯片提供了规模化基础,使其商业模型能够成立,从而吸引投资人和专业 「选手」 进场。

GPU 这样的通用芯片对于开发者非常友好,但不是商业化竞争的最优解,」 一位芯片行业专家向《电动汽车观察家》表示:「地平线采用面向特定场景的软硬结合方法论来设计芯片,也就是 DSA(Domain Specific Architecture 特定领域架构)的芯片,极大提升了芯片的有效算力。」

软硬解耦,将图形处理的专用芯片 GPU 变为适用于大规模并行计算的通用型芯片,使英伟达站上 AI 时代的 C 位。

而地平线追赶英伟达的第一步,是软硬结合

地平线在公众亮相中多次强调软硬结合方法论核心 —— 以终为始:

  • 永远从系统的视角评价其中每个模块(从 AI 模型、工具链、开发工具的全体系出发,看待芯片上每个细微空间的排布逻辑和利用效率);

  • 永远用未来的预测来指导当下每个选择(针对自动驾驶 AI 未来算法演进趋势,指导当下的技术研发方向和取舍关系)。

地平线的软硬结合开发模式

地平线芯片开发过程中的一个环节可以从一个侧面展示软硬结合的方法到底如何落地。

地平线有一个 AI 模型性能分析工具。首先将选取包含了丰富的、代表未来演进趋势的算法模型作为 Testing Benchmark(测试基准)。将其在地平线 BPU 架构的建模工具上进行运行,测试这架构对算法模型的运算性能如何,并基于这一测试基准,探索软件层面的编译器、模型量化工具、训练工具应该怎么做。

地平线软硬结合下的工程性能验证模式

由于芯片从设计到最终应用有着二到三年的「时差」,这样的工作流程帮助地平线以软性的算法趋势指导硬件架构设计,提前 「适应」未来

「像地平线已经达到百万芯片出货量的征程二代和征程三代芯片里就有比较多的设计,在 2016 年、2017 年时已经考虑到了相关一些算法的演进趋势。」地平线高级研发总监凌坤表示。

架构:一切都是为了更快

征程 5 对标英伟达车端芯片性能情况

逻辑是一回事,技术实现往往是另一回事。地平线能够拿到英伟达的客户根本上还要看数据。

单片英伟达 Orin 和征程 5 的算力分别为 256TOPS(每秒万亿次计算)和 128TOPS,功率为 55W 和 30W,功耗比分别为 4.6TOPS/W 和 4.2TOPS/W。

但如果以自动驾驶 AI 在两个平台上每秒图像帧率 FPS 进行对比测试时,Orin 为 1001FPS,只有一半算力的征程 5 则实现了 1283FPS(Orin 数据为地平线基于同安培架构的英伟达 RTX3090 进行调整后测算得出)。「能效上来看,我们(征程 5 相比 Orin)有 6 倍多的提升。」 地平线 BPU 算法负责人罗恒表示。

在智能 / 自动驾驶场景,视觉仍是目前最核心的感知路线,也是智能 / 自动驾驶 AI 面临的核心任务:「我看到的是什么」。因此,对于自动驾驶所有应用的计算平台来说,FPS 被认为是衡量先进算法在计算平台上运行效率的评价标准之一

高级别智能 / 自动驾驶能力数据量和算力需求 来源:光大证券

2017 年发布自研的 FSD 芯片时,特斯拉创始人马斯克便以此前应用的英伟达 Drive PX2 作比,从算力来看 FSD 是 Drive PX2 的 3 倍,但在执行自动驾驶任务时,其 FPS 是后者的 21 倍。

GPU 的看家本领便是图像识别。为何 GPU 发明者英伟达的 Orin 会在测试中表现不及算力只有一半的地平线征程 5?部分核心原因在于安培(Ampere)架构和贝叶斯(Bayes)架构设计出发点的差异

从物理世界来看,芯片架构就是在方寸之间(目前主流车规级量产芯片尺寸 40nm-5nm)做文章:如何在有限的空间内排布算子、存储器以及之间的通信线路,不同的计算需求将导致不同的阵列方式

学霸英伟达

数据中心场景主要包括高性能计算(HCP)和深度学习,以此出发的芯片架构要能够支持各类 AI 模型任务,在限定时间内吞吐恒河沙数般的数据量。如同被开了金手指的学霸,文史哲数理化通吃,一天能做三万张卷子

英伟达从帕斯卡到安培架构都以高拓展性为核心目标:

  • 支持尽可能多种类的神经网络结构以保证算法的正确率和泛化能力;

  • 支持能够识别广大数字范围的浮点运算,以保证巨大的数据吞吐量;

  • 支持阵列式结构以能够连接更多的处理单元,以进一步加大可计算的数据规模。

落地到硬件技术上,Tensor core(张量核)和 cuda core(下称 CUDA 核)并行,以及从 INT1 到 FP64 的数据精度范围等一系列革新技术,都以支持上述目标为目的

2017 年,英伟达 Volta 架构亮相,其以深度学习为核心的标志便是推出了与 CUDA 核)并行的张量核)。

张量(Tensor)是一个数学概念,指多维数组,有 0-5 维,被看作是现代机器学习的基础,是数据的容器。

标量、向量、矩阵、张量概念

在早期以逻辑判断模型为主的机器学习中,学习任务简单,学习素材可被数据化为结构化的二维图表。

但进入神经网络模型的深度学习阶段中,AI 的任务不再是找出花束中的蓝色花朵,而是找出图片库中的猫。教材变为非结构化数据,单一的图像数据就需要三维张量来表示,语音和视频的维度则更高。

配合多维张量设计的乘积累加运算 Multiply Accumulate(MAC)计算阵列与神经网络模型的运算模式高度匹配,成为 AI 芯片的核心算子类型

英伟达张量核工作模式演示

谷歌 2015 年推出了张量处理器 (Tensor Processing Unit, 简称 TPU)。2017 年英伟达在完全面向深度学习的 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 中的新数学模式。

偏才地平线

但这些高扩展性和丰富性,对自动驾驶 AI 来说是否是必要的

2018 年,英伟达发布了采用 Volta 架构 GPU 的 Soc (系统级芯片) Xavier,可执行高级别自动驾驶任务。按照英伟达的定义,XAVIER 是专门为机器人和边缘计算而设计的计算平台,采用台积电的 12nm 工艺。

特斯拉 HW3.0 与英伟达 Xavier 的大小比较

相比之下,特斯拉 FSD 采用三星 14nm 工艺,且算力上 Xavier 只有 FSD 的一半。但从面积上,XAVIER 却比 FSD 要大一些。

背后便是应用于云端场景的架构,与完全对标一个品牌需求的车端架构,在芯片布局上的不同

英伟达 GPU(左)与特斯拉 HW3.0 内部示意图

直观来看,Xavier 集成的 Volta GPU,提供了 512 个 CUDA 核和 64 个张量核。相比之下,FSD 中负责通用浮点计算的 GPU 面积远小于其 MAC 阵列 NPU。

从需求出发,FSD 芯片上只需运行特斯拉的自动驾驶 AI,因此完全对标深度学习需求的 MAC 阵列占据更多的片上位置。

对 Volta GPU 来说,端侧以实时推理为第一要务的深度学习任务外,还需要考虑云端的训练和高性能计算等更多的任务,通用性计算与混合精度矩阵计算需求并重,仍需在方寸之间为 CUDA 核留下不少的位置

上述芯片专家向《电动汽车观察家》表示:「相比通用型架构,自动驾驶专用架构在设计的时候会充分考虑到目标应用场景的特色,采用更高效适用的计算核以及组合模式,从而实现计算效率的提升,更好地满足目标应用场景的计算需求。」

自动驾驶芯片市场主要竞争者对比 来源:光大证券

围绕提升 MAC 阵列的利用效率,地平线自主研发的 BPU(嵌入式人工智能处理器,Brain Processing Unit,大脑处理器) 架构采用大规模异构计算、高灵活大并发数据桥和脉动张量计算核三大核心技术打造适应端侧自动驾驶需求的矩阵运算。

「英伟达和地平线的 MAC 阵列在具体的设计上有不少差异。」罗恒向《电动汽车观察家》表示,「 从外部结果来看,贝叶斯主要面向 batchsize=1、DDR 节省和对使用 depthwise 的卷积神经网络进行优化,契合自动驾驶场景特征和高能效比。」

地平线脉动张量计算核原理

batchsize 是指神经网络一次批量处理的样本数目。一次批处理的样本数目越多,那么就有潜在的更多并行计算 / 加速的可能。在云端场景下,有海量的数据需要处理,GPU 以及其他一些云端 AI 芯片在架构设计上就会充分考虑 batchsize 大(一次批处理样本多)的特性来设计,从而提高硬件效率。

自动驾驶和其他一些端侧场景,数据上按固定的时间依次到达的,比如摄像头的帧率是 30FPS,那么相当于每隔 33ms 就会有一张图达到,这时候就需要立即处理,尽早搞明白周围的状况而对车辆做出必要的控制。

本质上,自动驾驶面临的就是一个 batchsize=1 的问题(来一张图就要马上处理,而不能多等几张图一起处理),特斯拉的 FSD chip 发布会也强调了其架构设计面向 batchsize=1 优化

地平线大规模异构近存计算原理

DDR 指双倍速率同步动态随机存储器,是内存的其中一种。在云端,由于可以将大量的存储单元相连,内存可被无限扩大;

但在端侧,内存受芯片面积和计算单元 「争夺」 的双重限制变得有限又昂贵,而且自动驾驶一方面产生巨大数据量,一方面又不能因内存不足而 「卡住」。因此通过硬件的设计排布和软件的指令调度,有效提升内存中数据的重复使用率,节省内存,确保始终有内存空间推动计算执行下去便非常重要。

地平线高灵活大并发数据桥原理

depthwise 是卷积算子的一种特殊形式,使用其搭建的卷积神经网络具有最高的算法效率(达到同样的算法精度,所需计算量更少)。目前最强的卷积神经网络就是由大量的 depthwise 卷积构成的。比如,最新击败了 Swin transformer 的 ConvNeXt

在针对自动驾驶场景进一步优化自己的 MAC 阵列同时,地平线还开发了与英伟达 CUDA 核类似的向量加速单元

我们这一代的向量加速单元是一个非常高效、相对简单的(不支持浮点计算)面向向量(vector)的加速单元。」 罗恒向《电动汽车观察家》表示,「这样一个相对简单的向量加速单元的好处是功耗、面积上的经济。下一代贝叶斯我们会进一步加强这个单元。」

减少数据的吞吐量某种意义上意味着算力,以换取功耗和芯片面积上的经济。做出算力和经济性之间的取舍决策,必须是对自动驾驶场景和算法的深刻理解

地平线贝叶斯架构重点强化的性能

技术革新背后,是地平线 BPU 三代架构以满足端侧自动驾驶的加速需求为核心方向的不断演进。

其一:三代架构持续优化 BPU IP 的性能、面积、功耗,在性能 / 算力大幅提升的过程中,保证了所需 DDR 带宽只是温和的增加

征程 5(使用贝叶斯 BPU)相对征程 3(使用 BPU 伯努利 2.0)FPS 提升 10~25 倍(不同典型模型),带宽增加不到 2 倍,仍然有被动散热方案。

其二:对性能、面积、功耗和可编程性更好地折中考虑

BPU 伯努利 1.0、2.0 主要以硬核方式(有限的可编程性)支持常见性能有需求的算子;BPU 贝叶斯更加系统、全面地考虑了性能和可编程性方面的需求,增加了灵活的、可编程的向量加速单元,但也包含了一些特定目标(如,Warping、Pooling、Resize 等)的硬核加速单元。结果是,BPU 贝叶斯更加通用,开发新的算子更为简单。

征程 5 目前在 Swin(机器视觉最有代表的 Transformer)上的 FPS 已经为 Xavier 的 3 倍。

「BPU 伯努利 1.0、2.0 到贝叶斯三代架构都是以卷积神经网络加速为核心展开的,也是业界极少数持续保持 depthwise convolution(卷积神经网络三十年来计算架构最大的算法改进)高效的加速器。」 罗恒向《电动汽车观察家》表示。

对智能 / 自动驾驶所需算法的持续追踪、设计自身的软件算法,使地平线对车用领域未来的软件算法架构有清晰、聚焦的判断。而且,单一业务的地平线,无需像英伟达一样考虑多种业务结构的技术方向和性能需求。

「轻装上阵」 赋予了地平线追赶英伟达的速度

征程 3 推出一年多之后,地平线就推出了全新架构的征程 5。相比之下,英伟达 Xavier 到 Orin-X 花了三年的时间。

生态:构建自己的王牌

针对自动驾驶场景算法和需求专门设计的专用芯片实现在效率上的更高效只是地平线追赶英伟达的第一步。更难的是构建地平线自己好用的软件体系,以及能支撑持续演进迭代的用户生态 —— 这正是英伟达的王牌所在

「历史上,英伟达正是靠工具链登上了 AI 王座,并建立了强大的生态护城河。」 地平线生态发展与战略规划副总裁李星宇向《电动汽车观察家》表示,「地平线在成立之初就建立了工具链团队,那个时候我们有一种直觉,未来工具链将成为我们与合作伙伴协同创新的基础。

同时,整个行业正在演进到数据驱动的软件 2.0 时代,地平线也提供端上的开发工具、以及在云端的训练,包括数据管理以及仿真平台等工具 (AIDI 艾迪),与天工开物形成完整的开发平台,加速面向智能驾驶、智能交互、车内娱乐应用等各种各样的解决方案开发。」

天工开物 「追」CUDA

如今,英伟达 GPU 成为云端人工智能加速的主流解决方案。究其原因,并非英特尔、高通、ARM 等芯片公司的算力不够,而是在软件方案上缺乏如 CUDA 一般完整的编程工具链。

构建完整、完善、好用的编程工具链需要长时间和海量的资金投入和技术积累,而英伟达 CUDA 抢跑了十多年的时间

早在 2006 年问世之初,英伟达就开始对 CUDA 系统在 AI 领域进行大力投入和推广。一方面在年营业额只有 30 亿美元的情况下,每年投入 5 亿美元的研发经费更新维护 CUDA;另一方面,为当时美国大学及科研机构免费提供 CUDA 系统的使用,使其迅速在 AI 及通用计算领域开花结果。

作为后来者,地平线的天工开物目前显然无法在完整性上与英伟达 CUDA 体系相比,不过在针对 AI 和端侧需求,天工开物已有不少亮眼的表现。

地平线天工开物开发平台

地平线的工具链,尤其是其中的模型转换工具和编译器,可以自动完成对模型的量化和编译优化,通过自动化通用的算法,将模型快速部署在芯片上, 运行效率高,精度损失小。」 罗恒向《电动汽车观察家》表示。

AI 模型不仅要在云端完成训练,能够输出高精度的结果,还需要被量化以部署应用。

所谓模型量化是将浮点存储(运算)转换为整型存储(运算)的模型压缩技术。

模型在训练过程中会使用浮点,AI 芯片在推理时为了面积功耗的节省通常使用 8bit 整型数计算。这样浮点训练的模型需要进行量化,转换到 8bit 整型来计算。

量化,可使模型在运行时存储开销和带宽需求更少、更快的计算速度、更低的能耗与占用面积,得以部署到限制更多,对速度要求更快的端侧。

但在量化过程中会产生数据溢出和精度不足舍入错误

对此,2017 年,与张量核一道,英伟达推出了量化工具 TensorRT,实现从模型获得,到模型优化与编译,再到部署的全过程。地平线天工开物也有类似的量化工具,而且对比测试中,地平线对轻量化 / 小型化 AI 模型的量化精度,要好于英伟达的 TensorRT

地平线与英伟达 TensorRT 的量化性能测试 出处:地平线

因为 TensorRT 要覆盖云端、端侧等多个场景下的模型量化,而天工开物则针对性更适宜部署在端侧的模型 —— 采用适用于视觉识别的卷积神经网络

从 2012 年到 2017 年,卷积神经网络经过了快速发展,识别精度已经非常高,但 「体积」 也非常大。2018 年,AI 模型训练的工作量相比五年前增长了 30 万倍,研究机构使用的模型参数已达到万亿级。

大模型带来高性能的同时,也导致在云端效率低、评估成本高,在端侧难以部署的问题。于是,业界开始寻求在同样的精度下做 「减法」:

其一,对训练好的复杂模型通过知识蒸馏、通道剪枝、低比特量化(浮点计算转成低比特定点计算)等手段对模型进行压缩,降低参数量和计算量

英伟达 2019 年发布的安培架构中的一大提升便是张量核增加了对模型部分参数为 0 时的稀疏矩阵计算的支持。

其二:深度可分离卷积 / 深层卷积 (depthwise separable convolution) 代替普通的卷积,形成小规模 / 轻量化模型,如 SqueezeNet、MobileNet、ShuffleNet 等

但小模型在量化的过程中会出现精度损失的问题。对此,地平线在 2017 年便就设计出了量化训练算法以解决 Depthwise 模型精度损失的问题,并申请了专利。而直到 2019 年,谷歌才推出相应的量化算法。

而且基于对算法的持续追踪,地平线已经标定出了一个潜在的 「终极答案」——2019 年 「减法」 模型的集大成者 EfficientNet。地平线认为其标志着卷积神经网络结构的演进暂时进入一个平缓发展的阶段

EfficientNet 能够很好的平衡神经网络的深度、宽度和分辨率这三个核心维度,通过一组固定的缩放系数统一缩放这三个维度。

地平线对征程 5 和 Xavier、Orin (估算) 的 FPS 测试便是以 EfficientNet 为测试模型。在上述测试中,地平线较之英伟达量化精度更高的模型也是 MobileNet、EfficientNet 这样的轻型 / 小型模型。

目前,地平线在工具链方面已经支持了 100 多家的客户。

艾迪 「追」 Drive

除了与芯片高度结合的工具链,另一大软件体系的竞争是在与车用高度结合的开发工具方面

2017 年自 Xavier 芯片开始正式进入智能 / 自动驾驶端侧场景之后,英伟达立刻开始着手完善加强端到端的自动驾驶和车用功能解决方案:Drive 系列。

英伟达 Drive 系统

在英伟达统一的计算架构(Xavier/Orin/Atlan)之上,建立了自动驾驶家开发平台 Drive Hyperion,自动驾驶模块化软件栈 Drive SDK,仿真平台 Drive Sim,和深度学习训练平台 Drive DGX 四个产品。

汽车客户可在 DGX 上进行自动驾驶感知、规划、控制的模型训练和优化;在 Sim 的虚拟仿真环境中模型和算法的验证;在 Drive SDK 的 「软件货架」 中挑选适合自己的软件 「组装」 功能和应用;并利用 Hyperion 进行数据采集和验证开发。

Drive SDK 包含中 OS 基础软件平台、和向开发者开放的 works 中间件、AV /IX 自动驾驶 / 智能座舱软件栈。

开发者可对调用、组合、开发抽象封装在 DriveWorks 中的摄像头、毫米波雷达、激光雷达、GPS 和 IMU 等传感器功能,针对自动驾驶的典型使用场景和 Corner Case 场景开发了多种丰富的神经网络,构建计算密集型算法进行物体检测、地图定位和路径规划。

而基于 Drive AV/IX 提供的基础应用功能,开发者可拆解、组合出符合自身的新功能和产品能力。

地平线艾迪开发工具平台

与英伟达 Drive 相对的是地平线艾迪 AI 软件产品开发及迭代一站式工具平台。其能够为智能汽车 AI 开发者提供海量数据存储、处理能力,半自动化 / 自动化标注能力,大规模分布式训练及模型管理能力和自动化分析、处理产品问题等能力。

值得注意的是,艾迪不仅面向地平线的芯片,还可对接其它芯片,差别只在模型部署阶段有所不同

「开发者围绕关键场景的问题挖掘,模型迭代全流程的自动化,可以大幅改善算法的研发效率,而且可以开放的对接到各类的终端上面。通过这种方式,大大提升了算法研发人员的研发效率。」 地平线高级研发总监凌坤表示。

开放构建地平线生态

在硬件高度服务于软件,开发模式从过去的人工定义变为数据驱动的软件 2.0 时代。软件体系是地平线最难追上英伟达的部分,却也是要真正追上英伟达的必经之路。

体量小、起步晚、还造着更贵、受众更窄的专用型 AI 芯片,地平线要如何在讲究生态体系建设的软件领域追赶英伟达?

答案是比开放的英伟达更开放

Mobileye、英伟达、地平线的开放程度

一方面是覆盖更广泛的市场区间。

地平线的芯片产品体系覆盖从 L2 级到 L4 级的智能 / 自动驾驶需求。征程 2 主要适配面向 L2 级的辅助驾驶领域,征程 3 可适配面向 L2 + 的高速领航辅助驾驶,征程 5 可适配更具挑战的复杂城区辅助驾驶。

而目前,英伟达 Xavier/Orin 的落地大多是从高端车型的高速领航辅助驾驶开始,并且以城区驾驶辅助为短期目标的。

由此,双方芯片的上车规模便产生了相当的差距。

地平线汽车客户,截至 2022 年 4 月

截止目前,已公布搭载地平线征程芯片的有长安 UNI-T/K/V、奇瑞蚂蚁、广汽埃安 AION Y、2021 款理想 ONE、哪吒 U・智等 15 款车型以上,当中不乏月销过万的爆款车型。基于此,地平线征程芯片出货量已突破 100 万片,与超过 20 家车企签下了超过 60 款车型前装量产项目定点。

相比之下,主力搭载英伟达 Xavier 的小鹏相关车型累计销售 12 万辆左右。

英伟达汽车客户,截至 2022 年 3 月底

更多出货量意味着更多的真实场景数据和应用需求,这是软件系统体系不断提升完善的根本 「原料」。「我们把客户看到的问题、想法,在发挥创造性上面遇到的阻碍,反过来帮助我们改进和提升天工开物工具链,这套千锤百炼的工具链就可以更好的提升效率。」 凌坤表示。

另一方面,则是集众人之力,加大开放深度和广度

「地平线提供了一种新的合作范式,就是极致的开放与共创,我们努力做的是与上下游的合作伙伴打造一个生态合作的热带雨林。我们相信:一个公司的价值在于他在创新生态里是否被需要。」 李星宇向《电动汽车观察家》表示。

英伟达基于自身的 GPU 开发出系统级芯片(SOC),并与 CUDA 操作系统强绑定,业界在此基础上开发自动驾驶的软硬件系统。

地平线则在开发完成 BPU 和其上的 SOC 之后,将底层软件通过开源 OS 协同开放的模式与整车企业共享,使开发者能够深入操作系统底层,高效地调用操作系统之下地各种资源。

地平线在去年发出倡议,结合征程 5 芯片,为智能汽车去打造一个开放、开源、行业广泛参与的操作系统 ——TogetherOS。目前为止,地平线已与长安、长城等多家国内主机厂开始联合开发。

地平线整体产品服务体系

今年,地平线创始人余凯又宣布不仅仅是开源 OS,地平线将向部分整车厂开放 BPU IP 授权。就此,地平线形成三类开放共赢的商业模式

  • 一是提供 BPU 和 SoC 级别征程芯片以及操作系统 OS,帮助车企完成自动驾驶软硬件系统开发;

  • 二是提供 BPU 和 SoC 级别芯片,整车厂采用自研操作系统开发自动驾驶软硬件系统;

  • 三是提供 BPU IP,支持车企实现 SoC 自研并采用自研操作系统和自动驾驶软硬件系统实现整车开发。

在此模式下,整车开发将实现从芯片到操作系统、再到自动驾驶的软硬件系统的高度协同,极大提升迭代速度。

作为 AI 芯片和软件工具的提供商,底层开发程度越高,意味着基于车企越多的自主性,由此推动其实现产品和功能的快速迭代 —— 这正是当前智能汽车竞争的核心指标。由此无疑将为地平线吸引来更多的客户和合作方。

这是机会,但也是成本。开放度越高,也意味着开放者为应用者要提供的适配资源和成本更高

如 Mobiveil 首席执行官 Ravi Thummarukudy 所说:「要将 IP 提供给市场需要成本,一旦客户取得授权并开始将之整合到 SoC,为该 IP 提供支持就会成为经常性支出。」

不只是 IP,仅仅在征程 5 的上车过程中,地平线为客户提供的配套适配服务的深度和周到程度,就是英伟达这样的外资跨国多业务企业无法实现的。

从推出 CUDA 算起,英伟达在 AI 领域已布局 16 年之久,更是在 2015 年便开始与特斯拉这样的智能汽车领军企业开始合作,其技术壁垒之高,生态护城河之广,都可以想象。

如今,中国已经成为全球智能汽车的角斗场。很幸运,地平线以中国市场为起点,开始这场艰苦卓绝的追赶。

地平线软硬结合的技术路线 + 共创开放的商业模式,能否在多年之后创造出以小胜大,以弱胜强的 「逆袭」故事,只待时间给出答案

内容参考:

《新 AlphaGo 首度揭秘:单机运行,4 个 TPU,算法更强》量子位

《你知道的,为了更快》arcsin2

《英伟达研究报告:从硬件 GPU 设计到软件 CUDA+ Omniverse 开发》东吴证券

《AMiner 人工智能芯片研究报告》2018 清华 - 中国工程院知识智能联合实验室

《自动驾驶 CNN 算法最新进展,视觉和语言建模有望统一》汽车人参考

《张量的概念及基本运算》 ChihYuanTSENG

《摸着 ARM 过河,地平线开放 BPU IP 授权的商业模式有未来吗?》与非网

《专访杜克大学陈怡然:英伟达开源 Xavier DLA,AI 芯片创业公司被挤压?》雷锋网

《英伟达 GPU 架构演进近十年,从费米到安培》 Will Zhang

《深度学习模型权重数值精度 FP32,FP16,INT8 数值类型区别》千与编程

《FP64, FP32, FP16, BFLOAT16, TF32, andother members of the ZOO》Grigory Sapunov

《模型量化详解》技术挖掘者

《浅谈深度学习 GPU 算力飞跃的背后,英伟达 CUDA 的关键性押注》

《开放 BPU IP 授权 | 地平线的模式有未来吗?》与非网

本文著作权归作者所有,并授权 42 号车库独家使用,未经 42 号车库许可,不得转载使用。

评论 · 0

0/3
大胆发表你的想法~
评论