Kevin Fink commited on
Commit
a6cb7c8
·
1 Parent(s): bc63b44
Files changed (1) hide show
  1. app.py +11 -2
app.py CHANGED
@@ -3,16 +3,23 @@ import gradio as gr
3
  from transformers import Trainer, TrainingArguments, AutoTokenizer, AutoModelForSeq2SeqLM
4
  from datasets import load_dataset
5
  import traceback
 
6
 
7
  @spaces.GPU
8
  def fine_tune_model(model_name, dataset_name, hub_id, num_epochs, batch_size, lr, grad):
9
  try:
10
-
 
 
 
 
 
11
  # Load the dataset
12
  dataset = load_dataset(dataset_name)
13
 
14
  # Load the model and tokenizer
15
  model = AutoModelForSeq2SeqLM.from_pretrained(model_name, num_labels=2)
 
16
  tokenizer = AutoTokenizer.from_pretrained(model_name)
17
 
18
  # Tokenize the dataset
@@ -37,7 +44,9 @@ def fine_tune_model(model_name, dataset_name, hub_id, num_epochs, batch_size, lr
37
  logging_dir='./logs',
38
  logging_steps=10,
39
  push_to_hub=True,
40
- hub_model_id=hub_id,
 
 
41
  )
42
 
43
  # Create Trainer
 
3
  from transformers import Trainer, TrainingArguments, AutoTokenizer, AutoModelForSeq2SeqLM
4
  from datasets import load_dataset
5
  import traceback
6
+ from peft import get_peft_model, LoraConfig
7
 
8
  @spaces.GPU
9
  def fine_tune_model(model_name, dataset_name, hub_id, num_epochs, batch_size, lr, grad):
10
  try:
11
+ lora_config = LoraConfig(
12
+ r=16, # Rank of the low-rank adaptation
13
+ lora_alpha=32, # Scaling factor
14
+ lora_dropout=0.1, # Dropout for LoRA layers
15
+ bias="none" # Bias handling
16
+ )
17
  # Load the dataset
18
  dataset = load_dataset(dataset_name)
19
 
20
  # Load the model and tokenizer
21
  model = AutoModelForSeq2SeqLM.from_pretrained(model_name, num_labels=2)
22
+ model = get_peft_model(model, lora_config)
23
  tokenizer = AutoTokenizer.from_pretrained(model_name)
24
 
25
  # Tokenize the dataset
 
44
  logging_dir='./logs',
45
  logging_steps=10,
46
  push_to_hub=True,
47
+ hub_model_id=hub_id,
48
+ fp16=True,
49
+ lr_scheduler_type='cosine',
50
  )
51
 
52
  # Create Trainer