YAI777 commited on
Commit
d38a9a1
·
verified ·
1 Parent(s): c951c39

Update README.md

Browse files
Files changed (1) hide show
  1. README.md +99 -3
README.md CHANGED
@@ -1,3 +1,99 @@
1
- ---
2
- license: cc-by-nc-sa-4.0
3
- ---
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ license: cc-by-nc-sa-4.0
3
+ base_model:
4
+ - llm-jp/llm-jp-3-13b
5
+ ---
6
+
7
+ ## 環境準備
8
+
9
+ ### 必要なライブラリのインストール
10
+
11
+ ```bash
12
+ pip install transformers torch accelerate peft bitsandbytes
13
+ ```
14
+
15
+ ## モデルのロードと推論
16
+
17
+ ### Pythonスクリプト例
18
+
19
+ ```python
20
+ from transformers import AutoModelForCausalLM, AutoTokenizer
21
+ from peft import PeftModel
22
+ import torch
23
+
24
+ # モデルとトークナイザーのロード
25
+ base_model_id = "llm-jp/llm-jp-3-13b"
26
+ model_id = "your-huggingface-username/llm-jp-3-13b-finetune"
27
+
28
+ # トークナイザーをロード
29
+ tokenizer = AutoTokenizer.from_pretrained(base_model_id)
30
+
31
+ # ベースモデルをロード (4bit量子化)
32
+ model = AutoModelForCausalLM.from_pretrained(
33
+ base_model_id,
34
+ load_in_4bit=True,
35
+ device_map="auto"
36
+ )
37
+
38
+ # LoRAアダプタをマージ
39
+ model = PeftModel.from_pretrained(model, model_id)
40
+ model = model.merge_and_unload()
41
+
42
+ def generate_response(prompt):
43
+ # プロンプトフォーマット
44
+ full_prompt = f"""### 指示
45
+ {prompt}
46
+ ### 回答
47
+ """
48
+
49
+ # トークン化
50
+ inputs = tokenizer(full_prompt, return_tensors="pt").to(model.device)
51
+
52
+ # 推論
53
+ outputs = model.generate(
54
+ input_ids=inputs.input_ids,
55
+ attention_mask=inputs.attention_mask,
56
+ max_new_tokens=100,
57
+ do_sample=False,
58
+ repetition_penalty=1.2
59
+ )
60
+
61
+ # デコード
62
+ response = tokenizer.decode(
63
+ outputs[0][inputs.input_ids.size(1):],
64
+ skip_special_tokens=True
65
+ )
66
+
67
+ return response
68
+
69
+ # 使用例
70
+ prompt = "日本の首都について教えてください。"
71
+ print(generate_response(prompt))
72
+ ```
73
+
74
+ ## 注意事項
75
+
76
+ - このモデルは `CC-BY-NC-SA` ライセンスの下で提供されています
77
+ - 非営利目的での使用に限定されます
78
+ - 元のデータセットと同様のライセンス条件が適用されます
79
+
80
+ ## 引用情報
81
+
82
+ モデル元データセット:
83
+ - 関根聡, 安藤まや, 後藤美知子, 鈴木久美, 河原大輔, 井之上直也, 乾健太郎.
84
+ - "ichikara-instruction: LLMのための日本語インストラクションデータの構築"
85
+ - 言語処理学会第30回年次大会 (2024)
86
+
87
+ ## トラブルシューティング
88
+
89
+ 1. CUDA out of memory エラー
90
+ - `device_map="auto"` を `device_map="balanced"` に変更
91
+ - バッチサイズを減らす
92
+ - より大きなGPUを使用
93
+
94
+ 2. ライブラリバージョンの不整合
95
+ - 推奨バージョン:
96
+ - transformers: 最新版
97
+ - torch: 2.0以降
98
+ - accelerate: 最新版
99
+ - peft: 最新版