Lumma-0.6B-Instruct
Introduction
Lumma-0.6B-Instruct is a compact, efficient multilingual language model designed for strong performance in resource-constrained environments. It is pre-trained from scratch on 1 trillion tokens and further enhanced through instruction tuning and Direct Preference Optimisation. This is a pre-RL checkpoint. The model supports English and 10 Indic languages.
Benchmark results
We benchmarked Lumma-0.6B-Instruct across multiple benchmarks, with an intentional focus on instruction-following capabilities. Despite its compact size, Lumma-0.6B-Instruct is able to match or outperform similar models up to 3× larger on several instruction-following benchmarks.
While the model also delivers decent performance on mathematics and coding, we believe these capabilities are less critical for the primary real-world use cases targeted by such a small model, where developers typically prioritize efficient and reliable instruction following.
We expect further improvements with the RL-trained version of Lumma-0.6B-Instruct, particularly as we continue optimizing the model for real-world instruction-following tasks.
🌍 Supported Languages
The model is trained on English and a diverse set of Indic languages, including Hindi, Bengali, Tamil, Telugu, Marathi, Gujarati, Kannada, Malayalam, Punjabi, Odia
🚀 Usage
1!pip install transformers=='5.4.0'
2
3from IPython.display import display, Markdown
4from transformers import AutoTokenizer, AutoModelForCausalLM
5import torch
6
7model_name = "FrontiersMind/Lumma-0.6B-Instruct"
8
9device = "cuda" if torch.cuda.is_available() else "cpu"
10
11tokenizer = AutoTokenizer.from_pretrained(model_name, trust_remote_code=True)
12model = AutoModelForCausalLM.from_pretrained(
13 model_name,
14 trust_remote_code=True,
15 dtype=torch.bfloat16
16).to(device).eval()
17
18prompt = "Explain newton's second law of motion"
19
20messages = [
21 {"role": "user", "content": prompt}
22]
23
24prompt = tokenizer.apply_chat_template(messages, tokenize=False)
25inputs = tokenizer(prompt, return_tensors="pt").to(model.device)
26
27generated_ids = model.generate(
28 **inputs,
29 max_new_tokens=500,
30 do_sample=True,
31 temperature=0.3,
32 top_p=0.90,
33 top_k=20,
34 repetition_penalty=1.1,
35)
36
37generated_ids = [
38 output_ids[len(input_ids):] for input_ids, output_ids in zip(inputs.input_ids, generated_ids)
39]
40
41response = tokenizer.batch_decode(generated_ids, skip_special_tokens=True)[0]
42
43#print(response)
44Markdown(response)
📬 Feedback & Suggestions
We’d love to hear your thoughts, feedback, and ideas!