九章智驾

九章智驾

Subscription

算力越大越牛逼?地平线与 Mobileye 等的共识是......

环形隧道
自动驾驶

2022-01-27

作者:苏清涛

30 TOPS、100 TOPS、200 TOPS、500 TOPS、1000 TOPS、2000 TOPS...... 如果只盯着新闻报道看的话,我们会认为,「算力越大越牛逼」 已成为主机厂们的 「共识」,他们对大算力的追求也是 「永无止境」 的。

图片来源:https://pic1.zhimg.com/v2-ee64b08dadc6c70b8dcda366bd7369db_r.jpg?x-oss-process=style/watermark?source=1940ef5c

下游的 「内卷」 也会传递到上游。过去几年,一些芯片厂商也被主机厂们的 「算力焦虑」 给绑架了,因而不得不争先恐后地推出大算力芯片,甚至,有一些厂商们在所谓的 「大算力芯片」 尚未流片的时候就 「抢先发布」,以图获得 「先发(布)优势」。

然而,在私下里,无论是自动驾驶初创公司的算法工程师、产品经理,还是主机厂的算法工程师,认同 「算力越大越牛逼」 的人寥寥无几;相反,更多的人认为,一味追求大算力,不仅是一种 「智力上的懒惰」,甚至更是 「内功修炼不足」 的表现。

实际上,对当下这场算力 「军备竞赛」,芯片厂商们的态度是很微妙的 —— 一方面,他们自己就是积极参与者(或主动,或被动),另一方面,他们也不愿意一直被 「大趋势」 绑架。如地平线、Mobileye 在过去一年多时间里一直在拼命地 「反内卷」。

他们认为,衡量一款芯片的好坏,不能只看物理算力,更应该看先进算法在该芯片上的运行效率如何,即每秒准确识别图像帧率 FPS。当然,这需要有很强的软硬件协同能力来支撑。

笔者还发现,一些在过去几年曾多次强调 「我的算力最强」,并公开 diss 「通过优化算法来提升硬件的实际性能」 这一观点的芯片厂商,现在也开始频繁强调 「我也有软件能力」 了。可以看到,哪怕是对自己的算力底气十足,芯片厂商们最终也都会发现,芯片性能的实现,还得靠软件。

而对主机厂而言,无论是否愿意承认,他们不得不接受的一个事实将是:AI 计算,不是仅靠芯片,而是靠芯片 + 算法,如果算法能力不够强,「超高配」 芯片的算力也有可能被极大地浪费;相反,如果算法能力足够强,则可以节省不少花在 「购买 TOPS」 上的钱。

「堆砌算力,是内功修炼不足的表现」

在元旦前的一场小沙龙上,《九章智驾》曾跟一些自动驾驶产业的一线人员交流过 「算力军备竞赛」 的话题,大家的答案如下 ——

某无人驾驶公司产品经理:

觉得算力不够用的一个关键原因是,已经堆了太多的传感器了。但我们真的需要那么多传感器吗?其实,大家还没有摸到每个传感器的性能边界,可能这个传感器的能力还没有完全发挥出来,就利用新的传感器去 「弥补」 了。我觉得,还是先探索清楚每个传感器的性能边界、将其功能发挥到极致,再谈要不要增加传感器,这样也能节省不少算力。

某自动驾驶公司算法工程师:

作为一个软件工程师,我是不太 care 500 TOPS 还是 1000 TOPS 这些数字的,因为真的没多大用处 —— 你可能算力升级了,但如果软件架构还是停留在三四年前的老版本,那么算力的性能也就无法充分地发挥出来,算力再大也不够用。其实,通过对软件架构做个调整,就能避免这个问题。

某头部自动驾驶公司 CTO:

堆叠传感器、堆叠算力,确实是让我感到比较头疼的一个问题。经常有投资人问我怎么看这个问题,我的回答通常是:「认为‘算力越大越牛逼’,是一种思维上的懒惰」。但有一个现实的问题是,VC 过去的估值方式在自动驾驶行业里面完全被打破了,他们没有一个很好的方式去评判 「谁更牛逼」,然后,企业方面也觉得投资人特别看重这个指标,因而就出现了堆叠硬件的现象。

