Adopting SFTTrainer arguments based on new updates
#24
by
Erfan-Sams2000
- opened
- sample_finetune.py +7 -7
sample_finetune.py
CHANGED
|
@@ -6,8 +6,8 @@ from datasets import load_dataset
|
|
| 6 |
from peft import LoraConfig
|
| 7 |
import torch
|
| 8 |
import transformers
|
| 9 |
-
from trl import SFTTrainer
|
| 10 |
-
from transformers import AutoModelForCausalLM, AutoTokenizer,
|
| 11 |
|
| 12 |
"""
|
| 13 |
A simple example on using SFTTrainer and Accelerate to finetune Phi-4-Mini-Instruct model. For
|
|
@@ -86,6 +86,9 @@ training_config = {
|
|
| 86 |
"gradient_checkpointing_kwargs":{"use_reentrant": False},
|
| 87 |
"gradient_accumulation_steps": 1,
|
| 88 |
"warmup_ratio": 0.2,
|
|
|
|
|
|
|
|
|
|
| 89 |
}
|
| 90 |
|
| 91 |
peft_config = {
|
|
@@ -97,7 +100,7 @@ peft_config = {
|
|
| 97 |
"target_modules": "all-linear",
|
| 98 |
"modules_to_save": None,
|
| 99 |
}
|
| 100 |
-
train_conf =
|
| 101 |
peft_conf = LoraConfig(**peft_config)
|
| 102 |
|
| 103 |
|
|
@@ -186,10 +189,7 @@ trainer = SFTTrainer(
|
|
| 186 |
peft_config=peft_conf,
|
| 187 |
train_dataset=processed_train_dataset,
|
| 188 |
eval_dataset=processed_test_dataset,
|
| 189 |
-
|
| 190 |
-
dataset_text_field="text",
|
| 191 |
-
tokenizer=tokenizer,
|
| 192 |
-
packing=True
|
| 193 |
)
|
| 194 |
train_result = trainer.train()
|
| 195 |
metrics = train_result.metrics
|
|
|
|
| 6 |
from peft import LoraConfig
|
| 7 |
import torch
|
| 8 |
import transformers
|
| 9 |
+
from trl import SFTTrainer, SFTConfig
|
| 10 |
+
from transformers import AutoModelForCausalLM, AutoTokenizer, BitsAndBytesConfig
|
| 11 |
|
| 12 |
"""
|
| 13 |
A simple example on using SFTTrainer and Accelerate to finetune Phi-4-Mini-Instruct model. For
|
|
|
|
| 86 |
"gradient_checkpointing_kwargs":{"use_reentrant": False},
|
| 87 |
"gradient_accumulation_steps": 1,
|
| 88 |
"warmup_ratio": 0.2,
|
| 89 |
+
"max_seq_length": 2048,
|
| 90 |
+
"dataset_text_field": "text",
|
| 91 |
+
"packing": True,
|
| 92 |
}
|
| 93 |
|
| 94 |
peft_config = {
|
|
|
|
| 100 |
"target_modules": "all-linear",
|
| 101 |
"modules_to_save": None,
|
| 102 |
}
|
| 103 |
+
train_conf = SFTConfig(**training_config)
|
| 104 |
peft_conf = LoraConfig(**peft_config)
|
| 105 |
|
| 106 |
|
|
|
|
| 189 |
peft_config=peft_conf,
|
| 190 |
train_dataset=processed_train_dataset,
|
| 191 |
eval_dataset=processed_test_dataset,
|
| 192 |
+
processing_class=tokenizer,
|
|
|
|
|
|
|
|
|
|
| 193 |
)
|
| 194 |
train_result = trainer.train()
|
| 195 |
metrics = train_result.metrics
|