kazuHF commited on
Commit
7b91b5b
·
verified ·
1 Parent(s): ba8f430

Update README.md

Browse files
Files changed (1) hide show
  1. README.md +94 -0
README.md CHANGED
@@ -20,3 +20,97 @@ language:
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)
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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)
23
+
24
+
25
+ # 推論方法
26
+
27
+ ◆ Google Colaboratory上のL4での推論
28
+
29
+ 1. Google Colaboratory上で、サンプルコードの
30
+ Model_Inference_Template_20241127.jpynb
31
+ を開く。
32
+
33
+ ◇ 環境設定
34
+
35
+ 1. Runtimeで、Hardware acceleratorをL4 GPUにする。
36
+ 2. ノートブックをGoogle driveに保存するため、Google driveにマウントする。
37
+ 3. CodeのセルでGenerateをクリックして「ドライブに接続」というPromptをGeminiに入れると、マウントに必要なセルを書いてくれるのでそれを評価する。
38
+ 4. 「接続しているGPUの表示」とGeminiに聞いて、23GBのL4に接続していることを確認する。
39
+ 5. /contentに、次のファイルをupload.
40
+ elyza-tasks-100-TV_0.json
41
+ 6. 提供されたコードでunsloth, torch, peftをインストール。(37sec)
42
+
43
+ ◇ 推論
44
+
45
+ 7. FastLanguageModel, PeftModelなどのインポート。(22sec)
46
+ 8. ベースモデルと作製したモデルのIDの貼り付け。
47
+ 9. 事後学習の際に使用したHugging FaceのTokenの指定。
48
+ 10. FastLanguageModelのインスタンス化。下のモデルとTokenizerを読み込む。
49
+  途中で、Grant accessをクックする。(3min)
50
+ 11. 元のモデルにQLoRAのadaptorを統合。tokenにHugging FaceのTokenを指定する。(8sec)
51
+ 12. elyza-tasks-100-TV_0.jsonlを読み込む。
52
+ 13. adaptorをつけたモデルでタスクの推論を行う。(6min)
53
+ 14. 推論結果をjsonlで保存。
54
+
55
+
56
+ # ◆ 事後学習
57
+
58
+ ◆ Hugging Faceでwrite権限のあるtokenの取得
59
+
60
+ 1. 自身のHugging Faceにlog inし、自身のProfileのSettingに入り、Access Tokenに入る。
61
+ 2. Create New Tokenをクリックし、Token type からWriteを選択し、Token nameを設定してから、Create tokenをクリックする。tokenを保存しておく。
62
+
63
+ ◆ 事後学習のためのデータの入手
64
+
65
+ 1. LLMのための日本語インストラクションデータ公開ページに入る。( https://liat-aip.sakura.ne.jp/wp/llm%e3%81%ae%e3%81%9f%e3%82%81%e3%81%ae%e6%97%a5%e6%9c%ac%e8%aa%9e%e3%82%a4%e3%83%b3%e3%82%b9%e3%83%88%e3%83%a9%e3%82%af%e3%82%b7%e3%83%a7%e3%83%b3%e3%83%87%e3%83%bc%e3%82%bf%e4%bd%9c%e6%88%90/llm%e3%81%ae%e3%81%9f%e3%82%81%e3%81%ae%e6%97%a5%e6%9c%ac%e8%aa%9e%e3%82%a4%e3%83%b3%e3%82%b9%e3%83%88%e3%83%a9%e3%82%af%e3%82%b7%e3%83%a7%e3%83%b3%e3%83%87%e3%83%bc%e3%82%bf-%e5%85%ac%e9%96%8b/ )
66
+ 2. ダウンロードのための必要事項記入フォームに記入。(https://docs.google.com/forms/d/1CeYoFrMJnCFbH71RGxOaAIDGDBofUSAEdEcmiLR-Uko/viewform?edit_requested=true)
67
+ 3. LLMのためのインストラクションデータのダウンロードのURLを入手
68
+ https://drive.google.com/file/d/1U_GQ43hc2EYTKO-gvswooR0UY12alB0z/view?usp=drive_link
69
+ 4. このリンクから、Distribution20241221_allというフォルダの中にある
70
+ ichikara-instruction-003-001-1.json
71
+ などのjsonファイルのデータが入手できる。これをモデルの事後学習であるSFTやRLHFのための学習データとして利用する。
72
+
73
+ ◆ Google Colaboratory上のL4での事後学習
74
+
75
+ 1. Google Colaboratory上で、サンプルコードの
76
+ LoRA_template_unsloth_20241127.jpynb
77
+ を開く。
78
+
79
+ ◇ 環境設定
80
+
81
+ 1. Runtimeで、Hardware acceleratorをL4 GPUにする。
82
+ 2. ノートブックをGoogle driveに保存するため、Google driveにマウントする。
83
+ 3. CodeのセルでGenerateをクリックして「ドライブに接続」というPromptをGeminiに入れると、マウントに必要なセルを書いてくれるのでそれを評価する。
84
+ 4. 「接続しているGPUの表示」とGeminiに聞いて、23GBのL4に接続していることを確認する。
85
+ 5. /contentに、次の二つのファイルをupload.
86
+ elyza-tasks-100-TV_0.json
87
+ ichikara-instruction-003-001-1.json
88
+ 6. 既に書かれているcodeによってuslothをインストールする。(25sec)
89
+ 7. torchとxformersのupgrade (7sec)
90
+ (ipwidgetsのupgradeはskip)
91
+ 8. Flash-attentionのinstall (20sec)
92
+
93
+ ◇ 事前学習モデルのロード
94
+
95
+ 1. Write権限のあるTokenをHF_TOKENのところに入力して評価する。
96
+ 2. llm-jp/llm-jp-3-13bというモデルを4bit量子化したLoRAでloadする。(2min)
97
+ 3. Notebook does not have secret accessというwindowが出たらGrant accessをクリック
98
+ 4. 事後学習用のデータであるichikara-instruction-003-001-1.jsonをloadする。(0sec)
99
+ 5. 学習時のプロンプトのフォーマットの定義 (0sec)
100
+ 6. データの確認 (0sec) ###指示 と ###回答 とからなる。
101
+
102
+ ◇ モデルの事後学習
103
+
104
+ 1. SFTの設定 (1sec)
105
+ 2. GPUのメモリの確認: GPU NVIDIA L4 Max memory 22.168GB, 8.709GBを使用中
106
+ 3. 学習の実行 (23min) Training lossは、2.22から1.90まで低下した。
107
+
108
+ ◇ モデルによる推論
109
+
110
+ 1. 課題であるelyza-tasks-100-TV_0.jsonを読み込む。(0sec)
111
+ 2. 事後学習したモデルで、タスクを一つ一つ推論する。(6min)
112
+ 3. 推論結果をjsonで保存する。
113
+ 4. LoRAのアダプタをHugging Faceにuploadする。(22sec)
114
+ 5. Hugging FaceのProfileにuploadされているモデルをクリックする。
115
+ 6. Files and versionsをクリックし、README.mdを開き、editをクリックして編集する。
116
+ 7. Comment changes to mainをクリックして保存する。