Byte Latent Transformer (BLT): A Tokenizer-Free LLM Architecture
BLT (Byte Latent Transformer) is a tokenizer-free LLM architecture proposed by Meta FAIR in December 2024 (*"Byte Latent Transformer: Patches Scale Better Than Tokens"*, arXiv:2412.09871; ACL 2025 Outstanding Paper). It removes the tokenizer and fixed vocabulary entirely, operating directly on raw UTF-8 bytes and dynamically grouping them into variable-length patches via entropy-based patching.
> Fact check: BLT comes from Meta FAIR, not ByteDance. "Byte" means computer bytes (byte-level modeling). ByteDance Seed has no BLT project; its vocabulary-related research actually goes the opposite direction (Over-Tokenized Transformer, ICML 2025, with a 12.8M-entry input vocabulary).
Key points
- Paper: arXiv:2412.09871, 14 authors from Meta FAIR, UW, and UChicago; submitted 2024-12-13.
- Code & weights:
github.com/facebookresearch/blt(CC-BY-NC-4.0); gated checkpointsfacebook/blt-1b,blt-7b,blt-entropyreleased 2025-04-18 (no 8B checkpoint). Native HuggingFace Transformers support (BltModel) since 2025-09-19. - Scale: first FLOP-controlled scaling study at 8B parameters / 4T training bytes per the arXiv abstract (GitHub/model card says 8T — inconsistent reporting).
- Cross-lingual unfairness: English ≈ 4 bytes/token, but Chinese/Japanese cost 2-3 tokens per word (a "token tax")
- Rigidity: OOV words, novel spellings, long-tail generalization issues
- Character-level blindness: poor at spelling, counting letters, palindromes, typos
- Noise fragility: case flips or character edits push inputs out of distribution
- Multimodal barriers: each modality needs its own vocabulary
- Compression bias: vocabulary statistics encode language/regional bias
- Low entropy (predictable) → longer patches, saving compute
- High entropy (hard) → shorter patches, allocating more compute
- Input side: text → UTF-8 → each byte maps to one of 260 IDs (0-255 + specials) — no learned vocabulary
- Compute side: global model processes patch sequences ~1/4 to 1/8 the byte length
- Output side: byte-by-byte autoregressive generation
- BLT beats same-data Llama 3 by +8 points on noisy HellaSwag, matching Llama 3.1 trained on 16× more data
- Character-level CUTE: +26.6 points over Llama 3 (Spelling task near-perfect at 99.9)
- → English: 14.0 vs 12.1 (+2.0); English →: 6.4 vs 5.9
- Standout gains: Armenian →EN 1.7→6.3; Bengali →EN 4.7→12.7; Georgian →EN 1.7→7.4
- Claimed: patch size 8 saves up to ~50% inference FLOPs vs the BPE baseline (BPE averages 4.4 bytes/token vs BLT's 8-byte patches)
- Disputed: third-party reviews (e.g., Pith Review) note the calculation excludes the entropy model's inference cost, which must run for every generated byte. At 8B scale the advantage may shrink to roughly break-even; at ~550M scale it could turn negative.
Why remove the tokenizer?
Tokenizers introduce several problems:
Core mechanism: entropy-based dynamic patching
BLT's insight: not all bytes are equally hard to predict. A small ~100M-parameter entropy model (patcher) predicts next-byte entropy over a 512-byte sliding window to set patch boundaries:
Architecture: local–global–local
| Component | Role | Size | Notes | |---|---|---|---| | Entropy model / patcher | Sets patch boundaries | ~100M, 14 layers, hidden 512 | Runs per-byte at inference | | Local encoder ε | Bytes → patch representations | Light (1-2 layers) | Cross-attention pooling + hash n-gram embeddings | | Global Transformer G | Autoregressive over patch sequence | Main compute | Block-causal attention | | Local decoder D | Patch representations → byte predictions | Light (1-2 layers) | Cross-attention back to byte level |
The entropy model and main model are trained independently; end-to-end joint training is listed as future work.
Benchmarks vs. Llama 3 (8B, 1T tokens, FLOP-matched)
| Task | Llama 3 (BPE) | BLT-Space (6T B) | BLT-Entropy (4.5T B) | |---|---|---|---| | Arc-E (0-shot) | 77.6 | 75.4 | 79.6 | | Arc-C (0-shot) | 53.3 | 49.8 | 52.1 | | HellaSwag (0-shot) | 79.1 | 79.6 | 80.6 | | MMLU (5-shot) | 58.1 | 54.8 | 57.4 | | MBPP (3-shot) | 40.2 | 37.6 | 41.8 | | HumanEval (0-shot) | 31.1 | 27.4 | 35.4 | | Average | 60.0 | 58.0 | 61.1 |
BLT-Entropy wins 4 of 7 tasks, averaging +1.1 points, with clear code-task advantages (HumanEval +4.3).
Robustness (BLT's strongest suit)
| Model | Noisy HellaSwag | CUTE (char-level) | |---|---|---| | Llama 3 (1T tok) | 56.9 | 27.5 | | Llama 3.1 (16T tok) | 64.3 | 20.0 | | BLT (1T tok) | 64.3 | 54.1 |
Low-resource translation (FLORES-101, 21 low-resource languages)
Efficiency claims and disputes
Key figures at a glance
| Dimension | Value | Notes | |---|---|---| | Largest experiment | 8B params / 4T–8T bytes | Reporting inconsistent between sources | | Open weights | blt-1b, blt-7b (no 8B) | Gated, FAIR non-commercial license | | Avg patch length | 4.5–6.1 bytes | Entropy mode 4.5, Space mode 6.1 | | Entropy model | ~100M, 14 layers, hidden 512 | 512-byte sliding window | | Independent reproduction | None verified at scale | Unconfirmed |
Conclusion
BLT demonstrates that patches scale better than tokens: byte-level modeling with entropy-based patching matches BPE models at matched FLOPs while delivering substantial "free" gains in robustness, character-level reasoning, and low-resource language coverage. The remaining open questions are the true inference-cost accounting (entropy model overhead) and the patch-size/quality trade-off. Official resources: paper arXiv:2412.09871, code at github.com/facebookresearch/blt.