PyTorch推理工程:00 系列导读——从张量语义到可展示项目的学习路线
阅读本文后应能
- 对照目录表定位各篇主题与依赖关系,按岗位需求裁剪阅读顺序。
- 区分本系列与站内 CUDA 实践、AI Infra(Transformer)相关文章的问题边界,减少重复阅读或遗漏环节。
系列组织方式
正文不按 API 手册展开,而按推理工程中常见的依赖顺序排列:先阐明 Tensor / Module / 推理模式等语义,再讨论设备与同步、精度、图与导出、测量方法,最后衔接批处理、KV Cache 与 Serving 视角,并以小型项目与文档化输出收尾。
一句话概括:运行时实际执行的是算子与张量;系列正文围绕 PyTorch 侧语义、性能测量与部署接口展开。
与站内其他系列的关系
| 系列 | 内容侧重 | 适用场景 |
|---|---|---|
| 本系列 | nn.Module / forward、eval 与 inference_mode、设备与显存、AMP、torch.compile 与 ONNX、Profiler、批处理与 KV Cache 等 |
基于 PyTorch 做可复现、可测量、可交付的推理与对接工程 |
| CUDA-Practice | 带宽、Kernel、共享内存、GEMM、Tensor Core、融合与多卡等 | 算子实现或 GPU 侧性能上界分析 |
| AI Infra 学习之旅 · Transformer 知识地图 等 | Transformer 结构、Attention 与推理系统术语来源 | 模型行为与 Infra 名词(如 KV Cache、Prefill/Decode)的对应关系 |
三者关系可粗分为:模型与系统概念(AI Infra)→ 框架与工程实践(本系列)→ 硬件与算子层(CUDA)。顺序可并行,但不宜混淆层级。
路线图
1 | 00 导读 |
篇目索引
| 编号 | 文章 | 主题 |
|---|---|---|
| 01 | Tensor、dtype、device 与推理底层基础 | shape、dtype、device、stride、contiguous |
| 02 | Module、forward 与推理代码组织 | nn.Module、参数与 buffer、state_dict |
| 03 | eval、no_grad 与 inference_mode | 训练/推理行为与 autograd 开关 |
| 04 | CUDA、搬运、显存与同步 | 设备语义、拷贝、显存与同步 |
| 05 | 混合精度、AMP 与吞吐/延迟 | FP16/BF16、autocast、吞吐与延迟 |
| 06 | torch.compile、导出与 ONNX | 图捕获、导出与部署链路 |
| 07 | Profiling、Benchmark 与瓶颈定位 | 计时、基准与 Profiler |
| 08 | 批处理、KV Cache 与服务化 | LLM 推理与服务端视角 |
| 09 | 最小可展示推理项目 | 可运行、可测量的项目骨架 |
| 10 | 项目执行、简历与面试表达 | 里程碑、实验记录与表述 |
阅读顺序建议
- 通读:按 01→10 顺序。
- 已有模型基础、补工程:01、04、05、07、09;02、03 视熟悉程度略读;06、08 按岗位补读。
- 偏 LLM Serving / Infra:在上一路线基础上精读 08,并可对照 现代大模型推理的核心技术全景;算子与 GPU 侧可参考 CUDA 实践 · 推理与 KV 等篇。
- 时间有限:01、04、07 为后续章节的前置;09、10 用于把内容收敛为可交付物。
与第 10 篇对应的自检项
完成 09 中项目骨架并按 10 推进文档后,宜能说明:
- 某次实验中延迟或吞吐变化与精度、batch、编译选项或同步点的对应关系;
- Profiler 输出与热点算子或数据搬运的对应关系;
- LLM 推理中 Prefill 与 Decode 的划分及 KV Cache 对显存占用的影响。
起始篇
正文从 01 Tensor、dtype、device 与推理底层基础 开始。
系列导航
- 上一篇:无。
- 下一篇:PyTorch推理工程:01 Tensor、dtype、device 与推理底层基础
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 Smarter's blog!
评论