实际上,我们用了 8 个摄像头(2M)+5 个毫米波雷达 + 1 个激光雷达,能支持高速上的自主变道,但 30 TOPS 的算力也够用了。因为,只要算法做得好、就能把已有的算力 「用足」,在很多时候,我们并不需要太大的算力。

围绕着算法优化,我们已经做了很多工作。接下来,我们还会考虑如何把算力的调度跟特定的驾驶任务结合起 —— 每次计算都跟一个特定的驾驶任务以及基于该驾驶任务的模型挂钩,比如现在要做左换道,算力资源就先聚焦到这一特定任务上面,如果要做车道保持,算力资源就再聚焦到这一特定任务上面,这就是 「由驾驶任务驱动算力的优化使用」。

当前,计算资源并没有跟特定功能挂钩,因此,大家习惯于笼统地讲峰值算力,但当所有任务都可以做精细化处理的时候,你需要的算力是多少呢?当计算资源聚焦于某一个基础功能上时,我们可能不一定要做那么高频率的检测,也不一定要用那么复杂的模型,只要保证安全性就够了,这个时候,对算力的需求就会降下来。

某工程机械公司高级工程师:

我们最近跟一个自动驾驶公司交流时,他们提到了一个提高算力利用率、节省算力的思路。比如,激光雷达是 360 度旋转的,但在跟左侧的摄像头做融合时,激光雷达只需要提供转到左侧扫出的点云。

某主机厂自动驾驶产品经理:

堆砌传感器、堆叠算力,这种硬件军备竞赛,PR 价值大于实际价值。很多外行只看这些外在的指标,因为他们看不到、看不懂更多的东西,他就会觉得你算力越大越牛逼。我是觉得,一些车企说的 1000 TOPS 算力,肯定是浪费了,某科技巨头跟一些车企合作的量产项目上,自动驾驶计算平台的算力是 300 多 TOPS,但人家也够用了;特斯拉也只用了 144 TOPS 啊。

某 L4 无人驾驶公司产品经理:

在我看来,过分堆砌算力应该是自身内功修炼不足的表现 —— 不清楚我的算法到底能优化到什么程度,因而也不清楚 200 TOPS 到底够不够、500 TOPS 够不够,心里没底儿。表面上说是 「硬件预埋」,实际上是担心算法优化做得不好会导致 「算力赤字」。

《虎嗅》作者宇多田在 1 月 9 日的《说这家汽车芯片巨头掉队的,开什么玩笑》一文中还提到这么一个信息:据一位有经验的汽车芯片工程师透露,大多数车厂在用性能强大的英伟达 Orin 做测试的过程中都遇到了各种各样的问题,主要表现在 「车厂根本没有足够的人才和能力把芯片性能全部释放出来」,原因则在于 「拥有软硬件协同与调优能力的工程师实在太少了。」

针对这类现象,Mobileye 创始人兼 CEO Annon Shashua 的解释是:只有深入认知和了解软硬件之间的相互作用是什么,才能弄清楚到底该用什么样的核支持什么样的算法。

可见,使用大算力芯片,绝不是靠简单粗暴 「不计较成本」 就可以实现的。如果软件能力跟不上,则无论硬件的性能多强,恐怕也是 「无福消受」。相反,如果算法足够强,算法能被高效地使用,那低 TOPS 芯片能发挥的作用,未必不如高 TOPS 芯片。

在节前的沙龙上,也有一位行业研究员说:

我看到 「1000 TOPS」 的第一反应往往是,你的软件能力能跟得上吗?这么大的物理算力,你真正能利用多少,取决于跟软件算法的配合。

大算力芯片往往跟 「硬件预埋」 概念结伴而行,但所谓的 「硬件预埋」 似乎也是个伪问题 —— 硬件并非一成不变,而是在快速迭代的,你现在 「预埋」 了 1000 TOPS,结果,在你的数据量和算法还不需要用到 1000 TOPS 算力的时候,2000 TOPS 算力的芯片已经出来了,那你的 1000 TOPS 算力岂不是 「尚未启用,就已经落伍」?

「TOPS 值」 不等于真实计算效率

