快讯资讯
手机优化
系统数码
网络通信人工智能
网站游戏
测评专题

  从全球首个“海风直联”       入门级工作站迎来“顶配    

别被 100% 骗了:GPU 利用率背后的真相

时间:2026-09-12 23:18 来源:未知 人气:

原文链接:https://www.trainy.ai/blog/gpu-utilization-misleading

前言

机器学习团队评估 GPU 使用情况的最常见指标是 GPU 利用率,通常通过终端运行 nvidia-smi 来获取。许多集成观测工具也将 GPU 利用率作为其主要性能指标。但是,这一指标并非总是评估 GPU 性能的最佳选择。事实上,仅通过内存读/写操作而无需进行任何计算,即可实现 100% 的 GPU 利用率。本文将探讨我们如何发现这一局限性,以及在此过程中获得的进一步洞见。

我们实施了几乎所有 PyTorch 性能调优指南中提到的基本步骤,包括:

  • 通过调整数据加载器参数(例如 num_workers、batch_size、pin_memory、prefetch_factor 等)来饱和 GPU。
  • 通过混合精度训练(FP16 或 BF16)最大化TensorCore利用率。
  • 使用 Apex 或 DeepSpeed 等库中的融合优化器(例如 FusedAdam 或 FusedAdamW)。
  • 采用专为训练设计的实例和网络(例如 H100 SXM 或 A100 SXM),并优先选择较新世代(H100 A100 V100)。

这些简单调整使我们达到了 100% 的 GPU 利用率和显著的功率消耗,这是一个良好的开端。为了判断是否还有进一步优化的空间,我们计算了训练负载的模型 FLOPS 利用率(MFU)。

简要回顾:MFU(模型 FLOPS 利用率)是评估 GPU 性能的最佳指标之一,由 Google 的 PaLM 论文引入。它是“观测吞吐量(每秒令牌数)相对于系统在峰值 FLOPs 下运行的理论最大吞吐量的比率”。简而言之,它量化了工作负载每秒执行的浮点运算数相对于 GPU 最大能力的比例。其主要缺点是计算相对复杂,因为它依赖于模型参数和框架。

遗憾的是,该训练过程仅达到了约 20% 的 MFU。作为参考,当今大多数 LLM 训练通常达到 35%–45% 的 MFU。这引发了一个关键问题:为什么在 GPU 利用率达到 100% 的同时,我们仅利用了 GPU 理论计算峰值的 20%?

要解答这一差异,需要更深入地理解 GPU 利用率的实际含义。

GPU 利用率究竟是什么?

NVIDIA 文档对 GPU 利用率的定义较为模糊:“报告 GPU 计算资源和内存接口的当前利用率。”

Datadog 的 NVML 文档提供了更精确的解释:“在过去采样周期内,一个或多个内核在 GPU 上执行的时间百分比。”要理解为什么这一定义具有误导性,需要简要介绍 GPU 的工作原理。

本文标签:

更多文章

相关文章

网站导航 | 快讯 | 资讯 | 手机 | 优化 | 系统 | 数码 | 网络通信 | 人工智能

  • 游戏

    合作伙伴:

  • 友情链接(欢迎业界知名网站交换链接)申请友情

    

    声明:本站资源皆来自网络,如有侵权问题,请联系管理员处理!

    Copyright ©2020-2028快知站 版权所有 All rights reserved.

    闽ICP备20010713号-1 闽公网安备 35020602001684号