这篇文章给大家聊聊关于新时代大模型挑战:硬件与框架生态全方位竞技,以及对应的知识点,希望对各位有所帮助,不要忘了收藏本站哦。
主动被动代码
单指令多数据流
线程、块、网格
包含API和C编译器等极其方便的调度系统
利用片内L1 Cache共享数据,使数据不必重复从内存传输到显存。着色器甚至可以相互通信。
其实如果我要写整篇文章的话,这些能力难道是其他硬件服务商没有的吗?
我们先以AMD为例,因为根据论文数据,据说经过LLM优化的MI300X在很多维度上都超越了H100。例如:
HBM3就够了!
它拥有1530亿个晶体管,是目前世界上最大的逻辑处理器,比H100多了700亿个晶体管。
内存达到192GB,内存带宽5.2TB/s。虽然H100NVL可以做到,但它是两张卡。
CPU部分集成24个ZEN4核心
GPU部分集成了6颗芯片,采用CDNA3架构。统一存储器可以减少因在不同存储器之间来回复制、同步和转换数据而引起的编程复杂性。 3D堆叠的使用比H100的2.5D要好。
甚至从A100/MI200时代开始,AMD就开始谈算力了。你可以在他们的官方网站上找到相关信息。
但我们一般都知道销量对比。相信很多读者甚至没有听说过MI系列。单提起MI200,他们可能会认为这是小米发布的一款新手机。
抛开古代不谈,AMD是GPU业务的早期玩家,因为它在2006年收购了ATI,但它并没有像Nvidia那样在DC发展GPU业务。同年,Nvidia 推出了CUDA。吴恩达曾表示,在CUDA出现之前,全世界从事GPU编程的人只有一百人左右。 CUDA推出后,任何人都可以从事GPU编程。
看到DC业务如此赚钱,作为重要竞争对手的AMD也坐不住了。但由于种种原因,自家的ROCm直到2016年才发布。 ROCm 有很多局限性。例如操作系统只能长期支持Linux。最近刚登录Windows,来说说具体的数据。在Github上,有超过32,600名开发者为CUDA软件包仓库做出了贡献,而ROCm只有不到600.
ROCm的卖点之一是支持OPENCL,这是一种开放的硬件计算框架,支持多种类型的硬件环境,如GPU、DSP、ASIC、FPGA等。AMD官网也将能够访问OPENCL作为重要的攻击手段观点。
下图是OPENCL的框架示意图:
下图是ROCm的框架
但我们从另一个角度来看ROCm
然后看看CUDA,是不是有点类似,不考虑颜色带来的认知倾斜……
这是两个计算框架的比较
可以说ROCm是一个基于CUDA的几乎100%基准测试且尽可能兼容的系统。最重要的其实就是HIP。 HIP可以认为是CUDA接口的山寨版,兼容几乎所有的CUDA API操作。稍微不受支持的部分清楚地写在git HIP/docs/markdown/hip_faq.md at roc-1.6.0 · ROCm-Developer-Tools/HIP (github.com)
归根结底,对比Git上的开发库数量几乎有600次,这使得ROCm必须兼容CUDA。作为一个框架,试图兼容其他框架的弊端也是显而易见的。为了迎合它,我们只能选择一定的牺牲,这些牺牲会体现在表现上。它饱受问题、Bug等多维度问题的困扰,但也是无奈之举。能用的话肯定能用,但实际效果不一定能发挥出自身算力的上限。
ROCm的开放卖点可以支持OPENCL实现异构数据中心算力的整合以及多厂商服务的训练和推理。困难在于,不同公司的GPU产品有不同的数据精度标准、计算方法和序列配置,因此GPU的混合使用是不可避免的。会导致计算精度不足等问题,直接影响模型训练效果。其实,这是正常的。在做混合精度和量化的时候,有可能因为精度进位和权衡导致梯度消失,影响梯度和权重的更新,更何况不同的硬件厂商,所以在一定程度上,至少目前OPENCL是跨平台的,这有点错误。
海光大部分也使用ROCm。
我们来看看其他竞争对手。英特尔怎么样?
Intel目前最强的应该是Gaudi2。其实在深度学习领域,我们不需要担心是GPU还是NPU。它对我们的结果没有影响。虽然我无法得到Gaudi2的具体TFLPs数据,但从公布的GPT-J Benchmark的数据来看基本符合预期。比A100高2.5倍。 H100比它快1.5倍。通常,H100 比A100 快6 倍(在稀疏矩阵的情况下),因此仅就数据而言,这是合乎逻辑的。现在这个表现其实已经足够了。我听到很多读者抱怨H800 SXM经常对其性能不满意。其实以他们的训练数据和规模来说,A100就足够了,所以在目前大多数现实环境中,A100就足够了。 OPENAI和克劳德有多少个? Gaudi2没有问题。当然,因为它足够好用,所以在国内也是被禁止的。
英特尔对抗CUDA的武器是什么?
与老对手AMD不同,英特尔在PK英伟达时表现出了前所未有的强硬。其OneAPI几乎照搬了标准的OPENCL开发模型,并没有兼容CUDA的意思。它打的卡其实是兼容多种数据中心硬件的。
编程模型
记忆模型
据说OneAPI现在已经兼容了数据中心场景下的大部分NV卡,但正如文章前几段提到的,兼容性与可实现性、部署性、可操作性之间还有很长的路要走。
此外,英特尔在CPU方面对半导体行业的贡献远高于GPU/NPU和FPGA,因此在CPU对AI的支持方面英特尔自然也不甘落后。我在之前的文章中写过,在深度学习领域,CPU固有的支持多并行的能力并不具备像GPU/NPU一样的成本,包括FPGA,将DSP改为矩阵计算单元,但这些计算载体已经开放来自英特尔的AMX。此后发生了很大变化。
什么是AMX?
举一个矩阵乘法的例子
例如,在AMX 之前,我们使用AVX 进行SIMD 来提高算力运算的性能。其能力取决于K值(如下图)。目前最大的AVX512的K值为32。也就是说,如果取最大的K是根据BF16计算的。按一次周期计算,一个物理核可以有128个OPS。
那么AMX是如何处理这个问题的呢?
为了防止大家混淆,省略了推导过程,直接陈述结论。在一个物理核心的一个运算周期内,可以实现1024个OPS,比原来的AVX小了整整10倍。例如,如果我们在这里替换传统的64核服务器并将其提升到3.0Ghz,则可以实现192TFLOPs的BF16计算能力。说这个有点无聊。比如相当于0.6个A100的训练算力!当然,在你决定使用CPU进行BF16训练之前,虽然你不必考虑CPU领域的CUDA,但影响它的因素有很多,比如价格和生态(torch本来就有CPU版本,但是支持对于AMX还是有加强的),对其他各种库的支持等等。
另外,所谓的卡住系列操作似乎对CPU版本没有什么硬性限制,所以在一定程度上,如果合理的话,Intel其实可以考虑突破这个领域,至少在int8推理上,结合起来有ONNX、Open-VINO等,模型优化的方法是先抢占一些市场。
还有该国最大的厂商华为。对于大多数人来说,华为卖的是手机,但对于这个行业的所有人来说,绝对不是这样。
其实910NPU和910生态,个人认为这一波表现的运算非常强。在计算领域和芯片方面有着多年的积累,再加上拜登在11000多公里之外的援助,短期内华为应该是这场混乱中的最大赢家。
先来一张旧图:
看论文数据,算力其实已经和A100非常接近了(A800没有降低算力,只是降低了NVlink的带宽和FP64的算力)。显存几乎一样。另外,HBM3良率较低,NV缺货。这块对于后来的920来说可能是一个隐患。另外我也不是特别明白为什么FP32能超越这么多,不过也无所谓了。在现代深度学习领域,尤其是大型语言模型中,常用的精度是BF16(基本相当于FP16)。计算能力)和INT8。
线下和一些使用过Ascend产品的老同事聊了聊他们对这张卡的感受。大家都表达了积极的反馈。这是真正的积极反馈,而不是遥遥领先的那种。在多轮训练和推理测试中,大家反映基本上可以达到A100的90%左右的强度,尤其是在一定规模的集群上。虽然在大规模集群中差距会被一定程度地放大,但这已经非常大了。取得了进步,尤其是在这个对抗的时刻,我个人非常看好他们的商机。
那么华为的计算框架是什么呢?
上图是华为产品系列使用的计算框架CANN。从官方的软件架构来看,CANN并没有像AMD、Intel那样以兼容其他卡作为卖点。相反,它在自己的生态系统内运行,并且没有迹象表明它与CUDA 生态系统兼容。
此外,华为还运营自己的深度学习框架MindSpore,该框架以TensorFlow和Pytorch为基准。如果使用标准的pytorch代码,MindSpore支持80%以上代码的一键迁移。使用MindSpore来训练和推理Ascend计算集群会更加高效(MindSpore还支持GPU和CUDA)。华为还加入了火炬基金会,成为中国首个白金会员。我们也能看到其摆脱CUDA系统,自建完整生态系统的决心。事实上,这一步并不容易,因为与现有的深度学习框架和系统相比,华为的系统在某种程度上甚至无法与ROCm相比,但得益于拜登的协助,这一波之后,也许CANN会有一个有机会真正做到,至少在中国,而且大量数据表明,这波大车型混战最大的两个市场是美国和中国。
END,本文到此结束,如果可以帮助到大家,还望关注本站哦!
【新时代大模型挑战:硬件与框架生态全方位竞技】相关文章:
用户评论
看来大家都在抢占这块地儿啊!
有18位网友表示赞同!
希望越来越多的方案能涌现出来,让开发者有更多选择。
有7位网友表示赞同!
这场比赛的最终winner是谁呢?感觉超级期待!
有17位网友表示赞同!
硬件和框架,哪个更重要?这个话题让我纠结了很久...
有6位网友表示赞同!
这么快速发展的技术让人热血沸腾!
有12位网友表示赞同!
大模型时代真的来了,我们需要跟上步伐啊!
有15位网友表示赞同!
想看看这场battle会带来哪些新的技术革新...
有15位网友表示赞同!
这就像手机行业的竞赛一样,不断升级才能脱颖而出。
有13位网友表示赞同!
对于开发者来说,选择合适的硬件和框架真的很关键。
有11位网友表示赞同!
希望这些进步能真正惠及一般用户,而不是单纯的技术堆砌。
有9位网友表示赞同!
技术进步让人欣慰,但也要注意伦理和社会影响啊!
有5位网友表示赞同!
未来大模型会应用到哪些领域?想想都很有意思...
有18位网友表示赞同!
这场battle一定会有很多波折和挑战,但最终会带给我们更好的产品和服务吧。
有17位网友表示赞同!
我相信技术的融合会带来更多可能性!
有16位网友表示赞同!
大型模型越来越强大了,对数据安全也有更高的要求。
有19位网友表示赞同!
硬件厂商和框架开发商都应该重视这个趋势,不断优化他们的方案...
有10位网友表示赞同!
大模型时代来了,需要我们共同努力,把握住机会!
有15位网友表示赞同!
这场battle充满激情和挑战,也是科技发展的缩影!
有9位网友表示赞同!
学习最新的技术知识真的很重要,才能跟上时代的步伐。
有9位网友表示赞同!