当前,行业普遍以 「TOPS」 为单位来评估 AI 芯片的物理算力 / 理论峰值算力。但人们逐渐意识到,在实际场景下,理论峰值算力(物理乘法器数目乘以最高主频)基本不大可能完全释放,算力的有效利用率很低。

例如,一款拥有理论峰值算力为 16 TOPS 的芯片,在计算不同模型时甚至会有接近 80% 的差异。

2020 年 5 月下旬,当英伟达正式推出算力 200 TOPS 的 Orin 以及在此基础上搭建的算力 2000 TOPS 的计算平台时,佐思产研发了一篇文章《自动驾驶的算力(TOPS)谎言》,这篇文章的核心观点如下:

「高 TOPS 都是运算单元(PE)的理论值,而非整个硬件系统的真实值。真实值和理论值差异极大。最糟糕的情况下,真实值是理论值的 1/10,甚至更低。例如谷歌第一代 TPU,理论值为 90TOPS 算力,最差真实值只有 10TOPS;英伟达 Tesla T4 的理论算力是 130TOPS,而实际只有 27.4TOPS。」

某车企自动驾驶工程师殷玮在《真真假假的 TOPS - 不要太较真了》一文中提到:

「宣传的 TOPS 往往都是运算单元的理论值,而非整个硬件系统的真实值。真实值更多取决于内部的 SRAM、外部 DRAM、指令集和模型优化程度。最糟糕的情况下,真实值是理论值的 1/10,甚至更低,一般也就 50% 的使用率。如英伟达 Tesla T4 的理论算力是 130TOPS,但实际只有 27.4TOPS。」

(Tesla T4 真实算力 2.4 TOPS 是怎么算出来的?ResNet-50 需要 MAC 大约为每秒 70 亿次运算,TeslaT4 运行 ResNet-50 每秒可处理 3920 张 224*224 的图像,3920 张 / 秒 x 70 亿次 / 张 = 27.4 万亿次 / 秒 = 27.4 TOPS。)

可以说,峰值算力只反映 AI 芯片理论上的最大计算能力,而非在实际 AI 应用场景中的处理能力,具有很大的局限性。

殷玮在文章中解释道:

「如果只是静态地看,决定算力真实值的最主要因素是内存( SRAM 和 DRAM) 带宽,谷歌第一代 TPU,理论值为 90 TOPS 算力,但最差真实值只有 10TOPS 算力,为理论值的 1/9,主要因为第一代内存带宽仅 34GB/s,算力和内存匹配没有做好。」

「但动态地来看的话,如果不考虑使用的算法(一代 TPU 更多的是面向一个主流算法),内存和算力也无法很好地匹配。」

「算法对于内存带宽的需求通常使用「运算强度 (operational intensity,或称 arithmetic intensity)」这个量来表示,单位是 OPs/byte。这个量的意思是,在算法中平均每读入单位数据,能支持多少次运算操作。运算强度越大,则表示单位数据能支持更多次运算,也就是说,算法对于内存带宽的要求越低、计算单元的利用率越高。」 殷玮总结道,计算单元利用率的提升可分为三个阶段:

  1. 当算法的运算强度较小时,计算性能实际被内存带宽所限制,有很多计算处理单元是闲置的。
  2. 随着算法运算强度的上升,即在相同数量的数据下算法可以完成更多运算,闲置的运算单元越来越少,这时候计算性能就会上升。
  3. 随着运算强度越来越高,闲置的计算单元越来越少,最后所有计算单元都被用上了,此时运算强度再变大也没有更多的计算单元可用了,于是计算性能不再上升,或者说计算性能遇到了由物理算力(而非内存带宽)决定的 「天花板」。

殷玮认为,要软硬件一起考虑(算法如何兼容、是否减少内存访问次数来提高利用率等),才能充分利用好系统性能。

在所有车企中,特斯拉算是对这一理念理解最透彻的一家了。据 Fortune 报道,Jim Keller 在特斯拉期间的芯片设计思路是:1. 深刻理解特斯拉 Autopilot 的算法运行机理;2. 缩减或砍去通用芯片(例如英伟达芯片)中与特斯拉软件无关的模块。

正因为对算法吃得很透,Jim Keller 才能把 FSD 芯片做得很高效。可以说,对算法的理解,才是 AI 芯片设计工作真正的壁垒。

