推理加速与硬件适配
在线 Notebook
对应的交互式版本可在 Google Colab 打开,统一使用方式见 第0章说明。
第 8 章主线关注模型压缩、推理优化、成本控制和生产系统。更深一层看,真正落地时还要解决一个现实问题:模型怎么在具体硬件和运行时里跑得快、跑得稳、跑得下去。
这一节不讲硬件体系结构的完整课程,只保留和 LLM 工程直接相关的三个主题:
- 指令集与算子优化
- GPU / NPU 的并行计算与调度
- 模型转换、导出和运行时适配
为什么需要这层适配
同一个模型,在不同硬件和运行时上的表现可能差异很大。
- 在 GPU 上,瓶颈常常来自内存带宽、kernel 调度和批处理效率。
- 在 NPU 上,瓶颈常常来自算子支持范围、图编译和量化格式兼容性。
- 在 CPU 上,瓶颈常常来自向量化能力、线程调度和缓存效率。
因此,工程问题不是“模型理论上能不能跑”,而是:
这套模型、这组算子、这份精度格式,能不能在目标硬件上稳定高效地执行?
指令集与算子优化
这里的“指令集优化”不只是 CPU ISA 层面的概念,也包括运行时如何把高层算子变成更高效的底层实现。
常见目标:
- 减少内存访问次数
- 合并多个小算子,减少 kernel launch 开销
- 让矩阵乘法、归一化、激活函数和 attention 的实现更贴近硬件特性
- 让低精度推理真正兑现速度收益,而不是只省参数存储
工程上常见的手段:
| 手段 | 作用 | 代价 |
|---|---|---|
| 算子融合 | 把多个小步骤合成一个 kernel | 实现复杂,调试困难 |
| 张量布局优化 | 让数据布局更适合底层访问 | 需要和 runtime 一起设计 |
| 低精度 kernel | 用 INT8 / INT4 等格式减少带宽压力 | 依赖硬件和校准 |
| 编译后端优化 | 把计算图编译成更高效的执行计划 | 图结构变化时需要重新适配 |
这里的重点不是“某种指令集一定更强”,而是:底层实现是否和模型结构、精度格式、内存布局匹配。
GPU / NPU 并行计算
LLM 推理通常不是单一的“一个大矩阵乘法”,而是一串和并行策略强相关的计算。
GPU
GPU 更擅长大规模并行和高吞吐算子:
- 矩阵乘法
- attention 相关的批量计算
- 多请求连续批处理
- 高并发场景下的吞吐优化
NPU
NPU 往往更强调固定图、低精度和高能效:
- 对固定形状和固定算子链更友好
- 更依赖编译器和图优化
- 对量化格式、算子支持和模型导出要求更高
并行策略
| 策略 | 关注点 | 适用场景 |
|---|---|---|
| 数据并行 | 多个请求并发执行 | 多租户服务、高吞吐 |
| 张量并行 | 单层参数切分到多卡 | 大模型推理、显存不足 |
| 流水并行 | 不同层分布在不同设备 | 超大模型、跨设备部署 |
| 批处理并行 | 合并多个请求一起算 | 在线服务降本增效 |
这些策略不是互相替代,而是经常组合使用。真正的难点不在“能不能并行”,而在“并行后是否还能保持可控的延迟、显存和调度复杂度”。
模型转换与导出
模型转换的目标,是把训练时的框架表示,变成能被目标 runtime 和目标硬件接受的格式。
常见链路可以抽象成:
text
训练框架
↓ 导出
中间表示 / 交换格式
↓ 优化、量化、编译
目标运行时 / 硬件引擎模型转换时最常见的风险:
- 算子不支持
- 动态 shape 不兼容
- 精度损失超出预期
- 图优化改变了数值行为
- 同一模型在不同 runtime 上结果不一致
所以,模型转换不是“导出一下就完了”,而是要配合:
- 算子覆盖检查
- 数值一致性验证
- 小样本推理对齐
- 量化校准
- 性能回归测试
工程检查清单
做硬件适配时,可以先问这几个问题:
- 目标硬件支持哪些精度格式和算子?
- 主要瓶颈是算力、带宽、显存还是调度?
- 模型是否需要改成固定图或静态 shape?
- 量化后的精度是否还能满足业务评估集?
- 并行策略会不会让延迟和故障恢复变复杂?
- 模型转换后是否存在结果不一致或算子回退?
如果这些问题没有回答清楚,单纯追求“更快”往往会换来更差的稳定性。
与第 8 章主线的关系
- 8.1 负责把模型变小。
- 8.2 负责把单次推理做快。
- 本节负责把模型真正适配到目标硬件和 runtime。
- 8.3 到 8.5 负责把系统从“能跑”推进到“能长期稳定上线”。
所以,这一节更像是第 8 章的“硬件和运行时接口层”,而不是主线中的单独一环。
本节小结
- 指令集优化的核心,是减少内存访问和算子开销,让底层实现匹配模型结构。
- GPU 更适合高吞吐并行,NPU 更依赖固定图、低精度和编译适配。
- 模型转换的关键不是导出格式本身,而是算子、shape、精度和数值一致性。
- 硬件适配应该和量化、推理优化、评估回归一起看,而不是单独追求理论峰值。
返回: 第 8 章首页
