aadityabuilds/qwen2-5-coder-7b-kernelbook-sdft
Qwen2.5-Coder-7B KernelBook SDFT
Self-Distillation Fine-Tuning (SDFT) checkpoint of Qwen/Qwen2.5-Coder-7B-Instruct, post-trained on the KernelBook Triton kernel dataset.
Method
This model was trained with SDFT (self-distillation fine-tuning): the student sees the user prompt plus privileged reference context (the target Triton implementation) and learns to reproduce the reference completion via forced-completion distillation (cross-entropy + KL on completion tokens). Training used a custom KernelBookSDFTTrainer on top of transformers.Trainer with DeepSpeed ZeRO-3.
Dataset
- KernelBook — PyTorch module prompts paired with reference Triton kernels
- Deduplicated, filtered to completions ≤4096 tokens, repo-stratified 80/10/10 split
- 1 training epoch on the KernelBook train split
Intended use
Generate Triton GPU kernels from PyTorch-style module descriptions. Best for KernelBook-style conversion prompts; not evaluated as a general-purpose chat or reasoning model.
Quick start
from transformers import AutoModelForCausalLM, AutoTokenizer
model_id = "aadityabuilds/qwen2-5-coder-7b-kernelbook-sdft"
tokenizer = AutoTokenizer.from_pretrained(model_id, trust_remote_code=True)
model = AutoModelForCausalLM.from_pretrained(
model_id, torch_dtype="auto", device_map="auto", trust_remote_code=True
)
messages = [
{
"role": "user",
"content": "Convert the following PyTorch code to an equivalent Triton kernel...",
}
]
prompt = tokenizer.apply_chat_template(messages, tokenize=False, add_generation_prompt=True)
inputs = tokenizer(prompt, return_tensors="pt").to(model.device)
outputs = model.generate(**inputs, max_new_tokens=1200, do_sample=False)
print(tokenizer.decode(outputs[0][inputs["input_ids"].shape[1] :], skip_special_tokens=True))Training summary
Limitations
Specialized for KernelBook Triton codegen. May show reduced performance on general coding, math, and knowledge benchmarks compared to the base instruct model.
