---
license: apache-2.0
datasets:
- LumiOpen/instruction-collection-fin
language:
- fi
- en
---
# Poro 34B Chat
Poro 34b chat is a chat-tuned version of [Poro
34B](https://huggingface.co/LumiOpen/Poro-34B) trained to follow instructions
in both Finnish and English. Quantized versions are available on [Poro
34B-chat-GGUF](https://huggingface.co/LumiOpen/Poro-34B-chat-GGUF).
Because of the limited amount of instruction tuning available for Finnish, documents from the English datasets were machine-translated by the Poro 34B base model into Finnish, then used to train this chat version. We selected only datasets that are available for commercial use and only contain synthetic data if it was gathered in ToS-compliant fashion.
More information about the data selection and translation process for our Finnish dataset are available on the [LumiOpen/instruction-collection-fin](https://huggingface.co/datasets/LumiOpen/instruction-collection-fin) page.
Poro was created in a collaboration between [SiloGen](https://www.silo.ai/silogen) from [Silo AI](https://www.silo.ai/), the [TurkuNLP group](https://turkunlp.org/) of the University of Turku, and [High Performance Language Technologies](https://hplt-project.org/) (HPLT). Training was conducted on the [LUMI supercomputer](https://www.lumi-supercomputer.eu/), using compute resources generously provided by [CSC](https://csc.fi/) - IT Center for Science, Finland.
This project is part of an ongoing effort to create open source large language models for non-English and especially low resource languages like Finnish. Through the combination of English and Finnish training data we get a model that outperforms previous Finnish only models, while also being fluent in English and code, and capable of basic translation between English and Finnish.
## Fine Tuning
Poro-34b-Chat is an SFT finetune of Poro-34b on a collection of Finnish and
English instruction datasets. The collection is made up of roughly of 40%
English, 40% Finnish, and 20% cross-lingual entries.
We finetuned the base model for 3 epochs with a learning rate of 2e-05, warmup
ratio of 0.1, and a global batch size of 48. For full-parameter finetuning, we used 3 nodes (8 GPUs per node). We used the [Alignment Handbook](https://github.com/huggingface/alignment-handbook/)
code for finetuning.
## Datasets
#### Finnish and Cross-lingual
- [LumiOpen/instruction-collection-fin](https://huggingface.co/datasets/LumiOpen/instruction-collection-fin)
#### English
- [databricks-dolly-15k](https://huggingface.co/datasets/databricks/databricks-dolly-15k)
- [Curated OASST2](https://huggingface.co/datasets/sablo/oasst2_curated)
- [Argilla/10k_prompts_ranked_mistral_large_responses](https://huggingface.co/datasets/argilla/10k_prompts_ranked_mistral_large_responses)
## Chat template
We use the ChatML chat template. For example:
```
<|im_start|>system
You can add an optional system prompt here.<|im_end|>
<|im_start|>user
Miten rakennan tietokoneen?<|im_end|>
<|im_start|>assistant
```
## Evaluations
We relied on the popular MTBench benchmark to evaluate multi-turn performance.
Since MTBench is an English only benchmark, we also release this fork of [MTBench Finnish](https://github.com/LumiOpen/FastChat/tree/main/fastchat/llm_judge) with multilingual support and machine translated Finnish prompts. Our scores for both benchmarks follow.
Note: Updated on 18 June 2024
| Eval | Overall | Coding | Extraction | Humanities | Math | Reasoning | Roleplay | STEM | Writing |
| :---- | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | ----: |
| MTBench English | 6.13 | 4.25 | 6.65 | 9.60 | 2.30 | 4.30 | 7.05 | 7.55 | 7.35 |
| MTBench Finnish | 6.06 | 3.70 | 6.37 | 9.25 | 1.20 | 4.35 | 7.35 | 7.80 | 8.50 |
## License
Poro 34B chat is released under the Apache 2.0 license.
## Citation
```
@misc{luukkonen2024poro,
title={Poro 34B and the Blessing of Multilinguality},
author={Risto Luukkonen and Jonathan Burdge and Elaine Zosa and Aarne
Talman and Ville Komulainen and Väinö Hatanpää and Peter Sarlin and Sampo
Pyysalo},
year={2024},
eprint={2404.01856},
archivePrefix={arXiv},
primaryClass={cs.CL}
}
```