How Byteifying Makes Language Models More Flexible

Image for Now in Nature: Retrofitting language models to operate over bytes | Ai2

Step-by-Step Study Material

Step 1: How Language Models Normally Read Text

Before understanding byte-level models, you need to understand the standard approach.

Subword Tokenization — The Traditional Method

Original text:  "unhappiness"
After tokenization: ["un", "happi", "ness"]

What happens:

  • Text is broken into chunks called tokens
  • These chunks come from a fixed, pre-built vocabulary
  • The model never sees raw text — only these pre-defined pieces

Why This Works Well

  • Efficient processing
  • Handles common words and patterns effectively
  • Powers most modern LLMs (GPT, Llama, etc.)

⚠️ Where It Breaks Down

ProblemExample
Rare wordsMedical/legal terminology gets split awkwardly
Spelling tasksHard to reason letter-by-letter
Unusual stringsCode, URLs, special characters
Non-English languagesUnderrepresented in vocabulary

Key Insight: The model is locked into whatever vocabulary was built at the start. It cannot adapt.


Step 2: What Byte-Level Modeling Does Differently

Understanding Bytes First

Every character on your computer is stored as bytes:

Letter "A"  →  byte: 65
Letter "B"  →  byte: 66
Emoji "😊"  →  bytes: 240, 159, 152, 138

Bytes are the fundamental building blocks of ALL digital data.

How Byte-Level Models Work

Traditional:  "cat" → ["cat"] (1 token from vocabulary)

Byte-level:   "cat" → [99, 97, 116] (3 bytes, no vocabulary needed)

The model reads raw byte sequences instead of pre-defined word chunks.

Advantages This Creates

CapabilityWhy Bytes Help
Any languageAll writing systems reduce to bytes
Spelling/charactersEvery letter is individually visible
No fixed vocabularyNothing is "out of vocabulary"
Beyond textImages and audio are also bytes

Core Concept: Bytes are a universal representation — the same foundation works for text, images, and audio.


Step 3: The Historical Problem with Byte-Level Models

The Training Cost Barrier

Subword Model Progress:     ████████████████████  (fast, builds on existing models)
Byte-level Model Progress:  ████                  (slow, must start from scratch)

The problem was:

  • Byte-level models had to be trained from scratch every time
  • This is extremely expensive (millions of dollars, months of compute)
  • Subword models kept improving rapidly
  • Byte-level models couldn't keep pace

Analogy: Imagine every time someone invented a better car engine, electric car makers had to rebuild their entire factory from zero. They'd always be behind.


Step 4: The Byteifying Solution (Bolmo's Core Innovation)

What Ai2 Invented: "Byteifying"

Instead of training from scratch, byteifying converts an existing capable subword model into a byte-level model.

Process Visualization:

[Strong Subword Model]  →  [Byteifying Process]  →  [Byte-Level Model]
     (Olmo 7B)               (short training run)        (Bolmo 7B)

How It Works (Conceptually)

Stage 1: FREEZE the original model
         ┌─────────────────────┐
         │  Original Model     │  ← Kept frozen, unchanged
         │  (all knowledge     │
         │   preserved)        │
         └─────────────────────┘
              ↓
Stage 2: ADD new byte-level components
         ┌─────────────────────┐
         │  New Byte Encoder   │  ← Trained to translate
         │  + Decoder layers   │     bytes → model's language
         └─────────────────────┘
              ↓
Stage 3: SHORT additional training run
         (Much cheaper than training from scratch)

Why This Is Significant

ApproachCostResult
Train byte model from scratch💰💰💰💰💰 Very expensiveOften underperforms
Byteifying existing model💰 Relatively cheapCompetitive performance

Step 5: Results and Validation

Models Created Through Byteifying

Starting Model    →    Byteified Model    →    Performance
─────────────────────────────────────────────────────────
Olmo 1B          →    Bolmo 1B           →    Competitive ✓
Olmo 7B          →    Bolmo 7B           →    Competitive ✓
Qwen 3 8B        →    Bwen 8B            →    Best yet! ✓✓
Llama 3 8B       →    BlamaLlama-B 8B   →    Competitive ✓

Key finding: Byteifying generalizes — it works across different model families, not just Olmo.

Bwen 8B outperformed Bolmo 7B across aggregate evaluations, showing the approach improves as it's applied to stronger base models.


Step 6: Why Openness Matters Here

The Open Science Principle

Ai2 released:

  • ✅ Model weights (on Hugging Face)
  • ✅ Training recipe ("byteifying" process)
  • ✅ Stage 1 checkpoints (faster starting point for researchers)
  • ✅ Published in Nature (peer-reviewed, reproducible)

What This Enables

Without openness:              With openness:
─────────────────              ──────────────
"Trust us, it works"    →      "Here's exactly how — try it yourself"
Researchers blocked     →      Researchers build new experiments
Expensive to replicate  →      Stage 1 checkpoints save time/cost

Real-world example already happening:

  • Researchers fine-tuned Bolmo 7B for Russian-to-English poetry translation
  • Others are studying capability transfer between byte-level models

Step 7: The Bigger Picture — Future Implications

Bytes as a Universal Foundation

TODAY:                          FUTURE POTENTIAL:
Text only                       Text + Images + Audio
Fixed vocabulary                No vocabulary limits
Language-specific               Universal across languages
Separate modalities             Single unified byte foundation

Three Key Future Directions

  1. Cross-language flexibility

    • Models adapt to any writing system naturally
    • No language is "second class" due to vocabulary underrepresentation
  2. Multimodal potential

    • Same byte-level approach could process images, audio
    • One unified architecture for all data types
  3. Faster research iteration

    • Researchers byteify existing models instead of training from scratch
    • Test new ideas without massive compute costs

Summary: The Complete Picture

PROBLEM:  Subword models are locked into fixed vocabularies
          → Struggles with rare words, spelling, multilingual text

OLD SOLUTION: Train byte-level models from scratch
          → Too expensive, always behind subword models

NEW SOLUTION: Byteifying (Ai2's innovation)
          → Convert existing strong models to byte-level
          → Short additional training, competitive results

RESULT:   Bolmo family — first fully open, competitive byte-level LLMs
          → Generalizes to Qwen, Llama, and beyond
          → Opens path to universal byte-based AI systems

Quick Self-Check Questions

  1. What is the main limitation of subword tokenization?
  2. Why are bytes considered a "universal" representation?
  3. What problem did byteifying solve that previously blocked byte-level models?
  4. Why does releasing Stage 1 checkpoints matter for researchers?
  5. What future capability does byte-level modeling potentially unlock beyond text?

💡 If you can answer all five questions confidently, you've mastered the core concepts of this article.

More to study