本次查询:Model Sharding
中文解释:模型分片
常见场景:大模型训练与推理
一句话解释
Model Sharding(模型分片)将大语言模型的参数按层或张量切分成多个小块,分散存储在多个GPU上,各GPU只计算自己负责的部分,通过通信交换中间结果完成整体训练或推理。
为什么会被关注
随着GPT-4、Llama 3等模型参数规模突破百亿甚至千亿,单块GPU显存(通常24~80GB)完全装不下整个模型。模型分片让训练超大模型成为可能,同时降低了单卡显存需求,使得更多开发者能用多卡集群进行模型训练和微调。
核心逻辑
核心是“切分+通信”。将模型参数、梯度或优化器状态均匀分配到多个设备,每个设备仅持有自己的分片并计算对应部分;前向与反向传播时通过All-Reduce等通信操作汇总梯度,从而保持全局模型一致性。典型实现如PyTorch FSDP和DeepSpeed ZeRO,它们自动完成分片与同步。
常见场景
常用于大模型预训练(如训练130亿参数模型需8卡A100)、单机多卡微调(如用4张RTX 4090微调Llama 2-70B),以及推理时模型并行(将大模型分片到多GPU加载以降低单卡显存压力)。也可结合数据并行进一步提升吞吐。
容易混淆的点
容易与“数据并行”混淆:数据并行是每张卡复制完整模型,分batch计算不同数据;模型分片则是将模型本身切分,每卡只存一部分。相比数据并行,模型分片显存节约更明显,但通信开销更大。也不同于“流水线并行”(按模型层分段),模型分片可跨层任意分配,灵活性更高。
