GenRubric: Self-Evolving Rubric Generation for Scalable LLM Evaluation

Code Paper

Introduction

GenRubric is a family of models for query-specific rubric generation, designed to support scalable and fine-grained evaluation of large language models on open-ended tasks. Instead of relying on manually constructed rubrics or additional human annotations, GenRubric improves rubric generation through self-evolution. Experiments across multiple domains show that GenRubric generates rubrics whose induced evaluations better align with expert-written rubrics, while also generalizing well to domains not seen during training.

Models

We release GenRubric at three model scales:

Model Parameters Hugging Face
GenRubric-4B 4B chenyifan0929/GenRubric-4B
GenRubric-8B 8B chenyifan0929/GenRubric-8B
GenRubric-14B 14B chenyifan0929/GenRubric-14B

All models are built upon the corresponding Qwen3 Base models.

Usage

GenRubric follows the same chat format as Qwen3 and can be directly loaded with Hugging Face Transformers.

Inference

from transformers import AutoModelForCausalLM, AutoTokenizer

model_name = "chenyifan0929/GenRubric-14B"

tokenizer = AutoTokenizer.from_pretrained(model_name)

model = AutoModelForCausalLM.from_pretrained(
    model_name,
    torch_dtype="auto",
    device_map="auto",
)

query = """
A company terminates an employee after discovering that the employee
had provided false information during recruitment. The employee argues
that the false information was unrelated to job performance and that
the termination was unlawful. Analyze whether the termination is legally justified.
"""

messages = [
    {
        "role": "user",
        "content": f"Generate a comprehensive evaluation rubric for the following query:\n\n{query}",
    }
]

inputs = tokenizer.apply_chat_template(
    messages,
    add_generation_prompt=True,
    tokenize=True,
    return_dict=True,
    return_tensors="pt",
).to(model.device)

outputs = model.generate(
    **inputs,
    max_new_tokens=2048,
)

response = tokenizer.decode(
    outputs[0][inputs["input_ids"].shape[-1]:],
    skip_special_tokens=True,
)

print(response)

The generated output contains query-specific evaluation criteria that can be used to evaluate model responses to the given query.

Citation

If you find GenRubric useful in your research, please consider citing our paper:

@misc{chen2026genrubricselfevolvingrubricgeneration,
      title={GenRubric: Self-Evolving Rubric Generation for Scalable LLM Evaluation},
      author={Yifan Chen and Haitao Li and Qingyao Ai and Fengbin Zhu and Tat-Seng Chua and Min Zhang and Yiqun Liu},
      year={2026},
      eprint={2608.29856},
      archivePrefix={arXiv},
      primaryClass={cs.CL},
      url={https://arxiv.org/abs/2608.29856},
}
Downloads last month
27
Safetensors
Model size
15B params
Tensor type
BF16
·
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for chenyifan0929/GenRubric-14B

Quantizations
1 model

Paper for chenyifan0929/GenRubric-14B