SWE-Gym Qwen2.5-Coder-14B-Instruct Full SFT (100K Context)
A full-parameter supervised fine-tuned version of Qwen2.5-Coder-14B-Instruct using SWE-agent trajectory data distilled from Qwen3-Coder-480B-A35B-Instruct on the SWE-Gym dataset.
Model Details
| Property | Value |
|---|---|
| Base Model | Qwen/Qwen2.5-Coder-14B-Instruct |
| Fine-tuning Method | Full-parameter SFT |
| Parameters | ~14.7B |
| Architecture | Qwen2ForCausalLM |
| Hidden Size | 5120 |
| Intermediate Size | 13824 |
| Max Context Length | 100K tokens |
| Precision | bfloat16 |
Training Details
| Property | Value |
|---|---|
| Training Data | 634 resolved SWE-Gym instances |
| Teacher Model | Qwen3-Coder-480B-A35B-Instruct |
| Agent Framework | OpenHands CodeActAgent |
| Epochs | 3 |
| Total Steps | 60 |
| Batch Size | 1 per device × 8 GPUs × 4 grad accum = 32 effective |
| Learning Rate | 1e-5 (cosine schedule, 10% warmup) |
| Optimizer | AdamW (β1=0.9, β2=0.999, ε=1e-8) |
| Final Training Loss | 0.226 |
| Training Runtime | ~4.8 hours |
| Framework | LLaMA-Factory + DeepSpeed |
| Transformers | 5.2.0 |
| PyTorch | 2.6.0 |
Training Data
The training data consists of 634 resolved instances from the SWE-Gym training set. Trajectories were generated by running Qwen3-Coder-480B-A35B-Instruct (via OpenHands CodeActAgent with maxiter=100) on SWE-Gym tasks, then filtering to only resolved (successful) trajectories. Function-calling messages were converted to non-function-calling format for SFT, and trajectories exceeding 100K tokens were excluded.
Training Curve
| Step | Epoch | Loss | Learning Rate |
|---|---|---|---|
| 5 | 0.25 | 0.449 | 6.67e-06 |
| 10 | 0.50 | 0.381 | 9.92e-06 |
| 20 | 1.00 | 0.296 | 8.64e-06 |
| 30 | 1.50 | 0.251 | 6.15e-06 |
| 40 | 2.00 | 0.243 | 3.29e-06 |
| 50 | 2.50 | 0.219 | 9.89e-07 |
| 60 | 3.00 | 0.226 | 8.46e-09 |
Usage
from transformers import AutoModelForCausalLM, AutoTokenizer
model = AutoModelForCausalLM.from_pretrained(
"MMR115/swegym-qwen2.5-coder-14b-instruct-sft-100k",
torch_dtype="auto",
device_map="auto",
)
tokenizer = AutoTokenizer.from_pretrained("MMR115/swegym-qwen2.5-coder-14b-instruct-sft-100k")
Citation
If you use this model, please cite SWE-Gym and OpenHands:
@article{pan2024swegym,
title={Training Software Engineering Agents and Verifiers with SWE-Gym},
author={Pan, Jiayi and Xiao, Xingyao and Wang, Jinda and Graham, Colin and Wang, Xinran and Hu, Hoang and Wang, Rui and Shi, Heng and Liu, Pengfei and Wang, Huan and Qian, Cong},
journal={ICML},
year={2025}
}
- Downloads last month
- 2
Model tree for MMR115/swegym-qwen2.5-coder-14b-instruct-sft-100k
Base model
Qwen/Qwen2.5-14B Finetuned
Qwen/Qwen2.5-Coder-14B Finetuned
Qwen/Qwen2.5-Coder-14B-Instruct