nemo_rl.utils.flops_formulas
#
Module Contents#
Classes#
Contains the model hparams needed for FLOPS computations. |
Functions#
Model FLOPs for GPT3 family. |
|
Model FLOPs for llama2 family. |
|
Model FLOPs for llama3 family. |
|
Model FLOPs for nemotron family. |
|
Model FLOPs for mixtral family. |
|
Model FLOPs for Qwen2 family. |
|
Model FLOPs for Qwen3 family. |
|
Model FLOPs for BERT family. |
|
Calculate FLOPs for a standard Transformer model. |
|
Model FLOPs for FLUX. |
|
Model FLOPs for DeepSeek V3. |
|
Model FLOPs for MLP layer. |
|
Model FLOPs for attention layer. |
|
Model FLOPs for Mamba layer. We ignore part of the flops of scan because the chunk size is not known from model config. |
|
Model FLOPs for hybrid model. |
|
Model FLOPs for NemotronH. |
API#
- class nemo_rl.utils.flops_formulas.FLOPSConfig[source]#
Contains the model hparams needed for FLOPS computations.
- gbs: int#
None
- enc_seq_len: Optional[int]#
None
- hs: Optional[int]#
None
- layers: Optional[int]#
None
- ffn_hs: Optional[int]#
None
- attention_heads: Optional[int]#
None
- moe_router_topk: Optional[int]#
None
- query_groups: Optional[int]#
None
- img_seq_len: Optional[int]#
None
- img_h: Optional[int]#
None
- img_w: Optional[int]#
None
- in_channels: Optional[int]#
None
- patch_dim: Optional[int]#
None
- class_token_len: Optional[int]#
None
- projector_type: Optional[str]#
None
- inp_s: Optional[int]#
None
- model_pattern: Optional[str]#
None
- vocab_size: Optional[int]#
None
- model_channels: Optional[int]#
None
- vec_in_dim: Optional[int]#
None
- q_lora_rank: Optional[int]#
None
- kv_lora_rank: Optional[int]#
None
- qk_head_dim: Optional[int]#
None
- qk_pos_emb_head_dim: Optional[int]#
None
- v_head_dim: Optional[int]#
None
- moe_layer_freq: Optional[Union[int, List[int]]]#
None
None
None
- mtp_num_layers: Optional[int]#
None
- causal_self_attn: Optional[bool]#
None
- is_hybrid_model: bool#
False
- hybrid_override_pattern: Optional[str]#
None
- mamba_state_dim: Optional[int]#
None
- mamba_head_dim: Optional[int]#
None
- mamba_num_groups: Optional[int]#
None
- mamba_num_heads: Optional[int]#
None
- nemo_rl.utils.flops_formulas.gpt3(config: nemo_rl.utils.flops_formulas.FLOPSConfig)[source]#
Model FLOPs for GPT3 family.
- nemo_rl.utils.flops_formulas.llama2(config: nemo_rl.utils.flops_formulas.FLOPSConfig)[source]#
Model FLOPs for llama2 family.
- nemo_rl.utils.flops_formulas.llama3(config: nemo_rl.utils.flops_formulas.FLOPSConfig)[source]#
Model FLOPs for llama3 family.
- nemo_rl.utils.flops_formulas.nemotron(config: nemo_rl.utils.flops_formulas.FLOPSConfig)[source]#
Model FLOPs for nemotron family.
- nemo_rl.utils.flops_formulas.mixtral(config: nemo_rl.utils.flops_formulas.FLOPSConfig)[source]#
Model FLOPs for mixtral family.
- nemo_rl.utils.flops_formulas.qwen2(config: nemo_rl.utils.flops_formulas.FLOPSConfig)[source]#
Model FLOPs for Qwen2 family.
- nemo_rl.utils.flops_formulas.qwen3(config: nemo_rl.utils.flops_formulas.FLOPSConfig)[source]#
Model FLOPs for Qwen3 family.
- nemo_rl.utils.flops_formulas.bert(config: nemo_rl.utils.flops_formulas.FLOPSConfig)[source]#
Model FLOPs for BERT family.
- nemo_rl.utils.flops_formulas.transformer(config: nemo_rl.utils.flops_formulas.FLOPSConfig)[source]#
Calculate FLOPs for a standard Transformer model.
Note: This does not cover encoder-decoder models.
- nemo_rl.utils.flops_formulas.flux(config: nemo_rl.utils.flops_formulas.FLOPSConfig)[source]#
Model FLOPs for FLUX.
- nemo_rl.utils.flops_formulas.deepseekv3(config: nemo_rl.utils.flops_formulas.FLOPSConfig)[source]#
Model FLOPs for DeepSeek V3.
- nemo_rl.utils.flops_formulas._mlp_layer_flops(config: nemo_rl.utils.flops_formulas.FLOPSConfig)[source]#
Model FLOPs for MLP layer.
- nemo_rl.utils.flops_formulas._mamba_layer_flops(config: nemo_rl.utils.flops_formulas.FLOPSConfig)[source]#
Model FLOPs for Mamba layer. We ignore part of the flops of scan because the chunk size is not known from model config.
- nemo_rl.utils.flops_formulas._hybrid_model_flops(config: nemo_rl.utils.flops_formulas.FLOPSConfig)[source]#
Model FLOPs for hybrid model.
- nemo_rl.utils.flops_formulas.nemotronh(config: nemo_rl.utils.flops_formulas.FLOPSConfig)[source]#
Model FLOPs for NemotronH.