地平线:不拼硬件肌肉,拼实实在在的 AI 性能

实际上,过去五年多,地平线创始人兼 CEO 余凯曾多次强调 「做芯片真正的壁垒在于算法能力」。余凯说:「芯片绝不能仅看硬件性能,架构设计和对算法的洞察正不断推动 AI 芯片真实性能进化,重塑摩尔定律。」

在 2021 年 6 月中旬的一场演讲中,针对这一轮 「算力军备竞赛」,余凯说:「顶级芯片公司一定不能够以多少 TOPS 来简单地去讲这个故事,1000T 意味着什么?它不是你的效用、性能、不是用户价值,它是给车企的成本。」

在此之前,余凯在跟笔者交流时曾提到:「其实,算力并没有太高的技术门槛,增加芯片面积或采用更先进的制程就行了。但铺算力不真正产生用户价值,真正的价值在最先进的神经网络在这个芯片上面能够跑多快,也即真实 AI 性能。」

2021 年 5 月份,在汽车商业评论举办的一场论坛上,余凯在演讲中举了一个具体的例子:理想 ONE 在改款版搭了载两颗地平线征程 3 芯片,有人说它 「单颗芯片只有 5 个 TOPS,两颗加起来才 10 个 TOPS」,但理想汽车的产品负责人则说 「尽管它单颗芯片算力只有 5 个 TOPS,可是它真正实现了 8 兆摄像头实时计算。」

余凯强调道:「我们不拼硬件肌肉,我们更看重的是实实在在的 AI 性能。」

地平线联合创始人兼 CTO 黄畅博士则在对卷积神经网络的研究中发现,从 2014 年到 2019 年,最好的神经网络计算效率相差了 100 倍,相当于计算效率每 9 个月翻一倍(完成同样计算所需的算力减少了一半)。这一速度,远快于芯片算力的 「每 18 个月翻倍」。

黄畅认为,算法演进速度远超硬件改进速度,致使评估芯片 AI 性能的方法与算法发展之间存在脱节的现象,但如果没掌握合理的评估方法,就很难设计出好的 AI 芯片。因此,产业界迫切需要一种更合理的性能评估方法帮助用户选择适合的 AI 芯片。

  1. FPS——AI 芯片的真实性能

何谓 「AI 芯片的真实性能」?余凯的说法是:世界上最先进的网络算法在芯片上通过你的架构、通过你的边缘器、通过你的动态运行库,它能不能跑到足够的效率 —— 每秒钟能准确识别多少帧?

2020 年 8 月,黄畅博士在全球人工智能和机器人峰会 AI 芯片专场发表演讲时首次提出 MAPS 的概念全方位解答上述问题。MAPS 的全称是 Mean Accuracy-guaranteed Processing Speed,即针对应用场景的特点,在精度有保障的前提下,评估芯片对数据的平均处理速度。

通常,要追求精度,就得牺牲速度,因此,在精度有保障的前提下实现很高计算速度,是有相当壁垒的。

MAPS 的度量单位是 FPS—— 全称为 Frame Per Second,即 「每秒钟可准确识别多少帧」。更高的 FPS,代表着更快速的感知、更低的延时,这意味着更高的安全性能和行驶效率。显然,与 TOPS 相比,FPS 是一个更有价值的性能指标。

MAPS 其实是在物理算力的基础上,通过对大量模型的测试,综合各个模型的速度(正比与物理算力 * 实际利用率)和准确率得到的最佳方案的量化结果。它更聚焦于使用户能够通过可视化的图表直观地感知 AI 芯片的真实算力。

黄畅博士认为,「评估芯片 AI 性能,本质上应该关注做 AI 任务的速度和精度,即‘多快’和‘多准’。而 MAPS 评测方法关注真实的用户价值,将每颗芯片在‘快’和‘准’这两个关键维度上的取舍变化直观地展现出来,并在合理的精度范围内,评估芯片的平均处理速度。」

在体现芯片的真实 AI 性能的同时,MAPS 评测方法还留有最大的优化空间。这里的 「优化空间」,意思是指即便是一颗芯片出厂以后,它的实际性能 FPS 仍有可能提升,因为算法在往前演进,而随着算法不断演进,算法的精度或者速度也能够有所提升。这样的话,就使得这个芯片的 FPS 得到持续提升。

  1. 如何计算芯片的 「真实 AI 效能」?

