找回密码
 立即注册
查看: 333|回复: 0

算法越大越牛?小记

[复制链接]
发表于 2022-3-3 15:13 | 显示全部楼层 |阅读模式
原文:
30 TOPS、100 TOPS、200 TOPS、500 TOPS、1000 TOPS、2000 TOPS......如果只盯着新闻报道看的话,我们会认为,“算力越大越牛逼”已成为主机厂们的“共识”,他们对大算力的追求也是“永无止境”的。



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

下游的“内卷”也会传递到上游。过去几年,一些芯片厂商也被主机厂们的“算力焦虑”给绑架了,因而不得不争先恐后地推出大算力芯片,甚至,有一些厂商们在所谓的“大算力芯片”尚未流片的时候就“抢先发布”,以图获得“先发(布)优势”。
然而,在私下里,无论是自动驾驶初创公司的算法工程师、产品经理,还是主机厂的算法工程师,认同“算力越大越牛逼”的人寥寥无几;相反,更多的人认为,一味追求大算力,不仅是一种“智力上的懒惰”,甚至更是“内功修炼不足”的表现。
实际上,对当下这场算力“军备竞赛”,芯片厂商们的态度是很微妙的——一方面,他们自己就是积极参与者(或主动,或被动),另一方面,他们也不愿意一直被“大趋势”绑架。如地平线、Mobileye在过去一年多时间里一直在拼命地“反内卷”。
他们认为,衡量一款芯片的好坏,不能只看物理算力,更应该看先进算法在该芯片上的运行效率如何,即每秒准确识别图像帧率 FPS。当然,这需要有很强的软硬件协同能力来支撑。
笔者还发现,一些在过去几年曾多次强调“我的算力最强”,并公开diss“通过优化算法来提升硬件的实际性能”这一观点的芯片厂商,现在也开始频繁强调“我也有软件能力”了。可以看到,哪怕是对自己的算力底气十足,芯片厂商们最终也都会发现,芯片性能的实现,还得靠软件。
而对主机厂而言,无论是否愿意承认,他们不得不接受的一个事实将是:AI计算,不是仅靠芯片,而是靠芯片+算法,如果算法能力不够强,“超高配”芯片的算力也有可能被极大地浪费;相反,如果算法能力足够强,则可以节省不少花在“购买TOPS”上的钱。
一.“堆砌算力,是内功修炼不足的表现”
在元旦前的一场小沙龙上,《九章智驾》曾跟一些自动驾驶产业的一线人员交流过“算力军备竞赛”的话题,大家的答案如下——
某无人驾驶公司产品经理:
觉得算力不够用的一个关键原因是,已经堆了太多的传感器了。但我们真的需要那么多传感器吗?其实,大家还没有摸到每个传感器的性能边界,可能这个传感器的能力还没有完全发挥出来,就利用新的传感器去“弥补”了。我觉得,还是先探索清楚每个传感器的性能边界、将其功能发挥到极致,再谈要不要增加传感器,这样也能节省不少算力。(评:动不动40-50个传感器,堆砌的确实有点过分了,这其实反映自动驾驶技术还不成熟,在“加法”阶段,等到什么时候有自信做“减法”的时候,才说明技术成熟度达到了落地的阶段。)
某自动驾驶公司算法工程师:
作为一个软件工程师,我是不太care 500 TOPS还是1000 TOPS这些数字的,因为真的没多大用处——你可能算力升级了,但如果软件架构还是停留在三四年前的老版本,那么算力的性能也就无法充分地发挥出来,算力再大也不够用。其实,通过对软件架构做个调整,就能避免这个问题。(评:软硬件本就是一体的,之所以吹硬件是因为硬件的性能参数可度量,公众可以有直观的概念,但是各家软件算法的能力其实很难有统一的准确量。正确的解决思路应该是构建一套评测的标准or参数,可以同时评估软硬件综合的性能。)
某头部自动驾驶公司CTO:
堆叠传感器、堆叠算力,确实是让我感到比较头疼的一个问题。经常有投资人问我怎么看这个问题,我的回答通常是:“认为‘算力越大越牛逼’,是一种思维上的懒惰”。但有一个现实的问题是,VC过去的估值方式在自动驾驶行业里面完全被打破了,他们没有一个很好的方式去评判“谁更牛逼”,然后,企业方面也觉得投资人特别看重这个指标,因而就出现了堆叠硬件的现象。(评:说白了就是不知道怎么评估自动驾驶能力。)
实际上,我们用了8个摄像头(2M)+5个毫米波雷达+1个激光雷达,能支持高速上的自主变道,但30 TOPS的算力也够用了。因为,只要算法做得好、就能把已有的算力“用足”,在很多时候,我们并不需要太大的算力。
围绕着算法优化,我们已经做了很多工作。接下来,我们还会考虑如何把算力的调度跟特定的驾驶任务结合起——每次计算都跟一个特定的驾驶任务以及基于该驾驶任务的模型挂钩,比如现在要做左换道,算力资源就先聚焦到这一特定任务上面,如果要做车道保持,算力资源就再聚焦到这一特定任务上面,这就是“由驾驶任务驱动算力的优化使用”。(评:算力依据任务的优先级进行合理调度,有时候是可以舍弃一些不影响安全的计算的。)
当前,计算资源并没有跟特定功能挂钩,因此,大家习惯于笼统地讲峰值算力,但当所有任务都可以做精细化处理的时候,你需要的算力是多少呢?当计算资源聚焦于某一个基础功能上时,我们可能不一定要做那么高频率的检测,也不一定要用那么复杂的模型,只要保证安全性就够了,这个时候,对算力的需求就会降下来。
某工程机械公司高级工程师:
我们最近跟一个自动驾驶公司交流时,他们提到了一个提高算力利用率、节省算力的思路。比如,激光雷达是360度旋转的,但在跟左侧的摄像头做融合时,激光雷达只需要提供转到左侧扫出的点云。
某主机厂自动驾驶产品经理:
堆砌传感器、堆叠算力,这种硬件军备竞赛,PR价值大于实际价值。很多外行只看这些外在的指标,因为他们看不到、看不懂更多的东西,他就会觉得你算力越大越牛逼。我是觉得,一些车企说的1000 TOPS算力,肯定是浪费了,某科技巨头跟一些车企合作的量产项目上,自动驾驶计算平台的算力是300多TOPS,但人家也够用了;特斯拉也只用了144 TOPS啊。(评:就是pr价值在炒作,实质上一种对外行的误导。)
某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评测方法关注真实的用户价值,将每颗芯片在‘快’和‘准’这两个关键维度上的取舍变化直观地展现出来,并在合理的精度范围内,评估芯片的平均处理速度。”(评:MAPS评估真实的用户价值。)
在体现芯片的真实AI性能的同时,MAPS评测方法还留有最大的优化空间。这里的“优化空间”,意思是指即便是一颗芯片出厂以后,它的实际性能FPS仍有可能提升,因为算法在往前演进,而随着算法不断演进,算法的精度或者速度也能够有所提升。这样的话,就使得这个芯片的FPS得到持续提升。
2.如何计算芯片的“真实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数字不过是过去的数值竞赛。如果你需要一个非常强大的电脑,那就意味着你其实并不知道自己想要什么,一切还仅仅停留在探索的阶段。一旦你需要满足经济性的要求,就要在处理速度、客户需求、解决方案成本等各个方面找寻平衡。这才是真正的汽车产品业务的区别所在,而不是所谓的广告、作秀或仅仅是处在研究的阶段。”(评:一针见血,宣传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值”却更高。
2. 我一度怀疑,自己对“软硬一体”的理解,是“被余凯洗脑”的结果。一旦定性为“被洗脑”,就总忍不住质疑“有诈”,质疑对方是“立场决定观点”,因而心存警惕。
但有一天早上,我突然想起来,我最初对"软硬一体"的理解,实际上来源于自己在2006-2008年对心脏病、心理疾病、抑郁症的观察——心理上受到的刺激或病变,往往会导致生理上的病变。而心理和生理的关系,就类似于软件和硬件的关系。
还有就是,近几年,我又开始思考一个问题:人精神状态的好坏,会影响到身体机能的发挥。
我从小体育很差,这极大地影响到了我的自信心,我一直认为自己身体素质很差,啥都干不成,后来发现,我的精神状态比绝大多数人都好,这也导致我平时精力一直很充沛,一天到晚处于工作状态也不觉得累。相反,多数比我年轻、身体素质比我好许多,但精神状态不如我的人,肯定做不到这一点。
对应到软件与硬件的关系,这就类似于"我的算力是不大,由于算法好,因而算法的利用率高,所以可实现更大的FPS",而那些身体素质很好但精神状态不好的人则相当于"物理算力很强大,但FPS很小"。
评:写的有点冗长,内容充实度不够

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Unity开发者联盟 ( 粤ICP备20003399号 )

GMT+8, 2024-11-11 22:19 , Processed in 0.097840 second(s), 26 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表