HelloKitty • 2023-12-12 17:24
1537
本文由 硅星人Pro 撰写/授权提供,转载请注明原出处。
文章来源于:硅星人Pro
作者:苗正
谷歌的大语言模型 Gemini 1.0,一经问世就技惊四座。首先在性能方面,无论是从对文本、图像、音频的理解,还是对 57 种领域文本以及数学问题的推理,几乎都超过了自然语言界的霸主 GPT-4。而且在谷歌 Gemini 的官网上还有这一段话,内容是“Gemini 是第一个在 MMLU(海量多任务语言理解)上超过人类专家的模型”。
为什么谷歌 Gemini 这么厉害呢?其实最核心的原因来自于训练谷歌 Gemini 所使用的两种服务器端推理芯片 TPU v4 和 TPU v5e。虽然从结果来看,TPU 跟 GPU 都是用来训练和推理,但是两个人在“解题思路”上,相距甚远。
谷歌在 TPU v4 上采用了一种名为光学回路开关(optical circuit switch,以下简称 OCS)。顾名思义,就是服务器组用光来传递信息。上方是注入模块,使用 850 纳米激光二极管,发射 850 纳米的显示光。中间是用来拆分或者合并光的二向色分光器;下方是用来反射的 2D MEMS 阵列;左右两端是用来投射 O 波段信号光的 2D 透镜阵列和光纤准直器阵列。
简易版 OCS 原理
传统服务器组用的是铜线导电,通过规定时间内铜线上电子传输的个数来传递信息。但是任何介质,哪怕是不计成本的采用金或者银,依然有电阻的存在,必然会减慢电子在这之间传递的速度。没有任何的光电转换环节,全都是由光来运送信息,没有中间商赚差价。
我们不妨对比一下市面上最常见,也是 Open AI 目前的解决方案,英伟达 H100 所使用的 Infiniband 技术。这个技术使用交换结构拓扑。所有传输都在通道适配器处开始或结束。每个处理器都包含一个主机通道适配器(HCA ),每个外设都有一个目标通道适配器(TCA)。
说得直白一点,H100 就和过去的驿站差不多。驿站会代替权力中心接收消息,这样管理者就可以直接去驿站来查看自己未来的任务。但是 TPU v4 则是直接烧狼烟,不仅快,而且跳过中间所有的消息转达设施,一步到位。根据谷歌的说法,OCS 系统和底层光学组件成本价格不到 TPU v4 系统成本的 5%,其功耗不到整个系统的 5%,又便宜又好用。
说到这,不得不提一个谷歌创造的概念,叫做 MFU。全称为模型 FLOPs 利用率(Model FLOPs Utilization),这是一个不同于其他衡量计算利用率的方法,不包含任何反向传递期间的作业,这意味着 MFU 衡量的效率直接转化为端到端的训练速度。那也就是说,MFU 最大上限一定是 100%,同时数字越高代表训练速度越快。
谷歌想通过 MFU 这个概念,来评估 TPU v4 的负载能力以及运行效率,以此得出到底可以给谷歌 Gemini 上多少强度。对一系列纯解码器变压器语言模型(下图以 GPT 为例)配置进行了深入的基准测试,这些配置的参数从数十亿到数万亿不等。测试规定,模型大小(参数单位十亿)是芯片数的二分之一。
TPU v4 在不同场景下的 MFU
在谷歌的基准测试活动中,TPU v4 实现了 44-56% 的 MFU。根据下图的对比可以明显看到,尤其是多个 TPU v4 串联的情况。而这也正是 OCS 的神奇之处,同时谷歌也希望借助 OCS 向世人们传达一个道理:“要相信光。”
不同芯片的MFU对比
既然 TPU v4 都这么厉害了,那 TPU v5e 作为迭代产品,效果只会更好。事实上谷歌之所以将这个模型命名为 Gemini,也是因为这两个 TPU。Gemini 的本意是双子座,代表的是希腊神话中的天神宙斯与斯巴达王后勒达所生的双胞胎卡斯托耳和波鲁克斯。TPU v4 和 TPU v5e 某种意义上也是双胞胎,因此得名 Gemini。当然,另外有一种可能是开发者特别喜欢《圣斗士星矢》,里面黄金十二宫篇大 BOSS 就是双子座的撒加,绝招是银河星爆。不过我觉得后者的可能性低一点。
还有一点,服务器最大的成本来自运营和维护。但是在这种规模下,使用传统的定期对持久集群存储进行权重检查点操作的方法是不可能保持高吞吐量的,毕竟要周期地关闭重启某个机组。所以对于 Gemini,谷歌使用模型状态的冗余内存副本,并且在任何计划外的硬件故障时,可以直接从完整的模型副本中快速恢复。与 PaLM 和 PaLM-2 比,尽管使用了大量的培训资源,但这大大加快了恢复时间。结果,最大规模的培训工作的总体产出从 85% 增加到 97%。
谷歌 Gemini 背后的服务器组也是第一款支持嵌入的硬件的超级计算机。嵌入是一种比较贴近谷歌业务的算法。嵌入本身是一种相对低维的空间,模型可以将高维向量转换为这种低维空间。借助嵌入,可以更轻松地对表示字词的稀疏向量等大型数据输入进行机器学习。理想情况下,嵌入会将语义上相似的输入置于嵌入空间中彼此靠近的位置,以捕获输入的一些语义。
嵌入是广告、搜索排名、YouTube 和 Google Play 中使用的深度学习推荐模型 (DLRM) 的关键组成部分。每个 TPU v4 都包含第三代稀疏核心数据流处理器,可将依赖嵌入的模型加速 5 至 7 倍,但仅使用 5% 的芯片面积和功耗。
嵌入处理需要大量的端到端通信,因为嵌入分布在在模型上协同工作的 TPU 芯片周围。这种模式强调共享内存互连的带宽。这就是 TPU v4 使用 3D 环面互连的原因(相对于 TPU v2 和 v3 使用 2D 环面)。TPU v4 的 3D 环面提供了更高的二等分带宽,即跨越互连中间从一半芯片到另一半的带宽,以帮助支持更多数量的芯片和更好地展现稀疏核心性能。
TPU v4
毫无疑问,谷歌是一家软件公司,谷歌 Gemini 是一款软件产品,但是谷歌胜就胜在硬件上。谷歌强调 Gemini 是一个功能强大的多模态模型(Multimodal Model)。多模态指的是结合了多种感官输入形式来做出更明智的决策,相当于是模型可以用复杂、多样和非结构化的数据来求解。
一个短视频(360p 到 1080p)的数据量大约几十 mb 到几百 mb,一条语音的数据量约为几百 kb,一行文字的数据量约为几 b。对于传统的大语言模型,如果只处理文字信息,那么对服务器的载荷要求不会很高,毕竟数据量小。可是一旦将视频、图片等一并处理,那么服务器的载荷就会成指数倍增长。事实上不是其他模型不能弄多模态,是其他服务器扛不住这么大数据量,硬件拖了软件的后腿。谷歌之所以敢弄,更多的原因是 TPU v4 和 TPU v5e 在大规模串联的场景下,高载荷高 MFU 无疑是谷歌的绝招。
然而谷歌并不能高兴太早,首先英伟达的张量计算 GPU H200 再过些日子就要发售了。像 Open AI 这样的大客户估计是第一时间就能拿到手。到时候 GPT 无论是推理还是训练,都可能会来到一个非常夸张的量级。
其次,微软也出手了。2019 年时,微软启动了一个名为雅典娜的项目。通过设计和开发定制人工智能芯片,以满足训练大型语言模型和驱动人工智能应用的独特需求。而且雅典娜和 TPU 相似,也是一个内部项目,能够减少对英伟达等第三方硬件提供商的依赖。雅典娜是一个极其神秘的项目,它的性能是多少,它的外观是怎样,外界一概不知。唯一能够了解的,是有些幸运的 Open AI 员工已经开始对雅典娜测试了。
虽然不清楚 H200 和雅典娜具体能为 Open AI 带来哪些变化,不过可以确定的是,谷歌以及谷歌 Gemini 压力都挺大的。
TPU 对谷歌意味着什么?
说到谷歌的 TPU 还有一个小故事,TPU 的全称是 Tensor Processing Unit,中文是张量处理单元,是 Google 开发的专用集成电路(ASIC),专门用于加速机器学习。虽然在公众视野中,谷歌是 2016 年 5 月的 I/O 大会上宣布使用 TPU,可实际在 2015 年的时候 TPU 就已经问世。
神经网络翻译技术从 2014 年 9 月提出,百度 2015 年 5 月上线首个互联网 NMT 系统(神经网络机器翻译系统)。NMT 技术克服了传统方法将句子分割为不同片段进行翻译的缺点,而是充分利用上下文信息,对句子进行整体的编码和解码,从而产生更为流畅的译文。
但是以当时的技术,神经翻译对服务器造成的负载压力非常大,主要当时硬件没那么强大,也没有 H100、A100 这样的产品。从发表的论文和谷歌 Blog 来看,谷歌实际上已经在当时具备了这样的技术,没有使用的核心原因就是硬件遭不住。经过大约半年的测试,TPU 已经可以完美适配到服务器中,作为算法加速器使用。那到了 I/O 大会那天,谷歌一咬牙一跺脚,“我们也有 NMT 了!”
谷歌的 TPU 最早是不对外开放的,直到 2018 年才开始有云 TPU 业务。就是用户可以在云上购买 TPU,来快速解决需要张量计算的业务。2022 年的时候,谷歌云上更新了 TPU v4 业务,意味着现在用户也可以购买并使用上文提到的各种技术来享受更高的推理和训练能力。
谷歌和 Open AI 最大的不同在于,前者有很强的业务要求,谷歌 Gemini 不会是一个赚钱的工具,它对于绝大多数人来说更像是个新鲜的高科技玩具。但是云 TPU v4 就不一样了,截至 3 月 31 日的季度,谷歌云业务的收入为 74 亿美元,运营利润为 1.91 亿美元,利润率为 2.5%。谷歌云业务实现首次盈利,但是利润率还是太低,尤其是对比亚马逊云 28% 的利润。所以云 TPU 就成为了谷歌业务的一个大型增长点,一旦谷歌 Gemini 的效果反响良好,那么对谷歌云 TPU 业务的推广来说,无疑是王炸。
扫码关注公众号
获取更多技术资讯