deepkick commited on
Commit
b6f57d4
·
verified ·
1 Parent(s): 919a249

Update README.md

Browse files
Files changed (1) hide show
  1. README.md +88 -16
README.md CHANGED
@@ -1,22 +1,94 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
  ---
2
- base_model: llm-jp/llm-jp-3-13b
3
- tags:
4
- - text-generation-inference
5
- - transformers
6
- - unsloth
7
- - llama
8
- - trl
9
- license: apache-2.0
10
- language:
11
- - en
 
 
 
 
 
 
 
 
 
12
  ---
13
 
14
- # Uploaded model
 
 
 
15
 
16
- - **Developed by:** deepkick
17
- - **License:** apache-2.0
18
- - **Finetuned from model :** llm-jp/llm-jp-3-13b
19
 
20
- This llama model was trained 2x faster with [Unsloth](https://github.com/unslothai/unsloth) and Huggingface's TRL library.
 
 
21
 
22
- [<img src="https://raw.githubusercontent.com/unslothai/unsloth/main/images/unsloth%20made%20with%20love.png" width="200"/>](https://github.com/unslothai/unsloth)
 
1
+ # LLM-JP 3-13B Finetune
2
+
3
+ ## 概要
4
+ このモデルは、LLM-JP 3-13B をベースに Elyza タスクデータセットでファインチューニングされ、指示に基づく日本語生成タスクに適しています。本モデルでは、Unslothを用いて効率的にLoRAアダプタを利用し、高速な学習を実現しました。
5
+
6
+ ---
7
+
8
+ ## 使用方法
9
+
10
+ ### 推論の実行
11
+ 以下のコードを使用して、モデルをロードし、推論を実行できます。
12
+
13
+ ```python
14
+ from transformers import AutoModelForCausalLM, AutoTokenizer
15
+
16
+ # モデルとトークナイザーのロード
17
+ model_id = "deepkick/llm-jp-3-13b-finetune"
18
+ tokenizer = AutoTokenizer.from_pretrained(model_id)
19
+ model = AutoModelForCausalLM.from_pretrained(model_id)
20
+
21
+ # 推論
22
+ input_text = "日本語での生成タスクの例を示してください。"
23
+ input_ids = tokenizer(input_text, return_tensors="pt").input_ids
24
+ output = model.generate(input_ids, max_new_tokens=50)
25
+ print(tokenizer.decode(output[0], skip_special_tokens=True))
26
+ ```
27
+
28
+ ---
29
+
30
+ ### JSONLファイルの使用方法
31
+ 以下のコードを使用して、JSONL形式の入力データを用いたバッチ推論を行えます。
32
+
33
+ ```python
34
+ import json
35
+ from transformers import AutoModelForCausalLM, AutoTokenizer
36
+
37
+ # モデルのロード
38
+ model_id = "deepkick/llm-jp-3-13b-finetune"
39
+ tokenizer = AutoTokenizer.from_pretrained(model_id)
40
+ model = AutoModelForCausalLM.from_pretrained(model_id)
41
+
42
+ # JSONLファイルの読み込み
43
+ with open("elyza-tasks-100-TV_0.jsonl", "r") as f:
44
+ datasets = [json.loads(line) for line in f]
45
+
46
+ # 推論
47
+ results = []
48
+ for data in datasets:
49
+ input_text = data["input"]
50
+ input_ids = tokenizer(input_text, return_tensors="pt").input_ids
51
+ output = model.generate(input_ids, max_new_tokens=50)
52
+ output_text = tokenizer.decode(output[0], skip_special_tokens=True)
53
+ results.append({"task_id": data["task_id"], "output": output_text})
54
+
55
+ # 結果を保存
56
+ with open("outputs.jsonl", "w") as f:
57
+ for result in results:
58
+ f.write(json.dumps(result) + "\n")
59
+ ```
60
+
61
  ---
62
+
63
+ ## モデルのトレーニング詳細
64
+
65
+ - **ベースモデル**: `llm-jp/llm-jp-3-13b`
66
+ - **ファインチューニング手法**: LoRA (Low-Rank Adaptation)
67
+ - **使用ライブラリ**: 🤗 Transformers, Unsloth
68
+ - **データセット**: Elyza-tasks-100-TV
69
+
70
+ ### 学習設定
71
+ - 学習率: 2e-4
72
+ - バッチサイズ: 2 (デバイスあたり)
73
+ - 勾配蓄積ステップ: 4
74
+ - 学習エポック数: 1
75
+ - 最大シーケンス長: 512トークン
76
+ - LoRA設定:
77
+ - `r=32`
78
+ - `lora_alpha=32`
79
+ - `lora_dropout=0.05`
80
+
81
  ---
82
 
83
+ ## 著者
84
+ - 開発者: deepkick
85
+ - ライセンス: Apache-2.0
86
+ - Hugging Face リンク: [deepkick](https://huggingface.co/deepkick)
87
 
88
+ ---
 
 
89
 
90
+ ## 注意点
91
+ - 本モデルはLoRAアダプタのみを保存しています。詳細な推論方法については、`Model_Inference_Template_unsloth_20241127.ipynb` を参照してください。
92
+ - Hugging Faceのリポジトリにアップロードされたモデルを利用する際は、公開 (public) 設定にする必要があります。
93
 
94
+ --