class_docstr: Megatron Bert pretraining.
  Model returns [batch, seq, hidden] shape
class_docstr_tok: ["Megatron","Bert","pretraining",".","Model","returns","[","batch",",","seq",",","hidden","]","shape"]
docstr: This method returns a list of pre-trained model which can be instantiated directly from NVIDIA's NGC cloud.
  Returns:
      List of available pre-trained models.
code: def list_available_models(cls) -> Optional[PretrainedModelInfo]:
      """
      This method returns a list of pre-trained model which can be instantiated directly from NVIDIA's NGC cloud.
      Returns:
          List of available pre-trained models.
      """
      result = []
      for vocab in ["cased", "uncased"]:
          result.append(
              PretrainedModelInfo(
                  pretrained_model_name=f"megatron_bert_345m_{vocab}",
                  location=f"https://api.ngc.nvidia.com/v2/models/nvidia/nemo/megatron_bert_345m_{vocab}/versions/1/files/megatron_bert_345m_{vocab}.nemo",
                  description=f"345M parameter BERT Megatron model with {vocab} vocab.",
              )
          )
      for vocab_size in ["50k", "30k"]:
          for vocab in ["cased", "uncased"]:
              result.append(
                  PretrainedModelInfo(
                      pretrained_model_name=f"biomegatron345m_biovocab_{vocab_size}_{vocab}",
                      location=f"https://api.ngc.nvidia.com/v2/models/nvidia/nemo/biomegatron345m_biovocab_{vocab_size}_{vocab}/versions/1/files/BioMegatron345m-biovocab-{vocab_size}-{vocab}.nemo",
                      description="Megatron 345m parameters model with biomedical vocabulary ({vocab_size} size) {vocab}, pre-trained on PubMed biomedical text corpus.",
                  )
              )
      for vocab in ["cased", "uncased"]:
          result.append(
              PretrainedModelInfo(
                  pretrained_model_name=f"biomegatron-bert-345m-{vocab}",
                  location=f"https://api.ngc.nvidia.com/v2/models/nvidia/nemo/biomegatron345m{vocab}/versions/1/files/BioMegatron345m{vocab.capitalize()}.nemo",
                  description=f"Megatron pretrained on {vocab} biomedical dataset PubMed with 345 million parameters.",
              )
          )
      return result
  
imports: import itertools
  from typing import Any, Dict, List, Optional
  import torch
  import torch.nn.functional
  from omegaconf.dictconfig import DictConfig
  from pytorch_lightning.trainer.trainer import Trainer
  from nemo.collections.nlp.data.language_modeling.megatron import dataset_utils
  from nemo.collections.nlp.data.language_modeling.megatron.data_samplers import MegatronPretrainingRandomSampler, MegatronPretrainingSampler
  from nemo.collections.nlp.models.language_modeling.megatron.bert_model import BertModel
  from nemo.collections.nlp.models.language_modeling.megatron_base_model import MegatronBaseModel
  from nemo.collections.nlp.modules.common.megatron.build_model import build_model
  from nemo.collections.nlp.modules.common.megatron.module import Float16Module
  from nemo.collections.nlp.modules.common.megatron.utils import ApexGuardDefaults, average_losses_across_data_parallel_group, get_params_for_weight_decay_optimization
  from nemo.collections.nlp.parts.nlp_overrides import GradScaler
  from nemo.collections.nlp.parts.utils_funcs import get_last_rank
  from nemo.core.classes.common import PretrainedModelInfo
  from nemo.core.neural_types import ChannelType, MaskType, NeuralType
  from nemo.utils import AppState, logging
label_desc: Use image node_id 28 for calling the MegatronBertModel obj's underlying member method code with example usage: obj.list_available_models(cls) and returns: result