Downloads · 30 days
3K
10% of all-time downloads
LumiOpen/Llama-Poro-2-8B-Instruct
Llama-Poro-2-8B-Instruct is a text generation model from LumiOpen. Use it when you need the model to write or continue text. It is set up for transformers. The card lists the license as llama3.3.
Poro 2 8B Instruct is an instruction-following chatbot model created through supervised fine-tuning (SFT) and Direct Preference Optimization (DPO) of the Poro 2 8B Base model. This model is designed for conversational…
Downloads · 30 days
3K
10% of all-time downloads
All-time downloads
30.5K
Public
Parameters
8B
16.1 GB on disk
Likes
11
Public
Click a slice to open those files.
.safetensors16.1 GB · 100%
From the Hugging Face model README
Poro 2 8B Instruct is an instruction-following chatbot model created through supervised fine-tuning (SFT) and Direct Preference Optimization (DPO) of the Poro 2 8B Base model. This model is designed for conversational AI applications and instruction following in both Finnish and English. It was trained on a carefully curated mix of English and Finnish instruction data, followed by preference tuning to improve response quality.
Poro 2 was created in a collaboration between AMD Silo AI, the TurkuNLP group of the University of Turku, and High Performance Language Technologies (HPLT). Training was conducted on the LUMI supercomputer, using compute resources generously provided by CSC - IT Center for Science, Finland.
This model demonstrates how continued pretraining followed by instruction tuning can efficiently add new language capabilities to existing models while maintaining strong conversational abilities in both the original and target languages.
For more details on our training and data generation pipeline, check out our Continued Pretraining Playbook.
The Poro 2 model family includes both 8B and 70B models, and there are three different versions released of the Poro 2 models: a base model, a post-training SFT-only checkpoint, and the final instruct model which is the SFT model plus a round of DPO.
| Model | Based on | Base Model | SFT | Instruct |
|---|---|---|---|---|
| Poro 2 8B | Llama 3.1 8B | Poro 2 8B Base | Poro 2 8B SFT | Poro 2 8B Instruct |
| Poro 2 70B | Llama 3.1 70B | Poro 2 70B Base | Poro 2 70B SFT | Poro 2 70B Instruct |
What does Poro mean? Poro is the Finnish word for Reindeer! 🦌 These animals are native to Finland and hold a significant role in Finnish culture and history.
Poro 2 8B Instruct is based on the Llama 3.1 8B architecture and has been fine-tuned for instruction following and conversational AI applications. The model supports both English and Finnish conversations.
| Hyperparameter | Value |
|---|---|
| n_parameters | 8.03B |
| n_layers | 32 |
| n_heads | 32 |
| n_kv_heads | 8 |
| d_model | 4096 |
| vocab_size | 128256 |
| max_sequence_length | 8192 |
| base_model | Llama-3.1-8B |
The base Poro 2 8B model was created through continued pretraining on 165B tokens of Finnish, English, code, and math data.
The SFT phase used 1.4M instruction-following examples in English and Finnish, including:
We also release the Poro 2 instruction collection.
The final model underwent preference tuning using the HelpSteer3 dataset to improve response quality and alignment.
| Hyperparameter | Value |
|---|---|
| Epochs | 2 |
| Global batch size | 64 |
| Learning rate | 5e-6 |
| LR scheduler | linear |
| Warmup ratio | 0.03 |
| Max sequence length | 4,096 |
| Hyperparameter | Value |
|---|---|
| Epochs | 3 |
| Global batch size | 64 |
| Beta | 0.01 |
| Learning rate | 5e-7 |
| LR scheduler | cosine |
| Warmup ratio | 0.1 |
| Max length | 4,096 |
Poro 2 8B Instruct shows substantial improvements in Finnish instruction-following capabilities compared to Llama 3.1 8B Instruct, while maintaining strong English performance. We also outperform Gemma-2-9B-it and EuroLLM-9B-Instruct in Finnish.
| Poro 2 8B Instruct | Llama 3.1 8B Instruct | Gemma-2-9B-it | EuroLLM-9B-Instruct | |
|---|---|---|---|---|
| IFEval Finnish | 66.54 | 47.31 | 55.82 | 44.17 |
| MTBench Finnish | 6.75 | 4.10 | 6.7 | 4.46 |
| AlpacaEval 2 Finnish | 28.89 | 2.05 | 21.85 | 8.15 |
| Poro 2 8B Instruct | Llama 3.1 8B Instruct | Gemma-2-9B-it | EuroLLM-9B-Instruct | |
|---|---|---|---|---|
| IFEval | 79.29 | 79.48 | 72.45 | 61.36 |
| MTBench | 7.33 | 7.70 | 7.85 | 6.25 |
| AlpacaEval 2 | 35.30 | 32.70 | 46.67 | 15.87 |
| Finnish | English | |
|---|---|---|
| Coding | 4.95 | 5.8 |
| Extraction | 6.70 | 7.35 |
| Humanities | 8.55 | 8.85 |
| Math | 5.80 | 6.7 |
| Reasoning | 4.80 | 5.45 |
| Roleplay | 7.65 | 8.10 |
| STEM | 7.55 | 8.05 |
| Writing | 8.05 | 8.40 |
| Finnish | English | |
|---|---|---|
| first turn | 7.23 | 7.75 |
| second turn | 6.27 | 6.92 |
Overall: ~24% average improvement in Finnish instruction-following benchmarks while maintaining English performance.
from transformers import AutoTokenizer, AutoModelForCausalLM
import torch
model_name = "LumiOpen/Llama-Poro-2-8B-Instruct"
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForCausalLM.from_pretrained(
model_name,
torch_dtype=torch.bfloat16,
device_map="auto"
)
# Finnish conversation example
messages = [
{"role": "user", "content": "Kerro minulle Suomen historiasta."}
]
inputs = tokenizer.apply_chat_template(
messages,
add_generation_prompt=True,
return_tensors="pt"
)
outputs = model.generate(
inputs,
max_new_tokens=500,
temperature=0.7,
do_sample=True,
pad_token_id=tokenizer.eos_token_id
)
response = tokenizer.decode(outputs[0], skip_special_tokens=True)
print(response)
Poro 2 8B Instruct is designed for:
Poro 2 8B Instruct is an advanced conversational AI model optimized for English and Finnish instruction following. As with most AI-driven systems, this model may reflect imperfections, biases, and idiosyncrasies present in its training data.
Key limitations:
Safety Considerations:
Built with Llama
Poro 2 8B Instruct is released under the Llama 3.3 Community License. Please review the license terms before use.
@misc{poro2_2025,
title={Poro 2: Continued Pretraining for Language Acquisition},
author={Elaine Zosa and Jouni Louma and Kai Hakala and Antti Virtanen and Mika Koistinen and Risto Luukkonen and Akseli Reunamo and Sampo Pyysalo and Jonathan Burdge},
year={2025},
howpublished={LumiOpen}
}
We thank CSC - IT Center for Science, Finland for providing access to the LUMI supercomputer. This work was supported by the High Performance Language Technologies (HPLT) project and conducted in collaboration with TurkuNLP from the University of Turku. This project has received funding from the European Union's Horizon Europe research and innovation programme under grant agreement No 101070350.