|
--- |
|
license: apache-2.0 |
|
language: |
|
- ja |
|
- en |
|
library_name: transformers |
|
tags: |
|
- japanese |
|
--- |
|
|
|
# Tanuki-8B-dpo-v1.0 |
|
|
|
## モデルについて |
|
|
|
Tanuki-8Bは、フルスクラッチで約1.3Tトークン事前学習を行った約8Bパラメータの大規模言語モデルです。 |
|
Tanuki-8x8B-dpo-v1.0は、SFTおよびDPOにより対話用に調整されています。 |
|
より詳細な情報については[ブログ記事](https://zenn.dev/matsuolab/articles/377f7ae8b1169e)を参照してください。 |
|
|
|
[GENIAC 松尾研 LLM開発プロジェクト](https://weblab.t.u-tokyo.ac.jp/geniac_llm/)のもと、一般公募により集まった有志の参加者(企業所属、学生、研究者等)が開発を実施しました。 |
|
|
|
## 量子化モデル |
|
[AWQ 4bit量子化](https://huggingface.co/team-hatakeyama-phase2/Tanuki-8B-dpo-v1.0-AWQ) [GPTQ 4bit量子化](https://huggingface.co/team-hatakeyama-phase2/Tanuki-8B-dpo-v1.0-GPTQ-4bit) [GPTQ 8bit量子化](https://huggingface.co/team-hatakeyama-phase2/Tanuki-8B-dpo-v1.0-GPTQ-8bit) [GGUF量子化](https://huggingface.co/team-hatakeyama-phase2/Tanuki-8B-dpo-v1.0-GGUF)* |
|
*GGUF版は性能低下が発生している可能性があり、非推奨 |
|
|
|
## 使い方 |
|
|
|
```python |
|
from transformers import AutoModelForCausalLM, AutoTokenizer, TextStreamer |
|
|
|
model = AutoModelForCausalLM.from_pretrained("weblab-GENIAC/Tanuki-8B-dpo-v1.0", device_map="auto", torch_dtype="auto") |
|
tokenizer = AutoTokenizer.from_pretrained("weblab-GENIAC/Tanuki-8B-dpo-v1.0") |
|
streamer = TextStreamer(tokenizer, skip_prompt=True, skip_special_tokens=True) |
|
|
|
messages = [ |
|
{"role": "system", "content": "以下は、タスクを説明する指示です。要求を適切に満たす応答を書きなさい。"}, |
|
{"role": "user", "content": "たぬきに純粋理性批判は理解できますか?"} |
|
] |
|
|
|
input_ids = tokenizer.apply_chat_template(messages, add_generation_prompt=True, return_tensors="pt").to(model.device) |
|
output_ids = model.generate(input_ids, |
|
max_new_tokens=1024, |
|
temperature=0.5, |
|
streamer=streamer) |
|
``` |
|
|
|
## プロンプト形式 |
|
Tanuki-8B-dpo-v1.0は日本語版Alpacaのプロンプト形式を利用します。 |
|
- シングルターン |
|
``` |
|
<s>以下は、タスクを説明する指示です。要求を適切に満たす応答を書きなさい。 |
|
|
|
### 指示: |
|
たぬきに純粋理性批判は理解できますか? |
|
|
|
### 応答: |
|
|
|
``` |
|
- マルチターン |
|
``` |
|
<s>以下は、タスクを説明する指示です。要求を適切に満たす応答を書きなさい。 |
|
|
|
### 指示: |
|
{1ターン目の入力} |
|
|
|
### 応答: |
|
{1ターン目の応答}</s> |
|
|
|
### 指示: |
|
{2ターン目の入力} |
|
|
|
### 応答: |
|
``` |
|
|
|
なお、本モデルはデフォルトのシステムプロンプトである「以下は、タスクを説明する指示です。要求を適切に満たす応答を書きなさい。」以外を学習していないため、このシステムプロンプトの使用を推奨します。タスクの詳細はユーザープロンプトに記述してください。 |
|
|
|
## ベンチマーク |
|
|
|
**人手評価** |
|
Chatbot Arenaを模したシステムを作成し、人手によるブラインドテストを実施しました。(詳細は[こちら](https://zenn.dev/matsuolab/articles/95fa297ef12a14)) |
|
[全評価データ(約2000件)](https://huggingface.co/datasets/team-hatakeyama-phase2/LLMChat)を公開しています。 |
|
![image/png](https://cdn-uploads.huggingface.co/production/uploads/6348501e50fe0799927c3667/RzPOQfETYD9_AFEjVkwCX.png) |
|
|
|
**Japanese MT-Bench** |
|
|
|
GPT-4による評価 (gpt-4-0613、平均スコア算出においてスコア-1は除外) |
|
|
|
| | Tanuki-8B-dpo-v1.0 | Tanuki-8x8B-dpo-v1.0 | |
|
| ---- | ---- | ---- | |
|
| 平均スコア | 7.24 | 7.96 | |
|
| coding | 5.4 | 6.75 | |
|
| extraction | 6.65 | 6.90| |
|
| humanities | 9.1 | 9.3 | |
|
| math | 3.9 | 5.75 | |
|
| reasoning | 5.75 | 7.35 | |
|
| roleplay | 8.75 | 8.95 | |
|
| stem | 9.35 | 9.40 | |
|
| writing | 9.05 | 8.85 | |
|
|
|
## 開発メンバー |
|
畠山 歓 [リーダー]、asaoka_tadashi、Atsushi Saito、Chattso-GPT、Chihiro Arata、Chihiro HIGUCHI、Daichi Kohmoto、Esty、Hideaki Hayashi、hiroaki shioya、Issei Fujimoto、Issei Fujimoto、Jie Zeng、Jinsei Shiraishi、K. Nishizawa、Kazutaka Nishimae、Kunihiro Watanabe、masaki okamura、Minami Someya、Mさん、Nishi、Nishijima、p1atdev、Rumi Nakagawa、Ryota Mitsuhashi、Susumu Ota、takagi、Toshio Nishida、y_morinaga、Yuki Namiuchi、Yukie Kawano、永原恒治、加藤純、河越 淳、岩田 兼太朗、菊池満帆、熊田匡仁、江國翔太、佐野敏幸、山口 裕輝、西井康隆、川村 正春、片上 舜、堀江吏将、林寛太 (Kanta Hayashi) |