tokushi commited on
Commit
49d8f2d
·
verified ·
1 Parent(s): 3c7998d

Update README.md

Browse files
Files changed (1) hide show
  1. README.md +12 -17
README.md CHANGED
@@ -27,16 +27,16 @@ Hugging Faceにアダプタをアップロードしてあることが前提と
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
42
  import torch
@@ -44,15 +44,13 @@ 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
56
  HF_TOKEN = "Hugging Face Tokenを入力"
57
 
58
  # unslothのFastLanguageModelで元のモデルをロード。
@@ -66,15 +64,13 @@ model, tokenizer = FastLanguageModel.from_pretrained(
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
-
76
- # タスクとなるデータの読み込み。
77
- # 事前にデータをアップロードしてください。
78
  datasets = []
79
  with open("/content/elyza-tasks-100-TV_0.jsonl", "r") as f:
80
  item = ""
@@ -85,10 +81,9 @@ with open("/content/elyza-tasks-100-TV_0.jsonl", "r") as f:
85
  datasets.append(json.loads(item))
86
  item = ""
87
 
88
- ```
89
  ```
90
  # モデルを用いてタスクの推論。
91
- # 推論するためにモデルのモードを変更
92
  FastLanguageModel.for_inference(model)
93
 
94
  results = []
@@ -104,9 +99,9 @@ for dt in tqdm(datasets):
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:
 
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
42
  import torch
 
44
  from tqdm import tqdm
45
  import re
46
  ```
 
47
  # ベースとなるモデルと学習したLoRAのアダプタ(Hugging FaceのIDを指定)。
 
 
48
  ```
49
+ model_id = "llm-jp/llm-jp-3-13b"
50
+ adapter_id = "tokushi/llm-jp-3-13b-it_lora"
51
  ```
52
  # Hugging Face Token を指定。
53
+ ```
 
54
  HF_TOKEN = "Hugging Face Tokenを入力"
55
 
56
  # unslothのFastLanguageModelで元のモデルをロード。
 
64
  trust_remote_code=True,
65
  )
66
  ```
67
+ # 元のモデルにLoRAのアダプタを統合。
68
  ```
69
+ model = PeftModel.from_pretrained(model, adapter_id, token = HF_TOKEN)
70
  ```
71
+ # 入力データの準備
72
+ ./elyza-tasks-100-TV_0.jsonlというファイルからデータセットをロードします。
73
  ```
 
 
 
 
 
74
  datasets = []
75
  with open("/content/elyza-tasks-100-TV_0.jsonl", "r") as f:
76
  item = ""
 
81
  datasets.append(json.loads(item))
82
  item = ""
83
 
 
84
  ```
85
  # モデルを用いてタスクの推論。
86
+ ```
87
  FastLanguageModel.for_inference(model)
88
 
89
  results = []
 
99
 
100
  results.append({"task_id": dt["task_id"], "input": input, "output": prediction})
101
  ```
 
102
  # 結果をjsonlで保存。
103
+ 最後に、adapter_idをベースにしたファイル名でJSONL形式の出力ファイルを保存します。
104
+ ```
105
  json_file_id = re.sub(".*/", "", adapter_id)
106
  with open(f"/content/{json_file_id}_output.jsonl", 'w', encoding='utf-8') as f:
107
  for result in results: