trungtienluong commited on
Commit
caad00a
·
verified ·
1 Parent(s): 0f6caec

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +21 -21
app.py CHANGED
@@ -5,32 +5,31 @@ from peft import PeftConfig, PeftModel
5
  import pandas as pd
6
  from datasets import Dataset, load_dataset
7
  from sklearn.model_selection import train_test_split
 
8
 
9
- MODEL_NAME = "HuggingFaceH4/zephyr-7b-beta"
10
-
11
- device = "cuda" if torch.cuda.is_available() else "cpu"
12
 
13
- try:
14
- model = AutoModelForCausalLM.from_pretrained(
15
- MODEL_NAME,
16
- device_map="auto",
17
- trust_remote_code=True
18
- ).to(device)
19
- except Exception as e:
20
- print(f"Error loading base model: {e}")
21
 
 
22
  tokenizer = AutoTokenizer.from_pretrained(MODEL_NAME)
23
  tokenizer.pad_token = tokenizer.eos_token
24
- model.gradient_checkpointing_enable()
25
 
26
- try:
27
- # Load the pre-trained model with PEFT
28
- peft_config = PeftConfig.from_pretrained("trungtienluong/experiments500czephymodelngay11t6l1")
29
- model = PeftModel.from_pretrained(model, "trungtienluong/experiments500czephymodelngay11t6l1").to(device)
30
- except KeyError as e:
31
- print(f"KeyError during PEFT model loading: {e}")
32
- except Exception as e:
33
- print(f"Error loading PEFT model: {e}")
 
 
 
 
 
 
34
 
35
  # Load the dataset
36
  dataset = load_dataset("trungtienluong/500cau")
@@ -61,7 +60,8 @@ def post_process_answer(answer):
61
  def generate_answer(question):
62
  try:
63
  prompt = create_prompt(question)
64
- encoding = tokenizer(prompt, return_tensors="pt").to(device)
 
65
  with torch.inference_mode():
66
  outputs = model.generate(
67
  input_ids=encoding.input_ids,
 
5
  import pandas as pd
6
  from datasets import Dataset, load_dataset
7
  from sklearn.model_selection import train_test_split
8
+ from accelerate import Accelerator
9
 
10
+ # Initialize the accelerator
11
+ accelerator = Accelerator()
 
12
 
13
+ MODEL_NAME = "HuggingFaceH4/zephyr-7b-beta"
 
 
 
 
 
 
 
14
 
15
+ # Load the tokenizer
16
  tokenizer = AutoTokenizer.from_pretrained(MODEL_NAME)
17
  tokenizer.pad_token = tokenizer.eos_token
 
18
 
19
+ # Load the base model with accelerate
20
+ model = AutoModelForCausalLM.from_pretrained(
21
+ MODEL_NAME,
22
+ trust_remote_code=True
23
+ )
24
+ model = accelerator.prepare(model)
25
+
26
+ # Load the pre-trained model with PEFT
27
+ peft_config = PeftConfig.from_pretrained("trungtienluong/experiments500czephymodelngay11t6l1")
28
+ model = PeftModel.from_pretrained(model, "trungtienluong/experiments500czephymodelngay11t6l1")
29
+ model = accelerator.prepare(model)
30
+
31
+ # Enable gradient checkpointing
32
+ model.gradient_checkpointing_enable()
33
 
34
  # Load the dataset
35
  dataset = load_dataset("trungtienluong/500cau")
 
60
  def generate_answer(question):
61
  try:
62
  prompt = create_prompt(question)
63
+ encoding = tokenizer(prompt, return_tensors="pt")
64
+ encoding = accelerator.prepare(encoding)
65
  with torch.inference_mode():
66
  outputs = model.generate(
67
  input_ids=encoding.input_ids,