60 lines
3.1 KiB
Markdown
60 lines
3.1 KiB
Markdown
---
|
|
license: apache-2.0
|
|
library_name: transformers
|
|
pipeline_tag: text-generation
|
|
base_model:
|
|
- Qwen/Qwen2.5-Coder-7B-Instruct
|
|
datasets:
|
|
- TIGER-Lab/FIM-Midtraining-400K
|
|
tags:
|
|
- code
|
|
- software-engineering
|
|
- fim
|
|
---
|
|
|
|
# FIM-Mid-7B
|
|
|
|
[📄 Paper](https://arxiv.org/abs/2607.12463) · [💻 GitHub](https://github.com/TIGER-AI-Lab/FIM-Midtraining) · [🤗 Dataset](https://huggingface.co/datasets/TIGER-Lab/FIM-Midtraining-400K) · [🤗 Collection](https://huggingface.co/collections/TIGER-Lab/fim-midtraining)
|
|
|
|
**FIM-Mid-7B** is the mid-trained checkpoint of the FIM 7B pipeline: `Qwen2.5-Coder-7B-Instruct` after function-aware FIM mid-training, **before** agent post-training. Post-training this checkpoint on R2E-Gym agent trajectories produces [TIGER-Lab/FIM-7B](https://huggingface.co/TIGER-Lab/FIM-7B).
|
|
|
|
It is released for reproducibility and further post-training. The paper deliberately never scores mid-training-only checkpoints — a FIM-only model has degraded instruction-following and cannot be compared fairly against instruction-tuned baselines; every reported gain is one that *survives* post-training.
|
|
|
|
## Training
|
|
|
|
- **Base model**: [`Qwen/Qwen2.5-Coder-7B-Instruct`](https://huggingface.co/Qwen/Qwen2.5-Coder-7B-Instruct)
|
|
- **FIM mid-training**: [`midtraining/configs/fim_midtrain.yaml`](https://github.com/TIGER-AI-Lab/FIM-Midtraining/blob/main/midtraining/configs/fim_midtrain.yaml) on [TIGER-Lab/FIM-Midtraining-400K](https://huggingface.co/datasets/TIGER-Lab/FIM-Midtraining-400K) — AdamW, lr `1.0e-5`, cosine schedule, warmup ratio `0.1`, weight decay `0.05`, one epoch, sequence length `32768`, bf16 (as-run copy: [`FIM_Midtrain_7B.yaml`](https://github.com/TIGER-AI-Lab/FIM-Midtraining/blob/main/midtraining/configs/FIM_Midtrain_7B.yaml))
|
|
- **Post-training**: none — see [TIGER-Lab/FIM-7B](https://huggingface.co/TIGER-Lab/FIM-7B) for the post-trained agent model
|
|
|
|
## Serve with vLLM
|
|
|
|
A standard Qwen2.5 checkpoint; no overrides needed at its native 32768 context:
|
|
|
|
```bash
|
|
CUDA_VISIBLE_DEVICES=0 \
|
|
python -m vllm.entrypoints.openai.api_server \
|
|
--model TIGER-Lab/FIM-Mid-7B \
|
|
--served-model-name FIM-Mid-7B \
|
|
--host 127.0.0.1 \
|
|
--port 8400 \
|
|
--tensor-parallel-size 1 \
|
|
--max-model-len 32768 \
|
|
--gpu-memory-utilization 0.9 \
|
|
> vllm_fim_mid7b.log 2>&1 &
|
|
```
|
|
|
|
## Post-training
|
|
|
|
To reproduce FIM-7B, run R2E-Gym trajectory SFT from this checkpoint — the exact config is [`posttraining/r2egym/FIM_Posttrain_7B.yaml`](https://github.com/TIGER-AI-Lab/FIM-Midtraining/blob/main/posttraining/r2egym/FIM_Posttrain_7B.yaml) (LLaMA-Factory, full fine-tuning, lr `1.0e-5`, 2 epochs, cutoff 32768), which already points at this repo id. See [`posttraining/r2egym/`](https://github.com/TIGER-AI-Lab/FIM-Midtraining/tree/main/posttraining/r2egym) for the walkthrough.
|
|
|
|
## Citation
|
|
|
|
```bibtex
|
|
@article{wang2026fim,
|
|
title={Function-Aware Fill-in-the-Middle as Mid-Training for Coding Agent Foundation Models},
|
|
author={Wang, Yubo and Liang, Jiarong and Zhang, Yuxuan and Liu, Xuye and Wei, Cong and Zhang, Yuyu and Nie, Ping and Chen, Wenhu},
|
|
journal={arXiv preprint arXiv:2607.12463},
|
|
year={2026}
|
|
}
|
|
```
|