MCPcopy Create free account
hub / github.com/OpenBMB/BMTools / __init__

Method __init__

bmtools/models/lora_model.py:15–33  ·  view source on GitHub ↗
(self, base_name_or_path: str, model_name_or_path: str, device: str="cuda", cpu_offloading: bool=False, load_8bit: bool=False)

Source from the content-addressed store, hash-verified

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:

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected