Accelerate documentation
Utilidades de Megatron-LM
Utilidades de Megatron-LM
MegatronLMPlugin
clase accelerate.utils.MegatronLMPlugin
< source >( tp_degree: int = Nonepp_degree: int = Noneuse_custom_fsdp: bool = Noneoverlap_cpu_optimizer_d2h_h2d: bool = Noneno_load_optim: bool = Noneeod_mask_loss: bool = Noneno_save_optim: bool = Noneoptimizer_cpu_offload: bool = Noneuse_precision_aware_optimizer: bool = Nonedecoder_last_pipeline_num_layers: int = Nonerecompute_granularity: str = Nonerecompute_method: str = Nonerecompute_num_layers: int = Noneattention_backend: bool = Noneexpert_model_parallel_size: int = Nonecontext_parallel_size: int = Noneattention_dropout: float = Nonehidden_dropout: float = Noneattention_softmax_in_fp32: bool = Noneexpert_tensor_parallel_size: int = Nonecalculate_per_token_loss: bool = Noneuse_rotary_position_embeddings: bool = Nonenum_micro_batches: int = Nonegradient_clipping: float = Nonesequence_parallelism: bool = Nonerecompute_activations: bool = Noneuse_distributed_optimizer: bool = Nonepipeline_model_parallel_split_rank: int = Nonenum_layers_per_virtual_pipeline_stage: int = Noneis_train_batch_min: str = Truetrain_iters: int = Nonetrain_samples: int = Noneweight_decay_incr_style: str = 'constant'start_weight_decay: float = Noneend_weight_decay: float = Nonelr_decay_style: str = 'linear'lr_decay_iters: int = Nonelr_decay_samples: int = Nonelr_warmup_iters: int = Nonelr_warmup_samples: int = Nonelr_warmup_fraction: float = Nonemin_lr: float = 0consumed_samples: list = Noneno_wd_decay_cond: typing.Callable | None = Nonescale_lr_cond: typing.Callable | None = Nonelr_mult: float = 1.0megatron_dataset_flag: bool = Falseseq_length: int = Noneencoder_seq_length: int = Nonedecoder_seq_length: int = Nonetensorboard_dir: str = Noneset_all_logging_options: bool = Falseeval_iters: int = 100eval_interval: int = 1000return_logits: bool = Falsecustom_train_step_class: typing.Any | None = Nonecustom_train_step_kwargs: dict[str, typing.Any] | None = Nonecustom_model_provider_function: typing.Callable | None = Nonecustom_prepare_model_function: typing.Callable | None = Nonecustom_megatron_datasets_provider_function: typing.Callable | None = Nonecustom_get_batch_function: typing.Callable | None = Nonecustom_loss_function: typing.Callable | None = Noneother_megatron_args: dict[str, typing.Any] | None = None )
Parámetros
- tp_degree (
int, por defectoNone) — Grado de paralelismo de tensores. - pp_degree (
int, por defectoNone) — Grado de paralelismo de pipeline. - num_micro_batches (
int, por defectoNone) — Número de micro-lotes. - gradient_clipping (
float, por defectoNone) — Valor de recorte de gradientes basado en la norma L2 global (0 para desactivarlo). - sequence_parallelism (
bool, por defectoNone) — Habilita el paralelismo de secuencia. - recompute_activations (
bool, por defectoNone) — Activa la recomputación selectiva de activaciones. - use_distributed_optimizer (
bool, por defectoNone) — Habilita el optimizador distribuido. - pipeline_model_parallel_split_rank (
int, por defectoNone) — Rango donde se deben dividir el codificador y el decodificador. - num_layers_per_virtual_pipeline_stage (
int, por defectoNone) — Número de capas por etapa de pipeline virtual. - is_train_batch_min (
str, por defectoTrue) — Si se especifican tanto los dataloaders de entrenamiento como de evaluación, este parámetro determinará elmicro_batch_size. - train_iters (
int, por defectoNone) — Número total de muestras para entrenar en todas las ejecuciones de entrenamiento. Tenga en cuenta que debe proporcionar train-iters o train-samples al usarMegatronLMDummyScheduler. - train_samples (
int, por defectoNone) — Número total de muestras para entrenar en todas las ejecuciones de entrenamiento. Tenga en cuenta que debe proporcionar train-iters o train-samples al usarMegatronLMDummyScheduler. - weight_decay_incr_style (
str, por defecto'constant') — Función de incremento del decaimiento de peso. choices=[“constant”, “linear”, “cosine”]. - start_weight_decay (
float, por defectoNone) — Coeficiente inicial de decaimiento de pesos para la regularización L2. - end_weight_decay (
float, por defectoNone) — Coeficiente de decaimiento de peso al final de la ejecución para la regularización L2. - lr_decay_style (
str, por defecto'linear') — Función de decaimiento de la tasa de aprendizaje. choices=[‘constant’, ‘linear’, ‘cosine’]. - lr_decay_iters (
int, por defectoNone) — Número de iteraciones para el decaimiento de la tasa de aprendizaje. Si es None, por defecto toma el valor detrain_iters. - lr_decay_samples (
int, por defectoNone) — Número de muestras para el decaimiento de la tasa de aprendizaje. Si es None, por defecto toma el valor detrain_samples. - lr_warmup_iters (
int, por defectoNone) — Número de iteraciones para calentar linealmente la tasa de aprendizaje. - lr_warmup_samples (
int, por defectoNone) — Número de muestras sobre las que calentar linealmente la tasa de aprendizaje. - lr_warmup_fraction (
float, por defectoNone) — Fracción de lr-warmup-(iteraciones/muestras) sobre la que calentar linealmente la tasa de aprendizaje. - min_lr (
float, por defecto0) — Valor mínimo para la tasa de aprendizaje. El programador recorta los valores por debajo de este umbral. - consumed_samples (
List, por defectoNone) — Número de muestras consumidas en el mismo orden que los dataloaders de la llamada aaccelerator.prepare. - no_wd_decay_cond (
Optional, por defectoNone) — Condición para desactivar el decaimiento de pesos. - scale_lr_cond (
Optional, por defectoNone) — Condición para escalar la tasa de aprendizaje. - lr_mult (
float, por defecto1.0) — Multiplicador de la tasa de aprendizaje. - megatron_dataset_flag (
bool, por defectoFalse) — Si el formato del conjunto de datos sigue el formato Indexed/Cached/MemoryMapped de Megatron-LM. - seq_length (
int, por defectoNone) — Longitud máxima de secuencia a procesar. - encoder_seq_length (
int, por defectoNone) — Longitud máxima de secuencia a procesar para el codificador. - decoder_seq_length (
int, por defectoNone) — Longitud máxima de secuencia a procesar para el decodificador. - tensorboard_dir (
str, por defectoNone) — Ruta para guardar los registros de tensorboard. - set_all_logging_options (
bool, por defectoFalse) — Si se deben establecer todas las opciones de registro. - eval_iters (
int, por defecto100) — Número de iteraciones para ejecutar la validación/prueba de evaluación. - eval_interval (
int, por defecto1000) — Intervalo entre la ejecución de la evaluación en el conjunto de validación. - return_logits (
bool, por defectoFalse) — Si se deben devolver los logits del modelo. - custom_train_step_class (
Optional, por defectoNone) — Clase de paso de entrenamiento personalizada. - custom_train_step_kwargs (
Optional, por defectoNone) — Argumentos personalizados para el paso de entrenamiento. - custom_model_provider_function (
Optional, por defectoNone) — Función de proveedor de modelo personalizada. - custom_prepare_model_function (
Optional, por defectoNone) — Función personalizada para preparar el modelo. - custom_megatron_datasets_provider_function (
Optional, por defectoNone) — Función de proveedor de conjuntos de datos de entrenamiento, validación y prueba de megatron personalizada. - custom_get_batch_function (
Optional, por defectoNone) — Función personalizada para obtener el lote. - custom_loss_function (
Optional, por defectoNone) — Función de pérdida personalizada. - other_megatron_args (
Optional, por defectoNone) — Otros argumentos de Megatron-LM. Consulte Megatron-LM.
Plugin para Megatron-LM que habilita el paralelismo de tensor, pipeline, secuencia y datos. También habilita la recomputación selectiva de activaciones y kernels fusionados optimizados.
MegatronLMDummyScheduler
clase accelerate.utils.MegatronLMDummyScheduler
< source >( optimizertotal_num_steps = Nonewarmup_num_steps = 0**kwargs )
El programador de datos ficticios presenta los parámetros del modelo o los grupos de parámetros; se utiliza principalmente para seguir el bucle de entrenamiento convencional cuando la configuración del programador se especifica en el archivo de configuración de DeepSpeed.
MegatronLMDummyDataLoader
clase accelerate.utils.MegatronLMDummyDataLoader
< source >( **dataset_kwargs )
El dataloader de datos ficticios presenta los parámetros del modelo o los grupos de parámetros; esto se utiliza principalmente para seguir el entrenamiento convencional
AbstractTrainStep
Clase abstracta para el loteo, la pasada hacia adelante y el manejador de pérdida.
GPTTrainStep
clase accelerate.utils.GPTTrainStep
< source >( acceleratorargs )
Clase de paso de entrenamiento de GPT.
BertTrainStep
clase accelerate.utils.BertTrainStep
< source >( acceleratorargs )
Clase de paso de entrenamiento de Bert.
T5TrainStep
clase accelerate.utils.T5TrainStep
< source >( acceleratorargs )
Clase de paso de entrenamiento de T5.
avg_losses_across_data_parallel_group
accelerate.utils.avg_losses_across_data_parallel_group
< source >( losses )
Pérdidas promedio en el grupo de paralelismo de datos.