Views
No views yet
| Metric | Before Distillation | After Distillation | Change | Status |
|---|---|---|---|---|
| Validation Perplexity | 5.0924 | 5.2620 | +0.1696 | ✗ |
| Teacher-Student KL Divergence | 2.7913 | 1.9637 | -0.8276 | ✓ |
| Hidden State Cosine Similarity | 0.0075 | 0.0054 | -0.0021 | ✗ |
1import torch
2from transformers import AutoModelForCausalLM, AutoTokenizer
3from peft import PeftModel
4
5base_model_name = "Qwen/Qwen2.5-0.5B-Instruct"
6adapter_name = "sarimahsan101/Qwen2.5-0.5B-HiddenDistilled-LoRA"
7
8# Load tokenizer and base model
9tokenizer = AutoTokenizer.from_pretrained(base_model_name, trust_remote_code=True)
10base_model = AutoModelForCausalLM.from_pretrained(
11 base_model_name,
12 torch_dtype=torch.bfloat16,
13 device_map="auto",
14 trust_remote_code=True
15)
16
17# Load LoRA adapter
18model = PeftModel.from_pretrained(base_model, adapter_name)
19model.eval()
20
21# Inference example
22messages = [{"role": "user", "content": "Explain gravity in one sentence."}]
23text = tokenizer.apply_chat_template(messages, tokenize=False, add_generation_prompt=True)
24inputs = tokenizer(text, return_tensors="pt").to(model.device)
25
26with torch.no_grad():
27 outputs = model.generate(**inputs, max_new_tokens=50)
28
29print(tokenizer.decode(outputs[0][inputs["input_ids"].shape[-1]:], skip_special_tokens=True))bitsandbytes)