read

从 MoE 到 MCP:一篇讲清楚大模型内部机制与工程现实

这几年,大模型的能力像是突然“会思考”了一样。

但如果你拆开看,它们的底层并不神秘:

  • 参数矩阵
  • Attention 机制
  • 前馈网络(FFN)
  • 自回归生成

真正复杂的,是这些结构在工程层面如何扩展、优化,以及在现实系统中如何运行。

这篇文章把整个链条讲清楚:

MoE → Transformer 层结构 → token 生命周期 → 上下文窗口与 KV Cache → 预训练与微调 → 思维链 → RAG → MCP → 向量数据库 → Attention Is All You Need。


一、MoE:参数为什么能变得那么大?

MoE(Mixture of Experts,混合专家模型)的核心思想很简单:

不让模型的所有参数同时参与计算,而是动态选择一部分“专家”参与。

在普通 Transformer 中,每一层的 FFN 只有一组权重矩阵。

而在 MoE 中,这一组 FFN 被复制成多份——每一份叫一个专家。

当一个 token 经过这一层时:

  1. 先通过一个路由器(Router)
  2. 计算它与各专家的匹配分数
  3. 选出 top-k 个专家
  4. 只让这些专家参与计算

这样:

  • 总参数可以非常大(比如 600B+)
  • 但每个 token 实际激活的参数远小于总量

这就是“参数大但计算相对省”的本质。

MoE 动的是 FFN,不动 Attention。


二、Transformer 每一层到底在做什么?

一层 Transformer 做两件事:

1️⃣ Attention —— 让 token 之间交流

每个 token 生成:

  • Q(Query)
  • K(Key)
  • V(Value)

然后计算:

softmax(QK^T) V

本质是:

每个 token 决定该从其他 token 那里获取多少信息。

2️⃣ FFN —— 让每个 token 独立加工

Attention 后,每个 token 已融合上下文。

接着通过两层线性变换(带激活函数):

x → W1 → 激活 → W2

Attention 负责“信息在哪里”。 FFN 负责“信息意味着什么”。


三、从 Prompt 到输出:完整生命周期

模型推理分两阶段:

1️⃣ Tokenize

文本 → token IDs。

2️⃣ Prefill

整段输入一次性跑完整个模型:

  • 建立隐藏表示
  • 建立 KV cache

3️⃣ Decode

逐 token 生成输出:

  • 每生成一个 token
  • 追加到序列末尾
  • 再做一次前向传播

自回归循环,直到 EOS 或 max_tokens。


四、上下文窗口与 KV Cache 的工程现实

上下文长度决定:

一次推理时模型能“看到”的 token 总量上限。

KV Cache 是什么?

在 decode 阶段,模型不会重算历史。

而是缓存每个 token 的:

  • Key
  • Value

这就是 KV cache。

于是:

  • 上下文越长
  • KV cache 越大
  • 显存占用越高

长上下文不只是“能读更多”, 也是“要缓存更多”。


为什么 128k 很贵?

1️⃣ Prefill 成本更高

第一次喂入长文本,需要完整 Attention 计算。

2️⃣ KV cache 更大

序列越长,缓存线性增长。

3️⃣ 远距离依赖变弱

即使没超窗,也不代表利用效果稳定。

要区分:

  • 可容纳长度
  • 有效利用长度

支持 128k ≠ 每个位置都同样容易被引用。


五、预训练、微调与 LoRA

预训练

目标非常简单:

预测下一个 token。

几万亿 token 反复训练,权重矩阵逐渐编码语言与知识。

微调

在预训练模型基础上,用较小数据继续训练。

LoRA

不直接改原权重,而是添加低秩矩阵补丁。

W = W_original + A × B

优点:

  • 参数少
  • 训练快
  • 可随时加载卸载

六、思维链:为什么模型看起来“会思考”?

思维链(Chain of Thought)的本质:

用生成的 token 作为外部草稿纸。

每生成一个 token,模型就获得一次完整前向传播。

写出中间步骤,相当于增加推理轮次。

更长的推理 = 更多计算 = 更高成本。


七、RAG:模型不再只靠权重

RAG = Retrieval-Augmented Generation。

流程:

  1. 把问题转为向量
  2. 在向量数据库中找最相关文档
  3. 把文档塞进 prompt
  4. 模型基于这些生成回答

本质:

让模型开卷考试。


八、MCP 与工具调用

模型仍然只做一件事:

预测下一个 token。

当它输出结构化工具调用文本时:

  • 引擎拦截
  • 执行工具
  • 返回结果
  • 再继续生成

模型没有变聪明, 只是被赋予了“手”。

Claude Code 本质也是同一机制:

  • read_file
  • write_file
  • bash

模型输出文本,系统负责执行。


九、向量数据库的意义

Embedding 把文本变成向量。

语义相近 → 向量距离近。

向量数据库的作用:

在高维空间中快速找到“最相似”的文本。

它是 RAG 的基础设施。


十、Attention Is All You Need

2017 年论文提出:

不需要 RNN,只用 Attention。

优势:

  • 完全并行
  • 任意距离 token 可直接交互

这为大模型规模扩张铺平了道路。


最后一句话

上下文长度回答的是:

能装多少。

不直接回答:

能看多好。

模型的“智能”,不是魔法。

是:

  • 大规模矩阵
  • Attention 机制
  • 工程优化
  • 外部工具协作

组合后的结果。

理解结构,比迷信神秘更重要。

Blog Logo

勒西


Published

Image

Mind Defy

科技新闻 | 技术博客 | 哲学与AI | 投资金融

Back to Overview