Concepts / Interpreting Perplexity Values

Interpreting Perplexity Values

Perplexity measures a model's predictive accuracy: lower values mean less uncertainty about the next token, and higher values mean more.

  • Programming

Why Two Perplexity Numbers Can Disagree

Suppose two people report perplexity numbers for what appears to be the same language model, and the numbers differ widely. Before you decide which result is better, you need to know what the number was measured on and how it was computed. Perplexity is a single value, but it is shaped by several factors: the structure of the data, the size of the vocabulary the model predicts over, and how much previous text the model is allowed to look at.

What do you think happens?

Before reading on: if one model is scored on HTML code and the same model is scored on everyday text, which result would you expect to show the lower perplexity?

  • HTML code

  • Everyday text

  • They would be the same

Reveal answer
Answer:

HTML code

HTML is more structured and more predictable, so the model is more confident about what comes next and its perplexity is lower. The rest of this article explains why.

Perplexity as Uncertainty About the Next Token

Perplexity measures a model's predictive accuracy. A lower value means the model predicts the text more accurately, and a higher value means the model is more uncertain about what comes next. Because of this, a perplexity number is not a fixed property of a model alone. It depends on the dataset being predicted and on the exact conditions under which the measurement was made.

Every factor in this article works through one mechanism: uncertainty. When a model has more uncertainty about which token comes next, perplexity rises. When the surrounding text makes the next token easy to anticipate, perplexity falls. Each factor is simply a different way the model's uncertainty can grow or shrink. Keep this single idea in mind as the three factors are introduced.

How Structured Data Lowers Perplexity

The first factor is the structure of the data. More structured data is more predictable, and predictability is exactly what perplexity measures. Structure means that the text follows rules that tell the reader what to expect. Those rules give the model clues about upcoming tokens, so its uncertainty drops.

The source's main example is HTML code. If a model sees an opening head tag, it can predict that a matching closing tag should appear nearby. Everyday text does not offer that kind of reliable signal. Because the model is more confident about HTML, its expected perplexity on HTML code should be lower than its expected perplexity on everyday text.

How Vocabulary Size Raises Perplexity

The second factor is vocabulary size, meaning how many possible tokens the model must choose among at each step. When there are more possible tokens, it is harder to identify the correct one, so the model is more uncertain and perplexity goes up. The source illustrates this with two texts. A model's perplexity on a children's book will likely be lower than the same model's perplexity on War and Peace, because the children's book uses a narrower range of words.

Worked example

Counting choices in a tiny language

Imagine a hypothetical language in which every token has an equal chance of appearing, and there are 4 tokens in total. What perplexity does a model reach if it assigns each token its correct equal share?

  1. 1
    Identify the number of equal choices

    There are 4 tokens, and each has the same chance of appearing at every step.

  2. 2
    Find the chance of predicting correctly

    With equal chances, the model has a 1 in 4 chance of predicting the next token correctly.

  3. 3
    Compare with the source's example

    The source uses the same logic: a perplexity of 3 in an equal-chance language means a 1 in 3 chance of predicting correctly. The number reflects how many effective choices the model faces.

  4. 4
    Apply the same logic to a larger vocabulary

    If the vocabulary grows to tens of thousands of tokens while the model's prediction quality stays the same, each step is harder, so the reported perplexity rises.

Result

In an equal-chance language with 4 tokens, the choice is a 1 in 4 guess, so the perplexity reflects 4 effective choices. A larger vocabulary means more effective choices and a higher perplexity for the same prediction quality.

Choosing the Prediction Unit: Characters Versus Words

The same logic applies to the unit being predicted. For the same dataset, character-based perplexity, which measures how well the model predicts the next character, will be lower than word-based perplexity, which measures how well it predicts the next word. The reason is that the number of possible characters is smaller than the number of possible words. Choosing among a small set of characters is an easier task than choosing among a very large set of words.

  • Common mistake

    Assuming a character-based perplexity and a word-based perplexity can be compared directly

    Why it fails

    The two numbers measure different prediction units, and the candidate set in each case is a different size. A lower character-based value does not mean the model is better at words.

How Context Length Lowers Perplexity

The third factor is context length, the amount of previous text the model can condition on when predicting the next token. The more context a model has, the less uncertainty it has about the next token, so its perplexity tends to be lower. The principle is old. In 1951, Claude Shannon evaluated his model's cross entropy by using it to predict the next token conditioned on up to 10 previous tokens.

At the time the source was written, a model's perplexity could typically be computed and conditioned on between 500 and 10,000 previous tokens, and possibly more. The upper limit is set by the model's maximum context length. Context length is not unlimited: it grows as models are built to handle more text, but it always stops at the model's own maximum.

Mistakes When Comparing Perplexity Numbers

  • Common mistake

    Treating perplexity as a fixed property of a model

    What it looks like

    Two reports list different perplexity values for one model.

    Why it fails

    Perplexity depends on the dataset and on the measurement conditions, so the same model can give different values.

    Do this instead

    Check the dataset, the vocabulary, the prediction unit, and the context length before comparing values.

  • Common mistake

    Comparing values measured on different datasets

    Why it fails

    Structured data such as HTML is more predictable and gives lower perplexity than everyday text, so the dataset alone can change the number.

  • Common mistake

    Comparing character-based and word-based perplexity as if they were the same measure

    Why it fails

    Character-based perplexity is lower than word-based perplexity for the same dataset because the candidate set is smaller.

  • Common mistake

    Ignoring the context length used in the measurement

    Why it fails

    More context lowers perplexity, but the usable context is bounded by the model's maximum context length.

Perplexity as a Rough Capability Signal

Beyond the three factors, the source explains why perplexity matters in practice. Perplexity is a good proxy for a model's capabilities. If a model is bad at predicting the next token, its performance on downstream tasks will also likely be bad. For that reason, perplexity is useful across an AI engineering workflow, not only for guiding the training of language models.

The source supports this with OpenAI's GPT-2 report, which shows that larger models, which are also more powerful models, consistently give lower perplexity on a range of datasets. In the LAMBADA column, the perplexity falls from 35.13 at 117M parameters to 8.63 at 1542M parameters. The link is a rough signal, not a guarantee: it depends on comparing models on a shared test set under the same conditions.

Reading Perplexity Conditions in Practice

MEDIUM

Two reports give perplexity values for one model. Report A measures word-based perplexity on everyday text with a short context. Report B measures character-based perplexity on HTML code with a long context. Explain which factors could account for the difference, and say why you cannot conclude that one model is better from these two numbers alone.

Hints
  • Ask which prediction unit has the smaller candidate set.
  • Ask which dataset is more structured and more predictable.
  • Ask whether the two reports used the same context conditions.

Key Takeaways

  • Perplexity measures a model's predictive accuracy: lower values mean less uncertainty about the next token, and higher values mean more.
  • More structured data, such as HTML, is more predictable and gives lower perplexity than everyday text.
  • A larger vocabulary raises perplexity, and character-based perplexity is lower than word-based perplexity because fewer characters are possible than words.
  • More context lowers perplexity, but it is bounded by the model's maximum context length, so the measurement conditions must always be reported.
  • Lower perplexity is a rough proxy for stronger downstream capability, but the number is only meaningful when the dataset and conditions are known.

Related concepts

More concepts starting with I