Update app.py
Browse files
app.py
CHANGED
@@ -4,8 +4,8 @@ import gradio as gr
|
|
4 |
import os, torch
|
5 |
from datasets import load_dataset
|
6 |
from huggingface_hub import HfApi, login
|
7 |
-
from peft import LoraConfig, TaskType, get_peft_model, prepare_model_for_kbit_training
|
8 |
-
from transformers import AutoModelForCausalLM, AutoTokenizer, Seq2SeqTrainer, Seq2SeqTrainingArguments,
|
9 |
|
10 |
ACTION_1 = "Prompt base model"
|
11 |
ACTION_2 = "Fine-tune base model"
|
@@ -79,7 +79,7 @@ def fine_tune_model(base_model_name, dataset_name):
|
|
79 |
|
80 |
# Configure training arguments
|
81 |
|
82 |
-
training_args =
|
83 |
output_dir=f"./{FT_MODEL_NAME}",
|
84 |
num_train_epochs=3, # 37,500 steps
|
85 |
max_steps=1, # overwrites num_train_epochs
|
@@ -93,27 +93,27 @@ def fine_tune_model(base_model_name, dataset_name):
|
|
93 |
|
94 |
# PEFT
|
95 |
|
96 |
-
lora_config = LoraConfig(
|
97 |
-
|
98 |
# TODO https://www.philschmid.de/fine-tune-flan-t5-peft
|
99 |
#bias="none",
|
100 |
#lora_alpha=32,
|
101 |
#lora_dropout=0.05,
|
102 |
#target_modules=["q", "v"],
|
103 |
-
|
104 |
-
)
|
105 |
|
106 |
-
model = prepare_model_for_kbit_training(model)
|
107 |
|
108 |
-
model = get_peft_model(model, lora_config)
|
109 |
|
110 |
-
print("### PEFT")
|
111 |
-
model.print_trainable_parameters() # trainable params: 6,815,744 || all params: 8,037,076,992 || trainable%: 0.0848
|
112 |
-
print("###")
|
113 |
|
114 |
# Create trainer
|
115 |
|
116 |
-
trainer =
|
117 |
model=model,
|
118 |
args=training_args,
|
119 |
train_dataset=train_dataset,
|
@@ -152,7 +152,7 @@ def prompt_model(model_name, system_prompt, user_prompt, sql_context):
|
|
152 |
return result
|
153 |
|
154 |
def load_model(model_name):
|
155 |
-
model = AutoModelForCausalLM.from_pretrained(model_name, device_map="auto"
|
156 |
tokenizer = AutoTokenizer.from_pretrained(model_name)
|
157 |
tokenizer.pad_token = tokenizer.eos_token
|
158 |
|
|
|
4 |
import os, torch
|
5 |
from datasets import load_dataset
|
6 |
from huggingface_hub import HfApi, login
|
7 |
+
#from peft import LoraConfig, TaskType, get_peft_model, prepare_model_for_kbit_training
|
8 |
+
from transformers import AutoModelForCausalLM, AutoTokenizer, Seq2SeqTrainer, Seq2SeqTrainingArguments, pipeline
|
9 |
|
10 |
ACTION_1 = "Prompt base model"
|
11 |
ACTION_2 = "Fine-tune base model"
|
|
|
79 |
|
80 |
# Configure training arguments
|
81 |
|
82 |
+
training_args = Seq2SeqTrainingArguments(
|
83 |
output_dir=f"./{FT_MODEL_NAME}",
|
84 |
num_train_epochs=3, # 37,500 steps
|
85 |
max_steps=1, # overwrites num_train_epochs
|
|
|
93 |
|
94 |
# PEFT
|
95 |
|
96 |
+
#lora_config = LoraConfig(
|
97 |
+
# r=16,
|
98 |
# TODO https://www.philschmid.de/fine-tune-flan-t5-peft
|
99 |
#bias="none",
|
100 |
#lora_alpha=32,
|
101 |
#lora_dropout=0.05,
|
102 |
#target_modules=["q", "v"],
|
103 |
+
# task_type=TaskType.SEQ_2_SEQ_LM,
|
104 |
+
#)
|
105 |
|
106 |
+
#model = prepare_model_for_kbit_training(model)
|
107 |
|
108 |
+
#model = get_peft_model(model, lora_config)
|
109 |
|
110 |
+
#print("### PEFT")
|
111 |
+
#model.print_trainable_parameters() # trainable params: 6,815,744 || all params: 8,037,076,992 || trainable%: 0.0848
|
112 |
+
#print("###")
|
113 |
|
114 |
# Create trainer
|
115 |
|
116 |
+
trainer = Seq2SeqTrainer(
|
117 |
model=model,
|
118 |
args=training_args,
|
119 |
train_dataset=train_dataset,
|
|
|
152 |
return result
|
153 |
|
154 |
def load_model(model_name):
|
155 |
+
model = AutoModelForCausalLM.from_pretrained(model_name, device_map="auto")
|
156 |
tokenizer = AutoTokenizer.from_pretrained(model_name)
|
157 |
tokenizer.pad_token = tokenizer.eos_token
|
158 |
|