Views
No views yet
Want plug-and-play (Ollama / llama.cpp)? Use the GGUF build (q4_k_m / q8_0) — no base model or PEFT needed.
| Parameter | Value |
|---|---|
| LoRA Rank / Alpha | 64 / 128 |
| LoRA Dropout | 0.05 |
| Target Modules | q_proj, k_proj, v_proj, o_proj, gate_proj, up_proj, down_proj |
| Quantization | 4-bit (nf4, double quant) |
| Compute precision | bf16 |
| Learning Rate | 2e-5 (cosine) |
| Epochs | 1 |
| Training samples | 5,000 AST-mined FIM examples |
| Max Sequence Length | 4096 |
| Stack | transformers 4.49.0, trl 0.17.0, peft 0.19.1 |
<|fim▁begin|>[code before cursor]<|fim▁hole|>[code after cursor]<|fim▁end|>[generated completion]1from peft import PeftModel
2from transformers import AutoModelForCausalLM, AutoTokenizer
3
4base = AutoModelForCausalLM.from_pretrained(
5 "deepseek-ai/deepseek-coder-6.7b-base", device_map="auto", load_in_4bit=True)
6model = PeftModel.from_pretrained(base, "viplismism/deepseek-coder-6.7b-fim-reth-v1")
7tokenizer = AutoTokenizer.from_pretrained("viplismism/deepseek-coder-6.7b-fim-reth-v1")
8
9prompt = "<|fim▁begin|>fn add(a: i32, b: i32) -> i32 {\n <|fim▁hole|>\n}<|fim▁end|>"
10inputs = tokenizer(prompt, return_tensors="pt").to(model.device)
11out = model.generate(**inputs, max_new_tokens=64, do_sample=False)
12print(tokenizer.decode(out[0][inputs.input_ids.shape[1]:], skip_special_tokens=True))| Metric | Tuned (base + adapter) | Base model | Δ |
|---|---|---|---|
| pass@1 (exact match) | 31.0% | 13.5% | +17.5 pts (2.3×) |
| Edit similarity | 0.650 | 0.453 | +0.197 |
| BLEU | 0.459 | 0.294 | +0.165 |
| Token overlap | 0.559 | 0.374 | +0.185 |
deepseek-coder-6.7b-base.