Files
ABForge-Qwen3-8B/README.md

119 lines
4.6 KiB
Markdown
Raw Permalink Normal View History

---
license: apache-2.0
language:
- en
base_model:
- Qwen/Qwen3-8B
datasets:
- SlowGuess/abforge-data
pipeline_tag: text-generation
library_name: transformers
tags:
- ablation-study
- scientific-reasoning
- post-training
- qwen3
---
# ABForge-Qwen3-8B
<p align="center">
📄 <a href="https://arxiv.org/abs/XXXX.XXXXX">ArXiv</a>
&nbsp|&nbsp 💻 <a href="https://github.com/SlowGuess/Abforge_1">Code</a>
&nbsp|&nbsp 🤗 <a href="https://huggingface.co/collections/SlowGuess/abforge-6a2ac561d0e97f11e409dd75">Collection</a>
</p>
## About
This repository contains **ABForge-Qwen3-8B**, the model presented in *ABForge:
Post-Training for Paper-Grounded Ablation Design*. Given a paper's methodology with its
ablation content removed, it proposes the ablation objectives the paper should investigate
and designs a rigorous experiment plan for each — both from a single checkpoint.
The model is obtained through an **SFT → GRPO** pipeline on
[Qwen3-8B](https://huggingface.co/Qwen/Qwen3-8B), trained throughout on a 1:1 mixture of the
two tasks:
1. Supervised fine-tuning on the ABForge SFT corpus, one full epoch →
[ABForge-Qwen3-8B-SFT](https://huggingface.co/SlowGuess/ABForge-Qwen3-8B-SFT)
2. Rubric-guided GRPO, 200 updates, each rollout routed to its task's reward by
`data_source` → **this model**
## Links
| Resource | Link |
|---|---|
| Code | [SlowGuess/Abforge_1](https://github.com/SlowGuess/Abforge_1) |
| Training & evaluation data | [SlowGuess/abforge-data](https://huggingface.co/datasets/SlowGuess/abforge-data) |
| SFT checkpoint | [SlowGuess/ABForge-Qwen3-8B-SFT](https://huggingface.co/SlowGuess/ABForge-Qwen3-8B-SFT) |
| RL-only checkpoint | [SlowGuess/ABForge-Qwen3-8B-RL](https://huggingface.co/SlowGuess/ABForge-Qwen3-8B-RL) |
| Per-paper outputs & judge rationales | `outputs/task{1,2}/*/abforge.jsonl` in the data repo |
## Training data
[SlowGuess/abforge-data](https://huggingface.co/datasets/SlowGuess/abforge-data) ships a
single table under `train/`, one row per paper, built by a semi-automated audit-in-the-loop
pipeline over research papers from major ML, NLP and CV venues. Both stages select their rows
from that table by its split columns and mix the two tasks 1:1:
- **SFT** — `in_sft_task1` (45,961 papers) + `in_sft_task2` (36,955)
- **GRPO** — `in_rl_task1` + `in_rl_task2` (30,000 papers each, disjoint from the SFT pool)
The benchmark papers carry no training flag, so they cannot leak into either stage. The
preprocessing scripts in the code release turn the table into the training parquets directly.
## Performance
AblationBench, automated rubric-based LLM-as-a-Judge evaluation (`eval/ablationbench_200.jsonl`,
200 papers, judge `claude-sonnet-4-6`). Task 1 is ablation objective identification
(`paper_score`); Task 2 is ablation plan synthesis (`design_score`, ×100).
| Model | Task 1 | Task 2 |
|---|---|---|
| [Qwen3-8B](https://huggingface.co/Qwen/Qwen3-8B) (base) | 44.4 | 43.4 |
| [ABForge-Qwen3-8B-SFT](https://huggingface.co/SlowGuess/ABForge-Qwen3-8B-SFT) (SFT only) | 30.7 | 52.2 |
| [ABForge-Qwen3-8B-RL](https://huggingface.co/SlowGuess/ABForge-Qwen3-8B-RL) (RL only) | 52.2 | 54.9 |
| **ABForge-Qwen3-8B** (SFT → GRPO) | **55.9** | **62.4** |
> Each stage on its own falls short: SFT trades Task 1 for Task 2, and GRPO from the base model
> plateaus below the full pipeline. Running GRPO from the SFT checkpoint is worth +3.7 on Task 1
> and +7.5 on Task 2 over RL alone.
## Evaluation
Reproduce the numbers above with the [code release](https://github.com/SlowGuess/Abforge_1):
```bash
git clone https://github.com/SlowGuess/Abforge_1 && cd Abforge_1
huggingface-cli download SlowGuess/abforge-data --repo-type dataset \
--include "eval/*" --local-dir data
python run_inference_local.py --task 1 \
--input data/eval/ablationbench_200.jsonl \
--output outputs/task1_infer.jsonl \
--model-path SlowGuess/ABForge-Qwen3-8B \
--dtype bf16 --device-map auto \
--max-new-tokens 5120 --temperature 0.0 --stop-on '</Result>'
export JUDGE_API_BASE=https://api.openai.com/v1
export JUDGE_API_KEY=...
export JUDGE_MODEL=...
scripts/evaluate_task1.sh outputs/task1_infer.jsonl
```
Swap `--task 2`, `--stop-on '</Proposed_Plan>'` and `scripts/evaluate_task2.sh` for Task 2. The
model is trained on the prompt templates in the code release and the rubric evaluator expects
the matching output structure, so use those templates and greedy decoding.
## Citation
<!-- TODO: replace with the final paper citation once available. -->
```bibtex
@misc{abforge2026,
title={ABForge: Post-Training for Paper-Grounded Ablation Design},
author={TODO},
year={2026},
}
```