Title: A Single Character Can Make or Break your LLM Evals
Primary area: datasets and benchmarks
Keywords: llm, evaluations, benchmarking, brittleness

Abstract: Common Large Language model (LLM) evaluations rely on demonstration examples to steer models' responses to the desired style. While the number of examples used has been studied and standardized, the choice of how to format examples is less investigated.  In evaluation protocols and real world usage, users face the choice how to separate in-context examples: use a comma? new line? semi-colon? \#, | etc? Surprisingly, we find this seemingly minor choice can dramatically alter model response quality. Across leading model families (Llama, Qwen, Gemma), performance on \mmlu~for example can vary by $\pm 23\%$ depending on the choice of delimiter. In fact, \textit{one can manipulate model rankings to put any model in the lead} by only modifying the single character separating examples. We find LLMs' brittleness pervades topics, model families, and doesn't improve with scale. By probing attention head scores, we find that good-performing delimiters steer attention towards key tokens in the input. Finally, we explore methods to improve LLMs' robustness to the choice of delimiter. We find specifying the selected delimiter in the prompt boosts robustness and offer practical recommendations for the best-performing delimiters to select.

TL;DR: LLM performance on leading benchmarks can change drastically only by modifying the single character separating in-context examples