continuous batching vllm

连续批处理:vLLM 高吞吐推理的核心技术

连续批处理:推理吞吐的范式革命 在 LLM 推理系统中,如何高效处理并发请求是决定服务成本的核心问题。连续批处理(Continuous Batching)配合 PagedAttention,让 vLLM 实现了比传统推理框架高 5-20 倍的吞吐量。本文深入解析这项技术的原理与工程实现。 一、批处理的演进 1.1 静态批处理(Static Batching) 最简单的批处理方式:等待凑齐一批请求,然后一起推理,直到所有请求完成。 ┌────────────────────────────────────────────────────┐ │ 静态批处理 │ ├────────────────────────────────────────────────────┤ │ │ │ 时间→ 0 1 2 3 4 5 6 7 │ │ │ │ Req1 [G][G][G][G][G][D] ✓ │ │ Req2 [G][G][G][G][G][G][G][G] ✓ │ │ Req3 [G][G][D] ✓ │ │ Req4 [G][G][G][G][G][G][G][D] ✓ │ │ │ │ G=生成, D=完成(停止生成) │ │ │ │ 问题: Req3 在 t=2 就完成了, │ │ 但要等 Req2 到 t=7 整批才结束 │ │ GPU 利用率: ~35% │ └────────────────────────────────────────────────────┘ 核心问题:Padding 浪费 + 等待浪费。不同请求长度差异大,短请求要等长请求完成。 ...

2026-06-28 · 6 min · 1258 words · 硅基 AGI 探索者
speculative decoding principles

投机解码原理:Draft Model 如何加速推理

投机解码:用小模型的"猜测"加速大模型 大模型推理的最大瓶颈是自回归生成的串行性——每生成一个 Token,都需要完整的前向传播。投机解码(Speculative Decoding)通过引入一个小型 Draft Model 来"猜测"多个 Token,再由大模型并行验证,打破了这一串行瓶颈。 一、标准推理的瓶颈 1.1 自回归推理 标准自回归推理中,生成 $N$ 个 Token 需要 $N$ 次串行前向传播: 步骤1: [prompt] → 大模型 → token_1 步骤2: [prompt, token_1] → 大模型 → token_2 步骤3: [prompt, token_1, token_2] → 大模型 → token_3 ... 步骤N: [prompt, token_1, ..., token_{N-1}] → 大模型 → token_N 总延迟 = N × 单步前向延迟 每次前向传播只生成 1 个 Token,但需要计算所有参数。对于 70B 模型,单步前向约 30ms,生成 1000 个 Token 需要约 30 秒。 1.2 为什么不能并行 自回归的数学约束: ...

2026-06-28 · 5 min · 938 words · 硅基 AGI 探索者
moe architecture evolution

MoE 混合专家架构:从 Mixtral 到 DeepSeek V4 的演进

MoE:用稀疏激活突破参数效率极限 混合专家(Mixture of Experts, MoE)架构是 2024-2026 年大模型领域最重要的架构创新。它让模型在不增加推理计算量的前提下大幅扩展参数量,实现了"大模型的能力,小模型的速度"。本文将从原理到工程,全面解析 MoE 的演进。 一、MoE 基本原理 1.1 稀疏激活的核心思想 标准 Transformer 中,每个 Token 都通过所有参数计算(密集激活)。MoE 则让每个 Token 只激活部分参数(稀疏激活): $$\text{MoE}(x) = \sum_{i \in \text{TopK}(G(x))} G(x)_i \cdot E_i(x)$$ 其中: $G(x) = \text{softmax}(W_g \cdot x)$ 是路由器(Gate/Router) $\text{TopK}(G(x))$ 选择概率最高的 $K$ 个专家 $E_i(x)$ 是第 $i$ 个专家的输出 ┌─────────────────────────────────────────────────────┐ │ MoE 层结构 │ ├─────────────────────────────────────────────────────┤ │ │ │ Input x ──► Router G(x) ──► Top-K 选择 │ │ │ │ │ ┌─────┬─────┬─────┬───┴───┐ │ │ │ │ │ │ │ │ │ ▼ ▼ ▼ ▼ ▼ │ │ ┌────┐┌────┐┌────┐┌────┐ ┌────┐ │ │ │ E1 ││ E2 ││ E3 ││ E4 │...│En │ │ │ │FFN ││FFN ││FFN ││FFN │ │FFN│ │ │ └─┬──┘└─┬──┘└─┬──┘└─┬──┘ └─┬─┘ │ │ │ │ │ │ │ │ │ │ g1 │ g2 │ g3 │ │ │ │ │ │ │ │ │ │ │ └─────┴──┬──┴─────┴───────┘ │ │ │ │ │ ▼ │ │ Σ gi · Ei(x) = Output │ │ │ └─────────────────────────────────────────────────────┘ 1.2 为什么 MoE 有效 MoE 的优势在于参数解耦: ...

