Update README.md
Browse files
README.md
CHANGED
@@ -7,10 +7,45 @@ tags:
|
|
7 |
- unsloth
|
8 |
- trl
|
9 |
- sft
|
|
|
|
|
|
|
|
|
10 |
---
|
11 |
|
12 |
# 概要
|
13 |
質問と応答から、その過程の思考を生成する言語モデルです。
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
14 |
|
15 |
# transformersでの推論例
|
16 |
```
|
@@ -37,7 +72,7 @@ query_template = """<Query>
|
|
37 |
inputs = tokenizer(
|
38 |
[
|
39 |
qwen_prompt.format(
|
40 |
-
|
41 |
query_template.format(
|
42 |
"こんにちは",
|
43 |
"こんにちは!今日はいかがお過ごしですか?"
|
@@ -48,6 +83,7 @@ inputs = tokenizer(
|
|
48 |
|
49 |
from transformers import TextStreamer
|
50 |
text_streamer = TextStreamer(tokenizer)
|
|
|
51 |
model.generate(**inputs, streamer = text_streamer, max_new_tokens = 1024)
|
52 |
```
|
53 |
|
|
|
7 |
- unsloth
|
8 |
- trl
|
9 |
- sft
|
10 |
+
datasets:
|
11 |
+
- Nurture-intelligence/thinking_dataset_v1
|
12 |
+
- Manual-Dataset-Creation-Project/Malum-230
|
13 |
+
- team-hatakeyama-phase2/LLMChat
|
14 |
---
|
15 |
|
16 |
# 概要
|
17 |
質問と応答から、その過程の思考を生成する言語モデルです。
|
18 |
+
Qwen2.5-7B-Instructをファインチューニングし作成しました。
|
19 |
+
データセットには複数データセット(datasets欄に記載)の質問部分をお借りし、
|
20 |
+
思考をallura-org/Qwen2.5-32b-RP-Ink、回答をAXCXEPT/EZO-Qwen2.5-32B-Instructで1225件生成したものを使用しました。
|
21 |
+
|
22 |
+
Instructionを
|
23 |
+
```
|
24 |
+
あなたには要求と回答から論理的思考を作成する任務が与えられています。万能なアシスタントがQueryタグ内の質問を受け、Answerタグ内の回答をするまでの思考をChain-of-Thought形式で記述してください。思考は<Thought>タグ内に記述してください。
|
25 |
+
```
|
26 |
+
とし、ユーザー入力を
|
27 |
+
```
|
28 |
+
<Query>
|
29 |
+
{質問}
|
30 |
+
</Query>
|
31 |
+
<Answer>
|
32 |
+
{応答}
|
33 |
+
</Answer>
|
34 |
+
```
|
35 |
+
の形式で行うことで、
|
36 |
+
```
|
37 |
+
|
38 |
+
<Thought>
|
39 |
+
{思考}
|
40 |
+
</Thought>
|
41 |
+
<|im_end|>
|
42 |
+
```
|
43 |
+
の形式で、質問を受けて応答を返すまでの思考を取得することができます。
|
44 |
+
|
45 |
+
# 注意点
|
46 |
+
- 学習に使用したデータのうち、計算およびコーディング、ロールプレイの割合が極端に小さく、これらタスクでは期待した思考生成がうまくいかないことがあります。特に数学タスクでは微妙です。
|
47 |
+
- クエリと応答が乖離している場合の思考がうまく生成できません(例 Query="こんにちは", Answer="python" など)。
|
48 |
+
- そもそも学習データの質、量ともに不足しているので、あまり高品質な思考を生成することはできません。
|
49 |
|
50 |
# transformersでの推論例
|
51 |
```
|
|
|
72 |
inputs = tokenizer(
|
73 |
[
|
74 |
qwen_prompt.format(
|
75 |
+
"あなたには要求と回答から論理的思考を作成する任務が与えられています。万能なアシスタントがQueryタグ内の質問を受け、Answerタグ内の回答をするまでの思考をChain-of-Thought形式で記述してください。思考は<Thought>タグ内に記述してください。",
|
76 |
query_template.format(
|
77 |
"こんにちは",
|
78 |
"こんにちは!今日はいかがお過ごしですか?"
|
|
|
83 |
|
84 |
from transformers import TextStreamer
|
85 |
text_streamer = TextStreamer(tokenizer)
|
86 |
+
# repetition_penalty=1.1, temperature=0.7くらいがたぶん良い
|
87 |
model.generate(**inputs, streamer = text_streamer, max_new_tokens = 1024)
|
88 |
```
|
89 |
|