Accelerate documentation

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

Megatron-LM ユーティリティ

MegatronLMPlugin

クラス 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 )

パラメータ

  • tp_degree (int、デフォルトはNone) — テンソル並列の度合い。
  • pp_degree (int、デフォルトはNone) — パイプライン並列度。
  • num_micro_batches (int、デフォルトはNone) — マイクロバッチの数。
  • gradient_clipping (float, デフォルトは None) — グローバル L2 ノルムに基づく勾配クリッピングの値 (無効にする場合は 0)。
  • 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およびevalの両方のdataloaderが指定されている場合、micro_batch_sizeを決定します。
  • train_iters (int、デフォルトはNone) — すべてのトレーニング実行にわたって学習するサンプルの総数です。MegatronLMDummySchedulerを使用する場合は、train-itersまたはtrain-samplesのいずれかを指定する必要があります。
  • train_samples (int、デフォルトはNone) — すべてのトレーニング実行にわたって学習するサンプルの総数です。MegatronLMDummySchedulerを使用する場合は、train-itersまたはtrain-samplesのいずれかを指定する必要があります。
  • weight_decay_incr_style (str、デフォルトは'constant') — Weight decayの増加関数。choices=[“constant”, “linear”, “cosine”]。
  • start_weight_decay (float、デフォルトはNone) — L2正則化の初期ウェイト減衰係数。
  • end_weight_decay (float, デフォルトは None) — L2 正則化における、ランの終了時の重み減衰係数。
  • lr_decay_style (str、デフォルトは'linear') — 学習率の減衰関数。choices=[‘constant’, ‘linear’, ‘cosine’]。
  • lr_decay_iters (int、デフォルトはNone) — 学習率の減衰を行う反復回数です。None の場合は、train_itersがデフォルト値として使用されます。
  • lr_decay_samples (int、デフォルトはNone) — 学習率減衰のためのサンプル数。None の場合はtrain_samplesがデフォルトになります。
  • lr_warmup_iters (int、デフォルトはNone) — 学習率を線形ウォームアップする反復回数。
  • lr_warmup_samples (int、デフォルトはNone) — 学習率を線形ウォームアップさせるサンプル数。
  • lr_warmup_fraction (float、デフォルトはNone) — 学習率を線形ウォームアップする lr-warmup-(イテレーション数/サンプル数) の割合。
  • min_lr (float、デフォルトは0) — 学習率の最小値。スケジューラは、この閾値を下回る値をクリップします。
  • consumed_samples (List、デフォルトはNone) — accelerator.prepare呼び出しのデータローダーと同じ順序で消費されたサンプルの数。
  • no_wd_decay_cond (Optional、デフォルトはNone) — 重み減衰を無効にする条件。
  • scale_lr_cond (Optional、デフォルトはNone) — 学習率をスケーリングする条件。
  • lr_mult (float、デフォルトは1.0) — 学習率の乗数。
  • megatron_dataset_flag (bool、デフォルトはFalse) — データセットの形式がMegatron-LMのIndexed/Cached/MemoryMapped形式に従っているかどうか。
  • seq_length (int, デフォルトは None) — 処理するシーケンスの最大長です。
  • encoder_seq_length (int, デフォルトは None) — エンコーダーで処理するシーケンスの最大長です。
  • decoder_seq_length (int, デフォルトは None) — デコーダーで処理するシーケンスの最大長。
  • tensorboard_dir (str、デフォルトはNone) — tensorboardログを保存するパス。
  • set_all_logging_options (bool、デフォルトはFalse) — すべてのログオプションを設定するかどうか。
  • eval_iters (int、デフォルトは100) — 評価用の検証/テストを実行する反復回数。
  • eval_interval (int, デフォルトは 1000) — 検証セットでの評価を実行する間隔。
  • return_logits (bool、デフォルトは False) — モデルから logits を返すかどうか。
  • custom_train_step_class (Optional、デフォルトはNone) — カスタムな学習ステップクラスです。
  • custom_train_step_kwargs (Optional、デフォルトはNone) — カスタムな学習ステップのキーワード引数。
  • custom_model_provider_function (Optional、デフォルトはNone) — カスタムモデルプロバイダー関数。
  • custom_prepare_model_function (Optional、デフォルトはNone) — カスタムのモデル準備関数。
  • custom_megatron_datasets_provider_function (Optional、デフォルトはNone) — カスタムの megatron train_valid_test データセットプロバイダー関数。
  • custom_get_batch_function (Optional、デフォルトはNone) — カスタムのバッチ取得関数。
  • custom_loss_function (Optional、デフォルトはNone) — カスタム損失関数。
  • other_megatron_args (Optional、デフォルトはNone) — その他の Megatron-LM 引数。Megatron-LM を参照してください。

Megatron-LM用のプラグイン。テンソル並列、パイプライン並列、シーケンス並列、データ並列を有効にします。また、選択的なアクティベーション再計算と最適化された融合カーネルも有効にします。

MegatronLMDummyScheduler

クラス accelerate.utils.MegatronLMDummyScheduler

< >

( optimizertotal_num_steps = Nonewarmup_num_steps = 0**kwargs )

パラメータ

  • optimizer (torch.optim.optimizer.Optimizer) — ラップするオプティマイザー。
  • total_num_steps (int) — ステップの総数。
  • warmup_num_steps (int) — ウォームアップのステップ数。
  • **kwargs (追加のキーワード引数、任意) — その他の引数。

Dummy scheduler はモデルのパラメータまたはパラメータグループを提示します。これは主に、deepspeed 設定ファイルでスケジューラの設定が指定されている場合、従来のトレーニングループに従うために使用されます。

MegatronLMDummyDataLoader

クラス accelerate.utils.MegatronLMDummyDataLoader

< >

( **dataset_kwargs )

パラメータ

  • **dataset_kwargs — Megatron のデータ引数。

Dummy dataloaderはモデルのパラメータまたはパラメータグループを提示します。これは主に、従来のトレーニングに従うために使用されます。

AbstractTrainStep

クラス accelerate.utils.AbstractTrainStep

< >

( name )

バッチ処理、フォワードパス、損失ハンドラーのための抽象クラス。

GPTTrainStep

クラス accelerate.utils.GPTTrainStep

< >

( acceleratorargs )

パラメータ

  • args (argparse.Namespace) — Megatron-LM の引数。

GPTの学習ステップクラス。

BertTrainStep

クラス accelerate.utils.BertTrainStep

< >

( acceleratorargs )

パラメータ

  • args (argparse.Namespace) — Megatron-LM の引数。

Bertの学習ステップクラス。

T5TrainStep

クラス accelerate.utils.T5TrainStep

< >

( acceleratorargs )

パラメータ

  • args (argparse.Namespace) — Megatron-LM の引数。

T5の学習ステップクラス。

avg_losses_across_data_parallel_group

accelerate.utils.avg_losses_across_data_parallel_group

< >

( losses )

パラメータ

  • losses (List[Tensor]) — データ並列グループ全体で平均化するための損失のリスト。

データ並列グループ全体での平均損失。

Update on GitHub