本文简单介绍了 LLM 推理采样的基本概念,并且介绍了不同采样方式和采样策略。
本文从 KV Cache 的复用动机出发,介绍 Prefix cache 的优化方法,并进一步分析 vLLM v1 如何将其演化为接近 zero-overhead 的“free lunch”机制。在 LLM 推理中,许多请求往往共享相同的前...
在 强化学习基础(1):马尔可夫决策过程 中我们学习了 马尔可夫决策过程建模 $\langle \mathcal{S}, \mathcal{A}, p(s'|s,a), r(s,a), \gamma \rangle$ 状态奖励函数 $V(s...
在软件开发中,一个项目从最初的几行代码,到逐渐演化成复杂系统,整个开发过程本质上是一系列变化的积累。但问题在于,变化本身是很难管理的。我们如何描述项目状态的变化?如果没有工具,我们只能:手动复制文件做备份(例如 project_final...
马尔可夫决策过程(Markov decision process,MDP)是强化学习的重要概念。本文在动手学强化学习著作的基础上,对于马尔可夫决策过程进行了总结。随机过程 (stochastic process) 研究对象是随时间演变的随机...
本文会介绍在并行计算中常见的通信原语。我们定义每个设备为一个 rank. 在并行集合通信中, All 表示通信的 dst 是所有设备 Reduce 表示对于数据执行 associative/commutative 计算(例如求和/求平均...
本文介绍 FlashAttention 的核心思想,并推导其关键公式,说明其如何通过分块计算与在线 softmax 更新,在不显式构造中间 attention 矩阵的情况下减少显存访问与内存开销,从而提高 GPU 计算效率。
本文简单介绍了在 CUDA 环境下 Grid, Block 和 Thread 的概念,以及如何寻找它们的地址。CUDA Kernel 是一个用 __global__ 声明的函数,它在 GPU (device) 上执行,由 CPU (host...
在大模型推理系统中,涉及 batching、KV Cache、Prefill/Decode、并行策略等大量概念。本文将对这些关键机制进行系统梳理。