in src/hyperpod_nemo_adapter/collections/model/sagemaker_base_model.py [0:0]
def _build_model_from_pretrain(self, model_cfg, torch_dtype=None, quantization_config=None):
path = self._cfg.hf_model_name_or_path
_logger.info("Loading pretrained weights from %s.", path)
use_flash_attn = self._cfg.use_flash_attention
attn = "flash_attention_2"
# TODO add support later for flash att
# ValueError: MllamaForCausalLM does not support Flash Attention 2.0 yet
if self._cfg.get("multi_modal", None):
return MllamaForConditionalGeneration.from_pretrained(
path, config=model_cfg, torch_dtype=torch_dtype, quantization_config=quantization_config
)
access_token = self._cfg.get("hf_access_token", None)
if TF_VERSION < pversion.parse("4.37.1") or not use_flash_attn:
return AutoModelForCausalLM.from_pretrained(
path,
config=model_cfg,
torch_dtype=torch_dtype,
quantization_config=quantization_config,
token=access_token,
)
return AutoModelForCausalLM.from_pretrained(
path,
attn_implementation=attn,
config=model_cfg,
torch_dtype=torch_dtype,
quantization_config=quantization_config,
token=access_token,
)