🚀 Swallow-MS-7b-v0.1
私たちのSwallow-MS-7b-v0.1モデルは、Mistral-7B-v0.1をベースに継続的な事前学習を行っており、主に日本語のデータを追加しています。
🚀 クイックスタート
このリポジトリは、TokyoTech-LLMによって開発された大規模言語モデルを提供しています。
✨ 主な機能
- 日本語データを追加して継続的に事前学習されたモデルで、日本語処理能力が向上しています。
- 特定の命令形式に従うことで、高精度な出力を得ることができます。
📦 インストール
まず、requirements.txtの追加依存関係をインストールします。
pip install -r requirements.txt
💻 使用例
基本的な使用法
この形式は厳密に守る必要があり、逸脱するとモデルから最適でない出力が得られる場合があります。
命令モデルのプロンプトを構築するために使用されるテンプレートは次のように指定されています。
<s>[INST] <<SYS>>\n{SYSTEM_PROMPT}\n<</SYS>>\n\n{USER_MESSAGE_1} [/INST] {BOT_MESSAGE_1}</s>[INST] {USER_MESSAGE_2} [/INST]
<s>
と </s>
はそれぞれ文字列の開始 (BOS) と終了 (EOS) に使用される特殊トークンで、[INST] と [/INST] は通常の文字列と見なされます。
"{SYSTEM_PROMPT}" の部分には、「あなたは誠実で優秀な日本人のアシスタントです。」を使用することをおすすめします。
"{USER_MESSAGE_1}" の部分には、{instruction}\n{input} を使用することをおすすめします。
言い換えると、次のようにすることをおすすめします。
<s>[INST] <<SYS>>\nあなたは誠実で優秀な日本人のアシスタントです。\n<</SYS>>\n\n{instruction1}\n{input1} [/INST] {BOT_MESSAGE_1}</s>[INST] {instruction2}\n{input2} [/INST]
高度な使用法
import torch
from transformers import AutoTokenizer, AutoModelForCausalLM
model_name = "tokyotech-llm/Swallow-MS-7b-instruct-v0.1"
model = AutoModelForCausalLM.from_pretrained(model_name, torch_dtype=torch.bfloat16, device_map="auto")
tokenizer = AutoTokenizer.from_pretrained(model_name)
device = "cuda"
messages = [
{"role": "system", "content": "あなたは誠実で優秀な日本人のアシスタントです。"},
{"role": "user", "content": "東京工業大学の主なキャンパスについて教えてください"}
]
encodeds = tokenizer.apply_chat_template(messages, return_tensors="pt")
model_inputs = encodeds.to(device)
model.to(device)
generated_ids = model.generate(model_inputs, max_new_tokens=128, do_sample=True)
decoded = tokenizer.batch_decode(generated_ids)
print(decoded[0])
📚 ドキュメント
モデルの詳細
属性 |
详情 |
モデルタイプ |
モデルアーキテクチャの詳細については、Mistralの技術レポートを参照してください。 |
言語 |
日本語、英語 |
トークナイザー |
このモデルは、日本語データに基づいて拡張された語彙を持つトークナイザーを採用しています。これにより、より少ないトークンでテキストを効率的に表現でき、推論プロセスが著しく高速化されます。 |
連絡先 |
swallow[at]nlp.c.titech.ac.jp |
モデルのリリース更新
私たちは、最新モデルのリリーススケジュールを共有することを嬉しく思います。
命令モデルのパフォーマンス
MT-Bench JA
ターン別パフォーマンス
全体 (つまり、最初と2番目のターンのスコアの平均)、最初のターン、および2番目のターンのスコアを報告します。
全体
モデル |
平均 |
執筆 |
ロールプレイ |
推論 |
数学 |
コーディング |
抽出 |
STEM |
人文科学 |
Swallow-MS-7b-instruct-v0.1 |
0.3411 |
0.3770 |
0.4290 |
0.3454 |
0.1040 |
0.2400 |
0.3677 |
0.3907 |
0.4750 |
最初のターン
モデル |
平均 |
執筆 |
ロールプレイ |
推論 |
数学 |
コーディング |
抽出 |
STEM |
人文科学 |
Swallow-MS-7b-instruct-v0.1 |
0.3699 |
0.4880 |
0.4260 |
0.3900 |
0.1080 |
0.2364 |
0.3780 |
0.4500 |
0.4800 |
2番目のターン
モデル |
平均 |
執筆 |
ロールプレイ |
推論 |
数学 |
コーディング |
抽出 |
STEM |
人文科学 |
Swallow-MS-7b-instruct-v0.1 |
0.3130 |
0.2624 |
0.4320 |
0.2996 |
0.1000 |
0.2430 |
0.3564 |
0.3291 |
0.4700 |
過去のモデルとの比較
このセクションでは全体のスコアのみを提供します。
モデル |
平均 |
執筆 |
ロールプレイ |
推論 |
数学 |
コーディング |
抽出 |
STEM |
人文科学 |
Swallow-MS-7b-instruct-v0.1 |
0.3411 |
0.3770 |
0.4290 |
0.3454 |
0.1040 |
0.2400 |
0.3677 |
0.3907 |
0.4750 |
ELYZA-japanese-Llama-2-7b-fast-instruct |
0.2827 |
0.3289 |
0.3907 |
0.2424 |
0.1480 |
0.1584 |
0.3511 |
0.3053 |
0.3365 |
calm2-7b-chat |
0.3204 |
0.4657 |
0.4898 |
0.1837 |
0.1005 |
0.1414 |
0.3927 |
0.3601 |
0.4293 |
calm2-7b-chat-dpo-experimental |
0.3493 |
0.5312 |
0.5237 |
0.1857 |
0.1000 |
0.1813 |
0.3355 |
0.4320 |
0.5051 |
RakutenAI-7B-instruct |
0.2994 |
0.3623 |
0.3711 |
0.3333 |
0.1763 |
0.1581 |
0.4215 |
0.2824 |
0.2901 |
RakutenAI-7B-chat |
0.3667 |
0.4229 |
0.4644 |
0.3990 |
0.2161 |
0.2390 |
0.3416 |
0.3904 |
0.4601 |
評価ベンチマーク
MT-Bench JA
私たちは、Japanese MT-Bench を使用して、モデルの命令追従能力を評価しました。
次の設定を使用しました。
トレーニングデータセット
命令微調整Ver0.1
命令微調整には次のデータセットが使用されました。
一部のデータには品質や形式に問題があったため、すべてのデータが使用されているわけではありません。
リスクと制限
ここでリリースされているモデルは、まだ研究開発の初期段階にあり、出力が人間の意図や安全性の考慮事項と一致するように調整されていません。
謝辞
私たちは、Mistral AIがMistral 7B v0.1をオープンライセンスでリリースし、他の人がそれを基に構築できるようにしてくれたことに感謝しています。
私たちのプロジェクトは、国立研究開発法人産業技術総合研究所の ABCI Large-scale Language Model Building Support Program によって支援されています。
著者
チームメンバーは次の通りです。
引用方法
私たちの研究が役に立った場合は、ぜひ引用してください。
@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},
}
📄 ライセンス
apache-2.0