Views
No views yet
| Metric | Score |
|---|---|
| Accuracy | 97% |
| Weighted F1 | 0.97 |
| Positive precision / recall | 0.98 / 0.96 |
| Negative precision / recall | 0.97 / 0.98 |
1from transformers import AutoModelForCausalLM, AutoTokenizer
2from peft import PeftModel
3import torch
4
5base_model = AutoModelForCausalLM.from_pretrained(
6 "Qwen/Qwen2.5-3B-Instruct",
7 torch_dtype=torch.float16,
8 device_map="auto"
9)
10model = PeftModel.from_pretrained(base_model, "asfahanjaved126/sentiment-classifier-v1")
11tokenizer = AutoTokenizer.from_pretrained("asfahanjaved126/sentiment-classifier-v1")
12
13messages = [
14 {"role": "system", "content": "Classify as positive or negative. One word only."},
15 {"role": "user", "content": "This product completely changed how I work, love it!"}
16]
17prompt = tokenizer.apply_chat_template(messages, tokenize=False, add_generation_prompt=True)
18inputs = tokenizer(prompt, return_tensors="pt").to(model.device)
19output = model.generate(**inputs, max_new_tokens=5, temperature=0.0, do_sample=False)
20result = tokenizer.decode(output[0][inputs["input_ids"].shape[1]:], skip_special_tokens=True)
21print(result)SFTTrainer with completion-only loss masking, cosine learning rate schedule, and 3 epochs over the training set.