Create README.md
Browse files
README.md
ADDED
|
@@ -0,0 +1,121 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
2023 ์ฑ๊ท ๊ด๋ ํ๊ณ์ง์ค ์ฐํํ๋ ฅํ๋ก์ ํธ VAIV
|
| 2 |
+
## GPT ๊ธฐ๋ฐ์ ์์ฐ์ค๋ฝ๊ณ (Friendly) ์ค๋ฆฌ์ ์ธ(Harmless) ์ผ์ ๋ํํ ์ฑ๋ด ๋ชจ๋ธ
|
| 3 |
+
|
| 4 |
+
# ๊ณผ์ ๋ชฉํ
|
| 5 |
+
GPT-NEOX ๊ธฐ๋ฐ ์์ฐ์ค๋ฝ๊ณ ์ค๋ฆฌ์ ์ธ ํ๊ตญ์ด ๊ธฐ๋ฐ ์ผ์ ๋ํํ ์ฑ๋ด ๋ชจ๋ธ ๊ตฌํ
|
| 6 |
+
- Self-Instruct: GPT4๋ฅผ ์ด์ฉํ ๋ฐ์ดํฐ ์ฆ๊ฐ
|
| 7 |
+
- RLHF(Reinforcement Learning from Human Feedback): ์ฌ๋์ ์ ํธ๋๋ฅผ ๋ฐ์ํ ๊ฐํํ์ต
|
| 8 |
+
- DeepSpeed: ๋๊ท๋ชจ ๋ถ์ฐ ๋ฅ๋ฌ๋์ ์ํ ์๋ก์ด ๋ฉ๋ชจ๋ฆฌ ์ต์ ํ ๊ธฐ์
|
| 9 |
+
|
| 10 |
+
# ๊ฐ๋ฐ ๋ด์ฉ
|
| 11 |
+
Task 1: ๊ฐํํ์ต ๋จ๊ณ๋ณ ๋ฐ์ดํฐ์
๊ตฌ์ถ
|
| 12 |
+
Task 2: SFT ๋ชจ๋ธ Fine-tuning (https://huggingface.co/Trofish/KULLM-SFT-v2)
|
| 13 |
+
Task 3: Reward ๋ชจ๋ธ ver1,2,3 ๊ตฌํ
|
| 14 |
+
Task 4: RLHF์ DeepSpeedChat์ ํตํ ์ต์ข
๋ชจ๋ธ ๊ตฌํ (https://huggingface.co/Trofish/KULLM-RLHF)
|
| 15 |
+
|
| 16 |
+
# Task1. ๊ฐํํ์ต ๋จ๊ณ๋ณ ๋ฐ์ดํฐ์
๊ตฌ์ถ
|
| 17 |
+

|
| 18 |
+

|
| 19 |
+
## ๋ฐ์ดํฐ์
์ ์ ์ ๊ณ ๋ ค ์ฌํญ
|
| 20 |
+
- **์ผ์ ๋ํ์ ํ์ค ํํ ๋์ฒ ๋ฅ๋ ฅ์ ์ฌ๋ฆฌ๊ธฐ ์ํ ๋ฐ์ดํฐ์
๊ณผ, ํ์ต ์ ์ฑ๋ด ๋ชจ๋ธ์ generalํ task์ ๋ํ ์ฑ๋ฅ์ด ํ๋ฝํ๋ ๊ฒ์ ๋ง๊ธฐ ์ํด์ general task ๋ฐ์ดํฐ์
์ ๊ตฌ์ฑ**
|
| 21 |
+
|
| 22 |
+
- **๊ตญ๋ฆฝ๊ตญ์ด์ ์ผ์ ๋ํ ๋ฐ์ดํฐ์
:** ์ผ์์ ์ธ ๋ํ์ ๋ํ ์์ฐ์ค๋ฌ์ด ์๋ต์ด ์์ผ๋ฉด์๋, ๋ง์ถค๋ฒ์ด ์ ์ง์ผ์ง๊ณ ์์ด, ๋น๋ฌธ, ์ด์ฑ ๋ฑ์ด ์์ผ๋ฉฐ ์ฃผ์ ๋ณ๋ก ๋ค์ํ ๋ํ๊ฐ ์์
|
| 23 |
+
|
| 24 |
+
- **AI Hub ํ์ค ํํ ๋ฐ์ดํฐ์
:** ํ์ค, ์ฐจ๋ณ, ์ฑ์ ์ธ ๋ด์ฉ, ํญ๋ ฅ, ๋ฒ์ฃ ๋ฑ ์นดํ
๊ณ ๋ฆฌ๋ณ๋ก ๋ค์ํ ํ์ค ํํ์ด ์์
|
| 25 |
+
|
| 26 |
+
- **General task ๋ฐ์ดํฐ์
**
|
| 27 |
+
- Evol-Instruct ๋ฐ์ดํฐ์
: ๋ค์ํ ๋ถ์ผ์ ๋ํ ๋ณต์กํ๊ณ ๋
ผ๋ฆฌ์ ์ธ prompt์ ๋ต๋ณ์ด ์์
|
| 28 |
+
- Self-Instruct ๋ฐ์ดํฐ์
: ์ฌ๋์ด ์ง์ ์์ฑํ ์์ง์ Seed data๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๋ฐ์ดํฐ ์ฆ๊ฐ
|
| 29 |
+
- RLHF ํ๊ตญ์ด ๋ฒ์ญ ๋ฐ์ดํฐ์
: DeepSpeedChat์์ ๊ณต๊ฐํ ๋ฐ์ดํฐ์
์ ํ๊ตญ์ด๋ก ๋ฒ์ญ
|
| 30 |
+
|
| 31 |
+
# Task2. SFT ๋ชจ๋ธ Fine-tuning
|
| 32 |
+
## Baseline Model
|
| 33 |
+
[- ๊ณ ๋ ค๋ํ๊ต NLP & AI ์ฐ๊ตฌ์ค๊ณผ HIAI ์ฐ๊ตฌ์๊ฐ ๊ฐ๋ฐํ ํ๊ตญ์ด LLM **"KULLM"** ์ฌ์ฉ](https://github.com/nlpai-lab/KULLM)
|
| 34 |
+
|
| 35 |
+
## Datasets
|
| 36 |
+

|
| 37 |
+
|
| 38 |
+
## SFT Model Finetuning
|
| 39 |
+

|
| 40 |
+
* ๋ชจ๋ธํ์ต์๋ Google Colab์์ ์ ๊ณตํ๋ A100 40GB GPU ์ฌ์ฉ
|
| 41 |
+
|
| 42 |
+
## SFT Model Evaluation
|
| 43 |
+

|
| 44 |
+

|
| 45 |
+
* G-Eval: https://arxiv.org/abs/2303.16634
|
| 46 |
+
|
| 47 |
+
## Final SFT Model
|
| 48 |
+
- https://huggingface.co/Trofish/KULLM-SFT-v2
|
| 49 |
+
|
| 50 |
+
# Task3-1. Reward Model ver1 ๊ตฌํ
|
| 51 |
+
## Baseline Model
|
| 52 |
+
- EleutherAI์์ ๊ฐ๋ฐํ ์ด๊ฑฐ๋ ํ๊ตญ์ด ์ธ์ด ๋ชจ๋ธ **Polyglot-Ko** ์ฌ์ฉ
|
| 53 |
+
- 1.3b ๋ชจ๋ธ๊ณผ 5.8b ๋ชจ๋ธ์ ๊ฐ๊ฐ ์คํ
|
| 54 |
+
## Datasets
|
| 55 |
+

|
| 56 |
+
- InstructGPT์ ๋ฐ์ดํฐ์
๊ตฌ์ถ ๋ฐฉ๋ฒ
|
| 57 |
+
- Reward ๋ชจ๋ธ ํ์ต ๋ฐ์ดํฐ์
์ผ๋ก SFT ํ์ต์ ์ฌ์ฉํ prompt(1,500๊ฐ - ์ผ์๋ํ:ํ์คํํ=2:1)์ ์๋ก์ด prompt(1,000๊ฐ - DeepSpeedChat ๋ฒ์ญ ๋ฐ์ดํฐ์
) ์ฌ์ฉ
|
| 58 |
+
- SFT ๋ชจ๋ธ์์ ํ๊ฐ์ prompt๋น K๊ฐ์ Response๋ฅผ ์์ฑํ๊ณ , ์์๋ฅผ Labeling
|
| 59 |
+
- ๋ฐ์ดํฐ์
๋ผ๋ฒจ๋ง
|
| 60 |
+
- Instruct GPT์ ๊ฒฝ์ฐ ์ฌ๋์ด ์ง์ Labeling์ ํ์ฟ์ง๋ง, ์ผ๊ด๋ ํ๊ฐ์ ์๊ฐ ๋จ์ถ์ ์ํด GPt-4์ G-Eval์ ์ด์ฉ
|
| 61 |
+
- SFT์์ ์์ฑํ ๋ Response ์ค G-Eval ํ๊ฐ ์ ์ ํฉ์ด ๋์ ๊ฒ์ Chosen response๋ก ๊ฒฐ์
|
| 62 |
+
- ๋ฐ์ดํฐ์
์ ํ๋ณ๋ก G-Eval ํ๊ฐ Prompt์ ์ฐจ์ด๋ฅผ ๋์์
|
| 63 |
+
- 
|
| 64 |
+
## Reward v1 Model Finetuning
|
| 65 |
+
- 
|
| 66 |
+
- InstructGPT ๋
ผ๋ฌธ์ ๋ฐ๋ฅด๋ฉด, Reward ๋ชจ๋ธ์ overfitting๋๋ฉด ์ฑ๋ฅ์ด ํฌ๊ฒ ์ ํ๋๋ค๊ณ ํจ --> epoch ์๋ฅผ 1๋ก ์ค์
|
| 67 |
+
- batch size๋ learning rate ๋ฑ ๋ค๋ฅธ hyper-parameter๋ ์ฑ๋ฅ์ ํฐ ์ํฅ์ด ์๋ค๊ณ ํจ
|
| 68 |
+
- Colab A100 40GB ๊ธฐ์ค ์ด ํ์ต ์๊ฐ 4๋ถ
|
| 69 |
+
|
| 70 |
+
## Reward v1 Model Evaluation
|
| 71 |
+
- 
|
| 72 |
+
- Reward Model Template
|
| 73 |
+
- **"์๋๋ ์์
์ ์ค๋ช
ํ๋ ๋ช
๋ น์ด์
๋๋ค. ์์ฒญ์ ์ ์ ํ ์๋ฃํ๋ ์๋ต์ ์์ฑํ์ธ์. \n\n ### ๋ช
๋ น์ด:\n{prompt}\n\n ### ์๋ต:\n"**
|
| 74 |
+
|
| 75 |
+
# Task3-2. Reward Model ver2,3 ๊ตฌํ
|
| 76 |
+
## RewardModel ver1 Issues
|
| 77 |
+
- ๊ตฌํ๋ Reward ๋ชจ๋ธ์ ์ฑ๋ฅ์ด ์ข์ง ์์ (Accuracy 0.65)
|
| 78 |
+
- Reward ๋ชจ๋ธ์ ์ฌ์ฉํ์ฌ Step3 ํ๏ฟฝ๏ฟฝ๏ฟฝ์ ํ์คํํ์ด ์๋๋ฐ๋ ํ์คํํ์ด๋ผ๊ณ ์ธ์ํ๊ณ ๋ต๋ณํ๋ ๋ฌธ์ ๋ฐ์
|
| 79 |
+
|
| 80 |
+
## Issue ํด๊ฒฐ๋ฐฉ์ (Reward Model ver2,3)
|
| 81 |
+
- 
|
| 82 |
+
- General Task ๋ต๋ณ์ ๋ํ ํ๊ฐ ์ฑ๋ฅ์ ๋์ด๊ธฐ ์ํด Evol-instruct ๋ฐ์ดํฐ ์ถ๊ฐ
|
| 83 |
+
- SFT ๋ชจ๋ธ๋ก ๋ต๋ณ์ 2๊ฐ ์์ฑํ์์ ๋, Chosen, Rejected ๋ต๋ณ์ ์ฐจ์ด๊ฐ ํฌ๊ฒ ์์ด ๋ชจ๋ธ์ด ํ์ต๋์ง ์๋ ํ์์ ๋ฐฉ์งํ๊ธฐ ์ํ์ฌ 2๊ฐ์ ๋ชจ๋ธ **(ChatGPT, SFT)**๋ฅผ ์ฌ์ฉํ์ฌ ๋ต๋ณ์ ์์ฑ
|
| 84 |
+
- ํ์คํํ ํ์ต์(Ver2) Step3 ํ์ต ์ดํ์ ๋ต๋ณ์ด ์ด์ํ๊ฒ ์์ฑ๋๋ Issue๊ฐ ์์ด, ํ์คํํ์ ๋ฐ์ดํฐ๋ฅผ ์ ๊ฑฐํ๊ณ ํ์ต(Ver3)
|
| 85 |
+
- RM-ver1์ GPT4๊ฐ Chosen, Rejected ๋ ์ด๋ธ๋ง์ ์งํํ์์ง๋ง, Resource ์ด์๋ก ์ธํด ์ผ๋ถ๋ง ์ฌ๋์ด ๋ผ๋ฒจ๋ง ์งํ
|
| 86 |
+
- ์ผ์๋ํ, ํ์คํํ ๋ฐ์ดํฐ์
|
| 87 |
+
- ChatGPT์ SFT ๋ชจ๋ ์ผ๊ด๋๊ฒ ๋์ ํ๋ฆฌํฐ์ ๋ต๋ณ์ ์์ฑํ์ง ์์, ์ฌ๋์ด ์ง์ ๋ผ๋ฒจ๋ง ์งํ
|
| 88 |
+
- RLHF ํ๊ตญ์ด ๋ฒ์ญ, Evol-Instruct ๋ฐ์ดํฐ์
|
| 89 |
+
- ChatGPT๊ฐ ์ผ๊ด๋๊ฒ ๋์ ํ๋ฆฌํฐ์ ๋ต๋ณ์ ์์ฑํ์ฌ ChatGPT๋ฅผ Chosen, SFT๋ฅผ Rejected๋ก ๋ผ๋ฒจ๋ง ์ง
|
| 90 |
+
## Reward Model ver2,3 Evaluation
|
| 91 |
+

|
| 92 |
+
|
| 93 |
+
# Task4. RLHF์ DeepSpeedChat์ ํตํ ์ต์ข
๋ชจ๋ธ ๊ตฌํ
|
| 94 |
+
- Microsoft์์ ๋ง๋ ๋๊ท๋ชจ ๋ถ์ฐ ๋ฅ๋ฌ๋์ ์ํ ์๋ก์ด ๋ฉ๋ชจ๋ฆฌ ์ต์ ํ ๊ธฐ์ (DeepSpeed)์ RLHF Process์ ์ ์ฉํ DeepSpeedChat ์ฌ์ฉ
|
| 95 |
+
- Human preference๋ก ํ์ต์ ์ํจ Reward ๋ชจ๋ธ๊ณผ ๊ฐํํ์ต์ ํตํด SFT ๋ชจ๋ธ์ ์ฌ๋์ ์ ํธ๋๋ฅผ ๋ฐ์ํ์ฌ ์์ฐ์ค๋ฝ๊ณ (FRIENDLY), ์ค๋ฆฌ์ ์ธ (HARMLESS)ย ์ฑ๋ด ์์ฑ
|
| 96 |
+
|
| 97 |
+
## Baseline Models
|
| 98 |
+
- Actor Model: KULLM-SFT-V2
|
| 99 |
+
- Reward Model: Polyglot-Ko-Reward-V3
|
| 100 |
+
|
| 101 |
+
## Training Options
|
| 102 |
+

|
| 103 |
+
|
| 104 |
+
## RLHF Training
|
| 105 |
+

|
| 106 |
+
- ํ์ต ๊ฒฐ๊ณผ, SFT ๋ชจ๋ธ์ ๋ต๋ณ์ ๋ํ ํ๋ฆฌํฐ์ธ Reward๊ฐ ์์นํ๋ ๊ฒ์ ํ์ธ (์ฌ๋์ ์ ํธ๋๊ฐ ๋์ ๋ต๋ณ์ ์์ฑ)
|
| 107 |
+
|
| 108 |
+
## RLFH Model Evaluation
|
| 109 |
+

|
| 110 |
+

|
| 111 |
+
|
| 112 |
+
## Final RLHF Model
|
| 113 |
+
- https://huggingface.co/Trofish/KULLM-RLHF
|
| 114 |
+
|
| 115 |
+
|
| 116 |
+
# Contributors ๐
|
| 117 |
+
- ๋ฐ์ฑ์ (์ฑ๊ท ๊ด๋ํ๊ต ์ํํธ์จ์ดํ๊ณผ 20ํ๋ฒ, waniboyy@gmail.com)
|
| 118 |
+
- ์กํ๋น (์ฑ๊ท ๊ด๋ํ๊ต ์ํํธ์จ์ดํ๊ณผ 20ํ๋ฒ, shbin0519@gmail.com)
|
| 119 |
+
- ํ์ ๋ฏผ (์ฑ๊ท ๊ด๋ํ๊ต ์ํํธ์จ์ดํ๊ณผ 21ํ๋ฒ, ymheo1123@gmail.com)
|
| 120 |
+
- ํ์ฌ์ (์ฑ๊ท ๊ด๋ํ๊ต ์ํํธ์จ์ดํ๊ณผ 20ํ๋ฒ, ryeowon13@gmail.com)
|
| 121 |
+
|