Loading slide

Loading contents...

[█████████████░░░░░][█████████████████████░░░░░░░]14 / 19
<back>next

So why not just use bytes?

If those 256 patterns already spell everything, why keep the rest of the vocabulary at all? Why not hand the model the raw bytes and be done with the awkward splits?

You can. Models built that way exist and they work. The bytes really are enough.

Which contradicts how this chapter opened. Single letters were no good, we said, because dog falls apart into d, o, g, three pieces that have nothing to do with barking. That was the beginner's answer, and you now know enough to see past it.

The meaning is not lost. It just has to be rebuilt, and the bill comes as length. Handed one token for strawberry, the model gets the whole word in a single step. Handed bytes, it gets eleven of them, and not one means anything on its own. Every sentence arrives several times longer, and length is the expensive dimension: more pieces to process, more steps, more room filled.

The model can do the assembling. It learns to see c, a, t in a row and build a cat out of three letters that individually mean nothing, the way you hear a melody rather than a list of notes. It is just work it redoes every time the word appears, forever.

So the trade has two real sides. Bigger pieces mean shorter sequences and a running start on common words, paid for with a large vocabulary and all the strange cuts. Bytes mean a tiny vocabulary that can spell anything, paid for in length and in rebuilding every word from scratch.

Most large models take the middle: pieces small enough to cover everything, large enough that common words arrive whole.

# citations(2)↓
  1. [1]arxiv.org
  2. [2]github.com