knowledge distillation teacher student

大模型蒸馏技术:Teacher-Student 范式详解

知识蒸馏:让小模型继承大模型的智慧 知识蒸馏(Knowledge Distillation)是模型压缩领域最重要的技术之一。通过让小模型(Student)学习大模型(Teacher)的知识,可以在保持接近大模型性能的前提下,大幅减少参数和计算量。本文深入解析蒸馏的原理与实践。 一、知识蒸馏的理论基础 1.1 为什么蒸馏有效 Teacher 模型不仅输出正确答案,还输出软标签(Soft Labels)——包含了类别间的相似性关系。这些"暗知识"(Dark Knowledge)比硬标签包含更多信息: 硬标签 (Hard Label): 猫: 1.0, 狗: 0.0, 汽车: 0.0 → 只告诉你"这是猫" 软标签 (Teacher, T=3): 猫: 0.7, 狗: 0.25, 汽车: 0.05 → 告诉你"这是猫, 但很像狗, 完全不像汽车" → 包含了类别间的关系信息! 1.2 温度参数 Teacher 使用温度 $T$ 平滑输出分布: $$p_i^T = \frac{\exp(z_i / T)}{\sum_j \exp(z_j / T)}$$ 温度越高,分布越平滑,暗知识越明显。常用 $T \in [2, 10]$。 1.3 蒸馏损失函数 $$\mathcal{L} = \alpha \cdot \mathcal{L}{KD} + (1 - \alpha) \cdot \mathcal{L}{CE}$$ ...

2026-06-28 · 4 min · 772 words · 硅基 AGI 探索者
quantization principles int4 gptq awq

大模型量化原理:INT4/INT8/GPTQ/AWQ 的数学基础

量化:让大模型跑在更小的硬件上 大模型量化是将高精度浮点数(FP16/BF16)转换为低精度整数(INT8/INT4)的技术,能大幅减少模型内存占用和推理计算量。2026 年,INT4 量化已成为大模型部署的标配。本文深入解析量化背后的数学原理。 一、量化的数学基础 1.1 均匀量化 量化的核心是将浮点数映射到有限离散值: $$q = \text{round}\left(\frac{x}{s}\right) + z$$ 其中: $x$:原始浮点值 $q$:量化后的整数值 $s$:缩放因子(scale) $z$:零点(zero point) 反量化(恢复浮点值): $$\hat{x} = s \cdot (q - z)$$ 1.2 对称量化 vs 非对称量化 对称量化(Symmetric):$z = 0$,零点固定为 0 $$s = \frac{\max(|x|)}{2^{b-1} - 1}$$ 适用于权重(均值为 0 的正态分布)。 非对称量化(Asymmetric):$z \neq 0$ $$s = \frac{x_{max} - x_{min}}{2^b - 1}$$ $$z = \text{round}\left(-\frac{x_{min}}{s}\right)$$ 适用于激活值(可能偏移,如 ReLU 后全为正)。 对称量化 (INT8): 浮点范围 [-127, 127] → 整数 [-127, 127] x = 0 → q = 0 s = max(|x|) / 127 非对称量化 (INT8): 浮点范围 [xmin, xmax] → 整数 [0, 255] x = 0 → q = z (可能不为 0) s = (xmax - xmin) / 255 1.3 量化误差 量化引入的误差: ...

2026-06-28 · 4 min · 845 words · 硅基 AGI 探索者
llm training pipeline pretrain sft rlhf dpo

大模型训练流程:预训练/SFT/RLHF/DPO 全链路

大模型训练四阶段:从原始语料到对齐智能 大语言模型的训练是一个多阶段的复杂过程。从原始互联网文本到能与人类对齐的智能助手,需要经过预训练、监督微调、人类反馈强化学习(RLHF)和直接偏好优化(DPO)四个阶段。本文将全面解析这条训练链路。 一、训练流程总览 ┌─────────────────────────────────────────────────────────────┐ │ 大模型训练全流程 │ ├─────────────────────────────────────────────────────────────┤ │ │ │ 阶段1: 预训练 (Pre-training) │ │ 输入: 万亿 Token 原始语料 │ │ 目标: Next Token Prediction │ │ 产出: 基座模型 (Base Model) │ │ │ │ 阶段2: 监督微调 (SFT) │ │ 输入: 高质量指令-回复对 (10K-1M) │ │ 目标: 模仿专家回复 │ │ 产出: 指令模型 (Instruct Model) │ │ │ │ 阶段3: 人类反馈强化学习 (RLHF) │ │ 输入: 人类偏好数据 (A > B 对比) │ │ 目标: 最大化人类偏好奖励 │ │ 产出: 对齐模型 (Aligned Model) │ │ │ │ 阶段4: 直接偏好优化 (DPO) │ │ 输入: 同 RLHF 的偏好数据 │ │ 目标: 直接优化策略, 无需奖励模型 │ │ 产出: 进一步优化的对齐模型 │ │ │ └─────────────────────────────────────────────────────────────┘ 二、预训练(Pre-training) 2.1 训练目标 预训练使用Next Token Prediction(NTP)作为训练目标: ...

2026-06-28 · 4 min · 773 words · 硅基 AGI 探索者
ring attention million token context

Ring Attention:百万 Token 上下文的秘密

Ring Attention:突破 GPU 显存墙 当上下文窗口从 4K 扩展到 1M Token 时,单 GPU 的 KV Cache 存储和注意力计算已经无法满足需求。Ring Attention(环形注意力)通过将注意力计算分布到多 GPU,实现了超长上下文的训练和推理。 一、长上下文的挑战 1.1 注意力计算复杂度 标准注意力的计算和显存需求都是 $O(n^2)$: 对于 $n = 1,048,576$(1M Token): 注意力矩阵:$10^{12}$ 元素 = 8 TB(FP16) 单 GPU A100 80GB 显存:只能放下 0.01 的注意力矩阵 即使使用 Flash Attention 减少 HBM 访问,单 GPU 也无法存储完整的注意力矩阵。 1.2 KV Cache 显存需求 每个 Token 需要存储 Key 和 Value 向量。以 DeepSeek V4(MLA 压缩后)为例: $$\text{KV Cache/Token} = 512 \times 2 \times 2 \text{ bytes} = 2 \text{ KB}$$ ...

2026-06-28 · 5 min · 936 words · 硅基 AGI 探索者
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 探索者
鲁ICP备2026018361号