Update README.md
Browse files
README.md
CHANGED
@@ -22,7 +22,48 @@ This llama model was trained 2x faster with [Unsloth](https://github.com/unsloth
|
|
22 |
[<img src="https://raw.githubusercontent.com/unslothai/unsloth/main/images/unsloth%20made%20with%20love.png" width="200"/>](https://github.com/unslothai/unsloth)
|
23 |
|
24 |
|
25 |
-
#
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
26 |
|
27 |
◆ Google Colaboratory上のL4での推論
|
28 |
|
@@ -53,7 +94,7 @@ This llama model was trained 2x faster with [Unsloth](https://github.com/unsloth
|
|
53 |
14. 推論結果をjsonlで保存。
|
54 |
|
55 |
|
56 |
-
# ◆
|
57 |
|
58 |
◆ Hugging Faceでwrite権限のあるtokenの取得
|
59 |
|
|
|
22 |
[<img src="https://raw.githubusercontent.com/unslothai/unsloth/main/images/unsloth%20made%20with%20love.png" width="200"/>](https://github.com/unslothai/unsloth)
|
23 |
|
24 |
|
25 |
+
# kazuHF/llm-jp-3-13b-it2_loraの概要
|
26 |
+
|
27 |
+
1. モデル概要
|
28 |
+
- ベースモデル: llm-jp/llm-jp-3-13b (https://huggingface.co/llm-jp/llm-jp-3-13b)
|
29 |
+
- 用途: 日本語によるQ&A形式の文章生成
|
30 |
+
- アーキテクチャ: FrameworkやLibraryとしてはPyTorch、Transformers、Unsloth、trl、LoRA、xformers、Flash Attentionなどを利用。UnslothはFine TuningやInferenceを高速化しメモリも削減する。llm-jp/llm-jp-3-13bを4bitで量子化するLoRAでロードし、SFTで事後学習を行った。
|
31 |
+
|
32 |
+
2. 事後学習の詳細
|
33 |
+
- 事後学習用データにichikara-instruction-003-001-1.jsonを必要な申請を行って利用した。
|
34 |
+
- Epoch数 1, バッチサイズ 2, 学習率 2e-4
|
35 |
+
- Google Colaboratory Pro上のL4/A100で学習
|
36 |
+
|
37 |
+
3. モデルの入出力
|
38 |
+
- 学習における入力のkeyは “text”、出力のkeyは “output”
|
39 |
+
- 推論による出力のkeyは “task_id”, “input”, “output”
|
40 |
+
|
41 |
+
4. 推論方法
|
42 |
+
- Hugging FaceのIDとして、
|
43 |
+
model_id = "llm-jp/llm-jp-3-13b”, adapter_id = "kazuHF/llm-jp-3-13b-it2_lora"
|
44 |
+
と指定し、
|
45 |
+
FastLanguageModel.from_pretrained( … model_id … )
|
46 |
+
で元のモデルをロードする。そして
|
47 |
+
model = PeftModel.from_pretrained( … adaptor_id … )
|
48 |
+
によって元のモデルとLoRAのアダプターを結合し、そのモデルのモードを
|
49 |
+
FastLanguageModel.for_inference(model)
|
50 |
+
によって推論モードに変更する。
|
51 |
+
入力を”””###\n 指示 入力 \n### 回答\n”””の形式にしてトークン化し、
|
52 |
+
model.generate( “input_ids”: …, “attention_mask”: …, …)
|
53 |
+
によってpredictionを行い、それをdecodeして出力とする。
|
54 |
+
|
55 |
+
5. ライセンス
|
56 |
+
- ベースモデル: 国立情報学研究所 大規模言語モデル研究開発センターが公開しているllm-jp/llm-jp-3-13b。Apache 2.0 のライセンスを継承する。
|
57 |
+
- 事後学習に用いたデータ: 理化学研究所 革新知能統合研究センター 言語情報アクセス技術チームが公開している ichikara-instruction-003-001-1.json 。CC-BY-NC-SAのライセンスを継承する。
|
58 |
+
|
59 |
+
6. 問題点や改善点
|
60 |
+
- promptに対して適切に答える場合もあるが、回答が短かったり、答えられない場合も散見されるため、更なる学習データの蓄積と事後学習を要する。
|
61 |
+
|
62 |
+
7. 謝辞
|
63 |
+
- 東京大学 松尾・岩澤研究室主催の大規模言語モデルDeep Learning応用講座 2024|Fall を受講することで本モデルが作製できた。同講座に関係する方々並びに同講座を受講された方々に深謝する。
|
64 |
+
|
65 |
+
|
66 |
+
# 推論方法の詳細
|
67 |
|
68 |
◆ Google Colaboratory上のL4での推論
|
69 |
|
|
|
94 |
14. 推論結果をjsonlで保存。
|
95 |
|
96 |
|
97 |
+
# ◆ 事後学習の詳細
|
98 |
|
99 |
◆ Hugging Faceでwrite権限のあるtokenの取得
|
100 |
|