Update README.md
Browse files
README.md
CHANGED
@@ -27,13 +27,15 @@ Hugging Faceにアダプタをアップロードしてあることが前提と
|
|
27 |
|
28 |
※本コードはGoogle Colabでの動作を想定しています。
|
29 |
|
|
|
30 |
# 必要なライブラリをインストール
|
31 |
%%capture
|
32 |
!pip install unsloth
|
33 |
!pip uninstall unsloth -y && pip install --upgrade --no-cache-dir "unsloth[colab-new] @ git+https://github.com/unslothai/unsloth.git"
|
34 |
!pip install -U torch
|
35 |
!pip install -U peft
|
36 |
-
|
|
|
37 |
# 必要なライブラリを読み込み
|
38 |
from unsloth import FastLanguageModel
|
39 |
from peft import PeftModel
|
@@ -41,11 +43,13 @@ import torch
|
|
41 |
import json
|
42 |
from tqdm import tqdm
|
43 |
import re
|
44 |
-
|
|
|
45 |
# ベースとなるモデルと学習したLoRAのアダプタ(Hugging FaceのIDを指定)。
|
46 |
model_id = "llm-jp/llm-jp-3-13b"
|
47 |
adapter_id = "tokushi"
|
48 |
-
|
|
|
49 |
# Hugging Face Token を指定。
|
50 |
# 下記の URL から Hugging Face Token を取得できますので下記の HF_TOKEN に入れてください。
|
51 |
# https://huggingface.co/settings/tokens
|
@@ -61,9 +65,11 @@ model, tokenizer = FastLanguageModel.from_pretrained(
|
|
61 |
load_in_4bit=load_in_4bit,
|
62 |
trust_remote_code=True,
|
63 |
)
|
64 |
-
|
|
|
65 |
adapter_id = "tokushi/llm-jp-3-13b-it_lora"
|
66 |
-
|
|
|
67 |
# 元のモデルにLoRAのアダプタを統合。
|
68 |
model = PeftModel.from_pretrained(model, adapter_id, token = HF_TOKEN)
|
69 |
|
@@ -79,8 +85,9 @@ with open("/content/elyza-tasks-100-TV_0.jsonl", "r") as f:
|
|
79 |
datasets.append(json.loads(item))
|
80 |
item = ""
|
81 |
|
|
|
|
|
82 |
# モデルを用いてタスクの推論。
|
83 |
-
|
84 |
# 推論するためにモデルのモードを変更
|
85 |
FastLanguageModel.for_inference(model)
|
86 |
|
@@ -96,12 +103,13 @@ for dt in tqdm(datasets):
|
|
96 |
prediction = tokenizer.decode(outputs[0], skip_special_tokens=True).split('\n### 回答')[-1]
|
97 |
|
98 |
results.append({"task_id": dt["task_id"], "input": input, "output": prediction})
|
99 |
-
|
|
|
100 |
# 結果をjsonlで保存。
|
101 |
-
|
102 |
# ここではadapter_idを元にファイル名を決定しているが、ファイル名は任意で問題なし。
|
103 |
json_file_id = re.sub(".*/", "", adapter_id)
|
104 |
with open(f"/content/{json_file_id}_output.jsonl", 'w', encoding='utf-8') as f:
|
105 |
for result in results:
|
106 |
json.dump(result, f, ensure_ascii=False)
|
107 |
f.write('\n')
|
|
|
|
27 |
|
28 |
※本コードはGoogle Colabでの動作を想定しています。
|
29 |
|
30 |
+
```
|
31 |
# 必要なライブラリをインストール
|
32 |
%%capture
|
33 |
!pip install unsloth
|
34 |
!pip uninstall unsloth -y && pip install --upgrade --no-cache-dir "unsloth[colab-new] @ git+https://github.com/unslothai/unsloth.git"
|
35 |
!pip install -U torch
|
36 |
!pip install -U peft
|
37 |
+
```
|
38 |
+
```
|
39 |
# 必要なライブラリを読み込み
|
40 |
from unsloth import FastLanguageModel
|
41 |
from peft import PeftModel
|
|
|
43 |
import json
|
44 |
from tqdm import tqdm
|
45 |
import re
|
46 |
+
```
|
47 |
+
```
|
48 |
# ベースとなるモデルと学習したLoRAのアダプタ(Hugging FaceのIDを指定)。
|
49 |
model_id = "llm-jp/llm-jp-3-13b"
|
50 |
adapter_id = "tokushi"
|
51 |
+
```
|
52 |
+
```
|
53 |
# Hugging Face Token を指定。
|
54 |
# 下記の URL から Hugging Face Token を取得できますので下記の HF_TOKEN に入れてください。
|
55 |
# https://huggingface.co/settings/tokens
|
|
|
65 |
load_in_4bit=load_in_4bit,
|
66 |
trust_remote_code=True,
|
67 |
)
|
68 |
+
```
|
69 |
+
```
|
70 |
adapter_id = "tokushi/llm-jp-3-13b-it_lora"
|
71 |
+
```
|
72 |
+
```
|
73 |
# 元のモデルにLoRAのアダプタを統合。
|
74 |
model = PeftModel.from_pretrained(model, adapter_id, token = HF_TOKEN)
|
75 |
|
|
|
85 |
datasets.append(json.loads(item))
|
86 |
item = ""
|
87 |
|
88 |
+
```
|
89 |
+
```
|
90 |
# モデルを用いてタスクの推論。
|
|
|
91 |
# 推論するためにモデルのモードを変更
|
92 |
FastLanguageModel.for_inference(model)
|
93 |
|
|
|
103 |
prediction = tokenizer.decode(outputs[0], skip_special_tokens=True).split('\n### 回答')[-1]
|
104 |
|
105 |
results.append({"task_id": dt["task_id"], "input": input, "output": prediction})
|
106 |
+
```
|
107 |
+
```
|
108 |
# 結果をjsonlで保存。
|
|
|
109 |
# ここではadapter_idを元にファイル名を決定しているが、ファイル名は任意で問題なし。
|
110 |
json_file_id = re.sub(".*/", "", adapter_id)
|
111 |
with open(f"/content/{json_file_id}_output.jsonl", 'w', encoding='utf-8') as f:
|
112 |
for result in results:
|
113 |
json.dump(result, f, ensure_ascii=False)
|
114 |
f.write('\n')
|
115 |
+
```
|