evaluate 0 0 0

tonychenxyz/ifeval

published by @tonychenxyz

Alignment dataset tracked in the /datasets sub-catalog.

Lifetime downloads
759
Last 30 days
35
Likes
-
Size
4.2 MB
Created on HF
2026-01-10
Age
9 months ago

Description

IFEval: Instruction-Following Evaluation

Benchmark for testing LLMs' ability to follow verifiable instructions with precise constraints.

Overview

Metric

Value

Prompts

541

Constraint Types

25+

Constraints per Prompt

1-3

Evaluation Method

Automatic verification

Constraint Categories

IFEval tests 25+ types of verifiable constraints across multiple categories:

Format Constraints

JSON format: Response must be valid… See the full description on the dataset page: https://huggingface.co/datasets/tonychenxyz/ifeval.

Tags

size_categories:1K<n<10Kformat:parquetmodality:textlibrary:datasetslibrary:pandaslibrary:polarslibrary:mlcroissantarxiv:2311.07911region:us

README current version from Hugging Face


configs:

  • config_name: memwrap
    data_files:
    • split: test
      path: memwrap/test-*
  • config_name: plain
    data_files:
    • split: test
      path: plain/test-*
      dataset_info:
  • config_name: memwrap
    features:
    • name: prompt
      dtype: string
    • name: category
      dtype: string
    • name: extra_info
      struct:
      • name: ground_truth
        struct:
        • name: instruction_id_list
          list: string
        • name: kwargs
          list:
          • name: num_highlights
            dtype: int64
          • name: relation
            dtype: string
          • name: num_words
            dtype: int64
          • name: num_placeholders
            dtype: int64
          • name: prompt_to_repeat
            dtype: string
          • name: num_bullets
            dtype: int64
          • name: section_spliter
            dtype: string
          • name: num_sections
            dtype: int64
          • name: capital_relation
            dtype: string
          • name: capital_frequency
            dtype: int64
          • name: keywords
            list: string
          • name: num_paragraphs
            dtype: int64
          • name: language
            dtype: string
          • name: let_relation
            dtype: string
          • name: letter
            dtype: string
          • name: let_frequency
            dtype: int64
          • name: end_phrase
            dtype: string
          • name: forbidden_words
            list: string
          • name: keyword
            dtype: string
          • name: frequency
            dtype: int64
          • name: num_sentences
            dtype: int64
          • name: postscript_marker
            dtype: string
          • name: first_word
            dtype: string
          • name: nth_paragraph
            dtype: int64
        • name: key
          dtype: int64
      • name: scoring_function
        dtype: string
      • name: variant
        dtype: string
        splits:
    • name: test
      num_bytes: 440490
      num_examples: 541
      download_size: 109267
      dataset_size: 440490
  • config_name: plain
    features:
    • name: prompt
      dtype: string
    • name: category
      dtype: string
    • name: extra_info
      struct:
      • name: ground_truth
        struct:
        • name: instruction_id_list
          list: string
        • name: key
          dtype: int64
        • name: kwargs
          list:
          • name: capital_frequency
            dtype: int64
          • name: capital_relation
            dtype: string
          • name: end_phrase
            dtype: string
          • name: first_word
            dtype: string
          • name: forbidden_words
            list: string
          • name: frequency
            dtype: int64
          • name: keyword
            dtype: string
          • name: keywords
            list: string
          • name: language
            dtype: string
          • name: let_frequency
            dtype: int64
          • name: let_relation
            dtype: string
          • name: letter
            dtype: string
          • name: nth_paragraph
            dtype: int64
          • name: num_bullets
            dtype: int64
          • name: num_highlights
            dtype: int64
          • name: num_paragraphs
            dtype: int64
          • name: num_placeholders
            dtype: int64
          • name: num_sections
            dtype: int64
          • name: num_sentences
            dtype: int64
          • name: num_words
            dtype: int64
          • name: postscript_marker
            dtype: string
          • name: prompt_to_repeat
            dtype: string
          • name: relation
            dtype: string
          • name: section_spliter
            dtype: string
      • name: scoring_function
        dtype: string
      • name: variant
        dtype: string
        splits:
    • name: test
      num_bytes: 387472
      num_examples: 541
      download_size: 104139
      dataset_size: 387472

IFEval: Instruction-Following Evaluation

Benchmark for testing LLMs' ability to follow verifiable instructions with precise constraints.

Overview

Metric Value
Prompts 541
Constraint Types 25+
Constraints per Prompt 1-3
Evaluation Method Automatic verification

Constraint Categories

IFEval tests 25+ types of verifiable constraints across multiple categories:

Format Constraints

  • JSON format: Response must be valid JSON
  • Bullet lists: Required number of bullet-point lists
  • Highlighted sections: Markdown highlighted text sections
  • Title: Response must include a title
  • Multiple sections: Required number of sections/headers
  • Constrained response: Response limited to specific options

Length Constraints

  • Word count: Exactly, at least, or at most N words
  • Sentence count: Required number of sentences
  • Paragraph count: Required number of paragraphs
  • Nth paragraph first word: Specific first word for paragraph N

Keyword Constraints

  • Keyword existence: Required keywords must appear
  • Keyword frequency: Keyword appears N times
  • Forbidden words: Certain words must not appear
  • Letter frequency: Specific letter appears N times

Style Constraints

  • All uppercase: Entire response in capital letters
  • All lowercase: Entire response in lowercase
  • Capital word frequency: Required number of capitalized words
  • No comma: Response must not contain commas

