YAML Metadata Warning:empty or missing yaml metadata in repo card

Check out the documentation for more information.

2023 성균관대 하계집중 산학협력프로젝트 VAIV

GPT 기반의 자연스럽고(Friendly) 윤리적인(Harmless) 일상 대화형 챗봇 모델

Github : https://github.com/VAIV-2023/RLHF-Korean-Friendly-LLM

연구 배경 및 목적

GPT-NEOX(Polyglot-ko) 기반 자연스럽고 윤리적인 한국어 기반 일상 대화형 챗봇 모델 구현

image

개발 내용

  • Self-Instruct: GPT4를 이용한 데이터 증강

  • RLHF(Reinforcement Learning from Human Feedback): 사람의 선호도를 반영한 강화학습

  • DeepSpeed: 대규모 분산 딥러닝을 위한 새로운 메모리 최적화 기술

    • Task 1: 강화학습 단계별 데이터셋 구축
    • Task 2: SFT 모델 Instruction-tuning
    • Task 3: Reward 모델 ver1,2,3 구현
    • Task 4: RLHF와 DeepSpeedChat을 통한 최종 모델 구현 (https://huggingface.co/Trofish/KULLM-RLHF)

Task1. 강화학습 단계별 데이터셋 구축

image Screenshot 2024-06-18 at 11 05 55 AM Screenshot 2024-06-18 at 11 06 08 AM

Task2. SFT 모델 Fine-tuning

Baseline Model

- 고려대학교 NLP & AI 연구실과 HIAI 연구소가 개발한 한국어 LLM "KULLM" 사용

Datasets

image

SFT Model Finetuning

image

  • 모델학습에는 Google Colab에서 제공하는 A100 40GB GPU 사용

SFT Model Evaluation

image image

Task3-1. Reward Model ver1 구현

Baseline Model

  • EleutherAI에서 개발한 초거대 한국어 언어 모델 Polyglot-Ko 사용
  • 1.3b 모델과 5.8b 모델을 각각 실험

Datasets

image

  • 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에 차이를 두었음
    • image

Reward v1 Model Finetuning

image

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

Reward v1 Model Evaluation

image

  • 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 해결방안

image

  • 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

image

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

image

RLHF Training

image

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

RLFH Model Evaluation

image image

Final RLHF Model

Contributors 🙌

Downloads last month
9
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Space using Trofish/KULLM-RLHF 1

Paper for Trofish/KULLM-RLHF