普通视图

发现新文章,点击刷新页面。
昨天以前首页

比Intel快2倍的传说,Mac用苹果处理器的一点想法

作者 欧阳洋葱
2020年7月31日 10:31

苹果 PowerPC 时代,我在上高中。那时有件事我印象很深刻。当时我们班有个很懂计算机的人,拿着一本计算机杂志,跟我安利 iMac G4,说你看这个电脑多好看啊,多牛逼啊,比 Windows 电脑不知道好看了多少倍。而且他还跟我强调说,你知道吗?这台电脑的 PowerPC 处理器比你们奔腾处理器快 2 倍。

我当时还是个高中生,根本不知道什么是 PowerPC,我当时就只知道 Intel 的奔腾处理器(还听说过 AMD),听他说完就觉得苹果好牛逼;而且他那么懂电脑,他说快 2 倍,那就应该是 2 倍吧。iMac G4 用的处理器是 IBM 的 PowerPC G4(具体应该是 PowerPC 7445 之类)…

iMac G4

苹果芯片的精准制导

其实“快 2 倍”这个说法,好像也是当年乔布斯在发布会上吹出来的(也可能是当年某本苹果杂志的编辑写出来的)。最早苹果在宣传广告中提到,PowerPC G3 比当时的奔腾 II 要快 2 倍;后续说 G4 比奔腾 III 快很多;G5 比奔腾 4 快很多。差不多就是这样。(我高中时期,时代一脚刚刚跨入到奔腾 4 等灯等灯)

当年乔布斯曾经公开对比过 Mac 和 Windows PC,对比的方式是双方自动执行一组 Photoshop 任务。当时 Mac 以快得多的速度完成工作,碾压奔腾处理器的 Windows PC……当年奔腾正在搞超长流水线,处理器主频不知道飞跃到哪里去了。PowerPC 那会儿走的线路更偏宽核心,频率是低很多的。苹果那一时期还做过一个叫“The Megahertz Myth”的宣传,主要就是教育公众,别迷信时钟频率。

Intel 奔腾 III 处理器

这事儿吧,其实有一定的道理。不过乔布斯的这次对比,PowerPC 的胜出,主要是因为 PowerPC G4 处理器配了个 AltiVec 加速单元,这是个 128bit 的矢量处理单元,可以单周期内执行 4 路单精度浮点数学运算(或者 16way 8bit/8way 16bit 之类),而且还是超标量设计,同时可以执行 2 个矢量操作。Photoshop 就能充分利用这个单元。AltiVec 效率比那会儿的 MMX 扩展指令要高。

就这个角度,也能一定程度解释,为什么现在的 iPad Pro 剪视频那么流畅,但桌面 PC 同等操作下却没那么快。这其实跟处理器设计的思路有很大关系。我觉得这么对比,并不存在什么公平不公平的问题。而且奔腾 4 当年在路子上的确出了比较大的问题。

只不过你不能就此得出一个结论说,PowerPC G4 就比奔腾 III/4 快多少。那现在,我们是不是也可以只对比一下充分利用 AVX512 的特定任务,来让 Intel 和 AMD 比比,后者会不会被 pia 出银河系吗?这是不合理的。

拿某些固定工作单元去比性能的意义,其实没那么大,尤其是对通用性很重要的 CPU 而言。这一例中,且不说究竟有多少程序代码能用上 AltiVec 单元(就像现在很多人质疑 AVX512,说用不到它);应该要比的还是日常消费用户比较频繁的操作,在效率上怎么样。苹果日常就非常善于呈现一些他想让你看到的数字,虽然没在说谎,但也未展示事物全貌。

MacBook Pro

我觉得,在 CPU 通用计算发展思路,该用的技术基本上都用过一遍以后(比如乱序执行、分支预测、超线程等近代技术),CPU 单线程性能推进本来就遇上了瓶颈。这时候是需要引入专用处理单元的,这也是一个常规思路——典型的像是在 GPU 领域,NVIDIA 为光线追踪引入了专用处理单元,这是提升性能和效率明显收益更高的方案。

苹果面向消费用户,或者目标群体时,一向都十分清楚自己需要针对硬件(或软件)做什么样的强化。所以事实上,苹果自己掌控处理器的设计,对目标群体的确是一件好事——就像它也掌控操作系统和软件一样。比如历史经验告诉我们,大量 Mac 用户用苹果电脑来剪片子,而 Final Cut Pro 在软件优化上的苹果平台加成,就是 Premiere 和 Davinci 都望尘莫及的,不管是视频编辑时的实时渲染、编码预览,还是输出速度。硬件层面为此若进一步做加成,还能再度提升效率。

iPad Pro 实现一些简单视频后期,效率明显比 x86 的 MacBook 更高,即是这一思路的集中体现。不过我也始终觉得,这种思路是有明确目标用户定位的。大部分人,并没有这些需求,如果我压根儿不用 Photoshop,那么像 AltiVec 这样的专用单元只能成为一种资源浪费。至于很多人,把这类思路解读为苹果在芯片设计上的黑科技,那也大可不必;毕竟 Intel 在服务人群的思路上和苹果是大相径庭的;就像高通也不可能面向 Android 阵营极为草率地,推出一颗性能与苹果 Ax SoC 相当的产品一样。

Arm 效率真的高过 x86 吗?

自从苹果宣布 Mac 要开始用 Apple Silicon,就一大堆媒体说了,看那个 iPad Pro 牛逼坏了——A12Z,一个功耗那么一点点的处理器,性能那么彪悍了,要是苹果给它提个主频、核心数,那岂不是立马把 Intel/AMD 之流轰出地球了吗?

有关这一点,早前的文章《MacBook 要采用 Arm 处理器,难度有多大?》我也用一个段落提到过,即 A12/A13 这些芯片的能效比,似乎还挺美好的。但实际上,如果苹果给这些芯片暴力提频,提到桌面处理器的程度,则其功耗和能效也会立马崩边——因为频率提升,越往后,给功耗带来的压力就会显著更大,而不是平缓变化的。当然我觉得这种描述略有些片面了。

我们还可以来看看 Cortex-X1 的设计——就是前不久 Arm 发布的一个微架构 IP。这个微架构被 Arm 设计出来的初衷,很大程度上就是面向高性能的。而且需要注意的是,它是以一定程度牺牲功耗和能效,来提升性能的——这跟 Cortex A78 的设计就很不一样。Cortex A78 是纯面向移动平台的那种传统核心,就是必须在 PPA 上做权衡,面积、性能、功耗都必须考虑在内,做到针对手机这类设备尽可能的最优解。

Arm Cortex-X1 与 Cortex-A78/A77 微架构性能对比。其实我也挺想说,CPU 层面增加一些扩展指令集的能力,包括上面这张图列出了机器学习性能提升,也表明:现在很多人认定,x86 CPU 增加 AVX512 这样的支持没有必要,是在浪费芯片尺寸和功耗(Linus Torvalds 为代表),而应该完全让专用处理器(比如 NPU、GPU)去处理这些事——这类想法可能是十分片面的

但 Cortex-X1 的指导思路就不是这样。Arm 给的一些数据是这样的:相比 A77 在相同频率下,X1 的峰值性能提升 30%。具体应用中,X1 的提升理论上还会更大,因为频率肯定比 A77 要高。不过 Arm 基本没提功耗和面积的事情。AnandTech 预计,X1 的核心大约会比 A78 大出 50%,包括 L1 L2 cache 部分;功耗估计也要多出这么多。

AnandTech 认为,在实际实施方案里,这个数字可能会更大,X1 的功耗可能会达到 A77/A78 的两倍;能效(energy efficiency)会比 A78 差大概 23% 左右。不过讲真的,这根本没什么大不了。Arm 现在大部队都期望去攻占 PC 平板市场,X1 也符合这种设定。

