2023 성균관대 하계집중 산학협력프로젝트 VAIV
KCC 2024 논문 게재 - 🏅 우수발표 논문상
GPT 기반의 자연스럽고(Friendly) 윤리적인(Harmless) 일상 대화형 챗봇 모델
연구 배경 및 목적
GPT-NEOX(Polyglot-ko) 기반 자연스럽고 윤리적인 한국어 기반 일상 대화형 챗봇 모델 구현

개발 내용
-
Self-Instruct: GPT4를 이용한 데이터 증강
-
RLHF(Reinforcement Learning from Human Feedback): 사람의 선호도를 반영한 강화학습
-
DeepSpeed: 대규모 분산 딥러닝을 위한 새로운 메모리 최적화 기술
Task1. 강화학습 단계별 데이터셋 구축

Task2. SFT 모델 Fine-tuning
Baseline Model
- 고려대학교 NLP & AI 연구실과 HIAI 연구소가 개발한 한국어 LLM "KULLM" 사용
Datasets

SFT Model Finetuning

- 모델학습에는 Google Colab에서 제공하는 A100 40GB GPU 사용
SFT Model Evaluation

Task3-1. Reward Model ver1 구현
Baseline Model
- EleutherAI에서 개발한 초거대 한국어 언어 모델 Polyglot-Ko 사용
- 1.3b 모델과 5.8b 모델을 각각 실험
Datasets

- InstructGPT의 데이터셋 구축 방법
- Reward 모델 학습 데이터셋으로 SFT 학습에 사용한 prompt(1,500개 - 일상대화:혐오표현=2:1)와 새로운 prompt(1,000개 - DeepSpeedChat 번역 데이터셋) 사용
- SFT 모델에서 한개의 prompt당 K개의 Response를 생성하고, 순위를 Labeling
- 데이터셋 라벨링
- Instruct GPT의 경우 사람이 직접 Labeling을 하엿지만, 일관된 평가와 시간 단축을 위해 GPt-4와 G-Eval을 이용
- SFT에서 생성한 두 Response 중 G-Eval 평가 점수 합이 높은 것을 Chosen response로 결정
- 데이터셋 유형별로 G-Eval 평가 Prompt에 차이를 두었음

Reward v1 Model Finetuning

- InstructGPT 논문에 따르면, Reward 모델은 overfitting되면 성능이 크게 저하된다고 함 --> epoch 수를 1로 설정
- batch size나 learning rate 등 다른 hyper-parameter는 성능에 큰 영향이 없다고 함
- Colab A100 40GB 기준 총 학습 시간 4분
Reward v1 Model Evaluation

- Reward Model Template
- "아래는 작업을 설명하는 명령어입니다. 요청을 적절히 완료하는 응답을 작성하세요. \n\n ### 명령어:\n{prompt}\n\n ### 응답:\n"
Task3-2. Reward Model ver2 구현
Reward Model ver1 Issues
- 구현된 Reward Model의 성능이 좋지 않음 (Accuracy 0.65)
- Reward Model ver1을 사용하여 Step3 학습시 혐오표현이 아닌데도 혐오표현이라고 인식하고 답변하는 문제 발생
Issue 해결방안

- SFT 모델로 답변을 2개 생성하였을 때(Ver1), Chosen, Rejected 답변의 차이가 크게 없어 모델이 학습되지 않는 현상을 방지하기 위하여 2개의 모델 **(ChatGPT, SFT)**를 사용하여 답변을 생성(Ver2)
- General Task 답변에 대한 평가 성능을 높이기 위해 Evol-instruct 데이터 추가
- 학습에 사용한 모든 데이터셋은 15 token 이하, cosine 유사도 0.5 이상일 경우 제거하는 Filtering 작업 수행
- 혐오표현 학습시(Ver1) Step3 강화학습 이후에 답변이 이상하게 생성되는 Issue가 있어, 혐오표현을 데이터를 제거하고 학습(Ver2)
- RM-ver1은 GPT4가 Chosen, Rejected 레이블링을 진행하였지만, Resource 이슈로 인해 일부만 사람이 라벨링 진행
- 일상대화 데이터셋
- ChatGPT와 SFT 모두 일관되게 높은 퀄리티의 답변을 생성하지 않아, 사람이 직접 라벨링 진행
- RLHF 한국어 번역, Evol-Instruct 데이터셋
- ChatGPT가 일관되게 높은 퀄리티의 답변을 생성하여 ChatGPT를 Chosen, SFT를 Rejected로 라벨링 진행
Reward Model ver2 Evaluation

Task4. RLHF와 DeepSpeedChat을 통한 최종 모델 구현
- Microsoft에서 만든 대규모 분산 딥러닝을 위한 새로운 메모리 최적화 기술(DeepSpeed)을 RLHF Process에 적용한 DeepSpeedChat 사용
- Human preference로 학습을 시킨 Reward 모델과 강화학습을 통해 SFT 모델에 사람의 선호도를 반영하여 자연스럽고(FRIENDLY), 윤리적인 (HARMLESS) 챗봇 생성
Baseline Models
- Actor Model: KULLM-SFT-V2
- Reward Model: Polyglot-Ko-Reward-V3
Training Options

RLHF Training

- 학습 결과, SFT 모델의 답변에 대한 퀄리티인 Reward가 상승하는 것을 확인 (사람의 선호도가 높은 답변을 생성)
RLFH Model Evaluation

Final RLHF Model
Contributors 🙌