Auto Byte

专注未来出行及智能汽车科技

微信扫一扫获取更多资讯

Science AI

关注人工智能与其他前沿技术、基础学科的交叉研究与融合发展

微信扫一扫获取更多资讯

地平线CTO黄畅:别让硬件「被锁死」

作者 / 曹锦

2019年初,地平线开始立项研发第三代车规级芯片,也就是征程5。在研发期间,一度有传言称其项目停滞难以落地,这也从侧面反映出这颗芯片的挑战之高。

不过,2021年2月,征程5还是在台积电顺利流片,并在5月一次性流片成功,在15小时内完成了全部的核心功能测试。这意味着,征程5或将是国内首款实现前装量产的百TOPS级大算力AI芯片。

果然,地平线已宣布,最快在今年Q4,搭载征程5的首个项目即将实现量产。如今,比亚迪、一汽红旗和自游家汽车都已是其定点合作车企,另外还有更多合作车企将陆续公布。

除此之外,还有一个「小彩蛋」:自去年7月正式发布征程5至今,其帧率从当时宣布的1283FPS,又提升到了如今的1500+FPS,性能提升近20%。

(地平线联合创始人兼CTO黄畅)

为什么一颗芯片,在硬件架构和算法都没有任何变化的情况下,发布不到一年,反而帧率还提高了?在一场地平线技术开放日上,地平线联合创始人兼CTO黄畅为我们详细解释了征程5背后的开发逻辑,以及车规级芯片面临的问题和趋势。

「请大家忽略TOPS峰值」

帧率(Frames Per Second)的提升,体现的是真实计算性能的提升。这也是地平线一直以来所推崇的,评估芯片的重要指标。

「请大家忽略TOPS峰值,我们在乎的是真正能够用于算法有效计算的算力。」黄畅认为,对于峰值算力值,大家不会做出太大的差异,但是在FPS上可以有巨大的差异。

他解释称,当硬件架构和算法锁定后,软件架构还可以持续改善,编译器也还可以持续地将同一个算法在同一个芯片上通过编译、拆解、重组,部署和运行调度。

通过编译器的高效分析,对算法网络结构进行解构,将尽可能多的存储和计算都利用起来,使它能够在更短的时间内完成AI推理任务。这就是软件的架构要去解决的问题,也是地平线BPU要达成的任务之一。

「如果在硬件设计阶段,就预先设定好数据通路的话,好处是硬件设计会容易一些,坏处是软件没有改变Data path,相当于被硬件锁死了,没有软件空间。」黄畅认为,地平线的理念是「能让软件做的事,尽可能让软件做」,而硬件则承担着简单、极致、高效且容易被软件灵活调用的功能。

「算法是一个客观大趋势,不随计算平台公司的意志而转移。」黄畅表示,算法只能预判和识别,很难去改变,而真正能改变和掌握的,就是硬件架构和软件。

因此,在芯片代码冻结之前,重心应在于如何让算法和软件更好地指导硬件;而当硬件锁定之后,重心则在于如何靠编译去优化软件,实现更强的计算性能。也正是依靠对软件的持续优化,征程5的帧率才能继发布后还能有进一步的提升。

广义感知将实现100%数据驱动

随着自动驾驶技术逐步由数据驱动替代传统的规则计算,在面向未来的自动驾驶算法中,支持数据驱动、神经网络模型推理计算的专用芯片占比也会显著增加。

黄畅介绍称,目前主流的自动驾驶方案大致可以分为四个阶段,分别是广义感知、地图融合、规划和控制。

在软件1.0时代,这四个阶段的任务都是将主观认知变成以规则描述的计算,并在不同程度上过渡到数据驱动,也就是软件2.0:用深度学习、神经网络这样的方式去训练。

「很有趣的一点是,从软件1.0到软件2.0的过渡速度来看,广义感知是最快的,其次是地图融合、规控;而对控制来说,目前来说仍是基于传统的规则方式计算。」由此,黄畅认为,感知,尤其是基于视觉的感知是真正未来自动驾驶智能化,也就是软件2.0数据驱动智能化的先锋。

广义感知其实包含了传统意义上的传感器,同时高精地图和导航信息也可以认为是一种感知输入。所以在新的自动驾驶算法框架下,通常会将更多的信息融合在一个可以端到端、完全数据驱动自动化学习和训练的环节当中,以此大幅提升自动驾驶系统的精度、鲁棒性、适用度,也可以大幅地改进算法迭代的速度。

