Vocab Break (4 minute read)

TLDR AI News

Summary

The article discusses Sander Land's reproduction of Claude's tokenizer, revealing its surprisingly small vocabulary size compared to models like Qwen 3.8, and explores the theoretical implications of the softmax bottleneck in language models as described in a recent paper.

Claude's current tokenizer appears to only have about 15,000 entries. This is surprising, as the trend had seemed to be that more is better in this space. One theory is that Anthropic has been working around a bottleneck caused by the final softmax layer. This article takes a closer look at how Anthropic might be achieving this and the effects it might have on model training.
Original Article
View Cached Full Text

Cached at: 08/26/26, 03:51 PM

# Vocab Break Source: [https://ianbarber.blog/2026/08/24/vocab-break/](https://ianbarber.blog/2026/08/24/vocab-break/) Tokenizer enthusiast Sander Land recently[reproduced something very like Claude’s current tokenizer](https://x.com/magikarp_tokens/status/2087859173748854983), and it appears to only have about 15,000 entries\. That is surprising\! Qwen 3\.8, a very strong release, has about*250k*tokens in its vocab\. In general the trend had seemed to be more is better in this space\. One theory is that Anthropic have been working around a bottleneck caused by the final softmax layer\. There is a recent\(ish\) paper about this:[“Lost in Backpropagation: The LM Head is a Gradient Bottleneck“](https://arxiv.org/abs/2603.10145), but, if this is the reason, then the folks at Throppy have known this for way longer\. The basic idea is that you have to project at the end of the forward pass from the model’s latent space, dimension D, to a much bigger vocabulary space, dimension V, to select a token\. Sticking with Qwen, their 2\.4T parameter flagship model has a hidden size, D, of 8,192, and a V of that 250k vocab size\. When training, you compare the distribution the model gets to the actual right token\. If the model was correct and confident its small, if the model was confidently wrong the loss is large\. That loss is then propagated through all 250k entries, and from there down to the 8k entries of the hidden dimension\. This compression bottlenecks how much information can be fed back into the network\. Specifically, the authors show the change in logits has rank at most 2D\. So if V is a lot larger than D, we are losing information: > We show both empirically and theoretically that the softmax bottleneck induces lossy compression during backpropagation The fact this happens is not totally obvious\. The correct distribution is just one entry wide \(the actual next token\), and the hidden dimension can represent*that*\. Over a wide batch, though, you get all kinds of different next tokens\. The signals are sparse, but not low rank: if you go over enough examples nearly every token is, at some point, “the next token”\. This means the learning signal coming in is as wide as the vocab, and so the model is sampling a random D\-sized subset of it\. That isn’t a problem per\-se: you can learn to map between them, but there isn’t anything in the process that particularly encourages it to learn that mapping\. Whether this is the reason for the small vocab or not, there is a question of how they can get away with it\! Every other model has been increasing, but as far as[Land can estimate](https://www.tokenize.rs/claude)the folks at Anthropic have been cutting: from ~50k vocab entries in Claude 3 to ~16k today\. So, whatever the gradient bottleneck costs, Anthropic \(mostly\) aren’t paying it\! This also has a number of other benefits\. You don’t need to do funky chunked CE kernels since you don’t have to project to a big, memory eating, space, and you don’t get any solidgoldmagikarp[1](https://ianbarber.blog/2026/08/24/vocab-break/#d2f05b94-b77c-4f1c-b4ef-67ce99cfe45d)style[glitch tokens](https://en.wikipedia.org/wiki/Glitch_token), because every token gets trained\. They aren’t ignoring the rare tokens and other languages, they’re just using subword tokens and, in the worst cast, fallbacks to UTF\-8\. That means more tokens per piece of input text, and more attention cost\. That said, it only seems to be 1\.2\-2x more tokens in Land’s testing\. It’s not free: decreasing the tokenizer really is costing more execution and more money, but the tradeoff is presumably more than worth it\! 1. After which I presume Land username’d himself\. Sorry regular magikarp\.[↩︎](https://ianbarber.blog/2026/08/24/vocab-break/#d2f05b94-b77c-4f1c-b4ef-67ce99cfe45d-link)

Similar Articles

Compute Optimal Tokenization (2 minute read)

TLDR AI

This paper systematically derives compression-aware neural scaling laws by training nearly 1,300 models, demonstrating that the widely used heuristic of 20 tokens per parameter is an artifact of specific tokenizers. The authors propose a tokenizer-agnostic scaling law based on bytes, offering a new framework for compute-efficient training across diverse languages and modalities.

Scaling Monosemanticity: Extracting Interpretable Features from Claude 3 Sonnet

arXiv cs.AI

This paper demonstrates that sparse autoencoders can extract interpretable features from Claude 3 Sonnet, a production-scale language model, addressing scalability concerns for dictionary learning. The features are multilingual, multimodal, and include safety-relevant concepts like deception and sycophancy, with causal influence on model outputs.