2026-06-28 · 5 min · 869 words · 硅基 AGI 探索者
flash attention 3 principles

Flash Attention 3 原理:GPU 内存层次的最优利用

Flash Attention 3:让 GPU 跑满的注意力计算 Flash Attention 系列是近年来大模型工程领域最重要的优化之一。从 Flash Attention 1 到 3,每代都在逼近 GPU 硬件的理论极限。2026 年,Flash Attention 3 已经成为所有主流大模型推理和训练的标配。本文将深入解析其原理。 一、问题:标准注意力的内存瓶颈 1.1 GPU 内存层次 现代 GPU(如 H100)有复杂的内存层次: ┌─────────────────────────────────────────────┐ │ GPU 内存层次 │ ├─────────────────────────────────────────────┤ │ │ │ ┌─────────┐ 延迟: ~20 cycles │ │ │Register │ 带宽: ~30 TB/s │ │ │(SRAM) │ 容量: 256 KB/SM │ │ └─────────┘ │ │ ↑ │ │ ┌─────────┐ 延迟: ~200 cycles │ │ │L2 Cache │ 带宽: ~12 TB/s │ │ │ │ 容量: 50 MB │ │ └─────────┘ │ │ ↑ │ │ ┌─────────┐ 延迟: ~400+ cycles │ │ │ HBM │ 带宽: ~3.35 TB/s (H100) │ │ │(显存) │ 容量: 80 GB │ │ └─────────┘ │ │ │ └─────────────────────────────────────────────┘ 关键洞察:HBM 带宽只有 SRAM 的 1/9,但标准注意力几乎完全在 HBM 上操作。 ...

2026-06-28 · 5 min · 1016 words · 硅基 AGI 探索者
kv cache principles

KV Cache 原理详解:为什么它决定了推理速度

KV Cache:大模型推理的内存瓶颈 如果说 Transformer 架构决定了一个模型的智力上限,那么 KV Cache 就决定了它在实际应用中的性能下限。在 2026 年,KV Cache 已经成为大模型推理系统最核心的优化对象——理解它,是掌握大模型工程的第一课。 一、什么是 KV Cache 1.1 问题:为什么需要缓存 在 Transformer 的自回归推理中,生成第 $t$ 个 Token 时需要计算它与之前所有 Token 的注意力: $$\text{Attention}(q_t, K_{1:t}, V_{1:t}) = \text{softmax}\left(\frac{q_t K_{1:t}^T}{\sqrt{d_k}}\right) V_{1:t}$$ 注意:$K_{1:t}$ 和 $V_{1:t}$ 包含了从第 1 到第 $t$ 个位置的 Key 和 Value。 如果没有缓存:每生成一个新 Token,都需要重新计算所有历史 Token 的 $K$ 和 $V$,这导致了 $O(t^2)$ 的重复计算。 有了缓存:只需计算当前 Token 的 $q_t$,从缓存中读取 $K_{1:t-1}$ 和 $V_{1:t-1}$,再计算新的 $k_t, v_t$ 并追加到缓存。 ┌─────────────────────────────────────────────┐ │ 自回归推理第 t 步 │ ├─────────────────────────────────────────────┤ │ │ │ 无缓存: X_1..t → 全部重新计算 → Y_t │ │ (计算量: O(t)) │ │ │ │ 有缓存: X_t → Q_t ───────────→ Y_t │ │ ↑ │ │ KV Cache (K_1..t-1, V_1..t-1) │ │ (计算量: O(1)) │ │ │ └─────────────────────────────────────────────┘ 1.2 KV Cache 的存储内容 每个 Transformer 层、每个 Token 需要存储: ...

2026-06-28 · 4 min · 851 words · 硅基 AGI 探索者
tokenizer principles and practice

分词器原理与工程实践:BPE vs SentencePiece vs Unigram

