File size: 4,741 Bytes
c78772d
 
3ea1135
 
 
 
 
 
 
 
 
 
 
 
adc8eaa
 
 
 
 
3ea1135
 
adc8eaa
3ea1135
 
 
 
 
 
 
 
 
 
 
 
 
adc8eaa
3ea1135
 
 
 
 
 
 
 
 
 
adc8eaa
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3ea1135
adc8eaa
3ea1135
adc8eaa
 
 
 
3ea1135
adc8eaa
3ea1135
adc8eaa
3ea1135
 
 
 
 
 
 
 
 
 
 
 
 
adc8eaa
beefe06
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
---
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件)を後日全て公開します。
![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)