AnandTech(Andrei Frumusanu 博士)假想的一张图,可以表示 Cortex-X1 3GHz 5nm AT Projection(蓝色点状条)的能耗与绝对性能情况。这张图的左边柱状条表示的是 SPEC2006 测试全程消耗的能量(单位:焦耳),柱状条右边有两个数字,一个是平均功耗(单位:瓦特),另一个就是柱状条长度表示的能量(单位:焦耳)。右边柱状条则表示绝对性能,即跑分数字。

但这至少表明了 Arm 并没有什么黑科技,像很多人想象的那样,跟 Intel x86 比起来效率高到天上去——上面这些数据还是在台积电的 5nm 工艺不要出什么大纰漏的情况下;Arm 要做高性能,牺牲效率和功耗也是必须的,这事情真不像很多人想的那么简单,苹果做个高性能处理器就等比放大下 A 系列处理器就可以的。

之前我写 Mac 要用 Arm 处理器有多难的时候就提到过了,性能提升和功耗提升,这不是线性的关系。把 A12Z 提到 3GHz 频率,你看它功耗会崩到哪里去…

所以针对以上段落的总结是:苹果给 Mac 上自家芯片自然是好事——这里的“好”,体现在苹果收拢自家生态,Mac 迭代节奏也能完全掌握在自己手里;更重要的是,面向目标群体(比如做设计的、vlogger、搞摄影的等等)实现硬件层面更高效的支持,因为苹果可以更具针对性地去做硬件和芯片,Mac 设备的体验也因此可以更好。这也是苹果一直以来,对生态掌控力的固有经验——iPhone 即是这个思路下的产物。之所以等到现在,Mac 才使用 Apple Silicon,也是因为苹果现有的技术储备已经足够。

但这并不意味着,其芯片技术领先到了哪里去,更不表示 Arm 现如今在桌面市场比 x86 平台已经表现出了多大的技术优势。

番外:苹果需要做几颗处理器?

苹果用自家处理器,另一个我觉得挺现实的问题是,Mac 产品线有那么多不同的产品,比如 MacBook Air/Pro、iMac、Mac Pro 之类。如果要全线用自家芯片,那是不是要做一堆不同型号的处理器出来?

好吧,就算苹果能通过芯片体质的 binning 来自己划分个 A14-a,A14-b,A14-c 几个档位的 SoC 出来(比如针对较弱体质的就屏蔽掉两个核心之类的,或者用更低的频率,用在低端产品线上,那这样还节约了设计成本,桌面 CPU 本来也是这么搞的嘛)。问题是,Mac 一年的销量才多少(而且还要划分不同设备类型的不同芯片)?

Apple Silicon

之前的文章《摩尔定律失效,FPGA迎来黄金时代?》曾经提到,用尖端工艺去设计和制造芯片,所需耗费的成本不菲——这个成本并不是哪个行业都耗得起的,就算是汽车产品,其出货量也走不起最尖端工艺的量(汽车销量爆款能达到百万就很不错了)。iPhone 之所以能用自己的芯片,而且性能炸裂,一个很大的原因是 iPhone 的年销量非常高。所以苹果能走得起最先进制程工艺,比如现在的 7nm 制程。iPad 本质上是沾了 iPhone 的光,设计成本和制造成本都可以有效控制。

Mac 年销量才多少?开一个 5nm 的产线要多少钱?如果走不起量,就不可能用得起最先进的制程。去年 Mac 全产品线的销量是 1800 万台左右;iPhone 预期是在 1.9 亿部上下。这个就有 10 倍出货量差距。

如果给 Mac 重新设计高性能处理器,这里面的设计成本负担其实也非常高,尤其是配合每年的最先进制程——每年还要迭代,苹果又不是专门做芯片的,没有客户摊薄成本(这一点和 Intel、高通这些厂商就显著不同);生产成本已经说了,走不走得起这个量,我觉得有兴趣的同学可以算一下(苹果肯定也算过这笔账了,或者苹果有某种高端的解决方案,衰 O_o)。

当然苹果也可以不去刻意设计高性能处理器,比如跟 iPad 用一样的处理器,或者也就改个款,或者可能有什么黑科技,规模化放大设计(有了解芯片设计的朋友跟我说,有这样的可行性)…那我觉得这样的话,至少就现在来看,苹果的 A 系列芯片起码在通用性上,日常操作在 Intel 面前真没什么特别的效率、性能优势(虽然 Intel 现如今正在渡过自己非常难堪的一段时间)。

Mac Mini

