Model Overview
Model Features
Model Capabilities
Use Cases
🚀 Swallow-MS-7b-v0.1
Our Swallow-MS-7b-v0.1 model is a result of continual pre-training based on Mistral-7B-v0.1, with a significant addition of Japanese language data. This enhancement enables it to perform effectively in both English and Japanese language tasks.
🚀 Quick Start
First, install the additional dependencies specified in requirements.txt:
pip install -r requirements.txt
Use the base model
from transformers import AutoModelForCausalLM, AutoTokenizer
import torch
model_name = "tokyotech-llm/Swallow-MS-7b-v0.1"
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForCausalLM.from_pretrained(model_name, torch_dtype=torch.bfloat16, device_map="auto")
prompt = "東京工業大学の主なキャンパスは、"
input_ids = tokenizer.encode(
prompt,
add_special_tokens=False,
return_tensors="pt"
)
tokens = model.generate(
input_ids.to(device=model.device),
max_new_tokens=128,
temperature=0.99,
top_p=0.95,
do_sample=True,
)
out = tokenizer.decode(tokens[0], skip_special_tokens=True)
print(out)
✨ Features
- Cross - lingual Capability: Supports both English and Japanese, making it suitable for a wide range of language tasks.
- Efficient Tokenizer: Employs a tokenizer with an expanded vocabulary based on Japanese data, leading to faster inference.
📦 Installation
Install the necessary dependencies by running the following command:
pip install -r requirements.txt
💻 Usage Examples
Basic Usage
from transformers import AutoModelForCausalLM, AutoTokenizer
import torch
model_name = "tokyotech-llm/Swallow-MS-7b-v0.1"
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForCausalLM.from_pretrained(model_name, torch_dtype=torch.bfloat16, device_map="auto")
prompt = "東京工業大学の主なキャンパスは、"
input_ids = tokenizer.encode(
prompt,
add_special_tokens=False,
return_tensors="pt"
)
tokens = model.generate(
input_ids.to(device=model.device),
max_new_tokens=128,
temperature=0.99,
top_p=0.95,
do_sample=True,
)
out = tokenizer.decode(tokens[0], skip_special_tokens=True)
print(out)
📚 Documentation
Model Details
Property | Details |
---|---|
Model Type | Please refer to Mistral technical report for details on the model architecture. |
Language(s) | Japanese, English |
Tokenizer | This model employs a tokenizer that features a broadened vocabulary based on Japanese data. This allows for a more efficient representation of text using fewer tokens, leading to a notably faster inference process. |
Contact | swallow[at]nlp.c.titech.ac.jp |
Model Release Updates
We are excited to share the release schedule for our latest models:
- April 26, 2024: Released the Swallow-MS-7b-instruct-v0.1
- March 11, 2024: Released the Swallow-MS-7b-v0.1
This repository provides large language models developed by TokyoTech-LLM.
Base Model Performance
Japanese tasks
Model | Size | JCommonsenseQA | JEMHopQA | NIILC | JSQuAD | XL-Sum | MGSM | WMT20-en-ja | WMT20-ja-en | Average |
---|---|---|---|---|---|---|---|---|---|---|
4-shot | 4-shot | 4-shot | 4-shot | 1-shot | 4-shot | 4-shot | 4-shot | |||
CyberAgentLM2-7B | 7B | 0.2198 | 0.5047 | 0.5066 | 0.7799 | 0.0233 | 0.0600 | 0.2345 | 0.1499 | 0.3098 |
Llama 2 | 7B | 0.3852 | 0.4240 | 0.3410 | 0.7917 | 0.1905 | 0.0760 | 0.1783 | 0.1738 | 0.3201 |
japanese-stablelm-base-beta-7b | 7B | 0.3610 | 0.4478 | 0.4432 | 0.8318 | 0.2195 | 0.0720 | 0.1946 | 0.1226 | 0.3366 |
japanese-stablelm-base-ja_vocab-beta-7b | 7B | 0.2172 | 0.4482 | 0.4309 | 0.8202 | 0.0757 | 0.0520 | 0.1601 | 0.1453 | 0.2937 |
ELYZA-japanese-Llama-2-7b | 7B | 0.5791 | 0.4703 | 0.4019 | 0.8226 | 0.1312 | 0.0600 | 0.1795 | 0.1289 | 0.3467 |
ELYZA-japanese-Llama-2-7b-fast | 7B | 0.5308 | 0.4330 | 0.3898 | 0.8131 | 0.1289 | 0.0720 | 0.1678 | 0.1143 | 0.3312 |
youri-7b (base) | 7B | 0.4620 | 0.4776 | 0.4999 | 0.8506 | 0.1957 | 0.0640 | 0.2671 | 0.1971 | 0.3768 |
Swallow-7b | 7B | 0.4808 | 0.5078 | 0.5968 | 0.8573 | 0.1830 | 0.1240 | 0.2510 | 0.1511 | 0.3940 |
Swallow-7b-plus | 7B | 0.5478 | 0.5493 | 0.6030 | 0.8544 | 0.1806 | 0.1360 | 0.2568 | 0.1441 | 0.4090 |
Qwen-7B | 7B | 0.7712 | 0.4234 | 0.2376 | 0.8594 | 0.1371 | 0.2160 | 0.1689 | 0.1801 | 0.3742 |
nekomata-7b | 7B | 0.7417 | 0.4928 | 0.5022 | 0.8707 | 0.1676 | 0.1240 | 0.2673 | 0.1815 | 0.4185 |
Mistral-7B-v0.1 | 7B | 0.7301 | 0.4245 | 0.2722 | 0.8563 | 0.2006 | 0.1760 | 0.1405 | 0.1733 | 0.3717 |
japanese-stablelm-base-gamma-7b | 7B | 0.7364 | 0.4643 | 0.5568 | 0.8910 | 0.2293 | 0.1680 | 0.2390 | 0.1561 | 0.4301 |
Swallow-MS-7b-v0.1 | 7B | 0.8570 | 0.4915 | 0.5519 | 0.8802 | 0.1988 | 0.2240 | 0.2494 | 0.1667 | 0.4524 |
English tasks
Model | Size | OpenBookQA | TriviaQA | HellaSwag | SQuAD2.0 | XWINO | GSM8K | Average |
---|---|---|---|---|---|---|---|---|
8-shot | 8-shot | 8-shot | 8-shot | 8-shot | 8-shot | |||
CyberAgentLM2-7B | 7B | 0.2860 | 0.3496 | 0.5003 | 0.3510 | 0.8581 | 0.0705 | 0.4026 |
Llama 2 | 7B | 0.3580 | 0.6265 | 0.5860 | 0.3207 | 0.9049 | 0.1410 | 0.4895 |
japanese-stablelm-base-beta-7b | 7B | 0.3620 | 0.5903 | 0.5707 | 0.2992 | 0.8994 | 0.1198 | 0.4736 |
japanese-stablelm-base-ja_vocab-beta-7b | 7B | 0.3520 | 0.5549 | 0.5644 | 0.3079 | 0.8942 | 0.0538 | 0.4545 |
ELYZA-japanese-Llama-2-7b | 7B | 0.3400 | 0.5875 | 0.5595 | 0.2721 | 0.8989 | 0.1638 | 0.4703 |
ELYZA-japanese-Llama-2-7b-fast | 7B | 0.3280 | 0.5817 | 0.5530 | 0.2605 | 0.8989 | 0.1425 | 0.4608 |
youri-7b (base) | 7B | 0.3400 | 0.5257 | 0.5540 | 0.3297 | 0.8938 | 0.0963 | 0.4566 |
Swallow-7b | 7B | 0.3180 | 0.4836 | 0.5308 | 0.3125 | 0.8817 | 0.1130 | 0.4399 |
Swallow-7b-plus | 7B | 0.3280 | 0.4558 | 0.5259 | 0.3134 | 0.8929 | 0.1061 | 0.4370 |
Qwen-7B | 7B | 0.3640 | 0.5695 | 0.5787 | 0.3799 | 0.8933 | 0.4617 | 0.5412 |
nekomata-7b | 7B | 0.3340 | 0.4371 | 0.5340 | 0.2933 | 0.8766 | 0.1531 | 0.4380 |
Mistral-7B-v0.1 | 7B | 0.3660 | 0.7050 | 0.6264 | 0.3799 | 0.9157 | 0.3533 | 0.5577 |
japanese-stablelm-base-gamma-7b | 7B | 0.3240 | 0.5745 | 0.5739 | 0.3546 | 0.8976 | 0.1911 | 0.4860 |
Swallow-MS-7b-v0.1 | 7B | 0.3440 | 0.5976 | 0.5810 | 0.3364 | 0.9037 | 0.2623 | 0.5042 |
Code generation tasks
Model | Size | JHumanEval | HumanEval |
---|---|---|---|
pass@1 | pass@1 | ||
CyberAgentLM2-7B | 7B | 0.0634 | 0.0756 |
Llama 2 | 7B | 0.1152 | 0.1378 |
japanese-stablelm-base-beta-7b | 7B | 0.1018 | 0.1280 |
japanese-stablelm-base-ja_vocab-beta-7b | 7B | 0.0896 | 0.1122 |
ELYZA-japanese-Llama-2-7b | 7B | 0.0287 | 0.0427 |
ELYZA-japanese-Llama-2-7b-fast | 7B | 0.0000 | 0.0037 |
youri-7b (base) | 7B | 0.0829 | 0.0982 |
Swallow-7b | 7B | 0.0183 | 0.0183 |
Swallow-7b-plus | 7B | 0.0061 | 0.0037 |
Qwen-7B | 7B | 0.1701 | 0.1805 |
nekomata-7b | 7B | 0.0988 | 0.1402 |
Mistral-7B-v0.1 | 7B | 0.2555 | 0.2933 |
japanese-stablelm-base-gamma-7b | 7B | 0.1823 | 0.1915 |
Swallow-MS-7b-v0.1 | 7B | 0.2305 | 0.2768 |
Evaluation Benchmarks
Japanese evaluation benchmarks
We used llm-jp-eval(v1.0.0) and JP Language Model Evaluation Harness(commit #9b42d41). The details are as follows:
- Multiple-choice question answering (JCommonsenseQA [Kurihara+, 2022])
- Open-ended question answering (JEMHopQA [Ishii+, 2023])
- Open-ended question answering (NIILC [Sekine, 2003])
- Machine reading comprehension (JSQuAD [Kurihara+, 2022])
- Automatic summarization (XL-Sum [Hasan+, 2021])
- Machine translation (WMT2020 ja-en [Barrault+, 2020])
- Machine translation (WMT2020 en-ja [Barrault+, 2020])
- Mathematical reasoning (MGSM [Shi+, 2023])
English evaluation benchmarks
We used the Language Model Evaluation Harness(v.0.3.0). The details are as follows:
- Multiple-choice question answering (OpenBookQA [Mihaylov+, 2018])
- Open-ended question answering (TriviaQA [Joshi+, 2017])
- Machine reading comprehension (SQuAD 2.0 [Rajpurkar+, 2018])
- Commonsense reasoning (XWINO [Tikhonov & Ryabinin, 2021])
- Natural language inference (HellaSwag [Zellers+, 2019])
- Mathematical reasoning (GSM8k [Cobbe+, 2021])
Code evaluation benchmarks
We utilized the Code Generation LM Evaluation Harness [Allal+, 2022] (commit #0261c52). The details are as follows:
- Code generation (HumanEval [Chen+, 2021])
- Code generation in Japanese (JHumanEval [Satoh+, 2024])
Training Datasets
Continual Pre-Training
The following datasets were used for continual pre-training:
Risks and Limitations
The models released here are still in the early stages of our research and development and have not been tuned to ensure outputs align with human intent and safety considerations.
Acknowledgements
We thank Mistral AI for releasing Mistral 7B v0.1 under an open license for others to build on.
Our project is supported by the ABCI Large-scale Language Model Building Support Program of the National Institute of Advanced Industrial Science and Technology.
How to cite
If you find our work helpful, please feel free to cite us.
@inproceedings{Fujii:COLM2024,
title={Continual Pre-Training for Cross-Lingual LLM Adaptation:
Enhancing Japanese Language Capabilities},
author={Kazuki Fujii and Taishi Nakamura and Mengsay Loem and Hiroki
Iida and Masanari Ohi and Kakeru Hattori and Hirai Shota and Sakae
Mizuki and Rio Yokota and Naoaki Okazaki},
booktitle="Proceedings of the First Conference on Language Modeling",
series={COLM},
pages="(to appear)",
year="2024",
month=oct,
address={University of Pennsylvania, USA},
}
@inproceedings{Okazaki:COLM2024,
title={Building a Large Japanese Web Corpus for Large Language Models},
author={Naoaki Okazaki and Kakeru Hattori and Hirai Shota and Hiroki
Iida and Masanari Ohi and Kazuki Fujii and Taishi Nakamura and Mengsay
Loem and Rio Yokota and Sakae Mizuki},
booktitle="Proceedings of the First Conference on Language Modeling",
series={COLM},
pages="(to appear)",
year="2024",
month=oct,
address={University of Pennsylvania, USA},
}
📄 License
apache-2.0
Authors
Here are the team members:
- From Okazaki Laboratory, the following members:
- From YOKOTA Laboratory, the following members:

