Spaces:
Runtime error
Runtime error
zetavg
commited on
Commit
·
41468ea
1
Parent(s):
8cb0300
fix
Browse files
llama_lora/lib/finetune.py
CHANGED
|
@@ -27,7 +27,7 @@ def train(
|
|
| 27 |
base_model: Any,
|
| 28 |
tokenizer: Any,
|
| 29 |
output_dir: str,
|
| 30 |
-
|
| 31 |
# training hyperparams
|
| 32 |
micro_batch_size: int = 4,
|
| 33 |
gradient_accumulation_steps: int = 32,
|
|
@@ -229,11 +229,11 @@ def train(
|
|
| 229 |
)
|
| 230 |
model = get_peft_model(model, config)
|
| 231 |
|
| 232 |
-
# If
|
| 233 |
-
if isinstance(
|
| 234 |
with open(os.path.join(output_dir, "train_data_samples.json"), 'w') as file:
|
| 235 |
-
json.dump(list(
|
| 236 |
-
|
| 237 |
|
| 238 |
if resume_from_checkpoint:
|
| 239 |
# Check the available weights and load them
|
|
@@ -259,7 +259,7 @@ def train(
|
|
| 259 |
model.print_trainable_parameters()
|
| 260 |
|
| 261 |
if val_set_size > 0:
|
| 262 |
-
train_val =
|
| 263 |
test_size=val_set_size, shuffle=True, seed=42
|
| 264 |
)
|
| 265 |
train_data = (
|
|
@@ -269,7 +269,7 @@ def train(
|
|
| 269 |
train_val["test"].shuffle().map(generate_and_tokenize_prompt)
|
| 270 |
)
|
| 271 |
else:
|
| 272 |
-
train_data =
|
| 273 |
val_data = None
|
| 274 |
|
| 275 |
if not ddp and torch.cuda.device_count() > 1:
|
|
@@ -287,7 +287,7 @@ def train(
|
|
| 287 |
warmup_steps=100,
|
| 288 |
num_train_epochs=num_train_epochs,
|
| 289 |
learning_rate=learning_rate,
|
| 290 |
-
fp16=True,
|
| 291 |
logging_steps=logging_steps,
|
| 292 |
optim="adamw_torch",
|
| 293 |
evaluation_strategy="steps" if val_set_size > 0 else "no",
|
|
|
|
| 27 |
base_model: Any,
|
| 28 |
tokenizer: Any,
|
| 29 |
output_dir: str,
|
| 30 |
+
train_data: List[Any],
|
| 31 |
# training hyperparams
|
| 32 |
micro_batch_size: int = 4,
|
| 33 |
gradient_accumulation_steps: int = 32,
|
|
|
|
| 229 |
)
|
| 230 |
model = get_peft_model(model, config)
|
| 231 |
|
| 232 |
+
# If train_data is a list, convert it to datasets.Dataset
|
| 233 |
+
if isinstance(train_data, list):
|
| 234 |
with open(os.path.join(output_dir, "train_data_samples.json"), 'w') as file:
|
| 235 |
+
json.dump(list(train_data[:100]), file, indent=2)
|
| 236 |
+
train_data = Dataset.from_list(train_data)
|
| 237 |
|
| 238 |
if resume_from_checkpoint:
|
| 239 |
# Check the available weights and load them
|
|
|
|
| 259 |
model.print_trainable_parameters()
|
| 260 |
|
| 261 |
if val_set_size > 0:
|
| 262 |
+
train_val = train_data.train_test_split(
|
| 263 |
test_size=val_set_size, shuffle=True, seed=42
|
| 264 |
)
|
| 265 |
train_data = (
|
|
|
|
| 269 |
train_val["test"].shuffle().map(generate_and_tokenize_prompt)
|
| 270 |
)
|
| 271 |
else:
|
| 272 |
+
train_data = train_data.shuffle().map(generate_and_tokenize_prompt)
|
| 273 |
val_data = None
|
| 274 |
|
| 275 |
if not ddp and torch.cuda.device_count() > 1:
|
|
|
|
| 287 |
warmup_steps=100,
|
| 288 |
num_train_epochs=num_train_epochs,
|
| 289 |
learning_rate=learning_rate,
|
| 290 |
+
# fp16=True,
|
| 291 |
logging_steps=logging_steps,
|
| 292 |
optim="adamw_torch",
|
| 293 |
evaluation_strategy="steps" if val_set_size > 0 else "no",
|
llama_lora/ui/finetune_ui.py
CHANGED
|
@@ -516,7 +516,7 @@ Train data (first 10):
|
|
| 516 |
# 128, # batch_size (is not used, use gradient_accumulation_steps instead)
|
| 517 |
micro_batch_size=micro_batch_size,
|
| 518 |
gradient_accumulation_steps=gradient_accumulation_steps,
|
| 519 |
-
|
| 520 |
learning_rate=learning_rate,
|
| 521 |
cutoff_len=max_seq_length,
|
| 522 |
val_set_size=evaluate_data_count,
|
|
|
|
| 516 |
# 128, # batch_size (is not used, use gradient_accumulation_steps instead)
|
| 517 |
micro_batch_size=micro_batch_size,
|
| 518 |
gradient_accumulation_steps=gradient_accumulation_steps,
|
| 519 |
+
num_train_epochs=epochs,
|
| 520 |
learning_rate=learning_rate,
|
| 521 |
cutoff_len=max_seq_length,
|
| 522 |
val_set_size=evaluate_data_count,
|