Update README.md
Browse files
README.md
CHANGED
@@ -8,7 +8,8 @@ pipeline_tag: text-generation
|
|
8 |
# **llm-jp-3-13b-finetune**
|
9 |
|
10 |
## **概要**
|
11 |
-
このモデルは、LLM-jp-3 13BをベースにLoRA (Low-Rank Adaptation) を用いてFine-tuning
|
|
|
12 |
|
13 |
**入力形式**:
|
14 |
指示
|
@@ -39,15 +40,9 @@ import torch
|
|
39 |
from tqdm import tqdm
|
40 |
import json
|
41 |
|
42 |
-
# Hugging Faceで取得したTokenをこちらに貼る。
|
43 |
-
HF_TOKEN = "Tokenを貼り付け"
|
44 |
-
|
45 |
# ベースとなるモデルと学習したLoRAのアダプタ。
|
46 |
-
|
47 |
-
|
48 |
-
# omnicampus以外の環境をご利用の方は以下をご利用ください。
|
49 |
-
# base_model_id = "llm-jp/llm-jp-3-13b"
|
50 |
-
adapter_id = "chi-michi/llm-jp-3-13b-finetune" # Hugging FaceのIDを指定。
|
51 |
|
52 |
# QLoRA config
|
53 |
bnb_config = BitsAndBytesConfig(
|
@@ -61,7 +56,6 @@ model = AutoModelForCausalLM.from_pretrained(
|
|
61 |
model_id,
|
62 |
quantization_config=bnb_config,
|
63 |
device_map="auto",
|
64 |
-
token = HF_TOKEN
|
65 |
)
|
66 |
|
67 |
# Load tokenizer
|
@@ -82,35 +76,6 @@ with open("./elyza-tasks-100-TV_0.jsonl", "r") as f:
|
|
82 |
datasets.append(json.loads(item))
|
83 |
item = ""
|
84 |
|
85 |
-
# gemma
|
86 |
-
results = []
|
87 |
-
for data in tqdm(datasets):
|
88 |
-
|
89 |
-
input = data["input"]
|
90 |
-
prompt = f"""### 指示
|
91 |
-
{input}
|
92 |
-
### 回答
|
93 |
-
"""
|
94 |
-
|
95 |
-
# トークナイズして input_ids と attention_mask を取得
|
96 |
-
tokenized_input = tokenizer(prompt, return_tensors="pt")
|
97 |
-
input_ids = tokenized_input["input_ids"].to(model.device)
|
98 |
-
attention_mask = tokenized_input["attention_mask"].to(model.device)
|
99 |
-
|
100 |
-
# モデルで生成
|
101 |
-
outputs = model.generate(
|
102 |
-
input_ids=input_ids,
|
103 |
-
attention_mask=attention_mask, # attention_mask を渡す
|
104 |
-
max_new_tokens=512,
|
105 |
-
do_sample=False,
|
106 |
-
repetition_penalty=1.2,
|
107 |
-
pad_token_id=tokenizer.eos_token_id # pad_token_id を設定
|
108 |
-
)
|
109 |
-
output = tokenizer.decode(outputs[0], skip_special_tokens=True)
|
110 |
-
|
111 |
-
# 結果を保存
|
112 |
-
results.append({"task_id": data["task_id"], "input": input, "output": output})
|
113 |
-
|
114 |
# llmjp
|
115 |
results = []
|
116 |
for data in tqdm(datasets):
|
|
|
8 |
# **llm-jp-3-13b-finetune**
|
9 |
|
10 |
## **概要**
|
11 |
+
このモデルは、LLM-jp-3 13BをベースにLoRA (Low-Rank Adaptation) を用いてFine-tuningされたモデルです。
|
12 |
+
主に **ELYZA-tasks-100-TV** のタスクに対応するために調整されています。以下のような指示応答形式で動作します。
|
13 |
|
14 |
**入力形式**:
|
15 |
指示
|
|
|
40 |
from tqdm import tqdm
|
41 |
import json
|
42 |
|
|
|
|
|
|
|
43 |
# ベースとなるモデルと学習したLoRAのアダプタ。
|
44 |
+
base_model_id = "llm-jp/llm-jp-3-13b"
|
45 |
+
adapter_id = "kevineen/llm-jp-3-13b-finetune" # Hugging FaceのIDを指定。
|
|
|
|
|
|
|
46 |
|
47 |
# QLoRA config
|
48 |
bnb_config = BitsAndBytesConfig(
|
|
|
56 |
model_id,
|
57 |
quantization_config=bnb_config,
|
58 |
device_map="auto",
|
|
|
59 |
)
|
60 |
|
61 |
# Load tokenizer
|
|
|
76 |
datasets.append(json.loads(item))
|
77 |
item = ""
|
78 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
79 |
# llmjp
|
80 |
results = []
|
81 |
for data in tqdm(datasets):
|