摘要:自Scaling Laws被行业广泛认可以来,各个大模型厂商都在堆硬件资源,进行更大数据量、更大参数量的训练,形成了你追我赶的激烈局面。自DeepSeek R1问世后,让人们认识到了,不堆GPU资源,也可以通过各种优化手段训练出优秀的大模型,这些优化手段涉及到整个大模型训练技术体系的各个层面,如通信、AI平台、训练框架、算法等,这之中很多最终是落实到提高GPU浮点计算利用率上,本文深度解析一下如何提升GPU浮点计算利用率。
写在前面:先介绍两个Law
(1)Scaling Laws
大模型领域每天都有新技术新产品突破或面世的新闻出现,弄得大家应接不暇,有的同学都焦虑了,Follow不上啊,那就多看看咱的公众号吧,有点忧患意识也是好的。
开始讲正题,相信大家清楚,训练出好的大模型有这么几个要素:优质的数据、强大的算力、好的算法。2020 年,OpenAI 发表的《Scaling Laws for Neural Language Models》这篇论文系统揭示了语言模型性能与模型参数量、训练数据量、计算量之间的幂律关系,为 Scaling Law 在大模型中的应用奠定了理论基础,所在大家会经常看到领域内的多位大佬在公众场合提到这个词。
GPT5至今未出来,据说有个原因是已经没有更多的数据来训练GPT5了,能获取到的人类的数据基本用完了!当然数据不够也是有办法的,例如数据合成,有机会后边可以介绍这块内容,请先关注上本公众号。
(2)黄氏定律
数据相关内容先按下不表,在GPU这块,各大厂商不遗余力,基本一年有一个代际更新。特别是英伟达控制着,其通过GPU的架构创新以及制造工艺、CUDA优化等方面来不断提升GPU的性能,行业内还给黄教主整出了一个黄氏定律:
GPU硬件层面还会有更多新技术的发展,例如3D堆叠技术(Chiplet) → 解决内存墙 → 推动HBM4应用,Transformer Engine → 优化稀疏计算 → 提升LLM性能,光子互连技术 → 光量子融合 → Feynman架构,感兴趣的朋友可以研究研究。
对于大模型厂商来说,要想获得更好的大模型性能,可以通过模型算法、通信算法、管理功能等软件方面进行优化。今天我们来深度解析一下GPU利用率,特别是浮点计算利用率的相关内容。
一、什么是MFU呢?
1.1 FLOPS:衡量计算能力的标尺
在了解 MFU 之前,必须先搞清楚 FLOPS 这个概念。
在科学计算、深度学习等领域,大量的计算都涉及到小数。例如,在训练一个图像识别的深度学习模型时,模型需要对图像的每个像素点进行复杂的计算,这些计算中包含了大量的浮点运算。GPU 因为其独特的架构设计,在处理这类并行的浮点运算任务时具有天然的优势,所以 FLOPS 常被用来衡量 GPU 的计算能力,FLOPS 数值越高,理论上 GPU 的计算能力就越强。
(矩阵计算A*B)
1.2 GPU利用率:知道你在忙,但不知有多忙
GPU利用率可以衡量GPU的计算资源是否被充分利用,但GPU利用率并不能完全反映GPU的性能。GPU除了做浮点计算,还会做一些其它的如显存读写、逻辑计算(没错,GPU也会做一点逻辑计算,虽然这个能力比较弱)。
GPU利用率的计算方法:
- 基于时间采样的统计方法 :这是较为常见的一种计算方式。通过对 GPU 的执行时间进行采样来估算利用率。例如,在特定的时间间隔内,检测 GPU 是否处于忙碌状态,将处于忙碌状态的采样次数与总采样次数的比值,即为 GPU 利用率。通常以百分比形式呈现。如在 100 个采样点中,检测到 GPU 处于忙碌状态的有 80 个,那么 GPU 利用率就是 80%。
- 通过性能计数器获取 :现代 GPU 通常配备了性能计数器,能够提供更精确的 GPU 利用率数据。这些计数器可以记录 GPU 各个单元(如 ALU、内存控制器等)的活动情况,然后根据这些活动数据计算出一个总体的 GPU 利用率。
1.3 MFU:GPU模型浮点运算利用率
MFU 即 Model FLOPS Utilization,翻译过来就是模型浮点运算利用率。它表示在使用 GPU 运行某个模型(如深度学习模型)时,GPU 实际完成的浮点运算(最有价值的正事儿)次数与理论上 GPU 能够完成的最大浮点运算次数的比值,通常用百分比来表示,MFU就是用来衡量GPU性能的一个关键指标,是指模型一次前反向计算消耗的矩阵算力与设备(GPU或整机)理论算力的比值。
打个比方,假设有一个 GPU,它理论上每秒钟能完成 100 次浮点运算(这就是它的 FLOPS 能力),而在运行某个深度学习模型时,实际每秒钟只完成了 30 次浮点运算,那么这个模型在该 GPU 上的 MFU 就是 30÷100×100% = 30%。
从这个例子可以看出,MFU是用来衡量 GPU 的算力有没有被充分利用。0% 表示 GPU 的算力完全没有被用到,100% 则表示 GPU 的算力被完全利用起来了。但在实际应用中,MFU几乎不可能达到 100%,因为 GPU 在运行过程中,还需要处理一些其他的系统任务和数据传输等操作。
MFU计算过程:
(1)理论浮点性能计算 :已知 GPU 的每个计算单元(如 CUDA 核心)的浮点计算能力,以及 GPU 的时钟频率等参数,可以计算出 GPU 的理论最大浮点计算能力。例如,一个 GPU 每个 CUDA 核心的单精度浮点计算能力为 1 GFLOPS(每秒 10 亿次浮点运算),拥有 1000 个 CUDA 核心,那么其理论最大单精度浮点计算能力为 1000 GFLOPS。
(2)实际浮点运算量计算 :在实际运行程序时,通过特定的工具(如 NVIDIA 的 CUDA Profiler)或者软件库来统计程序在 GPU 上执行的浮点运算指令数量,并结合程序运行时间,计算出实际的浮点计算性能,再与理论最大浮点计算能力对比,得到浮点计算利用率。
公式为:
MFU与GPU利用率区别:
- 含义不同 :GPU 利用率反映的是 GPU 整体的忙碌程度,是一个综合指标,涵盖了显存读写、浮点计算、逻辑运算等多种操作。而 GPU 浮点计算利用率仅关注 GPU 的浮点计算部分,专门衡量 GPU 在浮点计算方面的使用效率。
- 影响因素不同 :GPU 利用率受多种因素影响,包括程序的内存访问模式、并行计算任务的分配合理性、数据传输效率等。例如,如果程序存在大量的内存访问冲突,即使浮点运算任务较重,GPU 利用率也可能较低。GPU 浮点计算利用率则主要受浮点运算任务的密度和复杂性影响。如果程序中浮点运算的比例较低或者浮点运算任务较小,浮点计算利用率就会较低。
- 应用场景不同 :在评估 GPU 整体性能和其在多种任务下的工作状态时,GPU 利用率是一个更全面的指标。例如,在进行图形渲染、深度学习训练等多种任务混合运行时,通过 GPU 利用率可以了解 GPU 的总体负载情况。而当专门研究 GPU 在科学计算、深度学习推理等浮点运算密集型任务中的性能表现时,GPU 浮点计算利用率更有针对性。
1.4 MFU的影响因素
影响MFU的因素有很多,包括模型结构、数据并行度、张量并行度、通信开销等。例如,在数据并行训练中,如果数据分布不均,可能会导致某些GPU利用率高,而其他GPU利用率低,从而降低整体MFU。
二、MFU 为什么如此重要
2.1 评估模型和 GPU 的适配性
MFU 可以帮助我们评估一个模型在特定 GPU 上的运行效果。如果一个模型在某款 GPU 上的 MFU 很低,比如只有 20%,这就说明这个模型和该 GPU 的适配性不太好。可能是模型的算法设计没有充分考虑到 GPU 的并行计算特性,导致 GPU 的算力无法发挥出来;也有可能是 GPU 的配置参数没有调整好,使得 GPU 不能高效地执行模型的计算任务。
例如,某科研团队开发了一个新的深度学习模型,在测试阶段发现,该模型在实验室的高端 GPU 上运行时,MFU 只有 30%。通过分析,他们发现模型中的一些计算步骤存在串行化的问题,没有充分利用 GPU 的并行计算能力。于是,团队对模型进行了优化,调整了算法结构,再次测试后,MFU 提升到了 60%,模型的运行效率得到了显著提高。
2.2 优化计算资源,节省成本(核心)
在实际应用中,很多场景都需要使用大量的 GPU 资源。比如,互联网公司训练推荐算法模型、科研机构进行大规模的数值模拟等,都需要消耗大量的 GPU 算力。如果 MFU 很低,就意味着有大量的计算资源被浪费了。
以一家人工智能公司为例,该公司使用 GPU 集群来训练深度学习模型。假设集群中有 100 块 GPU,每块 GPU 的理论算力为 10 TFLOPS,按照每天运行 24 小时计算,理论上每天的总计算能力为 100×10×24 = 24000 TFLOPS。但如果 MFU 只有 30%,那么实际每天完成的计算量只有 24000×30% = 7200 TFLOPS,有 16800 TFLOPS 的算力被浪费了。
通过提高 MFU,在不增加硬件成本的情况下,就可以提高计算效率,节省成本。如果该公司通过优化模型和调整 GPU 使用方式,将 MFU 提高到 70%,那么实际每天完成的计算量就变成了 24000×70% = 16800 TFLOPS,相当于在不增加设备的情况下,计算能力提升了一倍多,大大降低了计算成本。
2.3 推动技术发展和创新
高 MFU 意味着 GPU 的算力得到了更充分的利用,这可以为更复杂、更庞大的模型训练和计算任务提供支持。在深度学习领域,模型的规模和复杂度不断增加,从最初的简单神经网络到现在的大型预训练模型,如 GPT、BERT 、LLama、DeepSeek、Qwen、Gemini等系列,这些模型的训练都需要大量的计算资源。
如果能够提高 MFU,就可以在现有的硬件条件下,训练出更大、更先进的模型,推动人工智能技术的发展。同时,研究如何提高 MFU,也促使科研人员和工程师不断探索新的算法、优化技术和软件框架,从而带动整个计算领域的技术创新。
三、影响 MFU 的因素
3.1 模型结构和算法
不同的模型结构和算法对 GPU的MFU有着很大的影响。一些模型结构设计得不合理,可能会导致计算过程中出现大量的串行操作,无法充分发挥 GPU 的并行计算优势。
例如,在传统的循环神经网络(RNN)中,由于其计算过程是顺序进行的,每个时间步的计算都依赖于前一个时间步的结果,这就限制了 GPU 的并行计算能力。就像植物的生命周期一样:从种子→发芽→开花→结果→枯萎,是有先后顺序的。
相比之下,卷积神经网络(CNN)在图像处理任务中,由于其卷积操作可以在多个像素点上并行进行,能够更好地利用 GPU 的并行计算特性,因此在 GPU 上的 MFU 通常会更高。这个很好理解,我们的图像都是像素点,每个像素点要做相关计算的话可以同时进行,也就是并行计算(这个很重要,几乎所有提供MFU的方法都是在提升并行计算的效率)。
(卷积神经网络(CNN))
此外,模型中的算法也很关键。比如,在深度学习的优化算法中,随机梯度下降(SGD)及其变体是常用的算法。不同的优化算法对 GPU 的计算资源需求和利用方式也不同。一些优化算法可能会引入更多的计算开销,导致 MFU 降低;而一些经过优化的算法,则可以更好地利用 GPU 的算力,提高 MFU。
3.2 GPU 硬件特性
GPU 的硬件特性,如核心数量、内存带宽(此内存指的是GPU的显存)、显存容量等,都会影响 MFU。一般来说,GPU 的核心数量越多,理论上并行计算能力就越强,但如果模型的算法不能充分利用这些核心,那么再多的核心也无法提高 MFU。
内存带宽也是一个重要因素。在 GPU 进行计算时,需要不断地从显存中读取数据和写入计算结果。如果内存带宽不足,就会导致 GPU 在等待数据传输的过程中处于空闲状态,从而降低 MFU。例如,当处理大规模的图像数据时,如果显存带宽不够,GPU 可能需要花费大量时间等待数据从显存中读取出来,而不能持续进行计算。
显存容量也会对 MFU 产生影响。如果模型的参数和中间计算结果过大,超出了显存容量,就会导致数据频繁地在显存和内存之间交换,这不仅会降低计算速度,还会降低 MFU。
3.3 软件框架和编程实现
在使用 GPU 进行计算时,通常会借助一些软件框架,如 PyTorch、TensorFlow 等。这些软件框架的优化程度和编程实现方式,对 MFU 有着直接的影响。
不同的软件框架在对 GPU 的支持和优化上存在差异。一些框架可能对特定型号的 GPU 有更好的适配和优化,能够更高效地利用 GPU 的算力。同时,开发者在使用这些框架进行编程实现时,代码的编写方式也很关键。如果代码没有充分利用框架提供的优化功能,或者存在一些低效的编程习惯,也会导致 MFU 降低。
例如,在 PyTorch 中,如果没有正确设置数据加载器(DataLoader)的参数,可能会导致数据加载不及时,使得 GPU 在等待数据的过程中浪费算力。另外,如果在代码中频繁地进行数据类型转换和内存分配操作,也会增加计算开销,影响 MFU。
3.4 系统配置和环境
除了模型、GPU 硬件和软件框架外,系统配置和环境也会影响 MFU。操作系统的选择和配置、GPU 驱动程序的版本、其他运行在系统中的程序等,都可能对 GPU 的运行产生影响。
例如,某些操作系统可能对 GPU 的调度和资源管理不够优化,导致 GPU 不能充分发挥其性能。而 GPU 驱动程序的版本也很重要,新的驱动程序通常会对 GPU 的性能进行优化和改进,如果没有及时更新驱动程序,可能会影响 MFU。此外,如果系统中同时运行着其他占用大量资源的程序,也会和 GPU 争夺计算资源,从而降低 MFU。
四、提高 MFU 的方法
在深度学习和高性能计算场景中,提升 GPU 算力利用率 MFU 是释放硬件潜力的关键。按照分层思想,从硬件底层逐步向上到应用层,每一层的优化都环环相扣,共同为提升 MFU 发力。
4.1智算算力层优化
(1)GPU 芯片架构优化
GPU 的核心架构是影响 MFU 的根本因素。现代 GPU 多采用 SIMD(单指令多数据)架构,通过大量运算单元并行处理数据 。芯片厂商不断改进架构设计,例如 NVIDIA 的安培架构引入了第三代 Tensor Core,在深度学习的矩阵运算中,相比前代架构能更高效地执行浮点运算,大幅提升计算效率。
从芯片设计角度,优化缓存结构也是重要方向。增加片上缓存容量、优化缓存一致性协议,可以减少数据从显存读取的延迟。当 GPU 在执行深度学习模型计算时,频繁访问的数据若能快速从缓存获取,就能减少等待时间,提升 MFU。比如,将模型参数和中间计算结果合理缓存,避免重复从显存读取,让 GPU 核心持续 “有活干”。
GPU芯片架构优化基本只有芯片设计厂商能实现,有着非常高的门槛。DeepSeek利用SIMD指令优化WASM运行速度,利用DualPipe通信加速器。推理速度提升2倍,这点非常不容易。
(2)硬件配置升级
内存带宽和显存容量对 MFU 影响显著。若处理大规模数据时,内存带宽不足,GPU 就会因等待数据而 “停工”。选择高带宽显存(如 HBM,高带宽存储器)的 GPU,能显著改善数据传输速度。在训练超大规模深度学习模型时,HBM 显存可让数据快速流入 GPU 核心,减少计算单元空闲时间。
显存容量决定了模型参数和数据的承载能力。当模型参数过多,超出显存容量时,会引发数据在显存和内存间频繁交换,降低计算效率。因此,根据实际需求选择足够显存容量的 GPU 至关重要。例如,训练复杂的 3D 渲染模型或大规模语言模型,就需要大容量显存来保证 MFU 稳定。
4.2通信优化
大模型训练的通信优化主要围绕降低传输数据量、提升带宽利用率和减少等待时间展开。核心方法包括:梯度压缩与量化(如稀疏化Top-K梯度、8位量化结合残差补偿),减少单次通信量;高效聚合策略(如Ring All-Reduce、分层聚合),优化通信拓扑以降低延迟;通信与计算重叠,通过流水线调度在反向传播时提前传输梯度;混合并行策略(如ZeRO分片、模型/数据/流水线并行组合),分解参数分布并减少跨设备同步;硬件加速(如RDMA、NCCL库)提升传输效率。
此外,动态调整(如量化精度、同步频率)和框架工具(DeepSpeed、Horovod)进一步适配不同训练阶段与硬件环境。实际应用中,常将多项技术结合(如ZeRO-3+梯度量化+混合精度),并结合硬件监控工具平衡计算与通信开销,最终实现通信效率与模型收敛性的最优权衡。
4.3AI平台与框架层优化
(1)选择适配的深度学习框架
不同的深度学习框架对 GPU 的优化程度不同。PyTorch 具有动态计算图特性,调试灵活,在快速开发和研究场景中优势明显,且对新架构 GPU 的支持更新及时。而 TensorFlow 在大规模分布式训练和生产环境部署方面表现出色,其图优化机制能有效减少计算冗余。
根据项目需求和 GPU 特性选择合适的框架,是提升 MFU 的基础。例如,对于创新性的深度学习研究,选择 PyTorch 便于快速迭代模型;对于工业级的大规模模型训练,TensorFlow 则能更好地利用 GPU 资源,提高 MFU。
(2)框架参数优化
在深度学习框架中,合理调整参数能显著提升 MFU。以 PyTorch 为例,数据加载器(DataLoader)的 batch_size(批次大小)设置至关重要。batch_size 过小,GPU 并行计算优势无法发挥;过大则可能超出显存容量。通过实验找到最优 batch_size,可让 GPU 计算单元充分利用。
此外,利用框架提供的自动混合精度训练功能,将模型计算在 FP16(半精度浮点数)和 FP32(单精度浮点数)之间自动切换,既能保证模型精度,又能减少计算量,提高 MFU。像 NVIDIA 的 Ampere 架构 GPU 就对自动混合精度训练有良好支持,使用该功能可大幅提升计算效率。
4.4算法层优化
(1)模型结构设计优化
模型结构直接决定计算复杂度和并行度。减少模型中不必要的层和参数,能降低计算量。例如,在图像识别模型中,去除对精度影响较小的卷积层,简化模型结构,可使 GPU 更快完成计算。
采用并行化程度高的模型结构也很关键。卷积神经网络(CNN)的卷积层、池化层可并行计算,适合在 GPU 上运行;而循环神经网络(RNN)由于顺序计算特性,限制了 GPU 并行能力。因此,在设计模型时,优先选择并行化结构,或对串行结构进行并行化改造,能有效提升 MFU。
(2)算法优化
优化深度学习算法是提升 MFU 的重要手段。选择高效的优化算法,如 AdamW、RMSProp 等,相比传统的随机梯度下降(SGD)算法,能更快收敛,减少训练时间,间接提高 MFU。DeepSeek R1在算法方面采用群体相对策略优化(GRPO)等创新算法,通过群体学习降低内存消耗和计算开销。
同时,对算法进行并行化改造。例如,将数据并行、模型并行、优化器并行、异构系统并行、序列并行、3D并行等并行策略结合使用,在多 GPU 环境下,合理分配数据、模型、算法,可充分利用多 GPU 资源,提升整体MFU。
数据并行:数据量太大,分散到不同GPU上(需要每个GPU有一个大模型)。
(数据并行)
模型并行:模型太大,拆开了丢到不同GPU上,按层间拆就是流水线并行,层内就是张量并行(在一个操作中进行并行计算,如:矩阵-矩阵乘法。)。
流水线并行:
在前向传播过程中,每个设备将中间的激活传递给下一个阶段。
在后向传播过程中,每个设备将输入张量的梯度传回给前一个流水线阶段。
(流水线并行)
(张量并行)
优化器并行:随着模型越来越大,单个GPU的显存目前通常无法装下那么大的模型了。那么就要想办法对占显存的地方进行优化。通常来说,模型训练的过程中,GPU上需要进行存储的参数包括了模型本身的参数、优化器状态、激活函数的输出值、梯度以及一些零时的Buffer。优化器相关的并行就是一种去除冗余数据的并行方案,目前这种并行最流行的方法是 ZeRO(即零冗余优化器)。
针对模型状态的存储优化(去除冗余),ZeRO使用的方法是分片,即每张卡只存 1/N 的模型状态量,这样系统内只维护一份模型状态。ZeRO有三个不同级别,对模型状态进行不同程度的分片,复杂度依次增加:
ZeRO-1 : 对优化器状态分片(Optimizer States Sharding)
ZeRO-2 : 对优化器状态和梯度分片(Optimizer States & Gradients Sharding)
ZeRO-3 : 对优化器状态、梯度分片以及模型权重参数分片(Optimizer States & Gradients & Parameters Sharding)
异构系统并行:GPU不够,CPU与硬盘来凑。主要思路是在不使用张量时,将其卸载回 CPU 内存或 NVMe 磁盘。通过使用异构系统架构,有可能在一台机器上容纳一个巨大的模型。
(GPU不够,CPU与硬盘来凑)
3D并行(多维混合并行):指将数据并行(DP:Data Parallelism)、模型并行(MP:Model Parallelism,有时也只用TP:Tensor Parallelism)和流水线并行(PP:Pipeline Parallelism)等多种并行技术结合起来进行分布式训练。
一般情况下在进行超大规模模型的预训练和全参数微调时,都需要用到多维混合并行。由于张量并行所需的通信量最大,而数据并行与流水线并行所需的通信量较小。所以服务器内使用张量并行,而服务器之间使用数据并行与流水线并行。
(3D并行)
看到这张图,就理解为啥是3D了吧。
自动并行:以上讲的各种并行一般需要人工手动这现,很累的,所以现在开始出现了自动并行。自动并行的目标就是用户给定一个模型和所使用的机器资源后,能够自动地帮用户选择一个比较好或者最优的并行策略来高效执行。可以说,自动并行是分布式并行的终极目标,它能够解放工程师去手动设置分布式并行策略。自动并行可以分为全自动并行和半自动并行模式。半自动模式下用户可以根据自己需要指定某些tensor和operator的切分方式。
如:Mesh-TensorFlow、GShard、GSPMD 等提到的自动并行切分方案。全自动模式下所有 tensor 和 operator 都由框架自适应选择最优切分策略。如:OptCNN、Flexflow、Unity、Alpa 等提到的全自动并行切分方案。
以下是小编整理的各种并行策略的总结内容,可拿走不谢:
五、MFU 的实际优化案例
5.1百度智能云
智算算力层优化:百度成功点亮昆仑芯三代万卡集群,这一超大规模并行计算集群可实现训练效率跃升,大幅降低千亿参数模型的训练周期。在构建万卡集群时,百度突破了硬件扩展性瓶颈,解决了卡间互联的拓扑限制,避免通信带宽成为瓶颈;同时,针对芯片及集群功耗问题,采用创新性散热方案,应对万卡规模下常规方案可达十兆瓦或更高的功耗,保障了集群的高效运行。
AI平台与框架层优化:依托百度百舸・AI 异构计算平台,面向不同的大模型训练场景,从计算效能、显存策略、分布式并行策略等方面进行优化,并结合高性能网络的特性升级,大幅提升大语言模型的训练性能。训练 LLaMA2 系列、GLM 系列等多尺寸模型时,千卡任务加速比保持在 90%,模型算力利用率 MFU 达到 60%-70%,在有限的算力条件下大大降低了训练时间。
在万卡集群建设中,通过完善模型的分布式训练优化,采用高效并行化任务切分策略,将训练主流开源模型的集群 MFU 提升至 58%;在多芯混训方面,百舸将不同地点、不同规模的异构算力进行统一管理,构建多芯资源池,自动进行芯片选型,最大化利用集群剩余资源,实现高达 95% 的万卡多芯混合训练效能。
5.2天翼云
AI平台与框架层优化:天翼云息壤一体化智算服务平台实现训推服务能力全面升级。该平台能够为万亿参数级别大模型训练提供一体化方案,在硬件资源整合与调度上表现出色。例如在北京万卡池完成了 Llama3-405B(4000 亿参数)大模型的训练,700 亿参数模型 Llama2-70B 在万卡规模下顺利拉起并完成训练,MFU 达到 43%,达到业界领先水平。平台打造了全链路故障感知和恢复、全链路日志监控工具,突破断点续训等核心技术,使全链路监控训练更稳定。在 Llama2-70B 模型训练中实现秒级故障检测,分钟级定位并处理故障,分钟级训练恢复,减少了因故障导致的算力浪费,保障了 GPU 在训练过程中的持续高效运行,间接提升了 MFU 。
5.3DeepSeek
DeepSeek R1 之所以效果震惊世人,它在各个层面都做了重大优化,:
智算算力层优化:通过混合架构设计与动态资源调度实现算力突破,DeepSeek R1 采用 NVIDIA H100 GPU 集群结合 FP8 混合精度训练技术,显存占用减少 50% 的同时提升计算吞吐量 30%。针对内存瓶颈问题,通过寄存器分配优化、Warp 级线程调度及显存压缩技术(梯度累积与权重共享),单卡计算密度提升 3 倍,显存占用降低 40%,支持更大 batch size 训练。分布式训练中基于 Volcano 调度引擎的动态负载均衡策略,将 GPU 利用率从 60% 提升至 92%,显著提升超大规模集群的算力利用率。
通信层优化:为突破大规模训练中的通信瓶颈,DeepSeek R1 融合 IB(400Gb/s)与 RoCE(200Gb/s)双网卡并行传输技术,跨节点通信延迟压缩至 2.3μs,同时通过 NVLink 实现节点内 GPU 直连,带宽达 160GB/s。创新的 DualPipe 并行架构将前向/反向传播流水线气泡时间控制在 15% 以下,配合 PTX 指令级优化的定制化 All-to-All 通信内核,使集群训练效率提升 65%。拓扑感知路由算法动态控制 token 分发路径,避免带宽过载,确保超长序列训练稳定性。
AI平台与框架层优化:从基础设施到推理服务的全链路优化中,Kubernetes 深度集成实现 GPU Operator 自动化管理,集群部署时间从 6 小时缩短至 45 分钟,并通过 LeaderWorkerSet 动态扩缩容降低突发流量响应延迟 70%。在推理侧,SGLang 引擎支持动态批处理与异步执行,吞吐量提升 4.8 倍,配合 FlashInfer-MLA 技术将 KV Cache 显存占用减少 60%,支持 131K 超长上下文处理。端到端工具链支持模型高效压缩,如 DeepSeek-R1-Distill 可将 671B 模型压缩至 32B 规模,精度损失控制在 3% 以内。
算法层优化:算法架构层面,671B 混合专家模型(MoE)通过动态专家调度仅激活 37B 参数,计算量减少 83%,实现跨领域知识精准调用(如数学推理与代码生成分离)。创新的 GRPO 强化学习算法取消独立价值模型,内存消耗降低 40%,并通过双奖励系统(准确性+格式奖励)构建自动化训练闭环,在 AIME 2024 评测中得分提升 4.5 倍。注意力机制方面,多头潜在注意力(MLA)动态分配计算资源,长文本处理速度提升 2.3 倍,而推理导向的稀疏注意力机制将关键信息捕获精度提升 28%,显著增强复杂任务推理能力。
5.4阿里云
AI平台与框架层优化:人工智能 PAI 平台搭载自研大规模 MoE 混合精度训练引擎 PAI-FlashMoE 和高性能强化学习框架 PAI-Chatlearn。在万卡规模的 MoE 架构训练中,MFU 可达 35%-40%,助力用户高效开展强化学习和 SFT 微调,保障训练的效率与稳定性 。模型在线服务平台 PAI-EAS 拥有负载感知的 PD 分离架构,结合 MoE 分布式推理调度引擎 Llumnix,显著提升推理速度与资源利用率,首 Token 生成响应时间降低 92%,端到端服务吞吐提升 91%。同时,PAI-EAS 推出的高性能 KV Cache 缓存服务,在千万级用户活跃场景下,KV Cache 命中率可提升 10 倍以上,基于 3FS 存储系统的吞吐效率也大幅提高,从整体上提升了模型推理阶段的 GPU 利用效率,间接优化了 MFU 。
5.5九章云极
智算算力层面优化:
在智算算力层面,九章云极采用NVLink、非阻塞网络、RDMA、通信加速库NCCL、并行文件系统进行硬件层面的优化。
- NVLink 是 NVIDIA 推出的一种高速互连技术,主要应用于 GPU 与其他 GPU 或 CPU 等加速器之间,具备高带宽、低延迟和低功耗的特点,能有效提升 GPU 间通信效率,进而加速大规模并行计算。
- 非阻塞拓扑是一种网络通信拓扑结构,允许数据包通过多条路径同时传输,多个通信操作可以同时进行而不会互相阻塞,从而提升系统的并行性和吞吐量,减少通信延迟和资源等待时间。
- RDMA(Remote Direct Memory Access)是一种网络通信技术,允许计算机直接读取或写入另一台计算机的内存,而无需涉及对方的 CPU,可大幅减轻 CPU 负担,提高数据传输效率,降低延迟,常用于高性能计算、分布式存储和云计算等场景。
- 通信加速库 NCCL(NVIDIA Collective Communications Library)是 NVIDIA 推出的针对 GPU 集群的优化通信库,专门用于加速深度学习框架中的分布式训练过程中的 GPU 间通信,如数据并行和模型并行中的通信操作,具有高带宽、低延迟、低 CPU 占用率等特点,可显著提升训练速度和扩展性。
- 并行文件系统是一种分布式文件系统,允许多个计算节点同时读写文件,通过将文件分散存储在多个存储节点上,可实现数据的并行读写操作和负载均衡,提升文件读写性能,适用于大规模数据密集型任务,如高性能计算、大数据分析和人工智能训练等场景,同时具备高可用性和数据冗余备份功能,确保数据的安全性和可靠性。九章采用自研文件系统DingoFS,在底层实现存储相关优化。
AI平台与框架层优化:
九章云极DataCanvas是中国第一、全球范围内可见的为数不多的可以提供智算中心全栈软件能力厂商。从GPU服务集群到AI平台能力,从大模型工具链到智能体支撑。基于AlayaNeW平台实现的算力包计量(按实际使用量收费、用多少,收多少,不用不收费)模式可从商业模式上提高GPU的利用率。
Alaya NeW平台提供高性能网络和高性能存储的管理、分配和调优、支持高性能计算HPC调度/K8S云原生调度模式,通过优化算法优化算力效能、自动化开通、系统监控支持多租户,以及租户与用户分级管理、资源与权限的隔离,高效协作共享并提供安全保障、面向AI训练或推理的单机单卡(GPU卡)、单机多卡、多机多卡,多机集群管理、资源分配、隔离和调度。同时提供面向AI训练的作业管理、训练监控、故障诊断、以及相关训练容错能力。
其异构算力纳管与优化功能,可整合 GPU、NPU、CPU 等算力资源,借助弹性容器集群 VKS 技术,实现业务负载与底层资源精准匹配,支持秒级资源弹性伸缩,提升硬件利用率,降低运维采购成本。智能化资源调度引擎能依据智能体任务类型动态匹配算力,保障关键业务零延迟响应,如金融风控、工业质检场景下的快速识别与处理。
系统提供全栈式 AI 服务能力,涵盖模型全生命周期的即用型工具链,融合分布式训练加速与内存优化技术,提高大模型训练效率和推理速度,降低算力应用门槛,使用户专注于创新与价值创造。其 Serverless 计算架构以智能化、轻量化理念,为企业提供灵活 AI 开发支持,实现算力资源动态匹配,支持从单卡到千卡集群的秒级弹性伸缩,精细化计费模式避免资源浪费,降低运营成本。
大模型开发支持方面,通过 Aladdin 工具,用户可一键开启大模型的远程开发、调试和微调,其多 IDE 兼容、Serverless 架构及高弹性 GPU 资源调度能力,支持主流大模型一键训练,降低开发门槛,提升开发效率。此外,系统安全性高,运用联邦学习和加密推理技术,实现数据主权与算力弹性双赢,确保企业数据安全。
算法层优化:
九章云极智算操作系统Alaya NeW平台支持数据并行、模型并行、优化器并行、异构系统并行、序列并行、3D并行等并行策略。
5.6其他厂商的通用思路
模型结构优化:众多厂商在模型结构设计上做文章,减少模型中不必要的层和参数,降低计算量。如在图像识别模型中,去除对精度影响较小的卷积层,简化模型结构,使 GPU 能更快完成计算;优先采用并行化程度高的模型结构,像卷积神经网络(CNN)的卷积层、池化层可并行计算,适合在 GPU 上高效运行,提高 MFU。
算法改进:选择高效的优化算法,如 AdamW、RMSProp 等替代传统的随机梯度下降(SGD)算法,这些算法能更快收敛,减少训练时间,间接提高 MFU。同时,对算法进行并行化改造,在多 GPU 环境下,结合数据并行、模型并行等策略,合理分配计算任务,避免 GPU 负载不均衡,充分利用多 GPU 资源提升整体 MFU。
软件框架适配:根据自身模型特点和 GPU 硬件,选择适配的深度学习框架。如注重快速开发和研究场景的项目,选择具有动态计算图特性、对新架构 GPU 支持更新及时的 PyTorch;而针对大规模分布式训练和生产环境部署,则选用图优化机制能有效减少计算冗余的 TensorFlow,以此提升 GPU 在模型训练和推理中的利用效率,进而提升 MFU 。
六、未来展望
随着人工智能、大数据、科学计算等领域的不断发展,对 GPU 算力的需求将会越来越高。而提高 MFU,充分利用 GPU 的计算资源,将成为未来的一个重要研究方向。
一方面,硬件厂商会不断推出性能更强大的 GPU,其核心数量、内存带宽等硬件指标将进一步提升。同时,也会在硬件架构上进行创新,以更好地适应不同类型的计算任务,提高算力利用率。
另一方面,软件开发者和科研人员将继续探索更高效的算法、优化技术和软件框架。例如,研究更先进的模型压缩和量化方法,开发更智能的自动优化工具,能够根据模型和硬件的特点,自动调整计算参数和优化策略,提高 MFU。
此外,随着边缘计算、云计算等技术的发展,如何在分布式计算环境下提高 MFU,实现计算资源的高效利用,也将成为一个重要的研究课题。
总之,GPU 算力利用率 MFU 虽然是一个复杂的概念,但它对于充分发挥 GPU 的性能、推动计算领域的发展具有重要意义。希望通过本文的介绍,能够让小白们对 MFU 有一个全面、深入的理解,并在未来的学习和工作中,能够运用相关知识,提高计算效率,创造更多的价值。