Accelerate documentation

Utilidades de Megatron-LM

You are viewing main version, which requires installation from source. If you'd like regular pip install, checkout the latest stable version (v1.15.0).
Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

Utilidades de Megatron-LM

MegatronLMPlugin

clase accelerate.utils.MegatronLMPlugin

< >

( 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 defecto None) — Grado de paralelismo de tensores.
  • pp_degree (int, por defecto None) — Grado de paralelismo de pipeline.
  • num_micro_batches (int, por defecto None) — Número de micro-lotes.
  • gradient_clipping (float, por defecto None) — Valor de recorte de gradientes basado en la norma L2 global (0 para desactivarlo).
  • sequence_parallelism (bool, por defecto None) — Habilita el paralelismo de secuencia.
  • recompute_activations (bool, por defecto None) — Activa la recomputación selectiva de activaciones.
  • use_distributed_optimizer (bool, por defecto None) — Habilita el optimizador distribuido.
  • pipeline_model_parallel_split_rank (int, por defecto None) — Rango donde se deben dividir el codificador y el decodificador.
  • num_layers_per_virtual_pipeline_stage (int, por defecto None) — Número de capas por etapa de pipeline virtual.
  • is_train_batch_min (str, por defecto True) — Si se especifican tanto los dataloaders de entrenamiento como de evaluación, este parámetro determinará el micro_batch_size.
  • train_iters (int, por defecto None) — 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 usar MegatronLMDummyScheduler.
  • train_samples (int, por defecto None) — 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 usar MegatronLMDummyScheduler.
  • 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 defecto None) — Coeficiente inicial de decaimiento de pesos para la regularización L2.
  • end_weight_decay (float, por defecto None) — 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 defecto None) — Número de iteraciones para el decaimiento de la tasa de aprendizaje. Si es None, por defecto toma el valor de train_iters.
  • lr_decay_samples (int, por defecto None) — Número de muestras para el decaimiento de la tasa de aprendizaje. Si es None, por defecto toma el valor de train_samples.
  • lr_warmup_iters (int, por defecto None) — Número de iteraciones para calentar linealmente la tasa de aprendizaje.
  • lr_warmup_samples (int, por defecto None) — Número de muestras sobre las que calentar linealmente la tasa de aprendizaje.
  • lr_warmup_fraction (float, por defecto None) — Fracción de lr-warmup-(iteraciones/muestras) sobre la que calentar linealmente la tasa de aprendizaje.
  • min_lr (float, por defecto 0) — Valor mínimo para la tasa de aprendizaje. El programador recorta los valores por debajo de este umbral.
  • consumed_samples (List, por defecto None) — Número de muestras consumidas en el mismo orden que los dataloaders de la llamada a accelerator.prepare.
  • no_wd_decay_cond (Optional, por defecto None) — Condición para desactivar el decaimiento de pesos.
  • scale_lr_cond (Optional, por defecto None) — Condición para escalar la tasa de aprendizaje.
  • lr_mult (float, por defecto 1.0) — Multiplicador de la tasa de aprendizaje.
  • megatron_dataset_flag (bool, por defecto False) — Si el formato del conjunto de datos sigue el formato Indexed/Cached/MemoryMapped de Megatron-LM.
  • seq_length (int, por defecto None) — Longitud máxima de secuencia a procesar.
  • encoder_seq_length (int, por defecto None) — Longitud máxima de secuencia a procesar para el codificador.
  • decoder_seq_length (int, por defecto None) — Longitud máxima de secuencia a procesar para el decodificador.
  • tensorboard_dir (str, por defecto None) — Ruta para guardar los registros de tensorboard.
  • set_all_logging_options (bool, por defecto False) — Si se deben establecer todas las opciones de registro.
  • eval_iters (int, por defecto 100) — Número de iteraciones para ejecutar la validación/prueba de evaluación.
  • eval_interval (int, por defecto 1000) — Intervalo entre la ejecución de la evaluación en el conjunto de validación.
  • return_logits (bool, por defecto False) — Si se deben devolver los logits del modelo.
  • custom_train_step_class (Optional, por defecto None) — Clase de paso de entrenamiento personalizada.
  • custom_train_step_kwargs (Optional, por defecto None) — Argumentos personalizados para el paso de entrenamiento.
  • custom_model_provider_function (Optional, por defecto None) — Función de proveedor de modelo personalizada.
  • custom_prepare_model_function (Optional, por defecto None) — Función personalizada para preparar el modelo.
  • custom_megatron_datasets_provider_function (Optional, por defecto None) — Función de proveedor de conjuntos de datos de entrenamiento, validación y prueba de megatron personalizada.
  • custom_get_batch_function (Optional, por defecto None) — Función personalizada para obtener el lote.
  • custom_loss_function (Optional, por defecto None) — Función de pérdida personalizada.
  • other_megatron_args (Optional, por defecto None) — 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

< >

( optimizertotal_num_steps = Nonewarmup_num_steps = 0**kwargs )

Parámetros

  • optimizer (torch.optim.optimizer.Optimizer) — El optimizador que se va a envolver.
  • total_num_steps (int) — Número total de pasos.
  • warmup_num_steps (int) — Número de pasos para el calentamiento.
  • **kwargs (argumentos de palabra clave adicionales, opcional) — Otros argumentos.

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

< >

( **dataset_kwargs )

Parámetros

  • **dataset_kwargs — Argumentos de datos de Megatron.

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 accelerate.utils.AbstractTrainStep

< >

( name )

Clase abstracta para el loteo, la pasada hacia adelante y el manejador de pérdida.

GPTTrainStep

clase accelerate.utils.GPTTrainStep

< >

( acceleratorargs )

Parámetros

  • args (argparse.Namespace) — Argumentos de Megatron-LM.

Clase de paso de entrenamiento de GPT.

BertTrainStep

clase accelerate.utils.BertTrainStep

< >

( acceleratorargs )

Parámetros

  • args (argparse.Namespace) — Argumentos de Megatron-LM.

Clase de paso de entrenamiento de Bert.

T5TrainStep

clase accelerate.utils.T5TrainStep

< >

( acceleratorargs )

Parámetros

  • args (argparse.Namespace) — Argumentos de Megatron-LM.

Clase de paso de entrenamiento de T5.

avg_losses_across_data_parallel_group

accelerate.utils.avg_losses_across_data_parallel_group

< >

( losses )

Parámetros

  • losses (List[Tensor]) — Lista de pérdidas para promediar en el grupo de paralelismo de datos.

Pérdidas promedio en el grupo de paralelismo de datos.

Update on GitHub