(self, base_name_or_path: str, model_name_or_path: str, device: str="cuda", cpu_offloading: bool=False, load_8bit: bool=False)
| 13 | use_gpu: bool = True |
| 14 | |
| 15 | def __init__(self, base_name_or_path: str, model_name_or_path: str, device: str="cuda", cpu_offloading: bool=False, load_8bit: bool=False) -> None: |
| 16 | super().__init__() |
| 17 | self.model_name = model_name_or_path |
| 18 | self.tokenizer = AutoTokenizer.from_pretrained(base_name_or_path, use_fast=False) |
| 19 | model = AutoModelForCausalLM.from_pretrained( |
| 20 | base_name_or_path, |
| 21 | load_in_8bit=load_8bit, |
| 22 | device_map="auto" |
| 23 | ) |
| 24 | self.model = PeftModel.from_pretrained( |
| 25 | model, |
| 26 | model_name_or_path |
| 27 | ) |
| 28 | if self.tokenizer.pad_token_id == None: |
| 29 | self.tokenizer.add_special_tokens({"bos_token": "<s>", "eos_token": "</s>", "pad_token": "<pad>"}) |
| 30 | self.model.resize_token_embeddings(len(self.tokenizer)) |
| 31 | self.use_gpu = (True if device == "cuda" else False) |
| 32 | if (device == "cuda" and not cpu_offloading) or device == "mps": |
| 33 | self.model.to(device) |
| 34 | |
| 35 | @property |
| 36 | def _llm_type(self) -> str: |
nothing calls this directly
no outgoing calls
no test coverage detected