acc vs acc_norm: Why Length Bias Skews LLM Eval Scores A developer explains how the choice between `acc` and `acc_norm` in lm-eval-harness can skew LLM evaluation results due to length bias. The raw `acc` metric favors shorter answers because it sums token log-probabilities, which grow with length, while `acc_norm` divides by byte length to reduce this bias. The post demonstrates that different scoring rules can rank candidates differently and recommends reporting both metrics and cleaning choice strings. Your fine-tune gains three points of acc norm on HellaSwag and loses two points of acc . Same checkpoint, same harness, same seed. Nothing about the model's commonsense reasoning moved in two directions at once — you changed its average per-token entropy, and one of those two metrics is partly measuring how long the answer string is. This is the acc vs acc norm problem, and it decides which number goes in your model card. lm-eval-harness multiple-choice tasks, acc picks the candidate with the highest acc norm divides that sum by the - length x average per-token entropy , so it structurally prefers acc is measuring length as much as knowledge. acc and acc norm produce identical rankings. acc and acc norm in opposite directions with no capability change. Report both, and pick one metric per task family before you start training.Both are argmax over candidate continuations. Given a context x and candidates y 1 ... y k , the harness runs one forward pass per candidate and computes the summed token log-probability of the continuation: score raw y = sum t log p y t | x, y