Accelerate 文档
Megatron-LM 工具
并获取增强的文档体验
开始使用
Megatron-LM 工具
MegatronLMPlugin
class accelerate.utils.MegatronLMPlugin
< source >( tp_degree: int = None pp_degree: int = None num_micro_batches: int = None gradient_clipping: float = None sequence_parallelism: bool = None recompute_activations: bool = None use_distributed_optimizer: bool = None pipeline_model_parallel_split_rank: int = None num_layers_per_virtual_pipeline_stage: int = None is_train_batch_min: str = True train_iters: int = None train_samples: int = None weight_decay_incr_style: str = 'constant' start_weight_decay: float = None end_weight_decay: float = None lr_decay_style: str = 'linear' lr_decay_iters: int = None lr_decay_samples: int = None lr_warmup_iters: int = None lr_warmup_samples: int = None lr_warmup_fraction: float = None min_lr: float = 0 consumed_samples: list = None no_wd_decay_cond: typing.Optional[typing.Callable] = None scale_lr_cond: typing.Optional[typing.Callable] = None lr_mult: float = 1.0 megatron_dataset_flag: bool = False seq_length: int = None encoder_seq_length: int = None decoder_seq_length: int = None tensorboard_dir: str = None set_all_logging_options: bool = False eval_iters: int = 100 eval_interval: int = 1000 return_logits: bool = False custom_train_step_class: typing.Optional[typing.Any] = None custom_train_step_kwargs: typing.Optional[dict[str, typing.Any]] = None custom_model_provider_function: typing.Optional[typing.Callable] = None custom_prepare_model_function: typing.Optional[typing.Callable] = None custom_megatron_datasets_provider_function: typing.Optional[typing.Callable] = None custom_get_batch_function: typing.Optional[typing.Callable] = None custom_loss_function: typing.Optional[typing.Callable] = None other_megatron_args: typing.Optional[dict[str, typing.Any]] = None )
参数
- tp_degree (
int
, 默认为None
) — 张量并行度 (Tensor parallelism degree)。 - pp_degree (
int
, 默认为None
) — 流水线并行度 (Pipeline parallelism degree)。 - num_micro_batches (
int
, 默认为None
) — 微批次数 (Number of micro-batches)。 - gradient_clipping (
float
, 默认为None
) — 基于全局 L2 范数的梯度裁剪值 (Gradient clipping value based on global L2 Norm)(0 表示禁用)。 - sequence_parallelism (
bool
, 默认为None
) — 启用序列并行 (Sequence parallelism)。 - recompute_activations (
bool
, 默认为None
) — 启用选择性激活重计算 (Selective activation recomputation)。 - use_distributed_optimizr (
bool
, 默认为None
) — 启用分布式优化器 (Distributed optimizer)。 - pipeline_model_parallel_split_rank (
int
, 默认为None
) — 编码器和解码器应拆分的 rank。 - num_layers_per_virtual_pipeline_stage (
int
, 默认为None
) — 每个虚拟流水线阶段的层数 (Number of layers per virtual pipeline stage)。 - is_train_batch_min (
str
, 默认为True
) — 如果同时指定了 tran 和 eval 数据加载器 (dataloaders),这将决定micro_batch_size
。 - train_iters (
int
, 默认为None
) — 所有训练运行中要训练的总迭代次数 (Total number of samples to train over all training runs)。 请注意,当使用MegatronLMDummyScheduler
时,应提供 train-iters 或 train-samples。 - train_samples (
int
, 默认为None
) — 所有训练运行中要训练的总样本数 (Total number of samples to train over all training runs)。 请注意,当使用MegatronLMDummyScheduler
时,应提供 train-iters 或 train-samples。 - weight_decay_incr_style (
str
, 默认为'constant'
) — 权重衰减增量函数 (Weight decay increment function)。 choices=[“constant”, “linear”, “cosine”]。 - start_weight_decay (
float
, defaults toNone
) — L2 正则化的初始权重衰减系数。 - end_weight_decay (
float
, defaults toNone
) — L2 正则化的运行结束权重衰减系数。 - lr_decay_style (
str
, defaults to'linear'
) — 学习率衰减函数。choices=[‘constant’, ‘linear’, ‘cosine’]。 - lr_decay_iters (
int
, defaults toNone
) — 学习率衰减的迭代次数。如果为 None,则默认为train_iters
。 - lr_decay_samples (
int
, defaults toNone
) — 学习率衰减的样本数。如果为 None,则默认为train_samples
。 - lr_warmup_iters (
int
, defaults toNone
) — 线性预热学习率的迭代次数。 - lr_warmup_samples (
int
, defaults toNone
) — 线性预热学习率的样本数。 - lr_warmup_fraction (
float
, defaults toNone
) — 用于线性预热学习率的 lr-warmup-(iters/samples) 的比例。 - min_lr (
float
, defaults to0
) — 学习率的最小值。调度器将剪裁低于此阈值的值。 - consumed_samples (
List
, defaults toNone
) — 与传递给accelerator.prepare
调用的数据加载器顺序相同的已消耗样本数列表。 - no_wd_decay_cond (
Optional
, defaults toNone
) — 禁用权重衰减的条件。 - scale_lr_cond (
Optional
, defaults toNone
) — 缩放学习率的条件。 - lr_mult (
float
, defaults to1.0
) — 学习率乘数。 - megatron_dataset_flag (
bool
, defaults toFalse
) — 指示数据集格式是否遵循 Megatron-LM 的 Indexed/Cached/MemoryMapped 格式。 - seq_length (
int
, defaults toNone
) — 要处理的最大序列长度。 - encoder_seq_length (
int
, defaults toNone
) — 编码器要处理的最大序列长度。 - decoder_seq_length (
int
, defaults toNone
) — 解码器要处理的最大序列长度。 - tensorboard_dir (
str
, defaults toNone
) — 用于保存 tensorboard 日志的路径。 - set_all_logging_options (
bool
, defaults toFalse
) — 是否设置所有日志记录选项。 - eval_iters (
int
, defaults to100
) — 在验证集/测试集上运行评估验证的迭代次数。 - eval_interval (
int
, defaults to1000
) — 在验证集上运行评估的间隔。 - return_logits (
bool
, defaults toFalse
) — 是否从模型返回 logits。 - custom_train_step_class (
Optional
, defaults toNone
) — 自定义训练步骤类。 - custom_train_step_kwargs (
Optional
, defaults toNone
) — 自定义训练步骤 kwargs。 - custom_model_provider_function (
Optional
, defaults toNone
) — 自定义模型提供函数。 - custom_prepare_model_function (
Optional
, defaults toNone
) — 自定义准备模型函数。 - custom_megatron_datasets_provider_function (
Optional
, defaults toNone
) — 自定义 megatron train_valid_test 数据集提供函数。 - custom_get_batch_function (
Optional
, defaults toNone
) — 自定义获取批次函数。 - custom_loss_function (
Optional
, defaults toNone
) — 自定义损失函数。 - other_megatron_args (
Optional
, defaults toNone
) — 其他 Megatron-LM 参数。请参考 Megatron-LM。
用于 Megatron-LM 的插件,以启用张量、流水线、序列和数据并行性。 还支持选择性激活重计算和优化的融合内核。
MegatronLMDummyScheduler
class accelerate.utils.MegatronLMDummyScheduler
< source >( optimizer total_num_steps = None warmup_num_steps = 0 **kwargs )
Dummy scheduler presents model parameters or param groups, this is primarily used to follow conventional training loop when scheduler config is specified in the deepspeed config file.
MegatronLMDummyDataLoader
class accelerate.utils.MegatronLMDummyDataLoader
< source >( **dataset_kwargs )
Dummy dataloader presents model parameters or param groups, this is primarily used to follow conventional training
AbstractTrainStep
用于批处理、前向传播和损失处理程序的抽象类。
GPTTrainStep
class accelerate.utils.GPTTrainStep
< source >( accelerator args )
GPT 训练步骤类。
BertTrainStep
class accelerate.utils.BertTrainStep
< source >( accelerator args )
Bert 训练步骤类。
T5TrainStep
class accelerate.utils.T5TrainStep
< source >( accelerator args )
T5 训练步骤类。
avg_losses_across_data_parallel_group
accelerate.utils.avg_losses_across_data_parallel_group
< source >( losses )
在数据并行组中平均损失。