Skip to content

Qwen2.5-Coder 7B/14B/32B: Repo-Level Context + FIM Native FT

Qwen2.5-Coder family — 2025's strongest open code LLM. FIM native, 128K context, optimized for repo-level. 32B HumanEval 92.7%, SWE-Bench-Lite 31.6%. 7B QLoRA on RTX 4090 in 40 min; 32B on cloud H100 80GB single-GPU.

Şükrü Yusuf KAYA
30 min read
Advanced
Qwen2.5-Coder 7B/14B/32B: Repo-Level Context (16K-128K) + FIM Native FT
python
# === Qwen2.5-Coder 7B FT (RTX 4090) ===
from unsloth import FastLanguageModel
from trl import SFTTrainer, SFTConfig
from datasets import load_dataset
 
model, tok = FastLanguageModel.from_pretrained(
"unsloth/Qwen2.5-Coder-7B-Instruct-bnb-4bit",
max_seq_length=16384, # repo-level için uzun context
dtype="bfloat16", load_in_4bit=True,
)
model = FastLanguageModel.get_peft_model(
model, r=64, lora_alpha=128, lora_dropout=0.05,
target_modules=["q_proj","k_proj","v_proj","o_proj",
"gate_proj","up_proj","down_proj"],
use_gradient_checkpointing="unsloth",
)
 
# Custom repo dataset
# Format: full file content concat (multiple files per sample) +/- FIM
dataset = load_dataset("user/my-python-repo-fim", split="train")
 
cfg = SFTConfig(
output_dir="qwen-coder-7b-myrepo",
num_train_epochs=2,
per_device_train_batch_size=1, # 16K seq → batch=1
gradient_accumulation_steps=8,
learning_rate=1e-4,
bf16=True, optim="paged_adamw_8bit",
max_seq_length=16384, packing=True,
dataset_text_field="text",
logging_steps=5, report_to="wandb",
)
SFTTrainer(model=model, tokenizer=tok, train_dataset=dataset, args=cfg).train()
Qwen2.5-Coder 7B + repo-level FT
✅ Teslim
  1. Kendi repo'nun Python dosyalarını FIM dataset'e dönüştür. 2) Qwen2.5-Coder 7B FT. 3) Sonraki ders: 8.3 — DeepSeek-Coder-V2.

Yorumlar & Soru-Cevap

(0)
Yorum yazmak için giriş yap.
Yorumlar yükleniyor...

Related Content