Youtube 为了处理耗费大量运算能力的视频转码,研发自己的视频处理芯片 VCU

Youtube 为了处理耗费大量运算能力的视频转码,研发自己的视频处理芯片 VCU

大概七年前的时候,帕塔萨拉帝·兰加纳坦(Partha Ranganathan)意识到摩尔定律已经死了。 对于这位谷歌工程副总裁来说,这是一个相当大的问题:他本来指望芯片性能每 18 个月就翻一倍而不会增加成本,而且他还帮助组织了采购计划。 围绕着这个想法,谷歌每年在运算基础设施上面都要花费数百亿美元。

但现在,兰加纳坦每四年才能获得好两倍的芯片,而且似乎这种差距在不久的将来还会进一步扩大。

所以他和谷歌决定要做点什么。 这家公司已经投入数亿美元来设计自己的人工智能定制芯片,也就是所谓的张量处理单元(tensor processing units,简称TPU)。 谷歌现在已经推出了超过四代的TPU,这项技术让这家公司在人工智能方面的努力领先于竞争对手。

但在 谷歌 开发 TPU 时,该公司发现人工智能并不是唯一可以改进的计算类型。 当兰加纳坦和其他工程师开始退后一步,研究自己的数据中心计算最密集的应用时,他们很快就清楚他们接下来应该处理什么:视频。

兰加纳坦说:「我的出发点是,『我们要研究的下一个杀手级应用是什么?』 然后我们看了一下现状,我们发现转码占了我们运算周期的很大一部分。」

YouTube 是迄今为止谷歌 视频相关计算最大的消费者,但它用来获取、转换和播放平台的数十亿视频的那种芯片并不是特别擅长转码这件事。 转换这一块任务显得特别棘手,需要强大的芯片才能有效完成。

因此,将视频转换或转码为正确格式,让视频最终可以在成千上万台设备播放,兰加纳坦觉得这是一个需要花些时间去解决的好问题。 转码属于非常运算密集型的问题,但与此同时,这项任务本身也很简单,可以设计所谓的专用集成电路或ASIC来完成工作。

芯片行业分析师 Mike Feibus 表示:「对于处理像转码这样非常具体的、高强度的工作负载来说,改进可以获得巨大收益。」

2016 年,为了让管理层批准该项目,兰加纳坦的同事丹纳·史托多尔斯基(Danner Stodolsky)给负责监管该公司庞大基础设施的 YouTube 副总裁史考特·西尔弗(Scott Silver)发了私讯。 西尔弗说,他需要大概 40 名员工以及数百万美元来实现这一目标。

西尔弗回忆说,自己觉得这个想法很有意义。 在与 YouTube 首席执行长苏珊·沃西基(Susan Wojcicki)进行了 10 分钟的会面后,YouTube 的第一个视频芯片项目就获得放行了。

西尔弗说:「决策非常非常快,因为从经济性、工作量以及我们在做的事情来看,做这件事很有意义。」

去年在一篇技术论文中,YouTube 首次向公众披露了这款芯片,名字叫做 「阿尔戈斯」Argos(希腊神话里面的一个长着很多只眼睛的怪物)。 该论文自诩新设计在转码运算性能方面实现了 20 到 33 倍的提升。 现如今,谷歌 已将第二代的 Argos 芯片部署到其全球的数千台服务器上,并且还有两个迭代版本正在开发中。

DIY SOC

谷歌 自研 YouTube 芯片是科技巨头日益增长的一股趋势的一部分。 亚马逊已经开发出自己的 Graviton 服务器处理器,微软正在开发基于 Arm 的服务器处理器,Facebook 有一个芯片设计部门——这样的例子不胜枚举。

一个普遍的假设是,大型科技公司正在进军芯片制造领域,因为这显然是一种省钱方式。 大多数芯片公司的毛利率都在50%以上,因此透过把芯片设计流程转移到内部进行,理论上科技公司就可以节省大量资金。

但按照 D2D Advisory 首席咨询师杰·戈德堡(Jay Goldberg)的说法,现实情况并非如此。 一方面,这种规划在经济上没有意义——为了节省几美元的利润而花费大量精力聘用和培养芯片设计师不值得。 光是开发一款新的先进芯片的原型,可能就要花数亿美元,然后完善还得再花费数千万美元。

西尔弗表示:「我们的重点其实不在于省钱。 能省钱当然好,但我们真正想做的,是为受众提供与其他芯片一样好的品质体验,如果不是更好的话。」

所以他们的动机其实很简单:大型科技公司想透过自行设计芯片来创造战略优势。

咨询师戈德堡说:「一般来说,这意味着得有部分软件绑定到芯片上,软硬件整合会得到很大的性能提升。」 最早,同时也是最著名的例子之一就是谷歌的 TPU。 谷歌之所以要研发TPU,是为了处理数据中心那些人工智能任务。

戈德堡表示,对于某些工作负载而言,TPU可将必须设立的数据中心数量减少50%。 按照一个节点 10 亿美元的价格计算,可以省很多钱。」 在节省数据中心建设资金的同时,TPU 还让 谷歌 Cloud 有了微软 Azure 以及 AWS 当时所没有的东西。

