agnixcode commited on
Commit
63d7ebf
·
verified ·
1 Parent(s): 3a356ab

Create train.py

Browse files
Files changed (1) hide show
  1. train.py +34 -0
train.py ADDED
@@ -0,0 +1,34 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ from unsloth import FastLanguageModel
2
+ from datasets import load_dataset
3
+ import torch
4
+
5
+ # Load your chat data as JSONL
6
+ dataset = load_dataset("json", data_files="your_chats.jsonl", split="train")
7
+
8
+ model, tokenizer = FastLanguageModel.from_pretrained(
9
+ "unsloth/llama-3.1-8b-bnb-4bit",
10
+ max_seq_length=2048,
11
+ dtype=torch.float16
12
+ )
13
+
14
+ # Add LoRA adapters (fine-tune 1% of params)
15
+ model = FastLanguageModel.get_peft_model(
16
+ model, r=16, target_modules=["q_proj", "k_proj", "v_proj", "o_proj"]
17
+ )
18
+
19
+ # Train (2-4 hours on T4)
20
+ trainer = SFTTrainer(
21
+ model=model,
22
+ train_dataset=dataset,
23
+ dataset_text_field="text",
24
+ max_seq_length=2048,
25
+ args=TrainingArguments(
26
+ per_device_train_batch_size=2,
27
+ gradient_accumulation_steps=4,
28
+ warmup_steps=10,
29
+ max_steps=100, # Your data size
30
+ output_dir="fine_tuned_model"
31
+ )
32
+ )
33
+ trainer.train()
34
+ model.save_pretrained("your_finance_bot")