CoolFace
Modelpublic

dipta007/answer-judge-balanced

sourceHugging Faceapache-2.0updated 4mo agoView on Hugging Face
0likes16downloads
Model Card

DecomposeRL Tiny-Judge: Answer Correctness Judge

<p align="center"> <a href="https://arxiv.org/abs/2605.27858v1"> <img src="https://img.shields.io/badge/%F0%9F%93%84_Paper-arXiv-b12a00?style=for-the-badge&labelColor=ffb300" alt="Paper"> </a> </p>

![Paper](https://arxiv.org/abs/2605.27858v1) ![Project Page](https://dipta007.github.io/DecomposeRL/) ![Dataset](https://huggingface.co/datasets/dipta007/decomposeRL-tiny-judge) ![Collection](https://huggingface.co/collections/dipta007/decomposerl) ![GitHub](https://github.com/dipta007/DecomposeRL)

A ModernBERT-large classifier that scores whether an answer is faithful to the evidence document (no contradictions, no extrinsic information) — the answer correctness sub-signal of DecomposeRL's joint multiplicative quality reward.

It is part of the DecomposeRL tiny-judge stack — eight task-specific LoRA classifier heads on a shared ModernBERT-large backbone that distill a Qwen3-32B LLM judge into small, fast reward models. Swapping the 32B judge for this ~400M-parameter stack cuts GRPO judge compute by ~80% (240 → 48 GPU-hours) while retaining ~99% of in-domain accuracy.

Model Overview

PropertyValue
Model TypeModernBertForSequenceClassification (sequence classification)
Base Modelanswerdotai/ModernBERT-large (~400M params)
TrainingLoRA (r=64, α=128), merged into the base before release
Labels2-way: no / yes
Distilled fromQwen/Qwen3-32B judge labels
Dataset / config`dipta007/decomposeRL-tiny-judge` · answer_correctness
Train splittrain_balanced (class-balanced); selected on macro-F1
LanguageEnglish

What it judges

Provides the answer correctness sub-signal (R_corr) of the joint multiplicative quality reward. For honest abstentions ("I don't know") this factor is dropped so the question is scored on answerability and atomicity alone.

Input format

Evidence document + sub-question + the policy's answer:

Document: {document}
Question: {question}
Answer: {answer}

Label space

LabelNameMeaning
0nothe answer contradicts the document or adds information not grounded in it
1yesthe answer is faithful to the document

Quickstart

python
import torch
from transformers import AutoModelForSequenceClassification, AutoTokenizer

repo = "dipta007/answer-judge-balanced"
tokenizer = AutoTokenizer.from_pretrained(repo)
model = AutoModelForSequenceClassification.from_pretrained(repo).eval()

text = (
    'Document: ## Managerial career\\n'
    'He brought along Rube Foster and a number of American black players, but the team lost five of its first six games, and White and most of his players were released...\\n'
    'Question: How many of its first six games did the team lose?\\n'
    'Answer: The team won five of its first six games.'
)

inputs = tokenizer(text, return_tensors="pt", truncation=True, max_length=8192)
with torch.no_grad():
    logits = model(**inputs).logits
pred = int(logits.argmax(-1))
print(pred, model.config.id2label[pred])
# expected: 0 -> no

Training Data

Trained on the answer_correctness config of `dipta007/decomposeRL-tiny-judge`, whose labels are distilled from Qwen3-32B judge calls made during DecomposeRL reward computation. The model is fine-tuned with LoRA on the class-balanced train_balanced split, validated on the natural validation split, and the best checkpoint is chosen by macro-F1. LoRA adapters are merged into the backbone before release, so the model loads with a plain from_pretrained (no PEFT required).

Role in DecomposeRL

DecomposeRL trains a claim-verification policy with GRPO over a seven-reward ensemble. Five of those rewards are scored by an LLM judge, which dominates training-time GPU cost. The tiny-judge stack replaces that 32B judge with eight small distilled heads so reward scoring runs on the same single GPU as training. See the paper (tiny-judge ablation) and the DecomposeRL-7B model for the full reward design.

Intended Use

  • In-scope: serving as a fast reward / scoring model inside the DecomposeRL training loop, or as a standalone classifier for the specific judgment above on claim-decomposition traces.
  • Out-of-scope: general-purpose fact-checking, use on inputs that do not follow the input format above, or as a standalone end-to-end claim verifier (use DecomposeRL-7B for that).

Citation

bibtex
@article{dipta2025decomposerl,
  title={DecomposeRL: Learning to Ask Useful, Informative, and Diverse Questions for Semi-Supervised, Traceable Claim Verification},
  author={Shubhashis Roy Dipta and Ankur Padia and Francis Ferraro},
  year={2025},
  eprint={2605.27858},
  archivePrefix={arXiv},
  primaryClass={cs.CL},
  url={https://arxiv.org/abs/2605.27858v1},
}

License

Released under the Apache 2.0 License.