分词器:大模型的语言基础 分词器(Tokenizer)是大语言模型的第一个组件,决定了文本如何被切分为 Token。分词质量直接影响模型的词汇覆盖、多语言能力、编码效率乃至推理速度。本文深入解析 2026 年主流分词算法的原理与实践。 一、为什么分词很重要 1.1 分词的核心目标 高覆盖率:能处理任何输入文本,不出现 UNK(未知 Token) 高压缩率:用尽可能少的 Token 表示文本(降低推理成本) 语义一致性:语义相关的词切分为相似的 Token 序列 多语言支持:公平对待不同语言 可逆性:Token 序列可以无损还原为文本 1.2 分词对模型性能的影响 分词器直接影响: 训练效率:更少的 Token = 更短的序列 = 更快的训练 推理速度:输出 100 个 Token 比输出 200 个 Token 快一倍 多语言公平性:中文如果压缩率低于英文,同等参数下中文能力更弱 代码能力:代码中的缩进、特殊符号需要合理切分 实测数据:同一段中文文本,GPT-4 的分词器用 120 Token,而 Llama 2 用 280 Token——这意味着 Llama 2 处理中文的成本是 GPT-4 的 2.3 倍。 二、BPE(Byte Pair Encoding) 2.1 算法原理 BPE 从字符级别开始,迭代合并最高频的相邻 Token 对: 初始词表: a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z, ... 训练语料统计: "low" : 5次 "lower" : 2次 "newest" : 6次 "widest" : 3次 第1轮: 合并 'e','s' → 'es' (出现9次) low, lower, n[es]t, wid[es]t 第2轮: 合并 'es','t' → 'est' (出现9次) low, lower, n[est], wid[est] 第3轮: 合并 'l','o' → 'lo' (出现7次) [lo]w, [lo]wer, n[est], wid[est] ... 直到词表大小达到目标 2.2 数学描述 给定训练语料 $\mathcal{D}$,初始词表为所有字符。每轮选择使以下目标最大化的合并对 $(a, b)$: ...

2026-06-28 · 4 min · 645 words · 硅基 AGI 探索者
positional encoding comparison

位置编码深度对比:RoPE vs ALiBi vs NoPE 实测分析

位置编码:让模型理解顺序的关键 Transformer 架构本身是置换不变的(permutation-invariant),这意味着如果没有位置编码,模型无法区分 “我吃苹果” 和 “苹果吃我”。位置编码为序列注入位置信息,是理解文本顺序和层级结构的关键。 本文深入对比 2026 年主流的三种位置编码方案:RoPE(旋转位置编码)、ALiBi(注意力线性偏置)、以及 NoPE(无显式位置编码),通过数学推导和实测数据揭示它们的长文本外推能力。 一、位置编码的设计目标 好的位置编码应满足: 唯一性:每个位置有唯一的表示 位置关系可推导:模型能学习到相对位置关系(如"第5个词距离第2个词3个位置") 外推能力:在训练时未见过的长度上仍能工作 计算效率:不显著增加计算开销 与注意力机制兼容:不破坏注意力的数学性质 二、RoPE(旋转位置编码) 2.1 数学原理 RoPE 的核心思想是将位置信息编码为旋转操作。对于位置 $m$ 的 Query 和位置 $n$ 的 Key,注意力分数为: $$\text{Attn}(q_m, k_n) = \text{Re}(q_m k_n^*) = \text{Re}(r_m e^{im\theta} \cdot r_n e^{-in\theta})$$ 关键性质:相对位置 $m - n$ 决定旋转角度差,因此 RoPE 自然编码了相对位置: $$q_m^T k_n = f(m - n)$$ 2.2 实现细节 # RoPE 伪代码 def apply_rotary_pos_emb(x, pos, theta=10000): """ x: [seq_len, dim] pos: [seq_len] 位置索引 theta: 基础频率 """ # 将维度分成 pairs dim = x.shape[-1] freqs = 1.0 / (theta ** (torch.arange(0, dim, 2) / dim)) angles = pos[:, None] * freqs[None, :] # 应用旋转 cos, sin = angles.cos(), angles.sin() x_rot = rotate_half(x) return x * cos + x_rot * sin 2.3 外推挑战与解决方案 RoPE 的外推能力受限于训练时的最大长度。如果训练长度为 4096,推理时扩展到 128K 会导致: ...

2026-06-28 · 3 min · 559 words · 硅基 AGI 探索者
attention mechanisms panorama

注意力机制全景解析:Self/Cross/Multi-Query/Latent Attention

注意力机制:大模型的认知引擎 注意力机制是大语言模型的核心组件,决定了模型如何"关注"输入信息。经过多年发展,注意力机制已从最初的 Self-Attention 衍生出多种变体,每种都针对特定瓶颈进行了优化。本文将从数学原理到工程实现,全面解析 2026 年主流的注意力机制。 一、Self-Attention(自注意力) 1.1 数学定义 Self-Attention 是 Transformer 的基础操作。给定输入序列 $X \in \mathbb{R}^{n \times d}$,通过三个投影矩阵生成 Query、Key、Value: $$Q = X W_Q, \quad K = X W_K, \quad V = X W_V$$ 注意力输出为: $$\text{Attn}(Q, K, V) = \text{softmax}\left(\frac{QK^T}{\sqrt{d_k}}\right)V$$ 其中缩放因子 $\sqrt{d_k}$ 防止内积过大导致 softmax 饱和。 1.2 多头注意力(Multi-Head Attention) 多头机制让模型在不同子空间中关注不同模式: $$\text{MHA}(X) = \text{Concat}(\text{head}_1, \ldots, \text{head}_h) W_O$$ $$\text{head}_i = \text{Attention}(XW_Q^i, XW_K^i, XW_V^i)$$ 每个头的维度 $d_k = d_{model} / h$。例如 Llama 3-70B 中,$d_{model} = 8192$, $h = 64$, $d_k = 128$。 ...

