CogniLoad: A Synthetic Natural Language Reasoning Benchmark With Tunable Length, Intrinsic Difficulty, and Distractor Density

Daniel Kaiser, Arnoldo Frigessi, Ali Ramezani-Kebrya, Benjamin Ricaud
9/22/2025
cs.CLcs.AIcs.LG

No official code found. Best implementation: kaiserdan/cogniload (2 stars, last commit 2025-05-14).

Abstract

Current benchmarks for long-context reasoning in Large Language Models (LLMs) often blur critical factors like intrinsic task complexity, distractor interference, and task length. To enable more precise failure analysis, we introduce CogniLoad, a novel synthetic benchmark grounded in Cognitive Load Theory (CLT). CogniLoad generates natural-language logic puzzles with independently tunable parameters that reflect CLT's core dimensions: intrinsic difficulty ($d$) controls intrinsic load; distractor-to-signal ratio ($ρ$) regulates extraneous load; and task length ($N$) serves as an operational proxy for conditions demanding germane load. Evaluating 22 SotA reasoning LLMs, CogniLoad reveals distinct performance sensitivities, identifying task length as a dominant constraint and uncovering varied tolerances to intrinsic complexity and U-shaped responses to distractor ratios. By offering systematic, factorial control over these cognitive load dimensions, CogniLoad provides a reproducible, scalable, and diagnostically rich tool for dissecting LLM reasoning limitations and guiding future model development.

View on arXivView PDF

Code Implementations(1)

CogniLoad: A Synthetic Natural Language Reasoning Benchmark With Tunable Length, Intrinsic Difficulty, and Distractor Density

21Elixir, PythonMay 13, 20251 years ago
benchmarkcognitive-loadllmreasoningreasoning-language-models

Similar Papers

Cite this paper

@article{kaiser2025cogniload,
  title  = {CogniLoad: A Synthetic Natural Language Reasoning Benchmark With Tunable Length, Intrinsic Difficulty, and Distractor Density},
  author = {Daniel Kaiser and Arnoldo Frigessi and Ali Ramezani-Kebrya and Benjamin Ricaud},
  year   = {2025},
  eprint = {2509.18458},
  archivePrefix = {arXiv},
  url    = {http://arxiv.org/abs/2509.18458v2}
}

Add a badge to your README

Shows whether official code is linked for this paper.

Code of Paper badge
[![Code of Paper](https://codeofpaper.com/badge/2509.18458.svg)](https://codeofpaper.com/paper/2509.18458)

Discussion