SwiGLU 算子优化
30 章 · 推理加速
🎯 从理论到 SOTA
1
SwiGLU 前世今生:从 ReLU 到 GLU 再到 SwiGLU 的演进之路,为什么大模型需要它?
01.html
2
数学原理拆解:Sigmoid、SiLU、GLU 门控机制,SwiGLU 的数学公式与梯度特性。
02.html
3
算子计算流图:SwiGLU 的前向与反向计算图,内存访问模式分析。
03.html
4
性能瓶颈分析:为什么 SwiGLU 是推理瓶颈?访存密集型 vs 计算密集型的权衡。
04.html
5
CUDA 基础回顾:Grid-Block-Thread 层次结构,Shared Memory 与 Register 的使用。
05.html
6
Triton 编程入门:Triton 语言特性,Block 编程模型,与 CUDA 的对比。
06.html
7
朴素 SwiGLU 实现:用 PyTorch 实现 SwiGLU,Profiling 性能基线。
07.html
8
算子融合策略:Elementwise Fusion,将 SiLU 与乘法融合为一个 Kernel。
08.html
9
Triton 实现 SwiGLU v1:单 Block 实现,性能对比与瓶颈分析。
09.html
10
Triton 实现 SwiGLU v2:多 Block 并行,Grid 调度优化。
10.html
11
向量化加载与存储:使用 Triton 的 tl.load/tl.store 向量化指令,提升带宽利用率。
11.html
12
流水线技术:Double Buffering 在 SwiGLU 中的应用,隐藏访存延迟。
12.html
13
寄存器缓存优化:将中间结果暂存于寄存器,减少 Global Memory 访问。
13.html
14
Shared Memory 优化:利用 Shared Memory 做数据复用,减少重复加载。
14.html
15
Warp 级优化:Warp Shuffle 指令在 SwiGLU 中的应用,减少 Shared Memory 使用。
15.html
16
自动调优:Triton Autotune 机制,搜索最优 Block Size 与 Pipeline Stage。
16.html
17
半精度与混合精度:FP16/BF16 下的 SwiGLU 实现,精度与性能的平衡。
17.html
18
INT8 量化 SwiGLU:量化感知训练与推理,INT8 SwiGLU 的实现细节。
18.html
19
FlashAttention 中的 SwiGLU:FlashAttention 如何集成 SwiGLU,联合优化策略。
19.html
20
vLLM 中的 SwiGLU:vLLM 推理框架中 SwiGLU 的实现与优化。
20.html
21
TensorRT-LLM 中的 SwiGLU:TensorRT-LLM 的 Plugin 实现与图优化。
21.html
22
DeepSpeed 中的 SwiGLU:DeepSpeed Inference 对 SwiGLU 的优化策略。
22.html
23
手写 CUDA SwiGLU:从零实现 CUDA Kernel,对比 Triton 实现的差异。
23.html
24
CUDA SwiGLU 优化:Shared Memory Tiling、Coalesced Access、Occupancy 优化。
24.html
25
Benchmark 方法论:如何正确 Benchmark SwiGLU Kernel,避免测量误差。
25.html
26
Profiling 工具实战:Nsight Systems、Nsight Compute、Triton Profiler 的使用。
26.html
27
常见 Bug 与调试:数值精度问题、越界访问、Bank Conflict 的排查与修复。
27.html
28
SwiGLU 变体:GeGLU、ReGLU、SwiGLU with GEGLU,性能对比。
28.html
29
未来趋势:SwiGLU 在 MoE、多模态模型中的优化方向,硬件协同设计。
29.html
30
综合实战:从零优化一个完整的 SwiGLU 算子,达到 SOTA 性能。
30.html