How to use from the
Use from the
Transformers library
# Use a pipeline as a high-level helper
from transformers import pipeline

pipe = pipeline("text-generation", model="rishini/qwen2.5-coder-7b-programming-lora")
messages = [
    {"role": "user", "content": "Who are you?"},
]
pipe(messages)
# Load model directly
from transformers import AutoModel
model = AutoModel.from_pretrained("rishini/qwen2.5-coder-7b-programming-lora", device_map="auto")
Quick Links

Qwen2.5-Coder-7B-Programming-LoRA

A LoRA adapter fine-tuned on top of Qwen/Qwen2.5-Coder-7B-Instruct to produce clean, correct, efficient programming solutions with brief explanations.

Model Details

  • Base model: Qwen/Qwen2.5-Coder-7B-Instruct
  • Method: LoRA (rank 64, alpha 128, use_rslora=True)
  • Trainable params: 161,480,704 (~2.08% of total)
  • Data: 6,006 quality-filtered examples from iamtarun/python_code_instructions_18k_alpaca + curated expert-written seeds
  • Training: 3 epochs, effective batch size 32, max context 2048, completion-only label masking, cosine LR 2e-4, bf16 + 4-bit NF4 base, gradient checkpointing
  • Final train loss: 0.326

Usage

Load with PEFT:

from transformers import AutoModelForCausalLM, AutoTokenizer, BitsAndBytesConfig
from peft import PeftModel
import torch

base = "Qwen/Qwen2.5-Coder-7B-Instruct"
adapter = "rishini/qwen2.5-coder-7b-programming-lora"

bnb = BitsAndBytesConfig(
    load_in_4bit=True,
    bnb_4bit_quant_type="nf4",
    bnb_4bit_compute_dtype=torch.bfloat16,
    bnb_4bit_use_double_quant=True,
)

model = AutoModelForCausalLM.from_pretrained(
    base, quantization_config=bnb, device_map="auto", torch_dtype=torch.bfloat16
)
model = PeftModel.from_pretrained(model, adapter)

tokenizer = AutoTokenizer.from_pretrained(base, trust_remote_code=True, use_fast=True)

prompt = "Write a Python function to check if a string is a valid palindrome ignoring case and non-alphanumeric characters."
messages = [{"role": "user", "content": prompt}]
text = tokenizer.apply_chat_template(messages, tokenize=False, add_generation_prompt=True)
inputs = tokenizer(text, return_tensors="pt").to(model.device)
output = model.generate(**inputs, max_new_tokens=512, temperature=0.2)
print(tokenizer.decode(output[0][inputs["input_ids"].shape[1]:], skip_special_tokens=True))

Evaluation

Held-out prompts (not in the training set) answered correctly, including: longest common prefix, min-heap from scratch, topological sort, palindromic substrings (DP), and sliding-window longest substring.

Files

  • adapter_config.json / adapter_model.safetensors โ€” LoRA weights
  • tokenizer.json / tokenizer_config.json / chat_template.jinja โ€” tokenizer + chat template
Downloads last month
15
Inference Providers NEW
This model isn't deployed by any Inference Provider. ๐Ÿ™‹ Ask for provider support

Model tree for rishini/qwen2.5-coder-7b-programming-lora

Base model

Qwen/Qwen2.5-7B
Adapter
(741)
this model