Views
No views yet
1model = FastLanguageModel.get_peft_model(
2 model,
3 r = 16,
4 target_modules = ["q_proj", "k_proj", "v_proj", "o_proj",
5 "gate_proj", "up_proj", "down_proj",],
6 lora_alpha = 16,
7 lora_dropout = 0,
8 bias = "none",
9 use_gradient_checkpointing = "unsloth",
10 random_state = 3407,
11 use_rslora = False,
12 loftq_config = None,
13)
14
15training_args = TrainingArguments(
16 per_device_train_batch_size = 12,
17 gradient_accumulation_steps = 2,
18 warmup_steps = 100,
19 num_train_epochs = 2,
20 learning_rate = 2e-4,
21 fp16 = not torch.cuda.is_bf16_supported(),
22 bf16 = torch.cuda.is_bf16_supported(),
23 logging_steps = 10,
24 optim = "adamw_8bit",
25 weight_decay = 0.01,
26 lr_scheduler_type = "linear",
27 seed = 3407,
28 output_dir = OUTPUT_DIR,
29 report_to = "none",
30 save_strategy = "steps",
31 save_steps = 50,
32 save_total_limit = 3,
33 load_best_model_at_end = False,
34)
35
36trainer = SFTTrainer(
37 model = model,
38 tokenizer = tokenizer,
39 train_dataset = dataset,
40 dataset_text_field = "text",
41 max_seq_length = max_seq_length,
42 dataset_num_proc = 2,
43 packing = False,
44 args = training_args,
45)
46
47trainer = train_on_responses_only(
48 trainer,
49 instruction_part = "<|start_header_id|>user<|end_header_id|>\n\n", # llama
50 response_part = "<|start_header_id|>assistant<|end_header_id|>\n\n",
51)