Mixture of Experts (MoE):用大模型的智能,花小模型的钱
MoE(混合专家模型)是2024年最热门的模型架构。GPT-4、Mixtral 8x7B、DeepSeek-V2都用了MoE。核心思想:不是所有参数都参与每次计算,只激活一部分专家。
类比:医院会诊。一个病人来了,不需要全院1000个医生都看。只需要根据症状,激活3-5个相关科室的专家。 MoE就像这样:每次输入,只路由到最相关的几个专家网络。
MoE架构:
输入 → 路由器(Router) → 选择Top-k专家 → 专家网络(Expert) → 加权聚合 → 输出 路由器:一个小网络,决定激活哪些专家 专家网络:多个并行的FFN(前馈网络),每个处理不同方面 Top-k:通常k=2,每次只激活2个专家(如8个专家中选2个)
参数效率:
Mixtral 8x7B: - 总参数量:46.7B(8个专家,每个7B) - 激活参数量:12.9B(每次只激活2个专家) - 性能:接近70B密集模型 - 推理速度:比70B模型快得多(因为只计算12.9B参数)
MoE的优势与挑战:
| 特性 | 优势 | 挑战 |
|---|---|---|
| 参数效率 | 总参数多,激活少 | 内存仍需存储所有参数 |
| 推理速度 | 比同性能密集模型快 | 专家切换有开销 |
| 专业化 | 不同专家学不同领域 | 负载均衡难 |
| 扩展性 | 增加专家几乎线性提升 | 通信开销增加 |
参数表:
| 参数 | 含义 | 典型值 | 太大/太小 |
|---|---|---|---|
| num_experts | 专家数量 | 8~64 | 太多→路由难;太少→不专业 |
| top_k | 每次激活专家数 | 2~4 | 太多→效率低;太少→信息丢失 |
| capacity_factor | 容量因子 | 1.0~1.5 | 太高→浪费;太低→丢弃token |
长上下文:从4K到1M的突破
上下文长度是LLM最重要的能力之一。4K上下文能读一篇论文,128K能读一本书,1M能读一个代码库。
上下文长度演进:
GPT-3 (2020): 2,048 tokens GPT-3.5 (2022): 4,096 tokens GPT-4 (2023): 8,192 / 32,768 tokens Claude 2.1 (2023): 200,000 tokens Gemini 1.5 Pro (2024): 1,000,000 tokens (1M!) Claude 3 Opus (2024): 200,000 tokens Kimi (2024): 200,000 tokens
为什么长上下文难?
1. 计算复杂度:Attention机制的复杂度是O(N²),N=token数。4K上下文 = 1600万次计算,1M上下文 = 1万亿次计算(62500倍!)。
2. 内存占用:1M上下文,每个token存KV Cache。假设d=4096,FP16:1M × 4096 × 2字节 × 2(K+V) = 16.4GB。仅KV Cache就16GB!
3. 注意力稀释:序列太长,注意力分数被稀释,远处的token难以关注到。
长上下文解决方案:
- 稀疏注意力:只计算部分位置的注意力。如:局部注意力(只看附近token)、滑动窗口(看左右各W个token)、Longformer(组合局部+全局注意力)
- 线性注意力:把O(N²)降到O(N)。如:Linear Attention、Performer、RWKV。
- 外推(Extrapolation):在短上下文训练,用技术扩展到长上下文。如:ALiBi(位置编码)、RoPE扩展(位置插值)、NTK-aware扩展。
- Ring Attention:把长序列分成多个块,在多个GPU上并行计算注意力。
- 内存优化:KV Cache压缩(量化、剪枝)、FlashAttention(IO感知优化)。
参数表:
| 参数 | 含义 | 典型值 | 太大/太小 |
|---|---|---|---|
| context_length | 最大上下文长度 | 4K~1M | 太长→计算爆炸;太短→信息不足 |
| sliding_window | 滑动窗口大小 | 512~4096 | 太大→不稀疏;太小→丢失远处信息 |
| global_tokens | 全局注意力token数 | 16~128 | 太少→全局信息不足 |
世界模型与具身智能:AI理解物理世界
世界模型(World Model):AI学习理解物理世界的规律。知道重力让物体下落,知道水往低处流,知道球会反弹。这是通用人工智能(AGI)的关键。
类比:婴儿的学习。婴儿通过观察世界、互动、试错,建立对物理世界的直觉。世界模型就是AI的“直觉物理”。
世界模型代表工作:
- Sora (OpenAI, 2024):视频生成模型,但展现出对物理世界的理解(物体 permanence、碰撞、流体)。
- GAIA-1 (Wayve, 2023):自动驾驶世界模型,能预测未来交通场景。
- Genie (Google DeepMind, 2024):从视频训练世界模型,可以控制虚拟环境。
- JEPA (LeCun, 2023):联合嵌入预测架构,通过预测世界来学习。
具身智能(Embodied AI):AI有身体,能在物理世界中行动。不是只存在于服务器里,而是有机器人身体,能感知、行动、学习。
具身智能的挑战:
1. 感知:摄像头、触觉、力觉 → 多模态融合 2. 行动:精确控制机械臂、行走、抓取 3. 安全:不能伤害人类、不能破坏环境 4. 泛化:在实验室训练的模型,能否在真实家庭工作? 5. 实时:机器人需要毫秒级响应,但LLM推理需要秒级
具身智能代表:
| 系统 | 公司 | 特点 |
|---|---|---|
| Figure 01 | Figure AI | 人形机器人,OpenAI合作 |
| Optimus (擎天柱) | Tesla | 工厂场景,大规模量产计划 |
| Atlas | Boston Dynamics | 极致运动能力,液压驱动 |
| RT-2 | Google DeepMind | 视觉-语言-动作端到端 |
参数表:
| 参数 | 含义 | 典型值 | 太大/太小 |
|---|---|---|---|
| observation_freq | 感知频率 | 30~60Hz | 太低→反应慢;太高→计算压力大 |
| action_dim | 动作空间维度 | 7~50 | 太少→不够灵活;太多→难学习 |
| sim2real_gap | 仿真到现实差距 | 越小越好 | 太大→仿真训练无效 |
练习:前沿探索
Q1:MoE相比密集模型,核心优势是什么?为什么说MoE“用大模型的智能,花小模型的钱”?
Q2:Attention复杂度是O(N²)。如果上下文从4K扩展到1M,计算量增加了多少倍?为什么长上下文这么难?
Q3:世界模型和具身智能有什么关系?为什么LeCun认为世界模型是通往AGI的关键?
Q4:MoE的负载均衡问题是什么?如果所有token都路由到同一个专家,会怎样?
Q5:设计一个MoE架构:8个专家,每个7B参数,top_k=2。计算总参数量、激活参数量、推理时计算量相对于70B密集模型的比例。
查看答案
A1:MoE核心优势:1.参数效率高——总参数多(如46.7B),但每次只激活少量(如12.9B),性能接近70B密集模型;2.推理速度快——因为计算量小;3.专业化——不同专家学不同领域。“用大模型的智能,花小模型的钱”:训练时用大数据训大模型,推理时只计算小模型大小的参数。
A2:4K=4000, 1M=1,000,000。计算量增加=(1M/4K)²=(250)²=62,500倍。长上下文难因为:1.计算量爆炸;2.内存占用巨大(KV Cache);3.注意力稀释(远处token难以关注)。
A3:世界模型是AI理解物理世界的规律,具身智能是AI有身体在物理世界中行动。两者关系:具身智能需要世界模型来理解环境,世界模型可以通过具身交互来学习和验证。LeCun认为人类智能的核心是世界模型——我们时刻在预测世界的状态,规划行动。纯语言模型缺少这种“物理直觉”。
A4:负载均衡问题:如果所有token都路由到同一个专家,其他专家不被训练,浪费参数。解决方案:1.辅助损失函数(auxiliary loss)鼓励均匀分布;2.容量限制(capacity factor)每个专家最多处理一定数量的token;3.噪声注入(Noisy Top-k)给路由分数加噪声。
A5:总参数量=8×7B=56B(加上路由器等,约46.7B,如Mixtral)。激活参数量=2×7B=14B(加上共享参数,约12.9B)。推理计算量≈14B/70B=20%。即MoE推理只需密集模型20%的计算量,但性能接近。