2026-06-28 · 4 min · 779 words · 硅基 AGI 探索者
transformer architecture 2026 evolution

Transformer 架构 2026 最新演进:从 Attention 到 MoE 再到 Mamba

引言:Transformer 的统治与挑战 自 2017 年 Google 提出 Transformer 架构以来,它已经统治了自然语言处理乃至整个深度学习领域长达九年。然而到了 2026 年,随着模型规模扩展到万亿参数、上下文窗口增长到百万 Token,原始 Transformer 架构的局限性日益凸显:注意力机制的 $O(n^2)$ 复杂度、推理时 KV Cache 的巨大内存开销、以及训练算力墙的逼近,都在倒逼架构创新。 本文将系统梳理 2026 年 Transformer 架构的三大演进方向:注意力机制优化、混合专家架构(MoE)的成熟、以及以 Mamba 为代表的状态空间模型(SSM)的崛起。 一、注意力机制的进化谱系 1.1 标准 Self-Attention 回顾 标准多头自注意力机制的核心计算为: $$\text{Attention}(Q, K, V) = \text{softmax}\left(\frac{QK^T}{\sqrt{d_k}}\right)V$$ 其中 $Q \in \mathbb{R}^{n \times d_k}$, $K \in \mathbb{R}^{n \times d_k}$, $V \in \mathbb{R}^{n \times d_v}$。其计算复杂度为 $O(n^2 \cdot d)$,空间复杂度同样为 $O(n^2)$,这在长序列场景下成为瓶颈。 1.2 2026 年的注意力新范式 ┌─────────────────────────────────────────────────┐ │ 注意力机制演进谱系 (2026) │ ├─────────────────────────────────────────────────┤ │ │ │ Standard MHA ──► Multi-Query (MQA) │ │ │ │ │ │ │ ▼ │ │ │ Grouped-Query (GQA) │ │ │ │ │ │ │ ▼ │ │ ▼ Latent Attention │ │ Linear Attention │ │ │ │ │ │ ▼ ▼ │ │ Flash Attention 3 Ring Attention │ │ (GPU优化) (分布式) │ └─────────────────────────────────────────────────┘ Latent Attention(潜注意力) 是 2025-2026 年最重要的架构创新之一,由 DeepSeek V3 首先大规模验证。其核心思想是将 Key 和 Value 压缩到低秩潜在空间: ...

2026-06-28 · 3 min · 611 words · 硅基 AGI 探索者
edge ai 2026 mobile iot automotive large models

边缘 AI 2026:手机/IoT/汽车上的大模型

2026 年,AI 正在经历从"云端"到"边缘"的大规模迁移。当 2024-2025 年的 AI 讨论主要集中在"云端有多么强大的模型"时,2026 年的重心转向了"如何在用户的设备上运行这些模型"。 这一转变的驱动力来自多个方面:隐私保护(数据不出设备)、延迟要求(实时响应无需网络)、成本优化(云端推理成本可控)和离线可用(无网络覆盖场景)。据 ABI Research 预测,2026 年全球边缘 AI 芯片出货量达到 12 亿颗,市场规模达 $55B。 本文将全面分析大模型在手机、IoT 设备和汽车三大场景中的部署进展。 一、手机端侧 AI:从"AI 手机"到"手机 AI" 技术突破 芯片能力飞跃。 2026 年的旗舰手机 SoC(骁龙 9 Gen 4、天玑 9500、A19 Bionic)普遍集成了独立的 AI 引擎,NPU 算力达到 50-100 TOPS。这使得 7B 参数的模型可以在手机上以实用速度运行(每秒 15-30 token)。 模型压缩技术的成熟。 2026 年是模型压缩技术取得显著突破的一年: 4-bit 量化成为手机端模型的标准配置,将模型大小压缩 75% 且性能损失控制在 2% 以内 蒸馏技术使得 3B-7B 的端侧模型保留了 90%+ 的原始大模型能力 稀疏激活(如混合专家架构)使得每次推理只激活 1/4 的参数量,大幅降低功耗 缓存技术使得常用推理路径可以提前准备,响应速度提升 5 倍 操作系统原生支持。 2026 年的 iOS 19 和 Android 16 都内置了端侧 AI 能力: ...

2026-06-28 · 3 min · 590 words · 硅基 AGI 探索者
鲁ICP备2026018361号