如何计算芯片的 「真实 AI 效能」?地平线总结出这样一个公式:真实 AI 效能 = 物理算力(即以 TOPS 表示的峰值算力)* 计算资源的有效利用率 * AI 算法的效率。

上表中的几个参数,分别怎么理解?我们在此一一解释一下 ——

(1)「理论峰值计算效能」,就是通常说的 「物理算力」、「峰值算力」。

(2)有效利用率,指芯片中计算资源 (乘法器)的利用率。

特斯拉 FSD 与 Nvidia Drive PX2 真实性能比较

特斯拉在 Hardware 3.0 中,采用其自研 AI 芯片 FSD Chip 替代了 Hardware 2.5 中的 Nvidia Drive PX2,算力从 24 TOPS 提升到了 72 TOPS,但运行同样模型的效率却惊人地提升了 21 倍。具体而言,Hardware 2.0 时每秒只能处理 110 帧图像,而现在则高达 2300 帧。

除了绝对算力的提升了 3 倍,额外提升则来自于算力利用率提升了将近 2 倍。

对算力利用率影响最大的因素是架构。为实现更⾼的算力利用率,更加⾼效地使⽤内存带宽并消除不必要的精度需求、⼤规模的⾼并⾏计算便成为架构设计的必要考虑因素。

为实现这一目标,地平线征程 5 采用了贝叶斯架构。贝叶斯架构基于⼤规模异构近存计算、高灵活大并发数据桥及脉动张量计算核三大核心技术,能以更少内存、更高 MAC 利用率来执⾏更多任务,进而能够将并行计算发挥到极致。

再往深一步,芯片架构做得如何,主要取决于算法能力。因此,芯片团队对算法的理解越深刻,越有可能把芯片架构做好,进而提高算力的利用率。

由上图可以看出,同一款芯片,在跟不同的算法模型相匹配时,算力的利用率可能会出现很大的差异。

在 1 月 20 日晚上的直播课中,地平线 BPU 算法负责人罗恒博士强调道:「我们不但看算法本身,而且更多地看算法对芯片架构的影响,这就使得 MobileNet (depthwise conv)算法刚一推出的时候,我们就能够迅速地关注到它。」

作为一家算法基因很浓的芯片公司,地平线从征程 1 开始就针对自动驾驶场景设定了独特的算法模型,并基于对关键算法发展趋势的预判,前瞻性地将其计算特点融入到伯努利、贝叶斯等芯片架构的设计中,从而实现很高的计算资源利用效率。

通常,GPU 在跑深度神经网络算法的时候,算力利用率不超过 50%,而地平线的征程 3 和征程 5 则将算力利用率做到了 90% 以上。

据地平线方面提供的信息,作为面向高等级自动驾驶的专用处理器架构,「贝叶斯架构能够保证经过较长的研发周期后,征程 5 芯片在正式推出时仍然能够快速适应最新的主流算法,并随着算法的迭代,始终保持相当高的有效利⽤率,从而使终端用户真正意义上受益于算法创新带来的优势」。

(3)AI 算法的效率,就相当于殷玮文章中所说的 「算法运算强度越高,计算资源的闲置率越低」。

关于算法效率对芯片运算效率的影响,罗恒博士在直播中举了这样一个例子:

谷歌在 2016 年开发出一种语音识别算法 WaveNet,能区分出一个推销电话是人打的还是机器人打的,但刚开始,这个算法很弱,并导致 GPU 的计算效率也很低,比如,人说了 10 秒钟,它需要花几分钟才能识别出来,完全没法交流;后来,谷歌对这个算法做了一些优化,计算效率一下子就提升了几千倍,这个时候,GPU (TPU) 的计算效率也大幅度提升,人说 20 秒的话,GPU 只需用 1 秒钟就能算出来。

而深度学习计算中应用最广泛的卷积神经网络,也在 2016—2017 年迎来了其自诞生以来最重要的一次变化 —— 在 depth 的 depthwise conv 上,可以通过更少的计算量达到很高的精度。

