DeepSpeed配置参数 - 快速上手
DeepSpeed是微软发布的用于PyTorch的开源深度学习优化库。其主要特性是:
- 异构计算:ZeRO-Offload 机制同时利用 CPU 和 GPU 内存,使得在 GPU 单卡上训练 10 倍大的模型;
- 计算加速:Sparse Attention kernel技术,支持的输入序列更长(10倍),执行速度更快(6倍),且保持精度;
- 3D并行: 在多个 worker 之间,划分模型的各个层,借用了英伟达的 Megatron-LM,减少显存的使用量
官方文档:https://deepspeed.readthedocs.io/en/latest/
配置参数文档:https://www.deepspeed.ai/docs/config-json/
这里针对几组重要的参数进行说明:
batch Size
train_batch_size = train_micro_batch_size_per_gpu * gradient_accumulation * number of GPUs.
// 训练批次的大小 = 每个GPU上的微批次大小 * 几个微批次 * 几个GPU
optimizer
type:支持的有Adam, AdamW, OneBitAdam, Lamb, and OneBitLamb
其中常规的例子里用的是AdamW,也就是带L2正则化的Adam
params:参数字段填和torch里一样的参数
例如AdamW可以参考https://pytorch.org/docs/stable/optim.html#torch.optim.AdamW
// example:
"optimizer": {
"type": "AdamW",
"params": {
"lr": 3e-5,
"betas": [0.8, 0.999],
"