LESSON 4.6 · 代码 · 180 分钟
FlashAttention 与 Triton 入门
FlashAttention 与 Triton 入门:理解IO-aware tiling、online softmax、kernel fusion,完成“实现简化 fused softmax”。属于「把训练变成系统」学习阶段。
学完你应该能够
- 能不用术语堆砌,解释「FlashAttention 与 Triton 入门」解决了什么问题。
- 能围绕 IO-aware tiling、online softmax、kernel fusion 画出变量与因果关系。
- 能完成「实现简化 fused softmax」,并用证据而不是感觉判断结果。
核心概念
IO-aware tiling
IO-aware tiling通过分块和在线 softmax 避免把完整注意力矩阵写回 HBM。它保持数学结果等价,速度来自更少 IO,而不是近似注意力。
online softmax
online softmax通过分块和在线 softmax 避免把完整注意力矩阵写回 HBM。它保持数学结果等价,速度来自更少 IO,而不是近似注意力。
kernel fusion
kernel fusion通过分块和在线 softmax 避免把完整注意力矩阵写回 HBM。它保持数学结果等价,速度来自更少 IO,而不是近似注意力。
实践任务
实现简化 fused softmax
- 预测:在运行代码前,写下你预期的输出、趋势或失败位置。
- 构建:先写接口和 shape 断言,只保留回答核心问题所需的最小组件。
- 验证:使用吞吐剖析、消融实验、故障注入与 checkpoint 恢复;保存参数、随机种子与原始结果。
- 迁移:改变模型规模、GPU 拓扑或数据混合后重做预算,说明原结论是否仍成立。