从下图可见,同一款芯片(TPU)在跟不同的算法模型(最左侧)搭配时,精度跟帧率都有很大差异。

此外,2021 年上半年,来自美国莱斯大学的计算机科学家们证实,一种专门根据 CPU 设计的深度神经网络训练算法(sub-linear deep learning engine, SLIDE)的训练速度远超过 GPU 算法,最高速度可比后者快 15 倍!该算法的出现,甚至有力证明了,在不依赖于 GPUs 等专业级加速硬件的情况下,依旧可以实现对深度学习技术的加速。

以地平线为例,从芯片设计之初,其就考虑如何能保证芯⽚更好满⾜未来⾃动驾驶相关算法在 BPU 上的适⽤性,并提供以 FPS 为单位的最佳性能。

通过对算法、编译器、计算架构三个方面的软硬协同优化,将并⾏计算发挥到极致,并辅之以软硬件协同的组织文化,地平线最终实现了 AI 计算效率的大幅度提升。

(罗恒近日直播公开课材料,其中 Orin 的 FPS 值是根据英伟达对 Orin 算力的公开描述及 Orin 相比于 Xavier 能力提升的描述,再参照同样基于安倍架构的英伟达 RTX 3090 推算出来的。)
MS CoCO 物体检测任务下 Xavier、Orin、征程 5 实际性能

写到这里,笔者想起一则往事:

此前,某车企工程师曾向笔者吐槽:「地平线芯片的算力不够。」 当时,笔者反问:「算法是你们自己写的,还是地平线提供的?」 他说:「是我们的,因为前一代算法迁移有一些挑战。」

这个故事的续集是:该车企后来决定跟地平线联合开发感知算法。

这家车企肯定已经意识到了这一点:算法能力越强,解决相同问题所需的算力就越少。

这很好理解,好的算法就相当于一个好的数学公式,只要有一个好公式,哪怕智商(算力)没那么高的人,也能用这个好公式很快得出答案;而差的算法则相当于公式不好,那么,哪怕是很聪明的人,解这道题也需要付出更多的时间才能得出答案。

「算法能力更重要」,已成为各芯片厂商们的共识

地平线并不是唯一持类似观点的公司。事实上,跟地平线在市场上有激烈的正面竞争关系的 Mobileye,也在 「计算效率比算力更重要」 这一观点上,跟地平线有着 「高度共识」。

2020 年 9 月份北京车展前夕,Mobileye 产品及策略执行副总裁 Erez Dagan 在回答媒体关于 「你的算力不如别人」 的问题时说道: 「仅用一个数字来衡量芯片的做法不可取,SoC 芯片的负载能力也很重要。与其说 TOPS 是一个真正意义上的技术指标,不如说它是一个用于制造营销噱头的单位。」

也是在同一时期,刚刚跟 Mobileye 成为 「亲密战友」 的吉利汽车研究总院时任院长胡峥楠在接受新智驾采访时也力挺 Mobileye 的观点:

「芯片本身不仅仅是算力的体现,更重要的是它更底层的算法和库文件。因此,我们更愿意相信在这方面有长期积累的平台。随着半导体技术的提升,算力在未来并不是一个瓶颈,TOPS 这个参数要如何为用户带来真正的价值才是关键。」

2021 年初的 CES 期间,Erez Dagan 再次被问到 「怎么看蔚来 ET7 拟采用的算力达到 1016 TOPS」 及 「算力和需求之间应该怎么匹配」 的问题,这次,Erez Dagan 的回答是:

「我想再次说明一下,TOPS 数字不过是过去的数值竞赛。如果你需要一个非常强大的电脑,那就意味着你其实并不知道自己想要什么,一切还仅仅停留在探索的阶段。一旦你需要满足经济性的要求,就要在处理速度、客户需求、解决方案成本等各个方面找寻平衡。这才是真正的汽车产品业务的区别所在,而不是所谓的广告、作秀或仅仅是处在研究的阶段。」

到了 2022 年 CES 上,在发布 EyeQ Ultra 时,Mobileye 总裁兼首席执行官 Amnon Shashua 则来不及等到别人 「挑衅」 就先行 「自黑」:「176 TOPS 听上去是一个很小的数字,大概只有竞争对手(英伟达)号称算力的五分之一。但关键的不仅是算力,而是效率。」

Amnon Shashua 称,TOPS 是一个非常不充分的计算能力指标。「我们集成到 EyeQ 芯片中的计算模型非常复杂,远不是某一单一指标能量化的。」

Mobileye 认为,他们能够在两颗 EyeQ5 芯片上运行整个 SuperVision 系统,在数量级上远低于其他竞争对手谈论的算力或 TOPS 指标。这得益于其在芯片软硬件协同设计上的先天优势。

另一芯片厂商安霸也在频频强调软硬件协同的优势。

安霸在 2020 年 CES 展推出全新的 CV2FS 和 CV22FS,一直没有明说算力究竟是多少 TOPS,只说是 「能以每秒 30 帧对 800 万像素或更高分辨率的视频进行计算机视觉处理」,这便相当于地平线一直在提的 FPS 了。

这次 CES 上发布的 CV3,AI 算力的计量单位是 eTOPS, 这个词的含义是 「等效多少 TOPS」—— 安霸中国区总经理冯羽涛的解释是:如果能把同样的神经网络算法跑到等效这么快,就可以说这个是多少 eTOPS。

冯羽涛最近在接受媒体采访时也反复强调 「视觉算法将是 CV3 的核心竞争力」;「用其视觉算法、自研 IP 核心等多种技术实现更高的算力和效能」,以及 「算法优先」 等观点。

还有一个其极重要但还没有引起太多关注的现象是:作为引领了 「软硬件解耦」 趋势的芯片巨头,英伟达对软件的重视程度也越来越高,实际上,该厂商正在转型为 「软件公司」。

2021 年 11 月,英伟达 CEO 黄仁勋在接受 The Next Platform 采访时提到,「公司里有 3/4 的员工负责开发软件」。

黄仁勋说:

「我们提供的价值显然主要体现在软件身上。 买到的硬件只是对应初始性能外加一定的性能上限,但在整个使用周期内用户会逐步获得 3 倍、4 倍甚至是 10 倍的后续性能提升,而且这一切只通过软件更新就能实现。」

「你可以造出世界上最强的芯片,然后把它插进计算机里…… 但之后呢?要用它加速什么?如果根本就没有东西,怎么谈加速?加速计算的困难之处,就在于它对软硬件协同提出了极高的要求。总而言之,软件体现出我们看待这个世界的方式、反映出我们的运营战略。」

这次 CES 结束后,笔者在微信朋友圈发了这么一段话:

三四年前,当地平线提出 「通过软件能力 / 优化架构来提高乘法器的利用率,进而可提升芯片的真实性能」 的时候,一些起步晚的芯片公司在许多场合都 diss 这种观点,甚至就只差没有赤裸裸地说是 「骗子」 了......

然而,近一两年,英伟达这样的大厂也开始频频在公开场合强调这个观点了(ME 应该是一直就在讲)..... 这个时候,那些原先 diss 地平线 「用软件能力提升硬件表现」 的芯片厂商,也开始说 「我也有软件能力」 了。

无论自愿还是被迫,持续提升软件能力,通过软件能力为硬件 「加成」,都会成为每一个 AI 芯片厂商们的必修课。

未尽之语:人生中的 「算法」 与 「算力」 及 「软硬一体」

过去几年,笔者已经习惯于以 「算法与算力」 的思维方式来解释自己在生活中观察到的很多现象,也写了不少鸡汤文风格的随笔,现在回头看,这些鸡汤文仍是经得起时间检验的。

这些鸡汤文,有助于一些新入行者理解算法与算力的关系,故笔者决定在此分享出来 ——

  1. 有一段时间,在琢磨算力与算法的关系时,我无意间拿自己跟一些同学的成长曲线做了个对比,有一个很有意思的发现:

我自己:高中时学习不算十分刻苦,高考时稀里糊涂地考进了 「北清复交」,但由于自信心严重不足,大学一毕业即 「逃离北上广」,在毕业后的前九年可以说 「毫无竞争力」;毕业后第九年返回一线城市,第十年进入 「人才密度高」「信息密度高」 的自动驾驶产业,竞争力才快速提升。

