logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

《Nano-vLLM 源码解读》第 21 篇 · 张量并行(一)数学基础

本文介绍了大模型推理中的张量并行(Tensor Parallelism, TP)技术,重点解析了如何将模型切分到多张GPU上以提高计算效率。文章主要围绕两个核心问题展开:切分维度选择和通信时机。 切分方式:分为列切(按输出维度切分)和行切(按输入维度切分)。列切无需通信但输出为分片,行切需通过all_reduce通信求和部分结果。 应用场景:Transformer层中两组"列接行"配对(Atten

文章图片
《Nano-vLLM 源码解读》第 20 篇 · CUDA Graph

本文深入剖析了nano-vllm如何通过CUDA Graph技术解决大模型推理中的CPU瓶颈问题。文章首先指出decode阶段性能问题的根源在于:每个token生成需要CPU串行launch数百个微小GPU kernel,导致GPU大量空等。随后详细阐释了CUDA Graph的核心机制——通过capture一次性记录kernel执行流,后续通过replay实现一次提交全部执行,将数百次launch

文章图片
《从 0 实现 SGLang》第 2 篇 · 核心数据结构: Req 与 SamplingParams

本文介绍了构建现代LLM推理引擎的核心数据结构Req与SamplingParams。Req对象封装了推理请求的完整状态,通过四个长度字段(cached_len/device_len/max_device_len/extend_len)统一管理prefill和decode阶段。关键设计包括:1)将host(CPU)和device(GPU)状态分离;2)用complete_one和append_hos

文章图片
#sglang
《从 0 实现 SGLang》第 3 篇 · Qwen3 模型架构定义

这篇文章详细介绍了如何从零开始构建Qwen3-0.6B大语言模型的推理引擎。主要内容包括: 模型整体架构:由embedding层、28层decoder、RMSNorm层和lm_head组成 核心模块详解: Embedding层实现token到向量的转换 RMSNorm层用于稳定训练和推理 每层decoder包含自注意力机制和MLP两部分 关键技术点: 采用pre-norm残差结构 使用GQA(分组

文章图片
#sglang
《从 0 实现 SGLang》第 5 篇 · 实现 KV Cache

这篇文章介绍了如何实现一个高效的KV Cache机制来优化大语言模型推理性能。主要内容包括:1)设计了一个连续张量版的KV Cache类,采用(num_layers, max_seq_len, num_kv_heads, head_dim)的内存布局以优化访问效率;2)详细解释了这种维度排列如何实现零拷贝和连续内存访问;3)展示了如何改造attention模块,新增store和get操作与cach

文章图片
#sglang#python#深度学习
《Nano-vLLM 源码解读》第 13 篇 · Qwen3 整体架构

这篇文章摘要了Qwen3大模型的核心推理架构,重点解析了其四段式骨架设计:词嵌入层、28层Decoder堆叠、最终归一化层及输出头。文章通过代码和配置表详细展示了模型如何将token ID转化为隐藏状态向量,并强调了Decoder层中自注意力机制(self-attn)和前馈网络(mlp)的协同作用,以及RMSNorm在稳定训练中的关键角色。Qwen3-0.6B的关键参数如隐藏维度1024、16个注

文章图片
《Nano-vLLM 源码解读》第 17 篇 · 注意力层:从 QKV 到 o_proj 的全流程

本文拆解了Qwen3注意力子层的实现细节,重点分析了nano-vllm如何用精简代码实现vLLM核心功能。文章通过七步流程详解注意力机制:QKV合并投影与GQA分组查询优化、QK-Norm归一化、RoPE位置编码、KV缓存存储及两阶段注意力计算。关键创新包括用Triton kernel实现分页KV缓存的高效散布写入,以及针对prefill/decode不同阶段优化FlashAttention调用。

文章图片
《Nano-vLLM 源码解读》第 18 篇 · Embedding 与 LM Head

本文拆解了大模型推理中残差流两端的核心模块:embed_tokens(输入)和 lm_head(输出)。两者共享同一张 [vocab, hidden] 权重表,但功能相反: 输入层:embed_tokens 通过 token id 索引表中对应行,将离散 token 转为连续向量(F.embedding); 输出层:lm_head 将隐状态与表每行做内积,生成词表分数(F.linear)。 文中通

文章图片
《Nano-vLLM 源码解读》第 18 篇 · Embedding 与 LM Head

本文拆解了大模型推理中残差流两端的核心模块:embed_tokens(输入)和 lm_head(输出)。两者共享同一张 [vocab, hidden] 权重表,但功能相反: 输入层:embed_tokens 通过 token id 索引表中对应行,将离散 token 转为连续向量(F.embedding); 输出层:lm_head 将隐状态与表每行做内积,生成词表分数(F.linear)。 文中通

文章图片
《Nano-vLLM 源码解读》第 17 篇 · 注意力层:从 QKV 到 o_proj 的全流程

本文拆解了Qwen3注意力子层的实现细节,重点分析了nano-vllm如何用精简代码实现vLLM核心功能。文章通过七步流程详解注意力机制:QKV合并投影与GQA分组查询优化、QK-Norm归一化、RoPE位置编码、KV缓存存储及两阶段注意力计算。关键创新包括用Triton kernel实现分页KV缓存的高效散布写入,以及针对prefill/decode不同阶段优化FlashAttention调用。

文章图片
    共 33 条
  • 1
  • 2
  • 3
  • 4
  • 请选择