Lumma-0.6B-Base

A multilingual language model optimized for efficient deployment and Englishโ€“Indic language understanding.

600M Parameters โ€ข 1 Trillion Training Tokens โ€ข 12,288 Context Length โ€ข Shared KV

Supported Languages

The model is trained on English and a diverse set of Indic languages, including:

English, Hindi, Bengali, Tamil, Telugu, Marathi, Gujarati, Kannada, Malayalam, Punjabi, Odia


Overview

Lumma-0.6B-Base is a multilingual decoder-only language model trained from scratch on 1 trillion tokens. It is designed for efficient deployment, long-context inference, and strong multilingual performance across English and Indic languages, featuring a compact transformer architecture, memory-efficient attention mechanisms, and an optimized multilingual tokenizer.


Key Features

  • Trained from scratch on 1 trillion tokens
  • 600 million parameter decoder-only Transformer
  • Native English and Indic language pretraining
  • Shared KV Attention for memory-efficient inference
  • 12,288 token context length
  • Grouped Query Attention (GQA)
  • RMSNorm with QK Normalization
  • SwiGLU feed-forward network
  • Factorized tied embeddings
  • Large multilingual tokenizer optimized for Indic languages

We do not recommend using base language models for conversations. Instead, you can apply post-training, e.g., SFT, RLHF, continued pretraining, etc., on this model.

Shared KV

Lumma introduces Shared KV, an alternative key-value caching strategy designed to reduce inference memory requirements without significantly impacting model quality.

Instead of computing independent Key and Value projections, both are derived from a shared latent representation. During attention computation, lightweight Key normalization and RoPE transformations are applied dynamically.

This approach reduces KV-cache memory usage by approximately 50%, making Lumma better suited for long-context inference and memory-constrained deployments.


KV Cache Modes

Lumma supports two inference modes depending on deployment requirements.

Shared KV

model.config.kv_cache_mode = "shared"

Recommended when memory is the primary bottleneck.

  • Approximately 50% lower KV-cache memory
  • Slightly higher compute overhead
  • Better suited for long-context inference

Vanilla KV

model.config.kv_cache_mode = "vanilla"

Recommended for standard deployments.

  • Standard KV-cache implementation
  • Lower compute overhead
  • Maximum compatibility across inference frameworks

Benchmark Results

The following results correspond to the released Lumma-0.6B model trained on 1 trillion tokens.

General Benchmarks

Model Name Tokens Budget
(Trillion)
HellaSwag Winogrande OBQA ARC-e ARC-c Average
MobiLlama-0.5B-Base 1.3 39.65 53.67 30.60 52.82 23.63 40.07
Qwen-2-0.5-Base 12 49.01 57.69 33.20 54.79 25.42 44.02
Qwen2.5-0.5B-Base 18 52.16 56.82 35.40 64.64 29.86 47.78
Lumma-0.6B-Base 1 46.25 54.14 32.80 60.60 28.58 44.47

Multilingual Tokenization

Efficient tokenization is particularly important for multilingual language models.

Lower fertility indicates fewer tokens are required to represent text, improving both training efficiency and inference cost.

Language SmolLM3-3B Qwen3-0.6B Sarvam-1 Lumma-0.6B
English 1.17 1.16 1.32 1.18
Bengali 8.66 7.51 1.55 1.44
Gujarati 10.47 9.37 1.55 1.53
Hindi 2.71 5.14 1.25 1.32
Kannada 16.43 12.96 2.10 1.90
Malayalam 17.77 14.56 2.49 2.05
Marathi 3.73 6.70 1.55 1.55
Odia 19.07 15.75 2.18 2.68
Punjabi 9.23 8.66 1.47 1.42
Tamil 13.56 10.93 2.06 2.05
Telugu 15.40 13.38 2.09 1.77
Assamese 9.26 8.13 4.31 1.51

Usage

!pip install transformers=='5.4.0'


from transformers import AutoModelForCausalLM, AutoTokenizer
import torch

model_name = "FrontiersMind/Lumma-0.6B-Base"

tokenizer = AutoTokenizer.from_pretrained(
    model_name,
    trust_remote_code=True
)

model = AutoModelForCausalLM.from_pretrained(
    model_name,
    trust_remote_code=True,
    dtype=torch.bfloat16
).eval()

# Memory-efficient mode
model.config.kv_cache_mode = "shared"

# Standard mode
# model.config.kv_cache_mode = "vanilla"

prompt = "The world is a strange place"

inputs = tokenizer(
    prompt,
    return_tensors="pt"
).to(model.device)

outputs = model.generate(
    **inputs,
    max_new_tokens=50,
    do_sample=True,
    temperature=0.3,
    top_p=0.95,
    top_k=20,
    repetition_penalty=1.1,
)

print(tokenizer.decode(outputs[0], skip_special_tokens=True))

Citation

@misc{lumma2026,
  title={Lumma-0.6B},
  author={FrontiersMind},
  year={2026},
  url={https://huggingface.co/FrontiersMind/Lumma-0.6B}
}
Downloads last month
-
Safetensors
Model size
0.6B params
Tensor type
BF16
ยท
Inference Providers NEW
This model isn't deployed by any Inference Provider. ๐Ÿ™‹ Ask for provider support

Space using FrontiersMind/Lumma-0.6B-Base 1

Collection including FrontiersMind/Lumma-0.6B-Base