第一类同学:他们在高中时学习比我刻苦很多,考试分数却比我低得多,最终考的大学也比我逊色不少,并且还是三线城市的大学;但在大学毕业后,他们很有魄力地来到一线城市工作,很快,他们的整体认知水平比我高出许多,整体竞争力也比我强了许多 —— 至少在大学毕业后的前八年是如此。多年来,他们一直是我仰视的对象。

第二类同学,他们的努力程度不如我,却考上了跟我同样的大学、甚至是比我更好的大学;上大学期间,他们的努力程度也不如我,考试分数却比我高;毕业之后,我只能去 「卖保险」,而他们却轻松获得了有光环的工作机会。

当然,在毕业 5-8 年后,我一直遭遇各种 「极端工况」,被迫完成了很多超出自己预期的转型,他们则一直在舒适区里享受着。但我最近一两年再跟他们交流时发现,他们的整体竞争力已经不如我了。

如果以高中时期的勤奋程度及最终考上的大学来简单粗暴地评判,第一类同学的 「算力」(智商)显然是不如我的,第二类同学的 「算力」 则是远超过我的,那为什么前者在大学毕业后(前九年)的整体竞争力远都在我之上,而后者却 「没那么牛」 呢?

最根本的原因是,与我相比,第一类同学在大学毕业就后来到了 「场景」 更复杂、「数据」 规模更庞大的一线城市,因而 「算法」 迭代得比我快许多;而我,却懦弱地逃亡至了 「场景」 更简单、「数据」 规模更小的小城市,因而算法迭代很慢。

在这里,加引号的 「场景」 指某个城市所能提供的工作环境、工作内容,「数据」 指当事人在这个城市生活及工作中接触到的各种信息、知识及人际关系等,「算法」 则指思维方式、认知水平。下同。)

结果便是,尽管我的 「算力」 比这类同学强,但由于这类同学的 「算法」 更强,进而 「算力的利用率」 也更高,因此,他们的 「FPS 值」 比我高。

当然,在毕业后的第九年,由于我也返回了 「场景」 更复杂、「数据」 规模更庞大的一线城市,尤其是,我后来加入了 「数据」 更丰富的自动驾驶产业,因而 「算法」 上跟第一类同学的差距开始缩小。

第二类同学,在过去几年接触到的 「场景」 单一、高质量的 「数据」 较少,「算法」 没得到很好的训练,这导致他们的 「算力利用率」 严重不足;而我则有幸融入到产业链复杂、人才密度极高的自动驾驶产业,这样的 「应用场景」,不仅给我提供了丰富的 「高质量数据」(便于我高强度地训练自己的 「算法」),甚至还源源不断地给我提供了 「开源算法」(CEO 及工程师们的思维方式),这使得我的 「算法」 迭代得更快。

好的 「算法」,可以提高我的 「算力利用率很」。结果便是,我虽然算力更弱,但 「FPS 值」 却更高。

  1. 我一度怀疑,自己对 「软硬一体」 的理解,是 「被余凯洗脑」 的结果。一旦定性为 「被洗脑」,就总忍不住质疑 「有诈」,质疑对方是 「立场决定观点」,因而心存警惕。

但有一天早上,我突然想起来,我最初对「软硬一体」的理解,实际上来源于自己在 2006-2008 年对心脏病、心理疾病、抑郁症的观察 —— 心理上受到的刺激或病变,往往会导致生理上的病变。而心理和生理的关系,就类似于软件和硬件的关系。

还有就是,近几年,我又开始思考一个问题:人精神状态的好坏,会影响到身体机能的发挥。

我从小体育很差,这极大地影响到了我的自信心,我一直认为自己身体素质很差,啥都干不成,后来发现,我的精神状态比绝大多数人都好,这也导致我平时精力一直很充沛,一天到晚处于工作状态也不觉得累。相反,多数比我年轻、身体素质比我好许多,但精神状态不如我的人,肯定做不到这一点。

对应到软件与硬件的关系,这就类似于「我的算力是不大,但由于算法好,因而算法的利用率高,所以可实现更大的 FPS」,而那些身体素质很好但精神状态不好的人则相当于「物理算力很强大,但 FPS 很小」。

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

Comment · 0

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