地平线追击英伟达
都是2023年。
3月22日,英伟达宣布比亚迪将投产搭载DRIVE Orin计算平台的汽车。
一个月后,地平线宣布,第三代产品征程5芯片首个定点合作,花落比亚迪。
两项合作的上车时间,都是2023年。
比亚迪并不是唯一一个同时部署英伟达和地平线的车企。理想在其爆款2021理想ONE上搭载了征程3以实现高速领航驾驶辅助能力,而在最新的理想L9上则将使用英伟达Orin。目前,地平线芯片的定点企业达到60家,基本可以肯定,其中也有英伟达的客户。
有评论认为,这是因为地平线是国内鲜有通过了车规级的大算力AI芯片,而且更加便宜,所以车企选择其作为英伟达Orin的“平价替代”和供应链安全B选项。
这一说法并非全无道理。
但2015年地平线成立时,英伟达的芯片已经开始准备上车特斯拉。短短6年多时间里,一个中国创业公司如何能够与AI芯片王者进入同一份采购清单?
更重要的是,在更远的未来,地平线将只是英伟达的“平替”,还是将一路追赶,成为其在汽车AI芯片领域真正的对手?
本文为大家奉上地平线和英伟达全方位的对比,帮助您做出判断。
【本文福利:关注《电动汽车观察家》,并在公众号对话框输入:地平线英伟达,即可获得深度AI芯片研究报告下载地址】
01
逻辑:阿尔法狗会开车吗?
如果说起广为人知的人工智能(AI),阿尔法狗肯定算一号。
2016年,谷歌围棋人工智能“阿尔法狗”(AlphaGo Lee)以4:1的成绩,战胜世界冠军数量排名第二的韩国棋手李世石。
2017年,阿尔法狗与李世石对弈
围棋的特性决定了其不适用穷举法,相比算力更考验棋手的“脑力”,因此这场“人机大战”成为人工智能史上一座里程碑:AI在某些领域能比人类更“聪明”。
但围棋翘楚AlphaGo Lee能开车吗?
答案恐怕是否定的。定位为围棋人工智能的阿尔法狗以进行推理任务的决策算法为主,其所采用的神经网络类型也许并不能胜任视觉感知的任务;
AlphaGo Lee的服务器
为进行比赛,阿尔法狗所需算力高达约4416TOPS功耗高达10000W(DeepMind论文),100度电量的车也只能支撑10小时(纹丝不动),更别说带着衣柜大小的服务器;
更重要的是,在比赛中,阿尔法狗拥有共计两个小时+180秒的“思考”时间,而汽车一秒多想的时间都没有。
不能开车的阿尔法狗显示出了人工智能/神经网络在实际应用中的苛刻要求:相比于人类智能的高通用性,人工智能在功能实现上,与应用场景、AI算法模型、部署硬件情况息息相关。
正是这种高度相关性为地平线追赶英伟达提供了逻辑基础。
1.1站在云端的英伟达
英伟达是第一个为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财年)。
1.2站在“端侧”的地平线
而地平线目前的核心业务只有端侧的汽车。
地平线的完整名为“地平线机器人”,其创立设定的场景便是机器人这样需要实时完成计算的端侧场景,其产品所有的软硬件架构都为端侧的特殊需求设计。
但“机器人”此前更多存在于科幻电影当中,直到自动驾驶使汽车成为机器人在现实世界中的第一个爆发点。
“单一”的业务结构使地平线的技术能够聚焦在“一种”需求上,而汽车智能化需求的爆发则为从智能/自动驾驶场景出发,收敛AI任务范围,打造更贵、更具针对性的专用型芯片提供了规模化基础,使其商业模型能够成立,从而吸引投资人和专业“选手”进场。
“GPU这样的通用芯片对于开发者非常友好,但不是商业化竞争的最优解,”一位芯片行业专家向《电动汽车观察家》表示:“地平线采用面向特定场景的软硬结合方法论来设计芯片,也就是DSA(Domain Specific Architecture特定领域架构)的芯片,极大提升了芯片的有效算力。”
软硬解耦,将图形处理的专用芯片GPU变为适用于大规模并行计算的通用型芯片,使英伟达站上AI时代的C位。
而地平线追赶英伟达的第一步,是软硬结合。
地平线在公众亮相中多次强调软硬结合方法论核心——以终为始:
- 永远从系统的视角评价其中每个模块(从AI模型、工具链、开发工具的全体系出发,看待芯片上每个细微空间的排布逻辑和利用效率);
- 永远用未来的预测来指导当下每个选择(针对自动驾驶AI未来算法演进趋势,指导当下的技术研发方向和取舍关系)。
地平线的软硬结合开发模式
地平线芯片开发过程中的一个环节可以从一个侧面展示软硬结合的方法到底如何落地。
地平线有一个AI模型性能分析工具。首先将选取包含了丰富的、代表未来演进趋势的算法模型作为Testing Benchmark(测试基准)。将其在地平线BPU架构的建模工具上进行运行,测试这架构对算法模型的运算性能如何,并基于这一测试基准,探索软件层面的编译器、模型量化工具、训练工具应该怎么做。
地平线软硬结合下的工程性能验证模式
由于芯片从设计到最终应用有着二到三年的”时差“,这样的工作流程帮助地平线以软性的算法趋势指导硬件架构设计,提前“适应“未来。
“像地平线已经达到百万芯片出货量的征程二代和征程三代芯片里就有比较多的设计,在2016年、2017年时已经考虑到了相关一些算法的演进趋势。“地平线高级研发总监凌坤表示。
02
架构:一切都是为了更快
征程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)做文章:如何在有限的空间内排布算子、存储器以及之间的通信线路,不同的计算需求将导致不同的阵列方式。
2.1学霸英伟达
数据中心场景主要包括高性能计算(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中的新数学模式。
2.2偏才地平线
但这些高扩展性和丰富性,对自动驾驶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花了三年的时间。
03
生态:构建自己的王牌
针对自动驾驶场景算法和需求专门设计的专用芯片实现在效率上的更高效只是地平线追赶英伟达的第一步。更难的是构建地平线自己好用的软件体系,以及能支撑持续演进迭代的用户生态——这正是英伟达的王牌所在。
“历史上,英伟达正是靠工具链登上了AI王座,并建立了强大的生态护城河。”地平线生态发展与战略规划副总裁李星宇向《电动汽车观察家》表示,“地平线在成立之初就建立了工具链团队,那个时候我们有一种直觉,未来工具链将成为我们与合作伙伴协同创新的基础。
同时,整个行业正在演进到数据驱动的软件2.0时代,地平线也提供端上的开发工具、以及在云端的训练,包括数据管理以及仿真平台等工具(AIDI艾迪),与天工开物形成完整的开发平台,加速面向智能驾驶、智能交互、车内娱乐应用等各种各样的解决方案开发。”
3.1天工开物“追“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多家的客户。
3.2艾迪“追”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开发者提供海量数据存储、处理能力,半自动化/自动化标注能力,大规模分布式训练及模型管理能力和自动化分析、处理产品问题等能力。
值得注意的是,艾迪不仅面向地平线的芯片,还可对接其它芯片,差别只在模型部署阶段有所不同。
“开发者围绕关键场景的问题挖掘,模型迭代全流程的自动化,可以大幅改善算法的研发效率,而且可以开放的对接到各类的终端上面。通过这种方式,大大提升了算法研发人员的研发效率。”地平线高级研发总监凌坤表示。
3.3开放构建地平线生态
在硬件高度服务于软件,开发模式从过去的人工定义变为数据驱动的软件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授权|地平线的模式有未来吗?》与非网