文章

从文本到芯片:大模型推理交互技术系列

完整十五章交互技术系列:从文本、Token 与 Transformer 数学,到 vLLM 调度、GPU/NPU 架构、多卡并行与性能测量。

从文本到芯片:大模型推理交互技术系列

一条聊天请求只有几行 JSON,服务器内部却同时发生着字符串处理、张量计算、内存分配和设备调度。本系列沿着这条链路逐层展开:先看清每一步传递什么,再推导为什么要这样计算,最后核对真实软件和硬件怎样实现它。

目标读者掌握大学线性代数与基础概率,不需要预先学过 CUDA。我们会保留矩阵维度、数据类型、源码入口和工程限制,而把每个新概念放到一个可以追踪的请求里。交互实验用于改变条件、检查推导与验证理解。

已发布:从这里开始

  1. 第 1 章:一条请求如何抵达硬件,又变成回答——区分数据流和控制流,建立 Prefill、Decode、缓存与执行器的全景。
  2. 第 2 章:从 Unicode、聊天模板到 Token 与嵌入张量——用真实分词样本检查字节、ID、模板和查表之间的关系。

  3. 第 3 章:逐项算清一个真实 Qwen3 Transformer 层——推导 QK Norm、RoPE、GQA、残差与门控 MLP,用数值实验验证因果性。
  4. 第 4 章:从 logits 到下一个 Token
  5. 第 5 章:Prefill 与 Decode
  6. 第 6 章:推理内存
  7. 第 7 章:量化
  8. 第 8 章:请求进入 vLLM V1
  9. 第 9 章:连续批处理与 Token 调度
  10. 第 10 章:PagedAttention 与前缀缓存
  11. 第 11 章:张量公式到设备程序
  12. 第 12 章:NVIDIA Rubin 与 Blackwell Ultra
  13. 第 13 章:Ascend NPU 与 vLLM Ascend
  14. 第 14 章:多卡与 MoE 并行
  15. 第 15 章:真实性能测量

数学番外:从 22 步矩阵计算到一条连续方程——把 Token、特征和网络深度写成 $u(x,y,t)$,从非局部积分、约束投影与算子拆分理解 Transformer;与第 3 章的离散推导互为补充。

全屏打开推理链路实验室

十五章路线

全系列已经发布。表格概括每章的推导与实验目标。

单元章节推导与实验目标
输入与模型01 请求全链路(已发布)定位数据、组件和执行阶段
输入与模型02 文本到张量(已发布)真实 Token ID、模板与嵌入查表
输入与模型03 一个 Transformer 层(已发布)RMSNorm、Q/K/V、QK Norm、RoPE、GQA、残差与门控 MLP
数学番外连续方程视角Attention 的非局部积分、归一化投影、网络深度与算子拆分
输入与模型04 从 logits 到 Token稳定 softmax、温度、概率筛选、采样与停止
时间与内存05 Prefill 和 Decode矩阵形状、依赖关系、缓存复用、计算与访存
时间与内存06 内存预算权重、KV、激活、临时空间、分页及分片
时间与内存07 量化表示范围、缩放、误差、分组与实际内核支持
vLLM08 请求进入引擎固定源码版本,追踪服务入口与 V1 引擎
vLLM09 连续批处理Token 预算、排队、分块 Prefill、抢占与延迟
vLLM10 分页与前缀缓存逻辑块到物理块、复用、回收及命中边界
硬件执行11 算子到设备程序分发、编译、融合、内核启动、执行图与驱动
硬件执行12 NVIDIA GPURubin 平台、CUDA SM、Tensor Core、HBM 与互连
硬件执行13 Ascend NPUCube/Vector/Scalar、CANN、TorchNPU 与插件栈
系统与验证14 多卡与 MoETP、PP、DP、EP 以及 collective 通信代价
系统与验证15 性能测量TTFT、TPOT、吞吐、尾延迟及可复现基准

GPU/NPU 章节会区分芯片、板卡、服务器和整机柜,并明确产品资料日期。NPU 不是单一统一架构,不能把一种设备的软件支持外推到全部设备。

主线与版本约定

主线选用 Qwen3-8B。它是稠密、自回归、Decoder-only 模型,能够贯穿 GQA、RoPE 和门控 MLP 等机制;选择它是为了公开配置与实现的可核验性,而非将其称为最新或性能最强模型。

首批内容固定模型仓库修订为 b968826d9c46dd6066d109eabc6255188de91218。分词样本使用 tokenizers 0.20.3 执行该修订的 tokenizer.json,并记录文件摘要。聊天样本通过同修订官方 Jinja 模板生成,使用单轮 user 消息、追加 assistant 起始段并关闭思考模式。

vLLM 的源码解释以 v0.10.2 的 V1 路径为阅读基线。这是固定的历史版本,不是“当前最新版”。后续遇到新硬件专属功能时,会显式建立新的版本组合,不能拿旧后端的支持情况判断新产品。首批文章没有声称已在本机运行 Qwen3-8B 或 vLLM。

如何阅读数值与实验

本系列区分三种证据:

  • 配置推导:从公开配置算出的形状、元素个数和理论字节数;标明假设与单位。
  • 教学模拟:用于观察调度或缓存行为;步数和时间轴不等于设备实测。
  • 真实结果:分词器实际编码结果,或日后在指定设备、软件与负载下测量的数据。

二维矩阵玩具使用独立的人造数值,不冒充真实权重。真实分词实验只需要分词器,不需要下载数十 GB 权重。容量计算不能直接推出延迟;峰值算力也不能直接等同于服务吞吐。

符号与单位

符号含义
T当前讨论的 Token 数;具体是输入长度、缓存长度还是本轮调度量,正文会说明
B序列数;仅在规则批次表示中直接使用
d隐藏维度,主线模型为 4096
LTransformer 层数,主线模型为 36
Hq / HkvQuery 头数 / KV 头数,分别为 32 / 8
dh单头维度,128
V模型嵌入与输出维度使用的词表行数,151936
GB / GiB十进制 10⁹ 字节 / 二进制 2³⁰ 字节,不能混用

每章末尾的练习要求读者说明原因,而不只是选出术语。理解本系列的一个检验方法是:给定一个张量,你能指出它的形状、来源、存放位置、生命周期,以及下一步谁会读它。

来源

本文由作者按照 CC BY 4.0 进行授权