TorchNPU LLM性能基准实战如何快速测试热门大模型在昇腾NPU上的真实表现【免费下载链接】pytorch作为 Ascend for PyTorch 社区的核心组件TorchNPU 是昇腾专为 PyTorch 打造的深度学习适配插件使 PyTorch 框架能够直接调用昇腾 NPU为开发者提供昇腾 AI 处理器的超强算力。项目地址: https://gitcode.com/Ascend/pytorchTorchNPU是昇腾专为 PyTorch 打造的深度学习适配插件Ascend for PyTorch让 PyTorch 框架能够直接调用昇腾 NPU 算力。而本仓库自带的 benchmarks/llm/ 基准测试套件就是快速验证 Qwen3、Llama3、GLM4 等热门大模型在昇腾 NPU 上真实训练性能的利器——一条命令即可测出每一步的真实耗时还能自动采集 Profiler 性能数据。为什么你需要 LLM 性能基准测试 在把大模型迁移到昇腾 NPU 之前你大概率会关心这几个问题模型在 NPU 上的训练步耗时到底是多少开启torch.compile图模式后能提速多少显存占用是否满足硬件要求靠肉眼看日志很难量化这些指标。仓库内置的 LLM 基准脚本内置了TimingCallback计时回调见 benchmarks/llu/utils/utils.py会自动记录每一步的耗时毫秒级精度并在训练结束时输出统计摘要——直接给出总步数、总耗时和平均步耗时无需你手写任何测量代码。支持哪些热门大模型benchmarks/llm/ 目录下为多个主流模型分别提供了开箱即用的训练脚本模型目录训练脚本Qwen3-4Bqwen3-4B/train_qwen3_4B.pyLlama3-8B / Llama3.2-3Bllama3llama3.2/train_llama3.pyGLM4-9B-Chatglm4-9B-chat/train_glm4_9B.pyGPT-OSS-20Bgpt-oss-20B/train_gpt_oss_20B.pyBaichuan2-7B-Chatbaichuan2-7B-Chat/train_baichuan2_7B.pyMamba-Codestral-7Bmamba-codestral-7B/train_mamba2_7B.py每个模型目录都遵循统一的三步流程下载模型权重 → 准备训练数据 → 启动训练对应的说明文档如 qwen3-4B/README.md 都有详细指引。快速上手四步完成 Qwen3-4B 基准测试 第一步安装依赖所有 LLM 基准共用的依赖已整理好直接安装即可pip install -r benchmarks/llm/utils/requirements.txtbenchmarks/llm/utils/requirements.txt 中固定了 transformers、peft、datasets、accelerate 等关键版本保证可复现性。第二步准备模型权重与数据以 Qwen3-4B-Base 为例仓库提供了统一的下载脚本python benchmarks/llm/utils/download_hf.py --model Qwen/Qwen3-4B-Base --save_path ./Qwen3-4B-Base训练数据可任意准备jsonl格式的语料各模型 README 中给出了示例数据c4_demo.jsonl的获取方式脚本会自动完成分词、截断和 padding 处理。第三步修改路径并启动 eager 模式测试编辑 benchmarks/llm/qwen3-4B/run_qwen3.sh填入你的模型与数据路径然后执行cd benchmarks/llm/qwen3-4B bash run_qwen3.sh训练日志会输出到logs/train_qwen.log你会看到类似这样的实时输出[eager] step 12 step_time: 382.145ms loss: 1.8732训练结束时自动打印汇总Step time consumption statistics (keeping only the last 100 steps) [eager] total step:100 total steps time:38201.45ms, avg step time:382.014ms 计时逻辑会跳过前段热身步数默认保留后 100 步从而消除编译和数据加载等干扰得到更真实的稳态步耗时。第四步切换 torch.compile 对比图模式性能同样的命令加两个开关即可切换为图模式bash run_qwen3.sh --enable_compile --npu-backend mlirNPU 上默认后端为mlir也可显式指定dvm后端--npu-backend dvm日志中的模式标记会变为[compile]方便与 eager 结果对照跑完两种模式后对比两者输出的avg step time就能直观得到编译优化带来的加速比例。进阶采集 Profiler 定位性能瓶颈 只看步耗时还不够想知道时间具体耗在哪个算子上可以开启 Profiler 开关bash run_qwen3.sh --enable_profiler --profiler_start_step 5 --profiler_end_step 6底层由 benchmarks/llm/utils/utils.py 中的get_profile函数实现它在 NPU 设备上会自动调用torch_npu.profiler.profile按 schedule 跳过前 5 步热身后采集第 6 步的数据并导出 TensorBoard 兼容的 trace 文件。生成的 trace 可以用 TensorBoard 打开看到 Python 线程、CANN 调度线程与 NPU 硬件三条泳道的完整时间线如果想分析显存占用还可以结合内存时间线图查看参数、优化器状态、激活值与梯度的分配曲线常见参数速查表 ⚙️以下参数在所有模型训练脚本中通用以 train_qwen3_4B.py 为例参数作用--use_lora启用 LoRA 参数高效微调降低显存需求--use_4bit4-bit 量化加载让小显存设备也能测大模型--use_bf16BF16 混合精度训练NPU 推荐--max_steps 200控制测试步数基准测试不必跑满整个 epoch--max_length 512控制序列长度模拟不同场景负载--enable_compile开启 torch.compile 图模式--enable_profiler开启 Profiler 数据收集基准测试小技巧 ✅统一变量对比 eager 与 compile 时保持--max_steps、--batch_size、--max_length完全一致结论才可信利用 LoRA 4bit显存吃紧时加--use_lora --use_4bit可以显著降低模型加载的显存门槛短步数快测--max_steps 200是仓库默认值几分钟即可拿到稳态数据日志留档脚本默认将输出重定向到logs/目录便于多次实验后横向对比GPU/NPU 自动识别detect_device_type会优先探测 CUDA其次 NPU同一套脚本在两种设备上都能直接跑。写在最后借助 benchmarks/llm/ 这套基准套件你只需要装依赖 → 填路径 → 跑脚本三步就能拿到热门大模型在昇腾 NPU 上的真实步耗时与 Profiler 数据。无论是评估硬件选型、验证编译优化收益还是定位训练瓶颈它都能帮你把NPU 上到底快不快这个模糊问题变成一组清晰的数字。 更多环境配置与性能调优说明可参阅仓库根目录下的 README.zh.md。【免费下载链接】pytorch作为 Ascend for PyTorch 社区的核心组件TorchNPU 是昇腾专为 PyTorch 打造的深度学习适配插件使 PyTorch 框架能够直接调用昇腾 NPU为开发者提供昇腾 AI 处理器的超强算力。项目地址: https://gitcode.com/Ascend/pytorch创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考