Hugging Face··4 个月前
PyTorch 性能分析(第二部分):从 nn.Linear 到融合 MLP
Profiling in PyTorch (Part 2): From nn.Linear to a Fused MLP
PyTorch 性能分析系列的第二篇文章,探讨从矩阵乘法加加法到 nn.Linear 的实现,涉及为何没有独立的 mul 与 add 内核、--compile 对单个 Linear 的作用、转置在核布局与 pre-ops 中的去向、堆叠三个 Linear 构成 MLP、两类 GEMM 内核的原因、torch.compile 的作用,以及融合 Triton 内核等内容。属于偏底层的 PyTorch 性能与内核分析材料。
- 分级
- 值得看
- 所属主题
- 整理中
- 收录时间
- 2026-10-28
推荐阅读
PyTorch 性能分析(第三部分):注意力机制全都给你剖析
Profiling in PyTorch (Part 3): Attention is all you profile
这是“Profiling in PyTorch”系列教程的第三篇,发布于 2026 年 7 月 10 日。系列目标是训练读者阅读 profiler 轨迹与表格的能力;前两部分别分析基础数学运算和由多个线性层堆叠成的多层感知机,本篇转向 Transformer 中的注意力算法,并提及注意力的平方级复杂度及若干缓解技巧。适合想学习 PyTorch profiler 使用的读者。
PyTorch 性能分析(第一部分):torch.profiler 入门指南
Profiling in PyTorch (Part 1): A Beginner's Guide to torch.profiler
这是 PyTorch 性能分析系列文章的第一篇,面向初学者介绍如何使用 torch.profiler 读取性能分析 trace。文中说明该系列将逐步讲解 trace 阅读技能并用于驱动优化,后续两篇分别涉及从 nn.Linear 到融合 MLP、以及注意力层的分析。适合刚开始接触 PyTorch 性能分析的新手阅读。
我为一个面向大规模 GPU 工作负载的 PyTorch 优化器做了实现——希望获得反馈 [P]
I built a PyTorch optimizer for large GPU workloads — looking for feedback[P]
这是 r/MachineLearning 的一篇社区帖子([P] 表示项目分享),作者介绍自己开发的 PyTorch 优化器 ApexW,目标是降低优化器状态显存占用并加快较大 GPU 工作负载上的优化器更新步骤,做法是紧凑的优化器状态加一条基于 Triton 的执行路径。作者称在只有几个大张量时的优化器单项基准中,Triton 加紧凑状态路径比 PyTorch 的 fused AdamW 快约 1.5 倍,优化器状态显存约减半;同时说明自动执行模式尚未稳定取得同样加速,含大量小张量的负载明显慢于 PyTorch fused 优化器(例如 1.28 亿参数分散在众多小张量时,PyTorch 原生为 16.1 ms/步),并强调这些数字来自优化器单项测试而非完整模型训练,希望有人在实现与基准测试上把关。适合从事 PyTorch 训练优化、关注优化器状态显存与 Triton 内核实现的人阅读。
Google 开源 TorchTPU:TPU 的原生 PyTorch 后端
Google open-sources TorchTPU, a native PyTorch back end for TPUs
该项目为 Google TPU 提供 PyTorch 后端,使 PyTorch 模型和算子可在 TPU 上运行,包含面向多种 PyTorch 操作的 ATen 内核、用于优化 XLA 计算的编译缓存,以及分布式训练(数据并行、张量并行)和模型推理示例。列出支持的示例模型包括 Llama、Qwen、ResNet、DLRM、minGPT、UNet,并提供 torch.compile() 集成、调试与基准工具。文档为 Marimo 交互式笔记本,需在 TPU VM(如 v6e GCE 实例)上运行。
剖析 TorchNeuron(第一部分):在 AWS Trainium 上进行系统级性能剖析
Profiling TorchNeuron (Part 1): System-level profiling on AWS Trainium.
这是关于 AWS Trainium 的系列文章第一篇,介绍如何系统地分析推理性能并找出时间开销所在。文章使用 Trainium 专用的开源 PyTorch 后端 TorchNeuron,讲解如何配置 torch.profiler 并抓取干净的 trace、阅读 key_averages() 表格以识别消耗 Neuron 设备时间的算子、以及通过 Neuron Explorer 追踪单个算子从框架调度到 NeuronCore 硬件执行的过程。文中说明从零讲起,假定读者没有性能剖析经验。
TorchNeuron:在 AWS Trainium 上运行 HF 模型前所未有地简单
TorchNeuron: running HF models on AWS Trainium is easier than ever
这是 Hugging Face 博客的一篇文章,介绍为 AWS Trainium 提供 PyTorch 原生后端的 TorchNeuron 插件,支持 eager 模式、torch.compile 以及 FSDP、TP 等原生分布式 API。文章说明 Transformers、Diffusers 和 Kernels 已原生支持该后端,此前 HF 在 Trainium 上依赖基于 PyTorch XLA 的 optimum-neuron;TorchNeuron 自 2026 年 10 月 20 日起进入公开测试,可通过 pip 安装。