T5 Pre-training › Worked Example: Step-by-Step Corruption

Michael BrenndoerferAugust 15, 20253 min read
Language AI HandbookAll chapters
Part 25 of 67Encoder-Decoder Models
Chapter 178T5 Pre-training › Worked Example: Step-by-Step Corruption
Reading section 4 of 11 · Worked Example: Step-by-Step Corruption · 3 minSection 4 of 11 · 3 min

Book contents

Section 4 of 11 · 3 min read

T5 Pre-training › Worked Example: Step-by-Step CorruptionOne section · Sections in this chapter4 / 11 ↓
Reading tools Definitions & inline links

Choose your expertise level to adjust how many terms are explained. Beginners see more tooltips, experts see fewer to maintain reading flow. Hover over underlined terms for instant definitions.

Article links

Make inline references clickable

Let's walk through the span corruption algorithm in detail, tracing each step to solidify understanding. This worked example will make the abstract procedure concrete, showing exactly how a sentence turns into a training example. We'll use a simple sentence and trace each step.

Original text: "Machine learning models require large amounts of training data."

Step 1: Tokenization

Before any corruption occurs, the text must be converted to tokens. This step matters because corruption operates at the token level, not the word level. T5 uses SentencePiece tokenization, which might split words into subwords, but for this example we'll use word-level tokenization for clarity.

After tokenization (using T5's SentencePiece tokenizer), we might get:

Tokenized input sequence with position indices.
Position0123456789
TokenMachinelearningmodelsrequirelargeamountsoftrainingdata.

Each position in this sequence is now a candidate for inclusion in a corrupted span. The algorithm will select some of these positions to mask, group them into spans, and replace those spans with sentinels.

Step 2: Determine corruption budget

With 10 tokens and a 15% corruption rate, we aim to corrupt approximately 1.5 tokens. In practice, the algorithm samples span lengths that sum close to this target. The 15% rate is a target, not an exact requirement. Individual examples may vary slightly while the average across many examples approaches 15%.

In this short example, the low corruption budget means we'll likely corrupt just one short span. Longer sequences would have multiple spans, creating more complex reconstruction tasks.

Step 3: Sample span positions and lengths

The algorithm might sample one span of length 2 starting at position 4. This corrupts "large amounts." The choice of which positions to corrupt is random. This keeps the model sees varied examples. Some training examples might corrupt the beginning of sentences, others the middle or end, and still others might have multiple scattered spans.

Step 4: Apply corruption

Replace positions 4-5 with <extra_id_0>:

Corrupted sequence after span replacement with sentinel token.
Position012345678
TokenMachinelearningmodelsrequire<extra_id_0>oftrainingdata.

Notice that the corrupted sequence is now 9 tokens instead of 10. The two-token span "large amounts" has been replaced by the single token <extra_id_0>, achieving the compression that makes span corruption efficient. The sentinel is a placeholder that unambiguously marks where content was removed.

Step 5: Construct target

The target becomes: <extra_id_0> large amounts

The target sequence begins with the sentinel token, followed by the content of the span that sentinel replaced. If there were multiple spans, the target would contain multiple sentinel-content pairs in order: <extra_id_0> first span content <extra_id_1> second span content, and so forth.

Final result:

  • Input: "Machine learning models require <extra_id_0> of training data."
  • Target: "<extra_id_0> large amounts"

The model learns that given the context of "models require ___ of training data," the missing span should be "large amounts." To succeed at this task, the model must understand that "require" takes a noun phrase object, that "of training data" suggests the object describes a quantity, and that "large amounts" is a natural phrase that satisfies these constraints. This single example teaches vocabulary, grammar, phrase structure, and world knowledge simultaneously.