AI INFRA / 从流程到实现
看懂模型怎么算,
理解系统怎样更快。
用训练与推理流程定位优化方法,
通过短片、算例和独立文章理解背后的机制。
从这里开始
先有全景,再逐个深入
已经可以深入阅读
优化方法详解
47 篇已编写的文章。当前目录已完成第一版详解,后续可继续增加具体方法与实现。
剪枝与知识蒸馏
降低部署模型的规模与计算成本
阅读详解 →注意力结构选择:MQA / GQA / MLA
减少部分 KV 存储与搬运需求
阅读详解 →稀疏计算与滑窗 Attention
减少实际计算或读取的元素
阅读详解 →权重 / 激活量化:PTQ、QAT
降低数据位数,减少访存或提高计算吞吐
阅读详解 →KV Cache 量化与压缩
降低长上下文缓存容量与读取量
阅读详解 →矩阵乘法与访存优化
提高计算单元与内存带宽的有效利用
阅读详解 →FlashAttention 类精确注意力内核
减少注意力中间矩阵的内存读写
阅读详解 →Decode 专项内核:Split-KV / 多块 Attention
提高小批次、长上下文解码的并行度
阅读详解 →本地算子融合
减少中间写回和内核启动
阅读详解 →MoE 计算优化:Grouped GEMM 与重排融合
减少零碎专家计算与 token 重排开销
阅读详解 →输出投影 / Loss 内存优化
减少大词表中间结果与不必要计算
阅读详解 →采样与约束解码实现优化
减少选择 token 时的计算与主机等待
阅读详解 →投机解码
减少目标模型逐 token 串行调用
阅读详解 →历史 KV 复用
避免重算历史位置的 K、V
阅读详解 →前缀缓存与缓存感知路由
省去兼容公共前缀的重复 Prefill
阅读详解 →分页 KV 管理 / PagedAttention
减少碎片与过量预留,容纳更多请求
阅读详解 →KV 分层、卸载与淘汰
在缓存容量与迁移成本间取舍
阅读详解 →图编译、形状专门化与自动调优
为实际形状生成更高效的执行程序
阅读详解 →执行图捕获与重放
降低主机逐次下发与调度开销
阅读详解 →长度分组、去 Padding 与 Packing
提高有效 token 占比
阅读详解 →Continuous Batching / 连续批处理
及时填补已结束请求释放的执行位置
阅读详解 →Chunked Prefill / 分块预填充
降低长输入对其他请求的阻塞
阅读详解 →异步调度与 CPU / 设备重叠
减少主机准备导致的设备空闲
阅读详解 →并行策略与设备映射
在容量、吞吐与通信成本之间选择分工
阅读详解 →通信算法、协议与拓扑优化
降低同等数据交换的延迟或提高带宽
阅读详解 →通信分桶、预取与计算重叠
隐藏部分等待,减少小通信开销
阅读详解 →通算融合:MC² 等
在算子级隐藏计算与通信的串行等待
阅读详解 →Prefill / Decode 分离
分别优化两个阶段的资源与调度
阅读详解 →负载均衡、准入与弹性调度
控制排队、尾延迟与资源浪费
阅读详解 →MoE 专家布局与负载均衡
减少热点专家和设备等待
阅读详解 →多 LoRA 服务与适配器合并
降低多适配器服务或额外分支的开销
阅读详解 →加载、编译缓存与预热
缩短冷启动和重启准备时间
阅读详解 →数据预处理、预取与异步搬运
减少输入链路造成的计算空闲
阅读详解 →参数高效微调:LoRA / QLoRA / 冻结
减少可训练参数及其梯度、优化器状态
阅读详解 →混合精度训练
提高部分矩阵吞吐并降低资源需求
阅读详解 →状态分片:ZeRO / FSDP
降低每卡参数、梯度或优化器状态占用
阅读详解 →激活重计算 / Checkpointing
减少保存的中间激活
阅读详解 →训练状态 / 激活卸载与回迁
将部分容量压力转移到主机或存储
阅读详解 →梯度累积与同步频率
用多个小批次实现所需有效批量
阅读详解 →流水线调度:1F1B、交错、DualPipe 类
减少流水线空闲并隐藏部分通信
阅读详解 →融合优化器与状态精度优化
减少更新阶段的启动、读写或状态容量
阅读详解 →异步检查点与故障恢复
减少保存阻塞与故障后的重做工作
阅读详解 →数据与训练策略:面向目标质量
尝试降低达到目标质量的总成本
阅读详解 →上下文、模型路由与生成预算
减少业务请求所需的总计算
阅读详解 →结果缓存
满足复用条件时省去整次生成
阅读详解 →RL 外层资源与权重同步
协调生成、奖励与策略更新的资源等待
阅读详解 →缓冲区复用与内存布局规划
减少反复分配、复制与多余驻留
阅读详解 →基础概念
遇到术语,先在这里建立直觉
文章中的阅读前置会提供简短定义,也会链接到这些基础讲解。
先理解 Attention 如何把其他位置的信息汇总到当前位置,再学习它如何加速。
容量决定放不放得下,带宽决定搬得有多快;计算能力决定算得有多快。
先把一次生成拆成输入处理与逐步输出,再理解缓存和调度。
训练先产生预测,再计算误差和梯度,最后更新可训练参数。
先说明设备各持有什么、最后需要什么结果,再选择通信操作。
数据的存储格式、运算格式、累加格式和通信格式需要分别说明。
只有不互相等待结果的工作,才有机会同时推进。
知识库怎样组织?
总览回答“有哪些优化,放在流程的哪里”;独立文章回答“为什么有效,怎样实现”。通信与内存是可交叉的优化维度,包含在计算与系统执行中。
当前覆盖自回归语言模型的主要优化方向。短片与算例用于教学,不能替代具体设备和负载的性能测试。未完成的文章或视频会明确标注进度。