Update README.md
Browse files
README.md
CHANGED
@@ -1,34 +1,27 @@
|
|
1 |
2023 성균관대 하계집중 산학협력프로젝트 VAIV
|
2 |
-
### Github : https://github.com/VAIV-2023/RLHF-Korean-Friendly-LLM
|
3 |
-
|
4 |
## GPT 기반의 자연스럽고(Friendly) 윤리적인(Harmless) 일상 대화형 챗봇 모델
|
|
|
5 |
|
6 |
-
#
|
7 |
-
GPT-NEOX 기반 자연스럽고 윤리적인 한국어 기반 일상 대화형 챗봇 모델 구현
|
|
|
|
|
|
|
8 |
- Self-Instruct: GPT4를 이용한 데이터 증강
|
9 |
- RLHF(Reinforcement Learning from Human Feedback): 사람의 선호도를 반영한 강화학습
|
10 |
- DeepSpeed: 대규모 분산 딥러닝을 위한 새로운 메모리 최적화 기술
|
11 |
-
|
12 |
-
|
13 |
-
Task
|
14 |
-
Task
|
15 |
-
Task
|
16 |
-
Task 4: RLHF와 DeepSpeedChat을 통한 최종 모델 구현 (https://huggingface.co/Trofish/KULLM-RLHF)
|
17 |
|
18 |
# Task1. 강화학습 단계별 데이터셋 구축
|
19 |
-
![image](https://github.com/VAIV-2023/
|
20 |
-
![
|
21 |
-
|
22 |
-
|
23 |
-
|
24 |
-
- **국립국어원 일상 대화 데이터셋:** 일상적인 대화에 대한 자연스러운 응답이 있으면서도, 맞춤법이 잘 지켜지고 은어, 비문, 초성 등이 없으며 주제별로 다양한 대화가 있음
|
25 |
-
|
26 |
-
- **AI Hub 혐오 표현 데이터셋:** 혐오, 차별, 성적인 내용, 폭력, 범죄 등 카테고리별로 다양한 혐오 표현이 있음
|
27 |
-
|
28 |
-
- **General task 데이터셋**
|
29 |
-
- Evol-Instruct 데이터셋: 다양한 분야에 대한 복잡하고 논리적인 prompt와 답변이 있음
|
30 |
-
- Self-Instruct 데이터셋: 사람이 직접 생성한 양질의 Seed data를 기반으로 데이터 증강
|
31 |
-
- RLHF 한국어 번역 데이터셋: DeepSpeedChat에서 공개한 데이터셋을 한국어로 번역
|
32 |
|
33 |
# Task2. SFT 모델 Fine-tuning
|
34 |
## Baseline Model
|
@@ -46,8 +39,6 @@
|
|
46 |
![image](https://github.com/VAIV-2023/VAIV2023/assets/79634774/a994a960-db7c-4e75-a11a-d7755d372722)
|
47 |
* G-Eval: https://arxiv.org/abs/2303.16634
|
48 |
|
49 |
-
## Final SFT Model
|
50 |
-
- https://huggingface.co/Trofish/KULLM-SFT-v2
|
51 |
|
52 |
# Task3-1. Reward Model ver1 구현
|
53 |
## Baseline Model
|
@@ -64,33 +55,35 @@
|
|
64 |
- 데이터셋 유형별로 G-Eval 평가 Prompt에 차이를 두었음
|
65 |
- ![image](https://github.com/VAIV-2023/RLHF-Korean-Friendly-LLM/assets/79634774/7d7117d0-02e9-42dd-8ce3-5244cf726bf8)
|
66 |
## Reward v1 Model Finetuning
|
67 |
-
|
68 |
- InstructGPT 논문에 따르면, Reward 모델은 overfitting되면 성능이 크게 저하된다고 함 --> epoch 수를 1로 설정
|
69 |
- batch size나 learning rate 등 다른 hyper-parameter는 성능에 큰 영향이 없다고 함
|
70 |
- Colab A100 40GB 기준 총 학습 시간 4분
|
71 |
|
72 |
## Reward v1 Model Evaluation
|
73 |
-
|
|
|
74 |
- Reward Model Template
|
75 |
-
-
|
76 |
|
77 |
-
# Task3-2. Reward Model ver2
|
78 |
-
##
|
79 |
-
- 구현된 Reward
|
80 |
-
- Reward
|
81 |
|
82 |
-
## Issue 해결방안
|
83 |
-
|
|
|
84 |
- General Task 답변에 대한 평가 성능을 높이기 위해 Evol-instruct 데이터 추가
|
85 |
-
-
|
86 |
-
- 혐오표현 학습시(
|
87 |
- RM-ver1은 GPT4가 Chosen, Rejected 레이블링을 진행하였지만, Resource 이슈로 인해 일부만 사람이 라벨링 진행
|
88 |
-
-
|
89 |
- ChatGPT와 SFT 모두 일관되게 높은 퀄리티의 답변을 생성하지 않아, 사람이 직접 라벨링 진행
|
90 |
- RLHF 한국어 번역, Evol-Instruct 데이터셋
|
91 |
-
- ChatGPT가 일관되게 높은 퀄리티의 답변을 생성하여 ChatGPT를 Chosen, SFT를 Rejected로 라벨링
|
92 |
-
## Reward Model ver2
|
93 |
-
![image](https://github.com/VAIV-2023/RLHF-Korean-Friendly-LLM/assets/79634774/
|
94 |
|
95 |
# Task4. RLHF와 DeepSpeedChat을 통한 최종 모델 구현
|
96 |
- Microsoft에서 만든 대규모 분산 딥러닝을 위한 새로운 메모리 최적화 기술(DeepSpeed)을 RLHF Process에 적용한 DeepSpeedChat 사용
|
|
|
1 |
2023 성균관대 하계집중 산학협력프로젝트 VAIV
|
|
|
|
|
2 |
## GPT 기반의 자연스럽고(Friendly) 윤리적인(Harmless) 일상 대화형 챗봇 모델
|
3 |
+
### Github : https://github.com/VAIV-2023/RLHF-Korean-Friendly-LLM
|
4 |
|
5 |
+
# 연구 배경 및 목적
|
6 |
+
GPT-NEOX(Polyglot-ko) 기반 자연스럽고 윤리적인 한국어 기반 일상 대화형 챗봇 모델 구현
|
7 |
+
![image](https://github.com/VAIV-2023/RLHF-Korean-Friendly-LLM/assets/79634774/18bb1ab4-8924-4b43-b538-1e6529297217)
|
8 |
+
|
9 |
+
# 개발 내용
|
10 |
- Self-Instruct: GPT4를 이용한 데이터 증강
|
11 |
- RLHF(Reinforcement Learning from Human Feedback): 사람의 선호도를 반영한 강화학습
|
12 |
- DeepSpeed: 대규모 분산 딥러닝을 위한 새로운 메모리 최적화 기술
|
13 |
+
|
14 |
+
- Task 1: 강화학습 단계별 데이터셋 구축
|
15 |
+
- Task 2: SFT 모델 Instruction-tuning
|
16 |
+
- Task 3: Reward 모델 ver1,2,3 구현
|
17 |
+
- Task 4: RLHF와 DeepSpeedChat을 통한 최종 모델 구현 (https://huggingface.co/Trofish/KULLM-RLHF)
|
|
|
18 |
|
19 |
# Task1. 강화학습 단계별 데이터셋 구축
|
20 |
+
![image](https://github.com/VAIV-2023/RLHF-Korean-Friendly-LLM/assets/79634774/4bb56e36-0c49-4d15-a2c6-2824867419a8)
|
21 |
+
![Screenshot 2024-06-18 at 11 05 55 AM](https://github.com/VAIV-2023/RLHF-Korean-Friendly-LLM/assets/79634774/2f637065-fa25-4402-b319-113ff4c6e1a9)
|
22 |
+
![Screenshot 2024-06-18 at 11 06 08 AM](https://github.com/VAIV-2023/RLHF-Korean-Friendly-LLM/assets/79634774/2a6c2e9b-1292-43b9-b5e7-5ced3643988d)
|
23 |
+
|
24 |
+
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
25 |
|
26 |
# Task2. SFT 모델 Fine-tuning
|
27 |
## Baseline Model
|
|
|
39 |
![image](https://github.com/VAIV-2023/VAIV2023/assets/79634774/a994a960-db7c-4e75-a11a-d7755d372722)
|
40 |
* G-Eval: https://arxiv.org/abs/2303.16634
|
41 |
|
|
|
|
|
42 |
|
43 |
# Task3-1. Reward Model ver1 구현
|
44 |
## Baseline Model
|
|
|
55 |
- 데이터셋 유형별로 G-Eval 평가 Prompt에 차이를 두었음
|
56 |
- ![image](https://github.com/VAIV-2023/RLHF-Korean-Friendly-LLM/assets/79634774/7d7117d0-02e9-42dd-8ce3-5244cf726bf8)
|
57 |
## Reward v1 Model Finetuning
|
58 |
+
![image](https://github.com/VAIV-2023/RLHF-Korean-Friendly-LLM/assets/79634774/da4d9b15-ec91-44bb-84d9-f28aeffd16ad)
|
59 |
- InstructGPT 논문에 따르면, Reward 모델은 overfitting되면 성능이 크게 저하된다고 함 --> epoch 수를 1로 설정
|
60 |
- batch size나 learning rate 등 다른 hyper-parameter는 성능에 큰 영향이 없다고 함
|
61 |
- Colab A100 40GB 기준 총 학습 시간 4분
|
62 |
|
63 |
## Reward v1 Model Evaluation
|
64 |
+
![image](https://github.com/VAIV-2023/RLHF-Korean-Friendly-LLM/assets/79634774/c21be612-b26d-4a1c-a1e2-6a99442660da)
|
65 |
+
|
66 |
- Reward Model Template
|
67 |
+
- "아래는 작업을 설명하는 명령어입니다. 요청을 적절히 완료하는 응답을 작성하세요. \n\n ### 명령어:\n{prompt}\n\n ### 응답:\n"
|
68 |
|
69 |
+
# Task3-2. Reward Model ver2 구현
|
70 |
+
## Reward Model ver1 Issues
|
71 |
+
- 구현된 Reward Model의 성능이 좋지 않음 (Accuracy 0.65)
|
72 |
+
- Reward Model ver1을 사용하여 Step3 학습시 혐오표현이 아닌데도 혐오표현이라고 인식하고 답변하는 문제 발생
|
73 |
|
74 |
+
## Issue 해결방안
|
75 |
+
![image](https://github.com/VAIV-2023/RLHF-Korean-Friendly-LLM/assets/79634774/6f4f0665-a8c7-4903-a626-f37018b7e4c9)
|
76 |
+
- SFT 모델로 답변을 2개 생성하였을 때(Ver1), Chosen, Rejected 답변의 차이가 크게 없어 모델이 학습되지 않는 현상을 방지하기 위하여 2개의 모델 **(ChatGPT, SFT)**를 사용하여 답변을 생성(Ver2)
|
77 |
- General Task 답변에 대한 평가 성능을 높이기 위해 Evol-instruct 데이터 추가
|
78 |
+
- 학습에 사용한 모든 데이터셋은 15 token 이하, cosine 유사도 0.5 이상일 경우 제거하는 Filtering 작업 수행
|
79 |
+
- 혐오표현 학습시(Ver1) Step3 강화학습 이후에 답변이 이상하게 생성되는 Issue가 있어, 혐오표현을 데이터를 제거하고 학습(Ver2)
|
80 |
- RM-ver1은 GPT4가 Chosen, Rejected 레이블링을 진행하였지만, Resource 이슈로 인해 일부만 사람이 라벨링 진행
|
81 |
+
- 일상대화 데이터셋
|
82 |
- ChatGPT와 SFT 모두 일관되게 높은 퀄리티의 답변을 생성하지 않아, 사람이 직접 라벨링 진행
|
83 |
- RLHF 한국어 번역, Evol-Instruct 데이터셋
|
84 |
+
- ChatGPT가 일관되게 높은 퀄리티의 답변을 생성하여 ChatGPT를 Chosen, SFT를 Rejected로 라벨링 진행
|
85 |
+
## Reward Model ver2 Evaluation
|
86 |
+
![image](https://github.com/VAIV-2023/RLHF-Korean-Friendly-LLM/assets/79634774/834cb645-7909-464b-b072-635aaac8eeff)
|
87 |
|
88 |
# Task4. RLHF와 DeepSpeedChat을 통한 최종 모델 구현
|
89 |
- Microsoft에서 만든 대규모 분산 딥러닝을 위한 새로운 메모리 최적화 기술(DeepSpeed)을 RLHF Process에 적용한 DeepSpeedChat 사용
|