class_docstr: base class for all mixin based adapter models
code: def __init__(self, cfg: DictConfig, trainer: Trainer):
      super().__init__(cfg, trainer)
      self.setup_complete = False
      self.base_keys = self.get_all_keys()
      self.freeze()
      self.init_peft_modules()
      self.adapter_keys = self.get_all_keys() - self.base_keys
  
imports: from omegaconf.dictconfig import DictConfig
  from pytorch_lightning.trainer.trainer import Trainer
  from nemo.collections.nlp.models.language_modeling.megatron_gpt_sft_model import MegatronGPTSFTModel
  from nemo.collections.nlp.modules.common.megatron.adapters.mcore_mixins import MCoreGPTEmbeddingMixin, MCoreSelfAttentionMixin, MCoreTransformerLayerMixin, swap_mcore_mixin
  from nemo.collections.nlp.modules.common.megatron.adapters.parallel_adapters import AdapterName, InfusedAdapterConfig, LoraKQVAdapterConfig, LoraKQVAdapterWeightTyingConfig, MLPInfusedAdapterConfig, ParallelLinearAdapterConfig, ParallelLinearAdapterWeightTyingConfig, PromptEncoderAdapterConfig
  from nemo.core.classes.mixins import adapter_mixins
  from nemo.utils import logging, model_utils
  from nemo.utils.decorators import deprecated
label_desc: Use image node_id 1 to create a new MegatronGPTPEFTModel object from inherited base classes: MegatronGPTSFTModel with example: obj = MegatronGPTPEFTModel(cfg, trainer)