AMD公司终于决定反击英伟达了。
北京时间12月7日凌晨,在美国圣何塞举办的AMD Advancing AI 活动上,AMD CEO苏姿丰(Lisa Su)宣布推出Instinct MI300X AI 加速芯片(APU)以及宣布MI300A芯片量产。
两款产品均瞄准这一英伟达主导的市场。
其中,MI300X内存是英伟达H100产品的2.4倍,内存带宽是H100的1.6倍,进一步提升了性能,有望挑战英伟达在炙手可热的 AI 加速芯片市场地位。
具体来说,AMD表示,MI300X新款芯片较英伟达的H100性能最多可以提升60%。在与H100(Llama 2 700亿参数版本)的一对一比较中,MI300X性能提高了高达20%;在与H100(FlashAttention 2版本)的一对一比较中,MI300X性能提高20%;在与H100(Llama 2 70B版本)的8对8服务器比较中,MI300X性能提高40%;在与H100(Bloom 176B)的8对8服务器比较中,MI300X性能提高60%。
与此同时,在 AI 大模型训练中,相比H100,MI300X在 BF16性能基准中提高3.4 倍,INT8精度性能提高6.8倍,1.3倍的FP8和FP16 TFLOPS,从而进一步提升了训练性能。
苏姿丰表示,新款MI300X芯片在训练人工智能软件的能力方面与H100相当,在推理方面,也即软件投入实际使用后运行该软件的过程,要比H100好得多。
针对 AI,AMD共有三大优势,一是具备完整IP与广泛的运算引擎产品组合,可支援从云端、边缘至终端,要求最严苛的工作负载;二是该公司正扩展开源软件能力,以降低进入与使用AI 完整潜力的门槛;第三是AMD正在深化AI合作伙伴的产业体系,让云端服务供应商(CSP)、OEM与独立软体开发厂商(ISV)能享有其先驱性的创新技术。
目前,AMD、英伟达、英特尔三家在全力推进 AI 热潮。其中,英伟达已公布2024年Hopper H200 GPU和Blackwell B100 GPU产品信息,英特尔则将在2024年推出Guadi 3和Falcon Shores GPU,预计未来几年三家公司将持续进行竞争。
实力超越英伟达H100
实际应用性能表现方面,看看AMD官方提供的一些数据,对比对象都是H100。
通用大语言模型,无论是中等还是大型内核,都可以领先10-20%。推理性能,都是八路并联的整套服务器,1760亿参数模型Bloom的算力可领先多达60%,700亿参数模型Llama 2的延迟可领先40%。训练性能,同样是八路服务器,300亿参数MPT模型的算力不相上下。
总的来说,无论是AI推理还是AI训练,MI300X平台都有着比H100平台更好的性能,很多情况下可以轻松翻倍。
产品强大也离不开合作伙伴的支持,MI300X已经赢得了多家OEM厂商和解决方案厂商的支持,包括大家耳熟能详的慧与(HPE)、戴尔、联想、超微、技嘉、鸿佰(鸿海旗下/富士康同门)、英业达、广达、纬创、纬颖。
其中,戴尔的PowerEdge XE9680服务器拥有八块MI300X,联想的产品2024年上半年登场,超微的H13加速器采用第四代EPYC处理器、MI300X加速器的组合。
在基础架构中引入MI300X的合作伙伴也相当不少,包括:Aligned、Arkon Engergy、Cirrascale、Crusoe、Denvr Dataworks、TensorWare,等等。
客户方案方面,比如微软的Azure ND MI300X v5系列虚拟机,比如甲骨文云的bare metal(裸金属) AI实例,比如Meta(Facebook)数据中心引入以及对于ROCm 6 Llama 2大模型优化的高度认可,等等。
如果说MI300X是传统GPU加速器的一次进化,MI300A就是一场革命了,CPU、GPU真正融合的方案目前只有AMD可以做到。相比之下,NVIDIA Grace Hopper虽然也是CPU、GPU合体,但彼此是独立芯片,需要通过外部连接,放在一块PCB板上,层级上还差了一个档位。
Intel规划的融合方案Falcon Shores因为各方面原因已经暂时取消,短期内还是纯GPU,未来再冲击融合。
MI300A是全球首款面向AI、HPC的APU加速器,同时将Zen3 CPU、CDNA3 GPU整合在了一颗芯片之内,统一使用HBM3内存,彼此全部使用Infinity Fabric高速总线互联,从而大大简化了整体结构和编程应用。
这种统一架构有着多方面的突出优势:
一是统一内存,CPU、GPU彼此共享,无需重复拷贝传输数据,无需分开存储、处理。
二是共享无限缓存,数据传输更加简单、高效。
三是动态功耗均衡,无论算力上侧重CPU还是GPU,都可以即时调整,更有针对性,能效也更高。
四是简化编程,可以将CPU、GPU纳入统一编程体系,进行协同加速,无需单独进行编程调用。
对比H100,MI300A只需550W功耗就能在OpenFOAM高性能计算测试中取得多达4倍的优势,不同实际应用中可领先10-20%。对比最新的GH200,MI300A 760W峰值功耗下的能效优势,更可以达到2倍。
MI300A已经在美国劳伦斯利弗莫尔国家实验室的新一代超级计算机El Capitan中安装。它的设计目标是成为全球第一套200亿亿次超算,这也是第二套基于AMD平台的百亿亿次级超算。
低功耗AI将是新追求
目前,人工智能芯片已经在云端和智能设备终端普及,例如在云端以Nvidia和AMD为代表的GPU和以Intel/Habana为代表的人工智能加速芯片;而在终端智能设备则主要是在SoC上的人工智能加速IP,但是无论是GPU和SoC上的人工智能加速IP,都没有考虑到低功耗的需求,因此在未来的物联网和智能设备中的人工智能都需要有新的低功耗相关的设计。
在智能设备和物联网应用中的低功耗人工智能需要把功耗降到非常低,从而能实现实时在线(always-on)的人工智能服务。这里所谓的always-on,指的就是人工智能需要永远可用,而不需要用户主动打开后才工作。这一方面需要相关的传感器要一直打开从而实时检测相关模态的信号,另一方面也需要人工智能能做到低功耗。
传统设计中,传感器的功能就是负责高性能信号采集,并且把采集到的信号传输到处理器(SoC或者MCU)上去做进一步计算和处理,而传感器本身并没有计算能力。然而,传统设计的假设是传感器在打开时相关的处理器就要同时打开,而这并不能满足always-on AI的需求,因为SoC和MCU如果一直在运行AI算法的话对于电池的消耗很大。另一方面,从实际角度来看,这类always-on人工智能应用主要是希望人工智能一直运行从而一旦重要的相关事件发生时可以实时响应(例如IMU检测到用户在开车则把智能设备的推送通知关掉等),但是事实上这类相关事件的发生频率并不会很高,如果一直把SoC或者MCU的人工智能模块打开,绝大多数时候AI模型的输出都是“未检测到事件”。
结合这两点,运行在传感器端的计算就在变得越来越得到重视。首先,在always-on的低功耗人工智能中,无论如何传感器是需要一直打开的,因此如果传感器能有人工智能计算能力,那么可以让人工智能模型运行在传感器端,而无需一直打开SoC或者MCU上面的人工智能模块。另外,在传感器端运行人工智能也可以避免传感器和SoC/MCU之间一直传输数据,从而进一步降低功耗。最后,在传感器端的人工智能模块可以做到为传感器量身定制而无需考虑通用性,因此可以为最适合传感器的人工智能算法做定制化优化,从而实现非常高的能效比。
当然,传感器端的人工智能也有其自己的局限。一方面从性能和成本上来说,通常传感器端的计算和存储空间都较小,人工智能模块无法做到支持大模型,因此模型的性能会比较有限。另一方面,如前所述传感器端的人工智能也很难做到支持通用模型,而往往只会支持一些特定的算子和模型结构。
综上所述,传感器端的人工智能可以做到低功耗,但是其模型性能也较为有限;但是另一方面低功耗人工智能场景中,真正需要处理的相关事件的发生频率也并不高。结合这两点,传感器端人工智能最适合运行一些较为专用的小模型,用于过滤掉绝大多数的无关事件;而在传感器端人工智能检测到相关事件后,传感器可以唤醒SoC或MCU上的人工智能进行下一步的确认,从而同时满足低功耗和always-on的需求。
在图像传感器领域,Sony已经推出了IMX500系列传感器,其中把传感器芯片和集成了人工智能计算能力的逻辑芯片做了堆叠,从而可以把像素信号传输给逻辑芯片上的人工智能计算引擎,从而传感器的输出可以是图像,可以是人工智能模型的输出,或者是两者的结合。这样一来,就可以让传感器运行在低功耗always-on状态,而仅仅当其模型输出符合某些特定条件(例如检测到人脸)时才去唤醒MCU或者SoC做下一步动作。我们预计,Sony将会在接下来的传感器芯片中进一步加强其人工智能能力,从而增强在这个领域的领先地位。
传感器和人工智能结合的另一个例子是ST推出的IMU系列产品。ST在拥有相关人工智能特性的IMU中集成了机器学习核(Machine Learning Core)和有限状态机(Finite State Machine),从而可以用非常高效的方式支持IMU上直接进行人工智能计算。ST目前支持的人工智能算法主要是决策树算法,并且可以支持IMU信号的一些重要特征提取(例如信号幅度,信号方差等),从而能在IMU上直接实现用户活动分类(例如静止,行走,骑车,驾驶汽车等等分类),这样能在检测到相关事件时唤醒MCU/SoC进行下一步操作。根据ST公布的资料,MLC的功耗仅仅在微瓦数量级,从而能很好地支持always-on需求。当然,另一方面我们也看到决策树算法事实上的能力有限,难以对于复杂的活动进行建模,因此如同我们之前讨论的,这里的IMU传感器内人工智能适合完成事件的初筛来过滤掉无关事件,而更复杂的分类和确认可以通过运行在MCU或者SoC上的模型来完成。