Skip to content
Back to skills

Off Policy Sft Eval

ASecurity

Evaluates the trade-off between improving downstream mathematical reasoning capabilities and mitigating catastrophic forgetting on general-domain knowledge benchmarks after off-policy supervised fine-tuning. It measures how well a model retains pre-trained general knowledge while learning a new specialized task. Use when the user wants to benchmark on Math500, MinervaMath, AMC23, AGIEval-Math, IMO-Bench, MMLU, MMLU-Pro, AGIEval, or asks about evaluating this task. Reports OverallAvg.

  • 3 stars
  • 0 votes
  • 0 copies
  • 3 views
  • Added September 11, 2026
researchpythongoperformance

Security analysis

A100/100

Scanned September 11, 2026

npx -y skills add qhjqhj00/research-skills-pool --skill off-policy-sft-eval --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Off Policy Sft Eval?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Off Policy Sft Eval
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/qhjqhj00-off-policy-sft-eval/badge)](https://www.skillsdirectory.com/skills/qhjqhj00-off-policy-sft-eval)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: off-policy-sft-eval
description: Evaluates the trade-off between improving downstream mathematical reasoning capabilities and mitigating catastrophic forgetting on general-domain knowledge benchmarks after off-policy supervised fine-tuning. It measures how well a model retains pre-trained general knowledge while learning a new specialized task. Use when the user wants to benchmark on Math500, MinervaMath, AMC23, AGIEval-Math, IMO-Bench, MMLU, MMLU-Pro, AGIEval, or asks about evaluating this task. Reports OverallAvg.
metadata:
  skill_kind: dataset_eval
  source_arxiv: 2602.11220
  bibtex_key: wang2026patch
  confidence: high
---

# off-policy-sft-eval

> Patch the Distribution Mismatch: RL Rewriting Agent for Stable Off-Policy SFT — Wang et al. (2026) (arXiv:2602.11220, 2026)

## What this evaluates

Evaluates the trade-off between improving downstream mathematical reasoning capabilities and mitigating catastrophic forgetting on general-domain knowledge benchmarks after off-policy supervised fine-tuning. It measures how well a model retains pre-trained general knowledge while learning a new specialized task.

## Datasets

- **Math500** — total ?; splits: test (-1)
- **MinervaMath** — total ?; splits: test (-1)
- **AMC23** — total ?; splits: test (-1)
- **AGIEval-Math** — total ?; splits: test (-1)
- **IMO-Bench** — total ?; splits: test (-1)
- **MMLU** — total ?; splits: test (-1)
- **MMLU-Pro** — total ?; splits: test (-1)
- **AGIEval** — total ?; splits: test (-1)

## Metrics

- `MathAvg` — range: [0, 1]
  - Arithmetic mean of accuracy scores across all five mathematical reasoning benchmarks.
- `GeneralAvg` — range: [0, 1]
  - Arithmetic mean of accuracy scores across MMLU, MMLU-Pro, and AGIEval (with math-related subsets removed).
- `OverallAvg` **(primary)** — range: [0, 1]
  - Average of MathAvg and GeneralAvg: (MathAvg + GeneralAvg) / 2. Used as the headline metric for the gain-forgetting trade-off.
- `Math↑ (%)` — range: percent
  - Relative improvement in MathAvg over the instruct-tuned base model: (M - M_base) / M_base × 100.
- `Gen↓ (%)` — range: percent
  - Relative drop in GeneralAvg compared to the instruct-tuned base model: (G_base - G) / G_base × 100.

## Input / output format

**Input**: Instruction prompt for mathematical reasoning or general-domain multiple-choice/factual QA tasks.

**Output**: Model-generated answer text or selected option label.

## Scoring recipe

```python
def compute_metrics(preds, golds, base_preds):
    math_scores = [exact_match(p, g) for p, g in zip(preds['math'], golds['math'])]
    general_scores = [exact_match(p, g) for p, g in zip(preds['gen'], golds['gen'])]
    
    math_avg = mean(math_scores)
    general_avg = mean(general_scores)
    overall_avg = (math_avg + general_avg) / 2
    
    math_avg_base = mean([exact_match(p, g) for p, g in zip(base_preds['math'], golds['math'])])
    general_avg_base = mean([exact_match(p, g) for p, g in zip(base_preds['gen'], golds['gen'])])
    
    math_rel_imp = (math_avg - math_avg_base) / math_avg_base * 100
    gen_rel_drop = (general_avg_base - general_avg) / general_avg_base * 100
    return overall_avg, math_rel_imp, gen_rel_drop
```

## Common pitfalls

- Reporting relative improvement/drop percentages (Math↑, Gen↓) instead of absolute scores, which obscures baseline performance differences across model sizes.
- Failing to remove math-related subsets from AGIEval and MMLU when computing GeneralAvg, which artificially inflates the catastrophic forgetting metric.
- Using the pre-training checkpoint instead of the instruct-tuned base model as the reference for relative metric calculations, violating the paper's defined baseline.

## Evidence (verbatim from paper)

> Math↑ denotes the relative MathAvg improvement over the instruct-tuned base within the same block: (M-M_base)/M_base×100. Gen↓ denotes the relative GeneralAvg drop: (G_base-G)/G_base×100. OverallAvg =(MathAvg+GeneralAvg)/2.

## Citation

```bibtex
@misc{wang2026patch,
  title={Patch the Distribution Mismatch: RL Rewriting Agent for Stable Off-Policy SFT},
  author={Wang et al. (2026)},
  year={2026},
  note={arXiv:2602.11220}
}
```

- arXiv: 2602.11220

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.