另外,在 GPU 方面——看很多分析文章提到,未来苹果极有可能完全采用自家集成在 SoC 内部的 GPU,放弃 AMD 家的独立 GPU 设计——这一点从苹果现在的开发者文档能看出些端倪,AMD、NVIDIA 统统被苹果归到旧款 Mac 设备行列了,这也符合苹果一贯以来的尿性;毕竟苹果的 Metal API 也搞这么久了。如果是这样的话,Radeon GPU 还真是做了这么长时间的嫁衣——可见老黄不愿意支持苹果 Metal API 的决策是正确的…(逃

这篇文章谈的比较散了,真像 Intel 的软文——实际上,我的确不希望 Intel 在 PC 市场没落。

聊聊无风扇的Surface Pro:性能比一般笔记本差多少?

作者 欧阳洋葱
2020年1月24日 12:19

我有一台低配版的 Surface Pro 6,128GB + Intel 酷睿 i5 第八代 CPU。对 Intel 低压版酷睿产品线熟的同学应该知道,Intel 第一次在酷睿第八代低压处理器(也就是型号末尾都带 U 字母的)上将核心数目升级到了四核,以前都是双核。而酷睿八代 CPU 的问世,很大程度上似乎是为了应对 AMD Zen 的来袭。

在市场宣传上,酷睿八代还是相当成功的。基本上酷睿八代超级本(本文只讨论低压版酷睿八代)都获得了不错的名声,也包括 Surface Pro 6。网上的绝大部分基准测试成绩,八代酷睿都比七代有着质的飞跃,毕竟核心数目都翻番了——也算是“一屁股坐在牙膏管上”的操作了,这好像还是要感谢 AMD 的。

图源:我的 Ins

不过讲真的,Surface Pro 6 酷睿 i5 版的使用体验并不算好——一般在低压超级本上,我以前始终觉得酷睿 i5/i7 在性能表现上差不到哪儿去,尤其在低压 i5、i7 超级本的价格差别还那么大的情况下。如果我们不算 binning process 导致 i5/i7 有着体质上的差异,以及一些看起来对一般人并没有什么用的“高级”特性,针对超级本的低压版i7 似乎也就比 i5 略高点儿频率(cache 差别什么的也并不大)。现在看来,我这个观念是错误的,至少在微软这里是完全错误的。

实际情况是,Surface Pro 5、6、7 这三代产品的酷睿 i5 版(分别对应 Intel 酷睿七代、八代、十代),都采用被动散热,也就是无风扇的设计(i7 版是有风扇的)。我觉得在行业内也就微软有这种“魄力”了。不过至少通过对它们的了解和研究,可发现无风扇酷睿低压本(非超低压)的实际性能情况,大致是什么样。因为温控、散热设计对性能有着很直接、显著的影响。

不想看这么多文字的同学,可以直接转到本文最末看结论。

主观体验

聊主观体验的话,其实就不光是处理器的问题了,理论上我应该谈“系统性能”。比如说 Surface Pro 6 低配版选择的闪存比较寒碜,加上 LPDDR3,其存储性能本身就不会很好看,这些实际上都对系统性能成绩造成了比较大的影响。就 NoteBookCheck 的 PCMark 系统性能来看,低配版 Surface Pro 6 的系统性能得分和 Pro 5 差不多[1],主要源于其存储性能实在太烂。不过我不想聊系统性能,我们就单纯说说 CPU。所以主观体验这部分其实不靠谱,各位权当看看。

如果只说体验的话,我日常用 Photoshop 和 Lightroom 作图调色比较频繁,Surface Pro 6 酷睿 i5 版在应付这两个软件时已经十分力不从心。起初我一直觉得这件事很不可思议,八代酷睿怎么应付不了 PS 和 LR?所以我怀疑是软件版本问题(或 GPU 加速什么的不生效),后来我发现不管我换用哪个版本,在这台超极本上用 PS 和 LR,就是感觉会慢半拍。LR 的使用体验尤其糟糕,就是调某一种色彩的饱和度、色相、亮度都会感觉到迟滞。以前那些七代酷睿本上都没发生过这种事。

这是我用 Surface Pro 6 在中秋节那天做的图,这张图做到 20 分钟时,屏幕已经比较烫手

我手上主要在用的是两台本子,一台是 Surface Pro 6,还有一台是公司发的 ThinkPad X390(酷睿 i7-8565U)。这两台设备看起来都是八代超级本,而且就这两款设备发售同期,Surface Pro 6 价格也比较感人:于情于理,Surface 也应该和同期八代超级本性能相近,或者至少差别不大吧。但就实际体验部分来看,ThinkPad X390 的 PS 和 LR 使用体验真的甩 Surface Pro 6 九条街,前者在这些软件内的常规操作基本没什么卡顿的情况发生。

这就真的让我很不爽了,因为这种体验差距是能确确实实感受到的。大家同样是八代本,凭什么 ThinkPad X390 就出色那么多?

如果我们单从处理器来看,它们的主要区别在我看来就是有没有风扇的问题,Surface Pro 6 的酷睿 i5 版是没风扇的,ThinkPad X390 有风扇——而且风扇还经常转。在酷睿 i 系列本子上不用风扇的,在行业内估计也是屈指可数的。我这两台设备实际的处理器型号为:

– Surface Pro 6:酷睿 i5-8350U(Kaby Lake Refresh),1.7GHz 主频,3.6GHz 睿频,6MB L3 Cache;LPDDR3 8GB 双通道;UHD Graphics 620(300-1100MHz)

– ThinkPad X390:酷睿 i7-8565U(Whiskey Lake),1.8GHz 主频,4.6GHz 睿频,8MB L3 Cache;DDR4-2400 8GB;UHD Graphics 620(300-1150MHz)

貌似看这个配置表,我这“主观体验”对比未免也太不客观了。的确,这两个超级本的处理器架构代号都不一样。不过 Whiskey Lake 相比 Kaby Lake Refresh 的主要差别在于,Whiskey Lake 采用改良版的 14nm++ 制造工艺,提供了更高的频率,其余各部分其实是差不多的,貌似还有外围支持的一些小差异。

似乎就存储性能表现,以及处理器频率、L3 Cache 来看,ThinkPad X390 更优的软件使用体验也算必然。只是我没想到两者的差距会这么大,毕竟也算是同期的八代超级本。就我自己看来,这种差异可以认为是散热机制造成的,Surface Pro 6 的无风扇设计导致其性能孱弱,并影响到了用户体验。散热机制差异对性能的影响,超过了上述配置参数差异的影响。下面我们来“片面”地看看,无风扇设计究竟造成了多大的影响。

这三代无风扇设计的 Surface

前文就提到了,Surface Pro 5、6、7 这三代的酷睿 i5 版都采用无风扇设计。就我的理解来看,这应该并非是微软对自己系统设计有多自信,而是在理念上期望打造一款安静的无风扇平板电脑(或许平板模式下,DPTF 动态温度功耗控制需要比一般笔电更严格,毕竟身兼“平板”属性,需要经常与手亲密接触)。它在定位上更偏向便携、轻薄、移动、安静。只不过 Surface Pro 就平板定位来看,真的不轻,且发热不低,我自己觉得就现阶段来看,它完全没有追求“便携、轻薄”的资格。

而且主观体验可补充的是,Surface Pro 6 的温控机制虽然在笔记本中算是比较保守的,但如果你有用 Surface Pen 作图的习惯,在 Photoshop 里面作图,手指和屏幕亲密接触,依然能十分明确地感受到这设备“温暖”得可以:时刻提醒你,这根本就不是一台平板,哪有这么“温暖”的平板啊?所以我觉得,在这一点追求上,Surface 是失败的。或者说,我觉得 Surface Pro 没必要追求这个。

我们来看下,如果只对比这三代产品,其 CPU 性能表现的差异。这里援引 NoteBookCheck 的 CineBench R15 多轮跑分,如下图所示。我将 Surface Pro 5、6、7 的酷睿 i5 版跑分标识出来了。

来源:NoteBookCheck

首先简单谈一谈 CineBench R15 是个什么测试:这个测试基于动画软件 CINEMA 4D 3D 内容创作,可用于衡量 CPU 和 GPU 性能。CPU 测试场景包含 28 万个多边形,GPU 测试基于 OpenGL ——渲染大约 100 万多边形、高分辨率纹理和各种特效。测试中,CineBench 会动用全部系统处理能力,来渲染一个 3D 场景,该场景由各种算法构成,对所有可用处理器核心构成压力测试。CPU 测试场景包含大约 2000 个对象,采用形状、模糊反射、面积光源、阴影、反锯齿等效果。GPU 测试部分就不说了,也不是本文要探讨的重点。

Intel 似乎一直认为 CineBench 是一个“unrepresentative”的测试[2],其实我也这么觉得。不过 NoteBookCheck 的这项对比最为直观,我就拿过来用了。

如果我们只用 Surface Pro 自家产品对比,这三代的性能提升还是显著的。而且同样是无风扇,Surface Pro 的性能还是比 Surface Go 高出一大截的——这里没有给出 Surface Go 的成绩,这款设备的 CineBench R15(多线程)跑分稳定在 160 分左右。Surface Pro 6 的酷睿 i5 CPU(酷睿 i5-8250U)性能提升相比 5 还是相当显著的,就 CineBench 来看,其成绩在长时间跑分后的稳定状态位于 440 分上下;而 Surface Pro 5 (酷睿 i5-7300U)是不到 230 分——持续性能提升超过 90%(相比 Surface Pro 5 有风扇的 i7 版提升约 27%)。Surface Pro 7 的酷睿 i5 版(酷睿 i5-1035G4)持续性能跑在 500 分上下,这个提升幅度算是尚可,不过比我想象得要差。

实际上,从这个曲线也反映了这三代设备的一个共性,最初几轮跑分成绩明显比较高,尤其是第一轮跑分成绩,完全不输给那些带风扇同配的超级本,但在跑到大约第五、第六轮的时候,性能开始直线下滑。主要是因为功耗与温控限制,致设备可持续的频率比峰值状态下的频率低很多。Surface Pro 6、7 这两台四核设备的性能损失尤为显著。

在 NoteBookCheck 的测试中,CineBench R15 测试项,Surface Pro 6 在最初的几秒到几十秒时间里,处理器(酷睿 i5-8250U)频率可以跑到 3.4GHz,后续降至 2.8GHz;到第四轮测试时,频率降到 2.6GHz;后续则维持在 2GHz。TDP 功耗从最初的 22W 降到 16.5W,并在第六轮测试时降到大约 10W。温控机制会在 CPU 达到 70℃ 时做出限制,最终稳定在 62-64℃(有风扇的酷睿 i7 版则可以让温度推升到明显更高)。

这里值得一说的是 Surface Pro 7 的这颗酷睿 i5,乃是十代酷睿中的 Ice Lake(Ice Lake-U)——而不是 14nm 的 Comet Lake,即采用 Intel 最新的 10nm 制程,而且是新架构,是 Intel 目前最先进的 CPU 产品了。Intel 的十代酷睿有两个系列,分别是持续改良版 14nm 的 Comet Lake 和 10nm 的 Ice Lake;前者是老架构、改良版工艺,后者是新架构、新工艺。当然我们不能认为 10nm 的 Ice Lake 就一定更好,这一点还会在后文中提及。但十代酷睿实际上相较八代酷睿,仍可以认为是一次较大幅度的跨越,因为八代酷睿实则并不像很多媒体渲染得那么好,这一点还将在后文中提及。

Surface Pro 7 的 CineBench R15 成绩最初可以达到 685 分这样的高分,但在后续循环测试中,性能致持续稳定状态则损失了大约 27%。当然我们不能说峰值性能是没有意义的,因为应用运行的很多情况需要的就是瞬时性能,所以睿频性能的短时突发量还是有价值的。但面对一些高负荷的长时间持续负载时(比如解压大文件、视频 encode 等),Surface Pro 7 也显然没有那么香——毕竟它的 i5 版也没有风扇。

单 CineBench 一项测试其实很难说明问题,不过 AnandTech、NoteBookCheck 这些媒体针对的测试项目不多,而且少有像上面这样的长时间持续性能测试——像 GeekBench 这种短时间内做大量项目测试的基准测试工具,其参考价值有多少是值得多加思索的。AnandTech 测试了更多系统性能项目,如果我们只看较短测试周期的结果,八代酷睿的多核、多线程测试成绩显著领先于七代,比如 x264 转换这种任务;而 web 测试成绩则比较一般。AnandTech 有在评论中提到,Surface Pro 6 无风扇版的 PL2 值被限制在大约 23W,而更多八代酷睿低压本的短时间睿频功耗可以达到 30W——我觉得这个说辞不准确,这还会在后文中提到。

另外 Surface Pro 7 的十代酷睿 i5,表现比我预想的要糟糕,即便它相较同样没风扇的 Surface Pro 6 八代酷睿 i5 已经有不错的提升了。

当对比其他有风扇的设备时

那么这些没风扇的低压超级本,在和有风扇的设备比较时,性能大致是个什么水平呢?这本身就比较考验 OEM 厂商的系统设计水平,比如散热、温控机制等;笔记本的内部设计需要考虑与权衡的因素还很多,不只是性能和效率。实际可参照的设备很多,我们主要来看看不带风扇的 Surface Pro 与微软自家有风扇的 Surface Pro 酷睿 i7 版,以及 Surface Laptop,还有 ThinkPad 的差异。

在展开以前,就只说 Surface Pro 7 的酷睿 i5 版,具体型号 i5-1035G4。这里简单介绍一下这颗 CPU,我原本真的十分看好这次的 i5 版 Surface Pro。Ice Lake 架构(Sunny Cove 架构),10nm 制程,四核八线程,1.1-3.7GHz。Intel 宣称 Ice Lake 有 18% 的 IPC 提升(应该是相比 Comet Lake)。不过大概是因为 Intel 的 10nm 工艺还不成熟,所以 Ice Lake-U 具体到 CPU 的频率普遍都不及 14nm 的 Comet Lake 和 Whiskey Lake。

其他参数包括 6MB L3 Cache;集成核显 Iris Plus——48 EU,300-1050MHz。另外 Surface Pro 7 采用的内存是 LPDDR4x,1866.7MHz,双通道——存储性能理论上也应该是显著优于 Surface Pro 6 的。

可惜它没有风扇,如果和有风扇的超级本比起来,用 NoteBookCheck 的话来说[3],Surface Pro 7 无法维持住睿频太长时间,其多线程性能在最糟糕的时候和酷睿 i5-8350U 类似(参考对象应该是惠普 Elite x2 这种带风扇的超级本),最好时与酷睿 i7-8650U 差不多(对比对象是 Surface Pro 6 带风扇的酷睿 i7 版)。其实总结一下,可理解为无风扇的 Surface Pro 7 与有风扇的八代低压超级本,持续性能差不多。

但也不能就此给所有无风扇的 Surface Pro 定性。比如 Surface Pro 5 的酷睿 i7 版,也就是有风扇的版本,CineBench R15 无论跑多少轮,成绩都比不上 Pro 6 的无风扇版。这还是要归功于酷睿八代核心数量翻番。处理器本身的提升也是十分重要的。

下面的对比可能不够科学,因为实际的持续性能表现还受制于设备尺寸、外部 ID 设计——这是本文没有考虑进去的;但我向来就是这么的随性。来看一个比较杂的 CineBench R15 性能对比。

这张图加入了 Surface Laptop 2、Dell XPS 13、ThinkPad X390、ThinkPad T490s 这些相对传统的八代酷睿超级本。不难发现,即便是相同的 CPU(这组对比中以酷睿 i5-8265U、8250U 为主),不同的设计可达成的性能表现也是不一样的。这里表现比较好的 ThinkPad T490s(黄色) 能够与 Surface Pro 6(品红色)、Surface Pro 7(深红色)产生很好的对比。要知道 Surface Pro 7 已经搭载了十代酷睿,但持续性能表现却落后于绝大部分八代酷睿超级本。而 Surface Pro 6 则实至名归地在八代超级本中 CineBench R15 测试成绩垫底。

不夸张地说,无风扇设计的 Surface Pro,相比同代有风扇设计同配超级本,平均的持续性能差距可以达到 20-35%,相较一些系统设计十分出色的 14 寸超级本,持续性能差距可达 40%。

留意到 NoteBookCheck 在评测中也提到,”A laptop with ideal cooling is way out of the Surface Pro 6 (2018) i5’s league as the latter was only around 65% as fast.” 比如说,ThinkPad T480s(14 寸超级本,酷睿 i5-8250U)在持续负载中就比无风扇的 Surface Pro 快了 35%;即便是更小 12 寸的 ThinkPad X280(酷睿 i5-8250U)在持续性能上也高出约 20%。

没风扇果然是不行的。不过这里还是再次提醒一下,我没有研究过 CineBench R15 内部的具体测试流程,及其测试数据规模,虽然网上说它是个偏 CPU 的测试,但既然作为软件跑在最上层,它一定和整个系统相关;所以还是需要考虑 CPU 以外的其他配置。这样一来,整个系统的对比会比较复杂。

参照下更多酷睿十代(以酷睿 i5-1065G7 为主)低压本的性能表现,如下图。仅供参考——因为这里不同的笔记本在定位、设计上差异甚大,最顶部的 Surface Laptop 3 之所以能有这么好的表现,与其 15 寸的尺寸也有关。NoteBookCheck 目前数据库的十代酷睿测试数据似乎还不够多,所以横向对比的参考价值可能并不大;毕竟 Surface Pro 7 的 i5-1035G4 在规格上还是比表中的 1065G7 要弱一些的。

“真男人时间”短

针对本文开头部分所说,我用的这两台笔记本(ThinkPad X390 i7版/Surface Pro 6 i5版),用 AIDA64 看下这两台设备的 CPU 相关信息。这里我比较关注的是 CPU PL1、PL2 参数(下图中的 CPU Power Limit 1/2)。这两个值表示的是长时睿频功耗上限、短时睿频功耗上限,及其相应的持续时间。这个值与 OEM 厂商自己的设计相关。

ThinkPad X390

ThinkPad X390 这台设备(接 AC 电源、高性能模式下)的 PL2 短时睿频 TDP 设定在 51W,睿频可持续时间 28 秒;长时也有 25W。好像很多酷睿 i7-8565U 都采用类似的设定。这在低压本中仍是十分激进的值,虽然前文也把 X390 归类在超级本中,但实际上这台设备在厚度等 ID 设计上都算不上轻薄。可类比小米 Pro 这种八代本短时睿频 TDP 设定在 44W。

这种本子在一个较短时间内允许 CPU 不受性能约束,尔后便会做限制;44W、51W 这种值都是短时间内当标压设备在用了。这个“短时间”在很多场景下,仍对体验十分有帮助。

不过这几个参数只具有参考价值,因为实际能否达到设定的这些值及最高频率,还与设备的温控机制相关。从我自己的测试来看,ThinkPad X390 实则远远达不到这个程度(不过我做测试十分随意,可能某些变量没有控制到位),默认情况下可在一小段时间内坚挺在 29W 上下(一轮跑差不多在这个功耗下坚持半分钟),频率 3.10 GHz 左右,但 X390 似乎很容易撞温度墙,轻轻松松达到 100℃ 时便会立刻回退至后续长时间的 25W,且温度似乎始终都比较高——只不过在设计上并不影响体验。很多时候,往往 PL2 功耗冲高后,由于温度也会快速上升,最高性能状态也根本就坚持不了 厂商设定的值,有时或许连 10 秒都撑不到——睿频、TDP 极限可坚持的时间,就是所谓的“真男人时间”了。

Surface Pro 6 低配版,需要注意的是,我运气比较好,我买到的 SP6 用的是酷睿 i5-8350U,略好于市面上流通的 8250U

Surface Pro 6 在 AIDA64 中查看的这个值 PL2 是 35W,持续时间 2.00 秒?Max Turbo 全核 36x。我自己尝试跑 CineBench R20,并用 XTU 观察数值变化,只跑一轮,Package TDP 坚持在 25W 的时间还算是比较久的,后续达功耗限制(DPTF?)后始终维持在 17-18W 的水平。这对于一台被动散热设备而言已经相当不错了。尝试用 XTU 把 PL1 设为 35W,则在一轮 CineBench R20 全程,TDP 维持在 25W,温度在 73 ℃上下浮动(室温 15℃ 左右);退到 17-18W 时,温度在 65℃ 附近浮动。(不过貌似旧版的 Intel XTU 有点小问题,这组数据可能不准确)

NoteBookCheck 反复跑 CineBench R15 测试十几二十轮是很有价值的。尤其在 Surface Pro 酷睿 i5 版这类被动散热设备上,起初仍能表现出比较好的成绩;但在温度和功耗达到一定值以后,被动散热的效率不高,真男人时间不再。所以其持续性能会有一个较大幅度的损失。

实际从市面上绝大部分八代超级本的表现来看,在实现时,大部分超级本的“真男人时间”都比较短。而且更悲惨的是,PL1 标定的长时睿频功耗(我手上的 ThinkPad X390 是 25W,Surface Pro 6 也是 25 W)也未必能达到。能够坚守 15W 的八代超级本似乎就不多。Surface Pro 6 在多轮 CineBench R15 测试下最后降到 10W 及以下。

很多拥有主动散热的八代超级本,最终也都达不到 15W 长时睿频,主要原因是其散热设计不过关: Intel 首次在八代酷睿低压 CPU 中将核心数量翻番,对散热设计原本就提出了新的挑战。从笔吧评测室更早的测试来看[4],全力跑 CineBench R11.5/R15 的单线程测试时,酷睿八代 CPU 整体功耗就可能达到或超过 15W——一个核心满载就已经撞功耗墙了;多核心同时跑的频率情况即可想而知。

所以在一大批同系列八代超级本上,酷睿 i5 与 i7 版的持续性能几乎没什么差距,尤其很多 OEM 厂商还在沿用七代本的散热设计方案,则睿频真男人时间极短,过后就是持续降频,甚至在绝大部分情况下都达不到标称最高频率。于是持续高负载时,由于散热设计不过关,导致 i7 的高频能力根本无处发挥。可以想见,即便微软有着十分强大的系统设计能力,Surface Pro 6 的酷睿 i5 板去掉风扇以后,还怎么能撑得起场面。

不过在 i7 版配置上采用风扇,实则的的确确拉开了 i5 与 i7 配置的性能差距,这一点从前面 Surface Pro 的 CineBench R15 持续跑分就能看得出来。让 i5 与 i7 拉开性能差距的方式还果然是与众不同啊,说笑…

另外还说明,不同 OEM 厂商对待八代超级本做设计的认真程度,是可以反映到最终产品的性能表现上来的,ThinkPad (T 系列与 X 系列)属于八代低压本中的佼佼者,即便我也没有测试手头这台 ThinkPad X390 i7 版的真男人时间,以及睿频 TDP 是否如标称这般(以及续航测试在此也显得很要紧)。

十代酷睿,用被动散热会怎样?

我手上没有 Surface Pro 7,所以并不了解这台设备的情况。从 NoteBookCheck 的测试来看,Surface Pro 7 无风扇的酷睿 i5 版最初跑 CineBench R15 可以飙到 685 分(多核),这个成绩事实上比 Surface Pro 6 的有风扇酷睿 i7 版都还要好;比 Surface Pro 6 无风扇的酷睿 i5 版有 17% 的领先优势。但后续测试由于没有风扇,持续降频,成绩下滑幅度大约有 30%,最终如果就 CineBench R15 测试来看,Surface Pro 7 酷睿 i5 版在持续性能上相比 Surface Pro 6 酷睿 i5 版领先优势不到 15%。而且比 Surface Pro 6 的有风扇酷睿 i7 版弱了将近 13%。

目前网上似乎还没有针对 Surface Pro 7 酷睿 i7 版相对系统的测试数据,所以有无风扇对十代酷睿(Ice Lake-U)造成的影响似乎没有十分直观的比较对象。若以联想 Yoga C940(酷睿 i7-1065G7)这款设计相对比较平庸的十代超级本来对比,则 C940 相比 Surface Pro 7 无风扇 i5 版,有大约 24% 的持续性能优势(但这个对比并不科学,因为 CPU 并非同款),市面上某些 Comet Lake 十代本在绝对性能上差不多也是这样的领先幅度。

PCMark 10 测试,来源:NoteBookCheck
PCMark 8 测试,来源:NoteBookCheck
PCMark 10 测试,来源:NoteBookCheck

不知该说 Surface Pro 7 无风扇版在系统设计上有退步,还是无风扇的 Surface Pro 6 实际已经达成被动散热的最优设计。无论如何,这次的 Surface Pro 7 在 CPU 持续性能提升幅度上都算是比较有限的。但如果我们这里做个导购建议,则因为 Surface Pro 6 的系统性能实在十分糟糕(如前文所述,存储性能差),PCMark 10 这类测试综合成绩还不如 Surface Pro 5,那么 Surface Pro 7 无风扇 i5 版的可购买推荐指数依然是比较高的。它在 PCMark 10 的综合得分与 Surface Book 2 差不多,甚至还与 Surface Laptop 3 锐龙版差不多,比 Surface Pro 6 带风扇的 i7 版都有 15% 的成绩优势。

不过我总体觉得,PCMark 10/8 可能仍无法代表 Surface Pro 7 的日常使用体验,这里也不清楚 NoteBookCheck 在进行 PCMark 10/8 测试时具体是怎么跑的。所以也在这里给各位作参考吧。

如前文所述,酷睿十代包括了两个版本,分别是改进版 14nm 工艺,架构不变(Skylake)的 Comet Lake;以及采用 Intel 最新 10nm 工艺,架构变为 Sunny Cove 的 Ice Lake。这里不再具体谈十代酷睿的具体表现,不过就已上市 Comet Lake-U 的超级本来看,Comet Lake 架构没变、工艺也基本没变的情况下,其实际表现比八代的 Whiskey Lake 虽无同频性能的太大提升,但同频功耗降低不少;在相同散热条件下,Comet Lake-U 能够提升 15-20% 的性能。 [5]

就这方面的表现来说,Comet Lake 似乎是对 14nm 四核低压处理器的一次完善和补足,或者说可能在八代酷睿低压 CPU 核心和线程数目翻番显得过于匆忙时,在十代 Comet Lake 身上完成了一次比较出色的修正,让四核低压 CPU 真正步入成熟。(本文未探讨六核低压 CPU)

不过去年更新的 Surface 系列采用的十代酷睿并非 Comet Lake 版,而是 Ice Lake 版——也就是新工艺、新架构的版本,听起来好像更美好了。但前文就提到了,可能是 Intel 的 10nm 制程还没有那么成熟(后续我打算把 WikiChip Fuse 针对 Intel 10nm 工艺的文章翻译过来),虽然 Intel 宣称 Ice Lake 有 18% 的 IPC 提升,但市面上的 Ice Lake CPU 在最高频率方面不及 Comet Lake。

来源:笔吧评测室

从笔吧评测室的测试数据来看[6],3.5GHz 的 Ice Lake-U 差不多等于 4GHz 的 Comet Lake-U。实际上如果对比同频功耗,Ice Lake 是略高一点的,但 Ice Lake 的同频性能也更高。按照同性能来比较功耗,Ice Lake 还是胜出的(Uncore 以及核显的功耗会明显更高,此处 Uncore 也因为有了四个 Thunderbolt 3 原生支持故功耗更高)。

来源:笔吧评测室

以功耗为尺度做衡量,则在 PL1/PL2 为 15W/25W 的超级本上,Ice Lake 的性能会略低于 Comet Lake;但达到 35W 及更高时就会超越。就这个角度来看,Surface Laptop 3 采用 Ice Lake 应该还是个相当不错的选择;但 Surface Pro 7 的无风扇酷睿 i5 版也选择 Ice Lake,实际就有那么点小问题了。

但就上面我援引的各种数据来说,Surface Pro 7 无风扇酷睿 i5 版在 CPU 性能方面比 Surface Pro 6 高出 14-17% 之间(峰值和持续性能),这实际完全符合在相同散热设计下,十代酷睿(Comet Lake-U)比八代酷睿(Whiskey Lake-U)强约 15% 的预期,而 Ice Lake 在较低功耗设定下的性能相较 Comet Lake 没有优势,所以 Surface Pro 7 的表现完全符合预期。或者说 Surface Pro 6 可能已经在12寸设备上做到了被动散热的最优设计,Surface Pro 7 则延续了这一传统。

当然,在 Surface Pro 体系内,无风扇的被动散热大概的确做得不错,只是被动散热一定意味着性能会打折扣。

另外这里再分享一篇我觉得很有意思的文章,AnandTech 前不久参加 CES 2020 的 Intel 的主题演讲[2]。Intel 在会上对比了自家低压 Comet Lake/Ice Lake 与 AMD Ryzen Mobile 3000 系列,表明自家产品性能、特性领先多少。不过这不是重点,实际上这个对比结果也没什么奇怪的,从 Surface Laptop 3 的酷睿版和锐龙版比较,就能看出在低压版 CPU 的这一局,Intel 还是有相当优势的。

不过在这个对比中, AnandTech 发现,Intel 分别发布了两张 PPT,一张对比 Comet Lake 与 Ryzen Mobile 3000,另一张对比 Ice Lake 与 Ryzen Mobile 3000。三个对比对象分别是酷睿 i7-10710U、酷睿 i7-1065G7,以及 AMD Ryzen 7 3700U。而自家 Comet Lake 与 Ryzen Lake 却没有直观对比。AnandTech 觉得十分好奇,于是他们将两张 PPT 上的成绩放到了一起,一次来比较十代酷睿的两个版本究竟表现如何,如下图所示。

来源:Intel via AnandTech

Intel 宣称这些测试项是最能代表“真实环境的测试”。不过在包括 PCMark 10、WebXPRT 在内的测试中,Comet Lake 在前四项测试中都胜出,浏览器测试(PCMark10 Edge)基本是平手;WebXPRT 浏览器测试两者得分也相近,Ice Lake略胜。Office 真实测试也是对半开,Word 测试互有胜负(PPT PDF 导出测试,Comet Lake 的优势似乎还不小)——比较奇特的是这里的 Powerpoint 转为 1080p 视频测试,日常不知道有谁会这样操作;Photoshop 测试完全打平;至于 Topaz Labs AI 测试,这应该属于小众测试——而且 Intel 还和这家软件供应商合作进行了 GPU 加速(说好的真实环境测试呢?)。

总结一下上表的对标情况。Comet Lake 的这枚六核心的酷睿 i7-10710U 可以达到 4.7GHz 的睿频,而代表 Ice Lake 的四核酷睿 i7-1065G7 最高频率限制在 3.9GHz。即便后者 IPC 有 18% 的优势,也足以被频率和核心数差异抵消。比如 Office 负载,i7-10710U 可以同时开 12 个线程,这其实还是有很大优势的。

所以就现阶段来看,如果单论性能,则在具体的 CPU 产品上,Comet Lake 仍是更加成熟的选择——即便它采用的是旧架构和旧工艺。另外 Ice Lake 引入了一些消费用户暂时不怎么用得到的东西,比如说 AVX-512 指令原生支持——在现有某些特定冷门项目上,Ice Lake 估计可以获得更好的成绩。这么看来,如果真的说“真实环境测试”,则 Comet Lake 也是优选。虽然这种局面大概是 Intel 不怎么愿意看到的。

最后展望一下今年的 Surface Pro:其实去年发布的 Surface Pro X 真的挺好看,我倒是不在意设备厚不厚,而在意 Surface Pro 的屏幕太小了;Surface Pro X 就弥补了这个短板,屏占比增大了,屏幕变大了。无奈 Surface Pro X 是台 Arm 设备,知乎有几篇谈 Pro X 使用体验,以及 x86/x64 转 Arm64 效率的测试文章,至少现在 Arm 平台的 Windows 本体验是真的不好的。

我觉得很有理由相信,x86 平台的 Surface Pro 在屏幕、外观方面也会有类似 Surface Pro X 这样的升级,或许 Surface Pro 8 身上就能看到。还有一点,AMD 在前不久的 CES 大会上发布了 Ryzen 4000 系列 APU,这仍然会对低压超级本市场产生一次性能、效率上的冲击。Intel 计划中的 Tiger Lake 在路上。不确定 Surface Pro 8 能否赶得上。其实感觉这两年由于 AMD 的搅动,即便“摩尔定律放缓”,桌面 CPU 市场也焕发了一波生机。2020 年的 Surface Pro 或许会具有极大的吸引力。

最后的最后,总结一下本文的一些推论:

  1. 无风扇设计的 Surface Pro 在持续性能上,会明显弱于同时代同配置的其他主动散热超级本;持续性能差距可以达到 20-35%。
  2. Surface Pro 的酷睿 i5 版与 i7 版性能差别会比较大,这和其他品牌超级本的情况很不一样;
  3. 微软可能已经在 Surface Pro 被动散热设计上做到了最优化;
  4. Surface Pro 6 相比 Pro 5 实现了一次性能飞跃;
  5. Surface Pro 7 无风扇酷睿 i5 版的升级还是值得的,即便其 CPU 性能变化不算太大,但其系统性能提升比较大;
  6. 即便十代酷睿的 Ice Lake 用上了更好的工艺、更新的架构,但目前 Comet Lake 仍然拥有更出色的成熟性,和更实用的性能;
  7. 未来的 Surface Pro 8 可能相当值得期待,或许 Surface Pro 8 可以实现性能与外观(屏幕尺寸)的双重飞跃。

这里再多说一句,虽然本文花了比较多的篇幅在说被动散热的 Surface Pro 相比同配置超级本性能更孱弱,但我从未对于购买 Surface Pro 无风扇版的设备后悔——只不过我更加认识到 Surface Pro 的 i5 和 i7 版价格差别较大还是有原因的。对于无风扇设计,微软大约也有自己的想法。毕竟移动、安静本身就需要付出代价,就好像超级本的性能远弱于游戏本——但价格却依然可能很高,这是一样的道理,看你愿意为何种元素买单罢了。

注:有热心市民提醒,NoteBookCheck 的测试没有交代测试具体环境,尤其是室温:室温实际对于持续性能影响也很大。在看本文时,请留意此信息的缺失!所以 20-35% 这一数字值得商榷。

我猜 NoteBookCheck 应该有相应的文档来解释测试环境,但我太懒了,不想去看了,有兴趣的同学自己可以去翻一翻。

参考与推荐阅读:

  1. Microsoft Surface Pro 6 (2018) (i5, 128 GB, 8 GB) Convertible Review – NoteBookCheck
  2. Intel’s Confusing Messaging: Is Comet Lake Better Than Ice Lake? – AnandTech 
  3. Microsoft Surface Pro 7 Core i5 Review: More Like a Surface Pro 6.5 – NoteBookCheck 
  4. 美丽的谎言——8代Intel低压4核性能测试 – 笔吧评测室 
  5. Intel 10代酷睿移动版性能测试(一)—— CometLake-U 4核 – 笔吧评测室 
  6. Intel 10代酷睿移动版性能测试(三)—— IceLake-U 核心篇 – 笔吧评测室

AI芯片与GPU的争端:上世纪的故事重演

作者 欧阳洋葱
2020年1月10日 20:43

感觉这大半年参加芯片发布活动,观察一件很有意思的事:GPU 厂商说 AI 算力的时候,都喜欢拿自己跟 CPU 去比;AI 芯片厂商在说 AI 算力的时候,又很喜欢拿自己去跟 GPU 比。CPU 在 AI 时代成为了鄙视链最底层。看起来不仅绝对性能跑不过人家,而且能效比还差那么远。

好像只要参加 AI 芯片相关的会,一定会有人提 AlexNet 创世纪般的存在,也一定有人提 OpenAI 在 2018 年年中发布的《AI 与计算》分析报告[1]。因为里面说,从 2012 年至今,最大型的 AI training 计算量每 3.4 个月就会翻一倍——所以到 2018 年实际已经涨了超过 30 万倍。如果按照摩尔定律两年翻番来算,那么其实,2012-2018 年理论上芯片性能只能涨 7 倍。

看看,“只能”涨 7 倍,CPU 是应该哭一哭的——虽然实际上就摩尔定律,这里援引的数据都不准确,人家也不是说性能翻番不是?当然了,这些都不重要。重点在于,AI 算力需求这些年大幅攀升。

AI 芯片是某一类专用芯片

感觉这大半年我都在客观上探讨一件事,在刚进入 EE Times 不久,就看到 MIT 2018 年出的一篇 paper。这篇 paper 也在我这大半年写的文章里,被反复提及,题为《通用技术计算机的衰落:为何深度学习和摩尔定律的终结正致使计算碎片化》。在整体观点上,这篇 paper 其实还十分有趣。几个月前,我把这篇 paper 的观点做了浓缩和重构,再加了一些额外的料,构成了一篇《深度学习的兴起,是通用计算的挽歌?》[2]。

各位有兴趣可以去看一下,这篇文章真的细节动人、论据充分、观点鲜明、语句通顺……这里再总结一下,其实观点很简单,就是既然 CPU 现在性能涨幅这么小,工艺节点都难推进,那这条路差不多就快走完了;然鹅,还有专用计算这条路啊:就是针对不同的应用场景,咱们开发专门的芯片,量身定制、量体裁衣:这样的话就能做到性能持续大幅攀升,与此同时效率高、功耗还大幅降低。

其实论证这个观点的过程还是非常有趣的,比如说谷歌 TPU 出现了,就是专用芯片的最佳例证,它就真的只能做一件事。

这篇 paper 看起来美好而高级、优雅而低调。不过在随后工作的时间里,我基本上是在花全部的时间,尝试听取行业内的参与者们是否赞同这一点。很遗憾的是,几乎我听到的绝大部分声音,都在彻底否定这个论调。有关这一点,实际还可以从 1 月份即将发行的《观点》杂志,我的文章《AI芯片专用好还是通用好?遥想20年前GPU也面临这一抉择》中看到比较详细的论述。这里就不提太多了(下个月就和大家见面哟)。

绝对专用芯片也就是 ASIC,的确效率高、算力也高。但它实际受到两个巨大问题的影响:

第一是成本。这是个看起来非常废话的原因。像 CPU 这种全银河系通用、只在大麦哲伦星系不通用的芯片,你在上面干什么不行啊?都可以,装个 Windows,然后跑个虚拟机,还能装 macOS,写文档、做设计、修图、剪视频、炒股票,各种软件都能跑,医疗、交通、政府、金融,咱都能干。甚至,如果你一定要跑 AI 任务,CPU 其实也可以干。

所以 CPU 的特点,就决定了,这一类产品是全局适用的。它的销量非常大,渗透在人类生活的方方面面。所以即便新制程的设计和工艺成本都在指数级攀升,造个工厂花几十亿美金才可以——未来还要更多。不过这么昂贵的制造成本,实际能够消受得起的产品类型就不多。到最具体的产品上,手机、PC 都是可以承担这个成本的,因为它们每年的销量特别大,单 iPhone 一年就卖超过 2 亿台…每个手机、PC 至少都需要 CPU 才能跑得起来。CPU 有充足的量来摊薄设计与制造成本(实际情况比这还要复杂一些,还是推荐各位去看[2]这篇文章)。

而专用芯片是完全不具备这种成本摊薄特性的:因为它只针对某一个领域。绝大部分特定领域都不具备走量来摊薄最先进制程工艺成本的能力。比如汽车,这是个看起来十分庞大的市场了,但全球销量最好的车型,年销量也不过区区两三百万——这个量对一个车型就一颗专用芯片的设计和制造成本而言,实在不是个划算的数字——采用最先进制程则几乎是没有可能的。

当然,汽车专用芯片仍然可以考虑用成本更低、更早的制程来造芯片(以及某一颗芯片用在大量车型上)——这也是现在绝大部分专用芯片的常规方案。不过当“专用”芯片所覆盖的市场容量本身就不大,以及可能比汽车市场还要小很多的时候,尤其是很多 B 端市场——天花板是明摆着的,又靠什么来抵消芯片设计与制造成本?

这个问题在 MIT 的那篇 paper 中实则有着非常翔实的论述,其中详细列出了关乎特定市场容量、专用芯片产量、专用芯片相较通用处理器的性能与效率优势有多大,这些变量相互之间是什么样的关系。在满足怎样的条件时,专用芯片可以提供更高的成本效益。

在我更早期撰写的采访文章中,针对 ASIC 制造耗费成本这件事,我们有一个更准确地认识,即《摩尔定律失效,FPGA 迎来黄金时代?》[3]。不过这篇采访文章实则忽视了一个重要事实,就是 MIT 提到的上述这几个变量关系。而且专用芯片其实没有必要采用最新的制程,依然可以在性能和能效上碾压通用芯片(或 FPGA)。我在《深度学习的兴起,是通用计算的挽歌?》文中同样浓缩了这部分理论,在文章的第三部分“专用处理器市场过小?”章节内——不过当时为了理解方便,我没有将 MIT 提到的所有变量都放到我的这篇文章中,所以仍然建议去看 MIT 的原文。

第二是通用性差异。

双重标准:通用与性能

CPU 的通用属性就决定了,它在任何一个方面,其实都很难做到精通,或者说针对任何具体应用场景的算力和效率表现其实都一般。因为 CPU 需要耗费大量面积来做多层级 cache,微架构前端也很重要,真正的执行单元所占尺寸就那么点。因为 CPU 需要处理各种类型的工作,各种条件分支之类的东西。

但 CPU 的设计和工艺都是具备相当难度的,至少显著难于绝大部分专用芯片。用 GPU 去比 CPU 的 AI 算力,这种对比的价值显然是不大的。这其中的核心就在于,GPU 实际上本来就算是一种专用芯片。至少早年,GPU 就用于图形计算,它只做这一件事。而且实际在 GPU 诞生的更早期,它本来就以 ASIC 的面貌出现——它从骨子里是一种专用芯片。用 CPU 这样绝对通用的芯片,去比较 GPU 这种专用芯片,又有什么价值?尤其如果你还比较浮点运算能力,那就更奇特了。

不过 GPU 这个类型的芯片,在发展中后期发生了一些很显著的变化。它开始越来越具备通用属性(这个转变原因也可以从《观点》杂志中找),shader 核心这种非固定功能单元的地位越来越重要。即便 GPU 仍然没有 CPU 那么通用,但 cuda 编程这种东西是现如今人尽皆知的;GPU 的可编程性,或者叫灵活性变得越来越高。所以 GPU 现在早就不只用于图形计算了。

我们说将 GPU 应用于 AI 计算,不管是云端 training 还是终端 inferencing,其本质都是 GPU 通用属性的某一个方向;AI 计算在 GPGPU 世界里,不过是其中一个组成部分罢了。只不过是因为 AI 计算这个方向实在是潜力太大了,所以 GPU 厂商开始将 AI 计算作为一个着重发展的方向来对待,以及还针对 AI 计算特别加入了一些专用单元,比如张量核心。

然鹅这个时候,AI 专用芯片华丽丽地出现了,比如谷歌的 TPU、比如特斯拉的 FSD(Full Self-Driving Computer),以及一众国内外的 AI 芯片新品。

AI 专用芯片如果专用、固化到 TPU 那样的程度,只针对卷积神经网络,采用 Systolic Array 技术;前述第一个成本问题之外,它具有的第二个局限性就在于几乎没有灵活性可言。尤其在 AI 算法每个月甚至每周都可能发生变化的情况下,芯片 18 个月开发周期,当芯片问世的时候,这颗芯片就极有可能已经落后了。

但我们仍然不得不承认,AI 芯片在它所擅长的任务上,可能具备在效能与算力上大幅领先 GPU 的能力。所以 AI 芯片厂商几乎清一色地会在发布会上宣布,自家产品可以吊打某 N 字头企业的 GPU 某明星产品。

这件事,本质上约等于拿 GPU 去和 CPU 比浮点运算能力。而且实际上,AI 芯片比较的“AI 算力”大部分情况下是低精度的,比如很多终端 inferencing 芯片 INT8 计算能力很强——那你怎么不比比双精度?因为你不能做双精度运算?这种对比是将 GPU 放在通用计算的地位上,用专用计算的 AI 芯片——包括专门设计的 cache 或 HBM、低精度执行单元等——来吊打 GPU。这同样是件没有价值的事情。

不过更有意思的是,GPU 此刻为自己辩驳的方式,大部分是说:我能做的事情更多啊,比 TPU 之流的 AI 芯片能做的事情多太多了,它们那些 AI 芯片就只能做一件事。

这属于典型的双标,在和 CPU 比较时,宣称自己 AI 算力高出一大截;在和 AI 芯片比较时,宣称自己更通用。这不是双标吗?

是否存在第三类通用芯片?

其实我花了比较长的时间去理解,为什么 MIT 的这篇 paper 并不能成立;至少它成立的概率会很低。因为就历史经验来看,它是不对的:当我们参考 CPU 和 GPU 的兴衰史,其实就很容易发现,专用芯片在大部分历史条件下都不会成为主流,而只能成为某个历史时期的特定过渡产品。有关这一点仍然推荐去看 1 月份即将发布的《观点》杂志文章,这在前文已经提到了。

不过 AI 芯片是顺应时代潮流产生的一种芯片类型——除了前文提到的 TPU、FSD 这类相对极端的绝对专用 AI 芯片,当代越来越多的 AI 芯片都已经产生弱编程特性了,就跟当年的 GPU 一样。就连 Arm 的 NPU IP 实则都融入了一定的灵活性。也就是说,如今有一大批 AI 芯片实际是具备灵活性或通用性的,它们不只能做一件事,从结构上它还为未出现的算法做考量。

Graphcore IPU、华为昇腾都在其列。也就是说,AI 芯片在 AI 计算时,不仅效率相较 GPU 更出色,而且它还具备一定的通用性。这实则才是很多 AI 芯片企业在宣传中提到,在 CPU、GPU 之外,第三类芯片出现的原因,就是 AI 芯片。它可能将拥有自己的适用领域、迭代周期、开发生态。未来 CPU、GPU 和 AI 芯片就要成为三条并行的线了。

从应用场景来看,这个观念好像是成立的。至少我觉得,它比 MIT 说的专用芯片成为未来这一点要靠谱多了。

但我仍然觉得,这种畅想的实现概率也会比较低——至少在云端 AI training 这部分市场,GPU 可能将长期占据垄断地位,且难以撼动。因为 GPU 不仅具备制程优势(有能力采用最先进制程的少数派),而且具备开发生态优势——大量开发者都愿意投入其中,因为它相比 AI 芯片,具备了先天的生态基础,且发展多年。GPU 开发生态优势巨大的程度在从上至下、上天入地、贯彻电子科技行业,GPU 是无处不在的。

当开始拼开发软件栈的时候,一场全新的厮杀战就要上演了。某种芯片进入可编程时代,经营这类芯片的公司就不只是一家芯片公司了,它对软件人力物力的投入极有可能大于硬件,以 1:10 的硬件、软件工程师比例存在于世。这个时候,企业和行业都会变得越来越庞大。在行业整体价值的复合年增长率无法满足企业的成本投入攀升时,市场会逐渐步入寡头时代。GPU 市场就是如此发展至今的。

某 N 字头企业在如今的 AI training 市场已经占据了绝对统领地位,这种地位的不可撼动性就体现在开发生态的绝对优势上。且其发展经验积累,又令其具备了充足的资本优势可持续完善这个闭环生态,从软件到硬件。这就不是哪家 AI 芯片厂商随便对比一下性能、能效足以完事儿的了。生态优势可以彻底无视性能、能效的那点差别,尤其当这种性能、能效差别并没有数量级差别时。

所以,很多 AI 芯片初创企业畅想中的第三类芯片究竟能不能成立,或许要打一个问号。

好了,本文的 YY 差不多就到这里了。很多时候,历史经验是没有任何价值的,尤其我们说“具体问题具体分析”的时候,每一个事件的发展过程都有其特殊性,那些依据历史经验做推断的过程,本质上都是在胡说八道;在新事物面前,一切规律总结都只是在博君一笑——比如上面说的这么多东西。比如在终端小型 inferencing 现场,AI 芯片是能够长期发挥价值的,这仍然可以促成生态的持续反向完善。

不过至少,AI 芯片用自己的标准去和 GPU 比算力,GPU 又用自己的标准去和 CPU 比算力,同时还宣称自己比 AI 芯片能做更多的事,本质上都是耍流氓。

参考来源:
[1] AI and Compute – OpenAI
[2] 深度学习的兴起,是通用计算的挽歌?– 欧阳洋葱
[3] 摩尔定律失效,FPGA迎来黄金时代?– 欧阳洋葱

❌
❌