【Nano-vLLM源码分析(二)】关键类实现 Block相关 Block Manger是实现vLLM中提出的PagedAttention的关键,PagedAttention通过对KV Cache实现类似虚拟页表的逻辑Block分区与物理Block分区的划分来实现更灵活的显存管理。 BlockManager 相关代码主要负责 KV cache 的 block 分配/回收,以及 prefix cache(前缀块复用):把“完整的 bl 2026-01-12 LLM > vLLM #LLM #vLLM
【Nano-vLLM源码分析(一)】环境配置及整体流程概览 环境配置 整体环境还是很干净的,跟着readme应该能很快配置起来。 不过我这里是下载了源代码,然后使用了容器nvcr.io/nvidia/pytorch:25.04-py3来挂载文件夹运行,在容器内还需要pip3 install transformers xxhash,这样就配置好了基本的python环境。 然后还需要下载Qwen3模型,因为Nano-vLLM目前只专门适配了它。这里read 2026-01-10 LLM > vLLM #LLM #vLLM
【论文阅读】Efficient Memory Management for Large Language Model Serving with PagedAttention(vLLM论文) 论文链接:https://dl.acm.org/doi/abs/10.1145/3600006.3613165 开源链接:https://github.com/vllm-project/vllm 发表会议:SOSP’23(CCF-A) 团队:UC Berkeley 背景 大模型服务化带来了高昂的运行成本,需要进行推理优化提高吞吐、降低成本 LLM推理过程是一个自回归模型,关键的注意力 2026-01-09 LLM > vLLM #论文阅读 #LLM #vLLM
【Megatron-LM源码分析(五)】-Tensor并行 理论基础 基础的理论分析可以见之前写的内容:https://slipegg.github.io/2025/06/07/Picotron-Tutorial%20Tensor%20Parallel/,https://slipegg.github.io/2025/12/07/Megatron-LM-paper-note/ 简单来说就是存在行并行与列并行两种Tensor并行方式。 上述的前向传播好理解 2026-01-08 LLM > Megatron-LM #LLM #Megatron-LM
【论文阅读】ByteScale:Efficient Scaling of LLM Training with a 2048K Context Length on More Than 12,000 链接:https://arxiv.org/abs/2502.21231 团队:ByteDance 背景 为了提升大语言模型的长上下文能力,长文本的训练是有必要的,经过通过Flash Attention技术可以将Attention相关计算的显存占用降低为O(S),但是计算量依旧为O(S^2),这会极大的消耗显存和算力。 为了降低显存开销,传统的方法是使用静态的数据并行叠加上下文并行,即固定 2025-12-28 LLM > 基础知识 #论文阅读 #LLM #MoE
【Megatron-LM源码分析(四)】-DDP数据并行 数据并行存在多种,最简单的就是DDP,每个DP都拥有完整的模型,然后在每个batch结束后在DP间同步梯度,最后统一进行优化器更新。再复杂一些的数据宾县会上ZERO技术,将模型、梯度、优化器状态等进行切分。 这里主要关注最简单的DDP,主要关注DP并行组如何划分,如果做个各个DP读取不同的数据,以及训练过程中如何做到梯度同步。 DP并行组查看megatron/core/parallel_state 2025-12-28 LLM > Megatron-LM #LLM #Megatron-LM
【Megatron-LM源码分析(三)】-性能分析 在算力利用率方面,Megatron-LM支持通过Pytorch Profiler和Nsys进行分析,注意这两者在Megatron-LM中是互斥的。 PyTorch Profiler:框架原生工具,更高层,侧重于 Python/PyTorch 算子层级,可以看到代码级的调用链,适合识别 Python 端的慢算子、内存泄漏、调度开销。 Nsys:系统级追踪工具,更底层,侧重于 CUDA 2025-12-26 LLM > Megatron-LM #LLM #Megatron-LM
【论文阅读】ScheMoE:An Extensible Mixture-of-Experts Distributed Training System with Tasks Scheduling 链接:https://dl.acm.org/doi/10.1145/3627703.3650083 发表会议:EuroSys ‘24(CCF-A) 团队:哈工大、香港科技、华为 背景 Moe架构的大模型愈发流行,而Moe流程中存在将数据通过通信转发给对应GPU上专家的行为,如下图是数据并行与专家并行的示例,这种通信行为会导致系统训练效率降低。 现有的优化Moe训练效率的 2025-12-22 LLM > 基础知识 #论文阅读 #LLM #MoE
【Megatron-LM源码分析(二)】-GPT模型pretrain流程 本次查看Megatron-LM的版本是core_r0.14.0,查看的GPT训练文件是pretrain_gpt.py 入口函数main入口函数代码如下: 123456789101112131415161718if __name__ == "__main__": # Temporary for transition to core datasets train_val 2025-12-22 LLM > Megatron-LM #LLM #Megatron-LM
【Megatron-LM源码分析(一)】-环境配置与训练示例跑通 环境配置 下载代码: 1git clone https://github.com/NVIDIA/Megatron-LM.git 切换到稳定分支: 1git checkout -b core_r0.14.0 origin/core_r0.14.0 拉取指定docker镜像: 1docker pull nvcr.io/nvidia/pytorch:25.04-py3 最小示例示例运行流 2025-12-14 LLM > Megatron-LM #LLM #Megatron-LM