code: def main(cfg) -> None:
      logging.info(
          "\n\n************** Experiment configuration ***********"
      )
      logging.info(f"\n{OmegaConf.to_yaml(cfg)}")
  
      trainer = MegatronLMPPTrainerBuilder(cfg).create_trainer()
      exp_manager(trainer, cfg.exp_manager)
  
      model_cfg = MegatronT5SFTModel.merge_cfg_with(
          cfg.model.restore_from_path, cfg
      )
      model = MegatronT5SFTModel.restore_from(
          cfg.model.restore_from_path, model_cfg, trainer=trainer
      )
      peft_cfg_cls = PEFT_CONFIG_MAP[cfg.model.peft.peft_scheme]
  
      if cfg.model.peft.restore_from_path is not None:
          # initialize peft weights from a checkpoint instead of randomly
          # This is not the same as resume training because optimizer states are not restored.
          logging.info(
              "PEFT Weights will be loaded from",
              cfg.model.peft.restore_from_path,
          )
          model.load_adapters(
              cfg.model.peft.restore_from_path, peft_cfg_cls(model_cfg)
          )
      elif peft_cfg_cls is not None:
          logging.info("Adding adapter weights to the model for PEFT")
          model.add_adapter(peft_cfg_cls(model_cfg))
      else:
          logging.info(
              f"Running full finetuning since no peft scheme is given.\n{model.summarize()}"
          )
  
      trainer.fit(model)
  
file_path: NeMo/examples/nlp/language_modeling/tuning/megatron_t5_peft_tuning.py
imports: import torch.multiprocessing
  from omegaconf.omegaconf import OmegaConf
  from nemo.collections.nlp.models.language_modeling.megatron_t5_sft_model import MegatronT5SFTModel
  from nemo.collections.nlp.parts.megatron_trainer_builder import MegatronLMPPTrainerBuilder
  from nemo.collections.nlp.parts.peft_config import PEFT_CONFIG_MAP
  from nemo.core.config import hydra_runner
  from nemo.utils import logging
  from nemo.utils.exp_manager import exp_manager
label_desc: Use image node_id 1 for calling a global function with example usage: main(cfg) without return types