Pixel 6已经发布,全新的摄像头、难以置信的价格和新的Android 12操作系统…… 但这款新手机的主角肯定是Google宣传了很久的Tensor SoC。这是Google的第一个主要SoC,该芯片具有独特的CPU内核配置并全力聚焦于AI功能上。
不过,Google什么时候开始这么关注手机芯片了?Tensor SoC的目的是什么?为什么它的设计这么独特?日前有媒体和Google的芯片团队有了些接触,得到了一些答案。
Google Silicon是负责Google移动端芯片的团队,意味着这个团队在Pixel 3及更新版本中设计了之前的Titan M安全芯片,以及Pixel 2和3中的Pixel Visual Core。该团队从事SoC的主要开发工作已有三四年,但它仍独立于云团队,云团队负责YouTube转码芯片和云TPU方面的芯片工作。
Phil Carmack是负责Google Silicon的VP,Monika Gupta是该团队的高级总监。二人解释了许多有关Tensor SoC的更多细节。
大多数手机SoC供应商从ARM获得芯片架构许可,ARM还会提供一些(可选的)指南,指导如何使用其内核设计芯片。而且,除了Apple,这些定制设计大多会非常遵守这些准则。今年,最常见的是一个ARM Cortex-X1大核、三个A78中核和四个速度较慢、低功耗的A55小核的配置。
而Tensor SoC的设计却有些诡异,四个A55,但它用了2个2.8GHz的Arm Cortex-X1来处理前台任务。对于中核,他们却用了两个2.25GHz A76 ,而并不是更常用的A78。A76是去年的常用配置,当ARM推出A78时,说它与7nm的A76相比,在5nm工艺下在性能提高了20%。但Google现在使用的A76是5nm制程,因此,根据ARM的描述,Google的A76应该比A78功耗更低。Google基本上在两个大核上分配了更多的热预算,而在中核上更少。
因此,我们的问题是,这个不寻常设计到底有什么文章?
Carmack的解释是,双X1架构在中等工作负荷下就是一个效率的博弈。Carmack说:“我们把许多设计工作集中在如何分配工作负荷上,如何在整个芯片中分配能量,以及处理器如何在不同时间点发挥作用。当工作量大时,Android 往往会受到很大影响,这就是我们获得响应的方式。”
这指的是大多数手机芯片都会表现出的“rush to sleep”现象,加载网页等内容会抛给它,因此任务可以快速完成,设备可以快速恢复到低功耗状态。
Carmack说:“当它是一个稳定的问题,比如说,CPU负荷适度的情况下,将会运行双X1,在那个性能水平上,这会是最有效的。”
他给出了相机作为“中等”工作量的一个例子,他说你“打开相机,你有一个实时视图,许多真正有趣的事情正在同时发生。有成像计算、渲染计算、ML,因为也许镜头正在检测图像或其他东西。在这种情况下,你需要进行很多计算,但它是异构的。”
说明一下,这里的“异构”意味着使用更多SoC的更多算力进行计算,而不仅仅是CPU,因此就镜头而言,这意味着CPU、GPU、ISP和Google的ML协处理器。
Carmack继续说:“你可以使用两个低频的X1,这样它们效率超高,但它们的工作量仍然相当大。你通常使用双A76完成的工作负荷已达到极限,现在用双X1可以轻松应付了。”
相机是一个很好的案例研究,因为前几代的Pixel在这方面都表现牵强。Pixel 5和5a在4K录制三分钟后就开始发热。但据Google说Pixel 6上完全没这方面的问题。
那么,Google是否正在反驳一个大核的方案呢?毕竟,一个大核直到最近才出现在ARM芯片中。过去都是四个“大”核和四个“小”核,没有任何类似X1这种超大核。
Carmack说:“这一切取决于你想要实现什么。当你的目标是赢得一个单线程基准测试时,你把很多的gate扔到一个大核上,以赢得单线程基准测试…… 如果你想要响应能力,获得响应的最快方式和获得高性能最有效方式可能是两个大核。”
Carmack警告说,这“可能会根据效率如何从一代映射到下一代而演变”,但对于X1,Google声称这种设计更好。
Carmack解说说:“单核性能比上一代快80%;GPU性能比上一代快370%。我这么说是因为人们会问这个问题,但对我来说,这不是真正的故事。我认为你可以从这部分故事中学到的一件事是,尽管我们是刚进入SoC领域,但我们知道如何设计高频、快速和功能强大的电路……我们在频率、每瓦频率和所有这些方面都是可靠的。这不是构建全新Tensor SoC的理由。”
Google的真正目的是AI
Google设计Tensor SoC的目的不是别的,而是想在AI和机器学习(ML)中挑战极限。因此这款芯片设计也非常Google。
Google Silicon的高级总监Monika Gupta说,我们只是将AI应用于我们所做的一切。甚至我们的自助餐厅菜单也可能是进行过AI分析的,并根据我们的模式和使用情况进行设计。
Google似乎对Tensor SoC的算力不太感兴趣。Carmack说:“我认为我们真的没有很好的现代方法来比较ML处理器,大家看到的大多数标准都是非常落后的。”
回到“异构”计算的问题,整个芯片被称为“Google Tensor”,尽管这是Google的AI的品牌名称,但你可以在TensorFlow的ML library和Google Cloud的TPU中看到这个名字。SoC的每个组件都与Google的AI算法有关,这就是为什么整个芯片现在被称为Tensor。
许多Android OEM多年来一直在炒作AI协处理器,但从未在产品应用中体现出什么实际效果。Tensor的价值也在于它实际上会带来了哪些新功能。Google正在使用Tensor对AI采取垂直方法,设计AI硬件和软件。Google说Pixel 6的ML代码在旧设备上运行速度不够快或效率不高。Gupta说,Google正在采用“Google研究中最新和最伟大的东西,我们已将其放在Tensor和Pixel 6上,并且能效很高。”
那么,这些新功能是什么呢?有一个例子,尽管之前Pixel的相机很古老,但它们的性能令人难以置信,这要归功于其HDR+算法,只需按一下,即可在半秒内对10张照片进行叠加曝光,并使用ML将它们合并成一张照片。然而,也是因为古老的相机硬件,Pixel手机上的视频质量一直很差。Pixel 6可以在4K视频上以60FPS的速度运行HDR算法。欢迎来到Google Tensor为你带来的视频图像堆栈世界。
HDR+算法的视频版本称为“HDR Net”,Google实际上在Tensor ISP中为此算法构建了一个特定的加速器。Gupta说,这将“为视频带来标志性的Pixel外观”。
能够在一瞬间完成数量惊人的ML任务也可以带来一些有趣的新图像技术。相机中有“face unblur”功能,这是Google图像堆栈技术的新应用。如果Pixel 6相机取景器检测到一张脸,而那张脸在移动时模糊不清,Pixel 6实际上会启动第二个相机,同时拍摄两张照片。主摄像头像往常一样进行低噪拍摄曝光,而超广角摄像头将进行更快的曝光,这将消除任何运动中的模糊。然后Google将进行“对齐和合并”,你就会获得一张清晰的脸和好看的图像。
Pixel 6的众多AI应用之一,让电话菜单更容易。
Google表示,Tensor也使他们的语音识别取得了巨大进步,Pixel 6具有Gupta所说的“Google有史以来最先进的语音识别模型”。语音识别现在会根据上下文和语音中的停顿自动尝试使用逗号和句号等标点符号。它将尝试通过你的通讯录列表和之前的用法提取正确的姓名拼写。Gupta说:“Tensor只使用了之前一半的功耗,这样我们就可以有余地使用越来越先进的技术,使我们的功能变得更好。我们能够跟上语音更多的细微差别,因为我们运行得非常高效。”
这是一个设备端离线语音识别,适用于任何你看得到麦克风图标的地方,如Google Assistant、Gboard和Google Translate。Google Tanslate有一整套另外的Tensor驱动的功能,现在可以进行实时翻译。由于更复杂的ML,Google Assistant热词检测也应该会得到改进,这应该会使其在嘈杂环境中运行的更好。
[参考文章]The “Google Silicon” team gives us a tour of the Pixel 6’s Tensor SoC — RON AMADEO