Fix passing options to TransformerEngine layers and MCore #9231
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This affects the NeMo TransformerEngine layers (
AutocastTransformerLayer
) and MCoreTransformerConfig
, which previously did not correctly receive the settings foractivation: str
: custom activation, including the GLU property,normalization: str
: custom normalization layers,bias: bool
: optional bias,bias_dropout_add_fusion: bool
: whether to fuse bias add+dropout+residual add via JIT-compilation (we could even enable this for TransformerEngine by settingos.environ["NVTE_BIAS_DROPOUT_FUSION"] = "1"
. Note that Megatron-LM also does not do this), andbias_activation_fusion: bool
: whether to fuse bias add+activation via JIT-compilation.What does this PR do ?
Fix passing normalization and bias options to TransformerEngine layers. Previously, with
mcore=False, transformer_engine=True
, the mentioned model settings would not be reproduced correctly.Collection: NLP
Changelog
AutocastTransformerLayer
and its superclass constructor, namelyactivation
,normalization
, andbias
.TransformerConfig
, namelyactivation_func
,gated_linear_unit
,add_bias_linear
,bias_activation_fusion
, andbias_dropout_fusion
.GitHub Actions CI
The Jenkins CI system has been replaced by GitHub Actions self-hosted runners.
The GitHub Actions CI will run automatically when the "Run CICD" label is added to the PR.
To re-run CI remove and add the label again.
To run CI on an untrusted fork, a NeMo user with write access must first click "Approve and run".
Before your PR is "Ready for review"
Pre checks:
AutocastTransformerLayer
, so I did not bother.PR Type:
Who can review?
Anyone in the community is free to review the PR once the checks have passed.