Content Constraints

  • Placeholders: Required number of [placeholder] elements
  • Postscript: Must include P.S. or P.P.S.
  • Quotation: Entire response wrapped in quotes
  • Two responses: Must provide two separate answers
  • Repeat prompt: Must repeat the original prompt

Position Constraints

  • End phrase: Response must end with specific phrase
  • Language: Response in specified language

Source

Based on IFEval benchmark by Google Research.

Paper: Instruction-Following Evaluation for Large Language Models

Variants

  • memwrap: Instructions wrapped with <|memory_start|> / <|memory_end|> tags + meta-instruction
  • plain: Raw instruction prompts without memory tags

Usage

from datasets import load_dataset

# Load memwrap variant
ds = load_dataset("tonychenxyz/ifeval", "memwrap", split="test")

# Load plain variant
ds = load_dataset("tonychenxyz/ifeval", "plain", split="test")

# Example entry
print(ds[0])
# {
#   "prompt": "<formatted prompt with chat template>",
#   "category": "memwrap/ifeval",
#   "extra_info": {
#     "ground_truth": {
#       "instruction_id_list": ["punctuation:no_comma", "length_constraints:number_words"],
#       "kwargs": [{}, {"relation": "at least", "num_words": 100}],
#       "key": 0
#     },
#     "scoring_function": "ifeval",
#     "variant": "memwrap"
#   }
# }

Scoring

Uses ifeval scoring function with automatic constraint verification:

Metrics:

  • strict_accuracy: All constraints satisfied (1.0 or 0.0)
  • loose_accuracy: At least one constraint satisfied (1.0 or 0.0)
  • num_constraints: Total number of constraints
  • num_passed: Number of constraints satisfied
  • constraint_N_pass: Individual constraint results (1.0 or 0.0)

Example:

{
  "strict_accuracy": 0.0,
  "loose_accuracy": 1.0,
  "num_constraints": 2.0,
  "num_passed": 1.0,
  "constraint_1_pass": 0.0,
  "constraint_2_pass": 1.0
}

Citation

@article{zhou2023instruction,
  title={Instruction-Following Evaluation for Large Language Models},
  author={Zhou, Jeffrey and Lu, Tianjian and Mishra, Swaroop and Brahma, Siddhartha and Basu, Sujoy and Luan, Yi and Zhou, Denny and Hou, Le},
  journal={arXiv preprint arXiv:2311.07911},
  year={2023}
}

README history 12 revisions

Every night we snapshot the README of every dataset in the catalog. When the SHA changes we archive the new version and diff it against the last. This is the evolving thought record of the alignment-data field: what the author decided to say about the corpus, and how that framing shifted over time.

  1. 2026-01-21Upload plain/test-00000-of-00001.parquet with huggingface_hub6aff10c7.5 KB
    Loading...
  2. 2026-01-21Upload memwrap/test-00000-of-00001.parquet with huggingface_hub795f54f7.5 KB
    Loading...
  3. 2026-01-21Upload plain/test-00000-of-00001.parquet with huggingface_hub6f983167.5 KB
    Loading...
  4. 2026-01-21Upload memwrap/test-00000-of-00001.parquet with huggingface_hub4ca62e07.5 KB
    Loading...
  5. 2026-01-21Upload plain/test.jsonl with huggingface_hub0dde5e67.5 KB
    Loading...
  6. 2026-01-21Upload memwrap/test.jsonl with huggingface_hub47a9ef27.5 KB
    Loading...
  7. 2026-01-20Upload dataset6ed4e7a7.5 KB
    Loading...
  8. 2026-01-20Upload dataset8a266a45.8 KB
    Loading...
  9. 2026-01-10Upload README.md with huggingface_hub0bb17474 KB
    Loading...
  10. 2026-01-10Upload folder using huggingface_hub51d28990 B
    Loading...
  11. 2026-01-10Upload folder using huggingface_hubc2739820 B
    Loading...
  12. 2026-01-10initial commitcefc6410 B
    Loading...

Used by abliterated models none yet

No abliterated models in our catalog have declared this dataset in their YAML metadata yet. This can mean the dataset is used but not declared, is used outside abliteration workflows, or is new. The link will populate automatically as models are indexed.

Community discussions 1 thread · 1 open · 1 comments

Threads posted by the community on Hugging Face: bug reports, questions about usage, pull requests on the README, license clarifications. Click any thread to expand and read the full conversation inline. Newest first.

  1. 2026-01-11[bot] Conversion to Parquetopen1 💬#1
    Loading...

Related datasets same stage · evaluate

Read further

Repository

Download the dataset

0

Copy any of these snippets into your notebook or terminal. All three fetch directly from Hugging Face using your own credentials.

Recommended: datasets library (Python)
from datasets import load_dataset
ds = load_dataset("tonychenxyz/ifeval")
Raw snapshot (Python)
from huggingface_hub import snapshot_download
snapshot_download(repo_id="tonychenxyz/ifeval", repo_type="dataset")
git clone (requires git-lfs)
git clone https://huggingface.co/datasets/tonychenxyz/ifeval
Catalog is the map. Apps are the tools.

Run models on your own machine, not in the cloud.

Every model page has an "Open in Abliteration" button that hands the model directly to the first-party desktop client, at the quantization your rig can actually run. No API keys, no subscription, no prompt leakage.

Open in Abliteration