因为在整个过程进行融合了之后,更多的数据驱动将不再依赖人工规则,自动化程度极高,导致其本身的技术迭代也变得更好。

依照黄畅的预判,在未来,广义感知几乎100%都将靠数据驱动;而在规划和控制阶段,除了需要类似交规这样的极少量规则,80%~90%也都靠数据驱动完成的。

「我内心始终相信,范式级的智能算法和支持这种算法的硬件体系相结合,也就是我们经常说『软硬结合』,这样的思路是加速高等级自动驾驶落地的根本途径。」黄畅表示。

计算架构面临的挑战,以及「大一统」趋势

随着传感器的增加以及分辨率的增长,芯片在单位时间内需要处理的数据也变得越来越多。在此背景下,算法工程师需要尽可能用更多的有效算力去处理这些数据。

「随着自动驾驶级别的提升,它所需要的算力几乎是指数级的爆炸式的增长。从L2到L5,每往上走一级至少有10倍以上算力需求的提升,大规模并行化的AI计算,这使得大算力的计算平台变成一个行业的必须。」

不过,从目前的计算架构来看,不管是寡合路线、众合路线还是通用路线,都普遍受制于数据带宽。黄畅认为,因为和传统的科学计算、游戏加密的计算不同,AI计算是数据量和计算次数都非常庞大,这使得其核心挑战并非在数据本身,而是「在合适的时间把数据送到计算器件去」,这也是所有AI计算架构面临的统一的问题。

至于解决的方法,黄畅表示,基于不同的设计思路,侧重点也不一样,但无外乎都是运用更好的存储、更好的数据走线,以及硬件仲裁和软件的编译调度。

「这些解法大道至简,在数字电路领域的方法论就那么几条,但要结合具体的架构选择:是寡合还是众合,是微观同构、宏观异构,还是微观异构、宏观同构……这都是不同的设计理念,暴露出来的数据带宽的问题形态是不太一样的,所以没有一招鲜吃遍天的解决方案。」黄畅称,工程问题到了深处全是细节,只能结合具体场景展开分析。

同时黄畅也认为,计算架构「大一统时代」的来临并不遥远,而且比他预判的「5年」还会更快:「近两年的发展,让我强烈地感受到神经计算架构的到来,它将是大一统的,而且能满足广泛的应用场景需求。」

统一的神经计算架构能够出现的本质原因,是神经网络算法在大规模地解决更加多样化的问题,并在更广的场景解决各种过去难以想象它能够解决的问题。

「它以更多的功能、更好的方式以及更快的速度去解决AI任务,所以神经计算架构将成为一个统一,并在芯片上呈现越来越大的规模。」黄畅说道。

从保守到激进

在2-3年前,当黄畅开始深入研究车规电子领域时,发现该大家普遍风格保守,采用的车规半导体都是经过多年反复验证的产品,同时软件开发能力也较弱,这导致前几年的汽车娱乐系统被手机甩出好几条街。

而现在大算力平台的自动驾驶芯片,又恰恰是传统车规芯片。「以各种各样MCU为代表的传统车规芯片,同时具备了高可靠度、高质量,以及落后的工艺制程、保守的设计要求的优缺点。」

黄畅认为,自动驾驶就是要在「保守追求稳定」和「极致追求性能」之间找一个平衡点,但这样的尺度显然不易拿捏。因为自动驾驶芯片是个新品类,没有太多标杆。要想在两个极端中找到一个中间点,就得在满足需求的前提下,进而兼顾两边的特点。

「地平线也经历过初期保守的阶段,继而又变得激进一点。然后又会觉得可能激进过头了,会导致某些性能,比如DDR不能完全跑到最高的频率。」黄畅介绍称,地平线持续以各种各样的方式进行摸索,包括设计路线、相应的技术以及各种标准,这就是芯片不断权衡的过程。

征程5即将量产之际,征程6也已经在路上。地平线为每个系列的BPU架构命名时,都采用了数学家的名字:第一代叫高斯,第二代叫伯努利,第三代叫做贝叶斯。而征程6的BPU架构,则采用了那位《美丽心灵》男主角原型的名字——「纳什」。

产业地平线
暂无评论
暂无评论~