bridge.models.bert.bert_provider#
Module Contents#
Classes#
Model provider for Megatron-Core’s stock encoder-only BERT model. |
Data#
API#
- bridge.models.bert.bert_provider.logger#
‘getLogger(…)’
- class bridge.models.bert.bert_provider.BertModelProvider#
Bases:
megatron.bridge.models.transformer_config.TransformerConfig,megatron.bridge.models.model_provider.ModelProviderMixin[megatron.core.models.bert.bert_model.BertModel]Model provider for Megatron-Core’s stock encoder-only BERT model.
Note this targets Megatron-Core’s
BertModel, which applies LayerNorm before self-attention/MLP (Pre-LayerNorm) rather than the original BERT paper’s Post-LayerNorm placement used by HuggingFace’s vanillatransformers.BertModel. The HuggingFace architecture that matches this provider exactly isMegatronBertForMaskedLM(seebert_bridge.py).- add_binary_head: bool#
False
- num_tokentypes: int#
2
- fp16_lm_cross_entropy: bool#
False
- parallel_output: bool#
True
True
- position_embedding_type: Literal[learned_absolute, rope]#
‘learned_absolute’
- rotary_percent: float#
1.0
- seq_len_interpolation_factor: float | None#
None
- return_embeddings: bool#
False
- make_vocab_size_divisible_by: int#
128
- max_position_embeddings: int#
512
- vocab_size: int | None#
None
- should_pad_vocab: bool#
False
- transformer_layer_spec: megatron.core.transformer.spec_utils.ModuleSpec | Callable[[], megatron.core.transformer.spec_utils.ModuleSpec]#
None
- _pg_collection: megatron.core.process_groups_config.ProcessGroupCollection | None#
None
- provide(
- pre_process: bool | None = None,
- post_process: bool | None = None,
- vp_stage: int | None = None,
Configure and instantiate a Megatron Core BertModel based on this configuration.
- Parameters:
pre_process – Whether to include the embedding layer.
post_process – Whether to include the masked-LM head.
vp_stage – Virtual pipeline stage.
- Returns:
Configured Megatron Core BERT model.