Checks / edit
Vocabulary resized, a token-indexed tensor was not
Check C01. Compares a change with what it was changed from, in
POST /api/v1/plan and in the pull request comment. Milliseconds, before any GPU is billed.
block
edit
C01
| Trigger | Compared with the base, the input embedding (or vocab_size in config.json) changed size, and another tensor with the old vocabulary as its row count kept it: a per-layer embedding (embed_tokens_per_layer, vocab_size_per_layer_input), an output head, or a second copy of vocab_size in a nested text_config. |
|---|---|
| Why | New token ids index past the end of every tensor that kept the old size. The resize and the save both succeed and nothing raises, so an agent that iterates on errors has nothing to iterate on. |
| Seen in | transformers#45276 (Gemma 4 resize_token_embeddings skips embed_tokens_per_layer and the output embeddings), transformers#39921 (Gemma 3n). |
Why it is not a lint you can ignore
This edit does not fail at all. It loads, it runs, and the save succeeds, so a
coding agent that fixes what errors has nothing to fix. The first sign is a training run that
learned the wrong thing. That is why this runs before the spend and not after it.
Run this check on your own model
Free, no account needed
Every check
50 structural checks: 6 guardrail gates, 37 architecture advisor rules and 7 edit checks. See the full catalogue.
← R37 Matryoshka prefix wider than the embedding ยท C02 Weight tying lost in the edit →