sungyub/ifbench-verl
IFBench-VERL: Instruction Following Evaluation Dataset for VERL Training Overview IFBench-VERL is a comprehensive instruction-following evaluation dataset formatted for VERL (Versatile Reinforcement Learning) training pipelines. This dataset contains 95,373 high-quality examples with 54 different constraint types, enabling systematic training and evaluation of instruction-following capabilities in language models. The dataset is converted from… See the full description on the dataset page: https://huggingface.co/datasets/sungyub/ifbench-verl.
IFBench-VERL: Instruction Following Evaluation Dataset for VERL Training
Overview
IFBench-VERL is a comprehensive instruction-following evaluation dataset formatted for VERL (Versatile Reinforcement Learning) training pipelines. This dataset contains 95,373 high-quality examples with 54 different constraint types, enabling systematic training and evaluation of instruction-following capabilities in language models.
The dataset is converted from allenai/IF_multi_constraints_upto5 into VERL-compatible format with integrated IFEval-based reward modeling for automatic constraint verification.
Key Statistics
- Total Examples: 95,373
- Format: Parquet (VERL-compatible)
- Data Source: allenai/IF_multi_constraints_upto5
- License: ODC-BY-1.0 (Open Data Commons Attribution License)
- Conversion Date: November 3, 2025
- Constraint Types: 54 different instruction-following constraints
- Constraint Categories: 13 (keywords, language, length, content, format, punctuation, etc.)
- Max Constraints per Example: Up to 5 constraints
- Reward Model: IFEval-based automatic evaluation
Dataset Structure
Schema
The dataset follows the VERL standard schema format:
{
'data_source': 'allenai/IF_multi_constraints_upto5',
'prompt': [
{
'role': 'system',
'content': 'You are a helpful assistant...'
},
{
'role': 'user',
'content': 'Write a paragraph about...'
}
],
'ability': 'instruction_following',
'reward_model': {
'style': 'ifeval',
'ground_truth': '[{"instruction_id": ["keywords:existence"], "kwargs": [{"keywords": ["example", "test"]}]}]'
},
'extra_info': {
'index': 0
},
'dataset': 'ifeval'
}Field Descriptions
Instruction Following Tasks
This dataset tests 54 different constraint types across 13 major categories:
Constraint Categories
- Keywords (8 constraints)
keywords:existence- Require specific keywordskeywords:frequency- Control keyword frequencykeywords:forbidden_words- Prohibit certain wordskeywords:letter_frequency- Control letter frequencykeywords:no_adjacent_consecutive- Prevent adjacent letterskeywords:word_once- Require words exactly oncekeywords:palindrome- Require palindrome wordskeywords:keyword_specific_position- Place keywords at specific positionskeywords:start_end- Require start/end with specific text
- Language (1 constraint)
language:response_language- Require response in specific language
- Length Constraints (4 constraints)
length_constraints:number_sentences- Control sentence countlength_constraints:number_paragraphs- Control paragraph countlength_constraints:number_words- Control word countlength_constraints:nth_paragraph_first_word- Control specific paragraph's first word
- Detectable Content (2 constraints)
detectable_content:number_placeholders- Require placeholders (e.g., [NAME])detectable_content:postscript- Require postscript section
- Detectable Format (8 constraints)
detectable_format:number_bullet_lists- Require bullet listsdetectable_format:constrained_response- Constrain response formatdetectable_format:number_highlighted_sections- Require highlighted sectionsdetectable_format:multiple_sections- Require multiple sectionsdetectable_format:json_format- Require JSON formatdetectable_format:title- Require titledetectable_format:sentence_hyphens- Require sentence with hyphensdetectable_format:square_brackets- Require square bracketsdetectable_format:bigram_wrapping- Require bigram wrapping
- Combination (2 constraints)
combination:two_responses- Require two separate responsescombination:repeat_prompt- Repeat prompt then answer
- Start/End (2 constraints)
startend:end_checker- Control response endingstartend:quotation- Wrap response in quotation marks
- Change Case (3 constraints)
change_case:capital_word_frequency- Control capitalized word frequencychange_case:english_capital- All uppercasechange_case:english_lowercase- All lowercase
- Punctuation (4 constraints)
punctuation:no_comma- Prohibit commaspunctuation:punctuation_dot- End sentences with periodspunctuation:punctuation_exclamation- Use exclamation marks
- Copy (4 constraints)
copy:repeat_phrase- Repeat specific phrasecopy:copy- Copy from promptcopy:copying_simple- Simple copying taskcopy:copying_multiple- Multiple copying operations
- Paragraphs (2 constraints)
paragraphs:paragraphs- Basic paragraph structureparagraphs:paragraphs2- Alternative paragraph structure
- First/Last Word (4 constraints)
first_word:first_word_sent- Control first word of sentencefirst_word:first_word_answer- Control first word of answerlast_word:last_word_sent- Control last word of sentencelast_word:last_word_answer- Control last word of answer
- Count (6 constraints)
count:lowercase_counting- Count lowercase letterscount:counting_composition- Counting compositioncount:count_unique- Count unique elementscount:count_increment_word- Count with incremental wordsletters:letter_counting- Count specific lettersletters:letter_counting2- Alternative letter counting
Reward Model
IFEval-Based Automatic Evaluation
The dataset uses IFEval (Instruction Following Evaluation) for automatic constraint verification. Each example includes:
- Constraint Specification: JSON-encoded list of constraints with parameters
- Automatic Checking: Self-contained scorer in the
datatrovelibrary - Binary Scoring: Each constraint is either satisfied (1.0) or not (0.0)
- Average Score: Final score is the average across all constraints
Ground Truth Format
The reward_model.ground_truth field contains JSON-encoded constraint specifications:
[
{
"instruction_id": [
"keywords:existence",
"length_constraints:number_words"
],
"kwargs": [
{"keywords": ["example", "test"]},
{"num_words": 100, "relation": "at least"}
]
}
]Self-Contained Scorer
The IFEval scorer is included in the datatrove library at datatrove.utils.reward_score.ifeval:
from datatrove.utils.reward_score.ifeval import compute_score
# Evaluate model output against constraints
result = compute_score(
model_output="Your model's response...",
ground_truth='[{"instruction_id": [...], "kwargs": [...]}]'
)
# Result format
{
"score": 0.85, # Average success rate across all constraints
"reward_fmt": 1.0,
"reward_think": 1.0
}Data Access
Using HuggingFace Datasets
from datasets import load_dataset
# Load the full dataset
dataset = load_dataset("sungyub/ifbench-verl", split="train")
# Example usage
example = dataset[0]
print(f"Prompt: {example['prompt']}")
print(f"Constraints: {example['reward_model']['ground_truth']}")Using Pandas
import pandas as pd
# Load as pandas DataFrame
df = pd.read_parquet("hf://datasets/sungyub/ifbench-verl/train-00000-of-00001.parquet")
# View statistics
print(df.info())
print(df.head())Using Polars
import polars as pl
# Load with Polars for faster processing
df = pl.read_parquet("hf://datasets/sungyub/ifbench-verl/train-00000-of-00001.parquet")
print(df.describe())Technical Details
Metadata Standards
This dataset includes metadata following:
- ML Commons Croissant 1.1: Structured dataset metadata
- VERL Format: Compatible with VERL training pipelines
- IFEval Integration: Self-contained constraint checking
Supported Libraries
datasets(HuggingFace)pandaspolarsdask
Dependencies for Reward Scoring
To use the IFEval reward scorer, install:
pip install datatrove[reward_scoring]
# Or install specific dependencies:
pip install langdetect immutabledict nltkUse Cases
1. Instruction Following Training
Train language models to better follow complex instructions with multiple constraints:
from datasets import load_dataset
dataset = load_dataset("sungyub/ifbench-verl", split="train")
# Use for supervised fine-tuning or RL training
for example in dataset:
prompt = example['prompt']
constraints = example['reward_model']['ground_truth']
# Train your model...2. VERL/GRPO Training
Direct integration with VERL training pipelines:
# The 'dataset' field enables automatic verifier routing in GRPO
# The reward model automatically uses IFEval scoring3. Benchmark Evaluation
Evaluate model instruction-following capabilities across 54 constraint types:
from datatrove.utils.reward_score.ifeval import compute_score
# Evaluate model output
score = compute_score(
model_output=model_response,
ground_truth=example['reward_model']['ground_truth']
)
print(f"Instruction following score: {score['score']:.2%}")4. Constraint Analysis
Analyze which constraint types are most challenging:
import json
# Group by constraint types
constraint_stats = {}
for example in dataset:
gt = json.loads(example['reward_model']['ground_truth'])
for constraint_id in gt[0]['instruction_id']:
category = constraint_id.split(':')[0]
constraint_stats[category] = constraint_stats.get(category, 0) + 1
print(constraint_stats)Citation and License
License
This dataset is licensed under ODC-BY-1.0 (Open Data Commons Attribution License), following the original dataset's license terms. You are free to:
- Share and redistribute the dataset
- Adapt and modify the dataset
- Use the dataset commercially
Under the condition of:
- Attribution: You must give appropriate credit to the original dataset creators
Citation
If you use this dataset, please cite the original IF dataset:
@misc{if_multi_constraints_upto5,
title={IF Multi-Constraints (Up to 5)},
author={AI2},
publisher={Hugging Face},
url={https://huggingface.co/datasets/allenai/IF_multi_constraints_upto5},
year={2024}
}And this VERL-formatted version:
@misc{ifbench_verl,
title={IFBench-VERL: Instruction Following Evaluation Dataset for VERL Training},
author={Sungyub Kim},
publisher={Hugging Face},
url={https://huggingface.co/datasets/sungyub/ifbench-verl},
year={2025}
}Responsible Use
This dataset is intended for research and educational purposes in accordance with:
- AI2's Responsible Use Guidelines
- Open Data Commons Attribution License terms
Please ensure ethical use of this dataset and be mindful of potential biases in instruction-following evaluation.
Additional Resources
- Original Dataset: allenai/IF_multi_constraints_upto5
- IFEval Paper: Instruction-Following Evaluation
- VERL Documentation: VERL Training Guide
- Datatrove Library: HuggingFace Datatrove
Contact
For questions or issues regarding this dataset conversion, please open an issue on the dataset repository.
