ARIA-7B: Adaptive Reasoning through Difficulty-Graded Trace Compression
ARIA is a fine-tuned version of DeepSeek-R1-Distill-Qwen-7B trained to produce concise reasoning traces while maintaining mathematical accuracy. The model learns to allocate thinking tokens proportional to problem difficulty rather than generating uniformly verbose traces.
This is the fully merged model (no adapter dependency required).
Results
GSM8K (200 samples, greedy decoding)
| Model | Accuracy | Avg Think Tokens | RES Score |
|---|---|---|---|
| DeepSeek-R1-Distill-7B | 76.0% | 467.5 | 162.6 |
| ARIA-7B | 78.5% | 203.7 | 385.4 |
Token reduction: 2.30x with +2.5% accuracy improvement.
MATH-500 Per-Level Breakdown (243 samples, greedy decoding)
| Level | Base Acc | ARIA Acc | Base Tokens | ARIA Tokens | Reduction |
|---|---|---|---|---|---|
| L1 | 83.7% | 83.7% | 790 | 244 | 3.23x |
| L2 | 80.0% | 78.0% | 981 | 408 | 2.41x |
| L3 | 80.0% | 74.0% | 1299 | 694 | 1.87x |
| L4 | 74.0% | 66.0% | 1585 | 864 | 1.83x |
| L5 | 68.0% | 64.0% | 3045 | 2036 | 1.50x |
The model compresses aggressively on easy problems and scales thinking naturally for harder ones. This adaptive behavior is emergent -- it was not explicitly trained.
RES Score = (accuracy / mean_think_tokens) * 1000. Higher is better.
Usage
from transformers import AutoModelForCausalLM, AutoTokenizer
import torch
model = AutoModelForCausalLM.from_pretrained(
"Eunice-Labs/aria-7b-merged",
torch_dtype=torch.bfloat16,
device_map="auto"
)
tokenizer = AutoTokenizer.from_pretrained("Eunice-Labs/aria-7b-merged")
SYSTEM_PROMPT = (
"You are a math reasoning assistant. "
"Think through problems carefully inside <think> tags, "
"then provide a clean final answer."
)
problem = "What is the sum of the first 100 positive integers?"
prompt = f"{SYSTEM_PROMPT}<|User|>{problem}<|Assistant|>"
inputs = tokenizer(prompt, return_tensors="pt").to("cuda")
output = model.generate(
**inputs,
max_new_tokens=4096,
do_sample=False,
repetition_penalty=1.1
)
print(tokenizer.decode(output[0], skip_special_tokens=True))
Training
ARIA is trained via supervised fine-tuning (SFT) on compressed reasoning traces from the OpenThoughts-114k-math dataset. Easy and medium difficulty traces were compressed ~6x using Gemini 2.0 Flash. Hard problems were left uncompressed.
| Setting | Value |
|---|---|
| Base model | DeepSeek-R1-Distill-Qwen-7B |
| Method | SFT with QLoRA (Unsloth) |
| LoRA rank | 64 |
| LoRA alpha | 128 |
| Target modules | q, k, v, o, gate, up, down projections |
| Training examples | 3,993 |
| Hardware | RTX 3090 24GB |
| Training time | ~1 hour |
Evaluation Details
Full per-sample eval results are available at Eunice-Labs/aria-eval-results.
Accuracy is measured using math-verify for LaTeX equivalence with normalized string match as fallback. Think tokens are counted from the first <think> tag (or start of generation) to the last </think> tag.
Links
- Training dataset: Eunice-Labs/aria-easy-medium
- Eval results: Eunice-Labs/aria-eval-results
- Code: github.com/Gagancreates/eunice-labs-experiments
- Eunice Labs
- Downloads last month
- 12
Model tree for Eunice-Labs/aria-7b-merged
Base model
deepseek-ai/DeepSeek-R1-Distill-Qwen-7B