但定制芯片设计背后还有另一个动机,这个动机可以追溯到过去 20 年芯片行业的重大整合上。 大概 20 年前,有数十家公司要为制造大型科技公司想要的芯片而打得头破血流,激烈的竞争使得有许多竞争设计可供选择。

如今,大多数芯片类别都只剩下一两家大型芯片制造商可供挑选,数据中心处理器的选项尤其有限,这意味着云端巨头无法获得他们想要的定制芯片。 相反,他们只能使用Intel和NVIDIA等公司制造的通用处理器,这些处理器还不错,但相对比较同质化。

戈德堡说:「这里真正要紧的是大型科技公司想要能控制半导体公司的产品路线图。 于是科技公司们自己建立路线图,他们控制了路线图,并透过这种方式获得了战略优势。」

只需按下「播放」

YouTube 把 Argos 芯片叫做视频编码单元或 VCU,它的主要工作是将每分钟上传到网站的 500 小时的视频,转换为各种屏幕格式和压缩格式,让用户在从智能手机到电视再到笔记本电脑的众多设备上观看 YouTube 内容。 有时候,这意味着每个视频有多达 15 种衍生变化。

尽管这款芯片的目的很简单,而且 Ranganathan 和工程师团队也很清楚自己希望它能完成什么,但发明出一块硅片并不是一件小事。 光是 YouTube 的营运规模就带来了巨大挑战,这迫使团队需要全面思考芯片如何设计,从芯片本身开始,一直到芯片所连接的电路板该如何布置,乃至于数据中心机架的设计,还有如何配置每个集群等问题都需要考虑。

兰加纳坦说:「如果做出了东西但没有使用的话,这算真正的落地吗? 你可以造出惊人的硬件。 但如果你造出来的东西我们的软件同事没法用,那有什么用? 要想让芯片能用,你还得考虑编译、工具、调试和部署等等问题。」

对兰加纳坦来说,开发硬件只是任务的一部分:「这是冰山一角,」他说。 深入研究如何将 Argos 芯片整合到公司的数据中心,并以 YouTube 的规模去运行这些芯片,需要软件和硬件工程师之间的密切合作。

因此,Argos 是一款由软件定义的硬件,这意味着研发芯片的工程师可以用所谓的高阶综合技术(high-level synthesis techniques)来加快迭代设计的速度。 谷歌开发了自己版本的高端综合软件 Taffel,用来帮助制造 TPU 以及 Argos 处理器。

兰加纳坦说:「在设计 Argos 的时候,我们大力推动采用这种以软件为中心来设计硬件的做法。」

「这里真正要紧的是要能控制半导体公司的产品路线图。」

兰加纳坦还引用了另一个硬软件紧密合作的例子,那就是工程师如何解决在现场出现故障的VCU单元以及一个叫做黑洞的问题,也就是在部署芯片失败后浪费资源的情况。 他们的团队基本上是想出了一种检测故障和重新引导流量的方法。

Argos 芯片的第一个版本只是想做一件事,把 YouTube 要转码的现有视频工作负载用更便宜的方式去完成。 省下来的钱可以让 YouTube 把更多视频转码成更出色的视频编码格式,也就是使用的像素数量要少很多,但图像质量仍保持一致。 档案变小但画质不变可以带来巨大好处:存储和服务成本会更低,运营商会使用更少的带宽,而消费者加载视频的速度会更快。

西尔弗说:「我们真正想做到的事情是这个,将所有上传到 YouTube 的视频转码为尽可能多的格式,并获得最佳体验。 这个问题很棘手。 但这款芯片解决了很大一部分问题。」

与用于数据中心的大多数芯片类似,数亿观看 YouTube 或使用 谷歌 其他视频产品的人将完全不会注意到 Argos 芯片的存在。 西尔弗表示,在 YouTube 全球运营的任何一个市场,该公司都没有观察到有人对 VCU 的引入做出反应。

但这不完全是重点。 YouTube 显然变得更好了,因为它用了谷歌的定制芯片,这种芯片所做到的事情对于最早在网络运营的公司来说,完全是无法想象的。

尽管如此,谷歌只开发出一代可以与NVIDIA、AMD或Intel制造的芯片竞争的VCU是不够的。 谷歌需要领先半导体巨头数年才能让做定制芯片的主张变得有意义。 否则,等待那些半导体巨头的其中一个做这件事情会更有意义。

但对于 YouTube 来说,设计一块真正适合特定目的的芯片,而将更复杂、更不确定的问题留给可以处理任何类型运算的昂贵芯片会更有意义。

西尔弗说:「如果考虑机器学习训练或推理,这些都属于 CPU 做不好的那种非常大、非常有趣的工作负载。 你可能会质疑说 GPU 就可以很好地处理这些负荷…… 但如果你的大多数电脑做的都是对视频进行转码的工作,而你每年要为此支付数千万或数亿美元的费用的话,那很显然[投资] ASIC 来做到这一点是更好的。」

(0)
打赏 微信扫一扫 微信扫一扫

相关推荐

发表评论

登录后才能评论