Papers › Measuring and Narrowing the Compositionality Gap in Language Models
Measuring and Narrowing the Compositionality Gap in Language Models
Ofir Press, Muru Zhang, Sewon Min, Ludwig Schmidt, Noah A. Smith, Mike Lewis
We investigate the ability of language models to perform compositional reasoning tasks where the overall solution depends on correctly composing the answers to sub-problems. We measure how often models can correctly answer all sub-problems but not generate the overall solution, a ratio we call the compositionality gap. We evaluate this ratio by asking multi-hop questions with answers that require composing multiple facts unlikely to have been observed together during pretraining. In the GPT-3 family of models, as model size increases we show that the single-hop question answering performance improves faster than the multi-hop performance does, therefore the compositionality gap does not decrease. This surprising result suggests that while more powerful models memorize and recall more factual knowledge, they show no corresponding improvement in their ability to perform this kind of compositional reasoning. We then demonstrate how elicitive prompting (such as chain of thought) narrows the compositionality gap by reasoning explicitly. We present a new method, self-ask, that further improves on chain of thought. In our method, the model explicitly asks itself (and answers) follow-up questions before answering the initial question. We finally show that self-ask's structured prompting lets us easily plug in a search engine to answer the follow-up questions, which additionally improves accuracy.
In Syntology Open this paper in Syntology's Atlas, the map of the papers in Syntology's graph and their citations.
Code
Repository list and official/mentioned flags are the archive's, frozen 2025-07-28. Reachability, where shown, is from one Syntology probe window (2026-09-16 to 2026-09-18); repositories not probed show nothing. GitHub stars are not tracked.
Code Syntology ran Syntology
Not run by Syntology. Nothing on this page verifies that the listed code works.
Tasks
Datasets
Introduced by this paper, per the archive.
Results from the paper archive 2025-07-28
| Task | Dataset | Model | Metric | Value | Rank at snapshot | Leaderboard | Report |
|---|---|---|---|---|---|---|---|
| Question Answering | Bamboogle | Self-ask (GPT-3; davinci-002) + Google Search | Accuracy | 60.0 | #4 of 9 | Archive leaderboard | report |
| Question Answering | Bamboogle | Self-ask (GPT-3; davinci-002) | Accuracy | 57.6 | #5 of 9 | Archive leaderboard | report |
| Question Answering | Bamboogle | Chain-of-Thought (GPT-3; davinci-002) | Accuracy | 46.4 | #6 of 9 | Archive leaderboard | report |
| Question Answering | Bamboogle | Direct Prompting (GPT-3; davinci-002) | Accuracy | 17.6 | #8 of 9 | Archive leaderboard | report |
| Question Answering | Bamboogle | Google Search | Accuracy | 0 | #9 of 9 | Archive leaderboard | report |
| Question Answering | FEVER | Self-Ask | EM | 64.2 | #2 of 8 | Archive leaderboard | report |
| Question Answering | WebQuestions | Self-Ask | EM | 31.1 | #23 of 37 | Archive leaderboard | report |
Ranks are positions in the archive's leaderboards as they stood at the 2025-07-28 snapshot. Results published since then are not among these rows, so a rank here is not a current standing.
Methods
Report a problem or propose a change · a person checks every report against the paper or source before anything changes; decisions are listed on /corrections