Pytorch分布式训练/多卡训练(六) —— Expert Parallelism (MoE的特殊策略)

MoE 区别于传统的 Transformer 是其参数分布极为不均

复制代码
传统Transformer (175B GPT-3):
├─ 96层,每层参数量相近
├─ Layer 1: 1.8B参数
├─ Layer 2: 1.8B参数
├─ ...
└─ Layer 96: 1.8B参数
特点:参数分布均匀 ✅

MoE模型 (Switch Transformer-1.6T):
├─ Embedding: 1B参数
├─ Layer 1 (标准Attention): 1B参数
├─ Layer 2 (MoE层): 128B参数!⚠️
│   ├─ 64个Expert,每个2B参数
│   └─ 路由器:0.01B参数
├─ Layer 3 (标准Attention): 1B参数
├─ Layer 4 (MoE层): 128B参数!⚠️
├─ ...
└─ Layer 32 (MoE层): 128B参数
特点:参数分布极不均匀!❌

如果使用 ZeRO-3,当计算的时候all-gather 所有模型参数,如果 expert 数量很多,例如 64 个,那么总显存可能带 256G, 远超一个 GPU所能承载的

Expert Parallelism

核心思想

Expert并行 (EP):

  • 不同GPU负责不同的Expert

  • 只加载被本GPU负责的Expert参数

  • Token根据路由结果发送到对应GPU

    配置:EP=64(64个GPU,每个负责1个Expert)

    参数分配:
    ├─ GPU 0: Expert 0 (2GB)
    ├─ GPU 1: Expert 1 (2GB)
    ├─ GPU 2: Expert 2 (2GB)
    ├─ ...
    └─ GPU 63: Expert 63 (2GB)

    每个GPU显存占用:

    • Expert参数:2GB(只有1个Expert)✅
    • 共享层参数:1GB(Attention等)
    • 激活值:根据收到的token数量
相关推荐
没事勤琢磨2 小时前
如何让 OpenClaw 控制使用浏览器:让 AI 像真人一样操控你的浏览器
人工智能
用户5191495848452 小时前
CrushFTP 认证绕过漏洞利用工具 (CVE-2024-4040)
人工智能·aigc
牛马摆渡人5282 小时前
OpenClaw实战--Day1: 本地化
人工智能
前端小豆2 小时前
玩转 OpenClaw:打造你的私有 AI 助手网关
人工智能
BugShare2 小时前
写一个你自己的Agent Skills
人工智能·程序员
机器之心3 小时前
英伟达护城河被AI攻破,字节清华CUDA Agent,让人人能搓CUDA内核
人工智能·openai
后端小肥肠4 小时前
公众号躺更神器!OpenClaw+Claude Skill 实现自动读对标 + 写文 + 配图 + 存入草稿箱
人工智能·aigc·agent
爱可生开源社区4 小时前
SCALE | 重构 AI 时代数据库能力的全新评估标准
人工智能
Jahzo4 小时前
openclaw本地化部署体验与踩坑记录--飞书机器人配置
人工智能·开源
Narrastory4 小时前
明日香 - Pytorch 快速入门保姆级教程(一)
人工智能·pytorch·深度学习