HPC 零散笔记集合
1. 概念:带宽(Bandwidth) vs 延迟(Latency)
定义如下:
- 带宽(Bandwidth):单位时间内能传输的数据量,通常以 GB/s 或 TB/s 表示。
- 延迟(Latency):发出一次内存访问请求到数据返回所需的时间,通常以 ns(纳秒)或 时钟周期 表示。
在不同的应用场景下,强调的性能指标不同。比如在AI训练中,需要持续搬运大量数据,比如大量密集的GEMM计算,即此时是计算密集型。另外,CPU/GPU 的算力极强。这种情况下,带宽经常成为性能瓶颈。
而针对推理场景,由于其访问数据是随机访问的 KV-Cache,细粒度、低复用,带宽利用率低。这种情形下,等待数据的时间,即延迟成为性能瓶颈。推理与训练的对比如下:
| 对比项 | 训练 | 推理(Decode 阶段) |
|---|---|---|
| Batch size | 大(数百~数千) | 小(1~几十) |
| 数据访问模式 | 连续大块读写 | 逐 token 随机小块访问 |
| 计算强度 | 高(Compute-bound) | 低(Memory-bound) |
| KV Cache 访问 | 无 | 每步都要读取历史 KV |
带宽 vs 延迟区别总结:
| 指标 | 带宽 | 延迟 |
|---|---|---|
| 衡量什么 | 数据吞吐量(多宽) | 访问响应时间(多快) |
| 单位 | GB/s, TB/s | ns, 时钟周期 |
| 决定因素 | 总线宽度、内存并行度 | 物理距离、内存层级 |
| 训练瓶颈 | ✅ 主要瓶颈 | 次要(大 batch 可掩盖) |
| 推理瓶颈 | 次要 | ✅ 主要瓶颈(小 batch / decode) |
| 代表硬件 | HBM(大容量高带宽) | 片上 SRAM(小容量低延迟) |
Enjoy Reading This Article?
Here are some more articles you might like to read next: