Chat GPT 란?
Chat GPT는 Generative Pretrained Transformer 의 약자예요.
Generative 다음 단어를 예측
Pre-trained 많은 양의 데이터를 사전 훈련
Transformer 신경망에 기반한 인코더- 디코더
Chat GPT는 대화형 모델이고, instruct GPT 와 형제 모델이에요.
Chat GPT 의 학습 방식은 아래와 같아요.
- RLHF(Reinforcement learning by Human Feedback)
- SFT(Supervised Fine-Tuning) 사람이 직접 지도 학습
- RM(Reword Model) 보상 학습
- PPO(Proximal Policy Optimization) Algorithm 강화 학습 알고리즘
- 대화형 에이전트에 최적화됨 (Chat GPT 와 instruct GPT 차이)
Chat GPT의 학습 방법은 아래 그림과 같아요.
그림으로만 보면 이해가 안 되니까 설명을 추가할게요.
먼저 간단하게 순서를 정리하면
1단계 대화 세트를 만든다(SFT)
- 데이터 수집: 프롬프트 목록을 정하고, 라벨러 그룹에게 예상 답변을 요청
(인건비가 들어가기 때문에 비싼 작업이에요.)
2단계 사람이 등수를 매긴다(RM)
- 사람이 랭킹을 매기는 방식을 이용해서 Reward Model 학습
- 문장 생성: 프롬프트 목록이 선택되고 SFT 모델이 각 프롬프트에 대해 여러개(4~9)의 출력을 생성
- 랭킹 라벨링: 라벨러는 출력의 순위를 레이블링함. 그 결과 레이블링이 지정된 새 데이터 세트가 생성.
이 데이터 세트의 크기는 SFT 모델에 사용된 데이트 세트보다 약 10배 정도 큼. - RM 학습: 새로운 데이터는 보상 모델을 훈련하는데 사용됨. RM 모델은 SFT 모델 출력을 입력으로 받아 선호도 순으로 순위를 학습함. 175B 언어 모델과 6B의 보상 모델 사용.
3단계 강화 학습을 적용한다.(PPO) 에요.
- SFT + PPO: SFT 모델에 정책알고리즘을 붙여서 파인튜닝
- RM 모델의 평가: 프롬프트와 응답이 주어지면 RM모델에 따라 결정된 보상이 생성됨
- PPO 알고리즘: 강화학습 정책 알고리즘. 에이전트가 수행하는 작업과 받는 보상을 기반으로 현재 정책을 지속적으로 조정
(초기 모델을 만들어서 지시에 따라 결과를 생성한 후, 보상 모델을 구축하여 사람의 피드백을 모방.
초기 모델이 사람이 선호하는 결과를 추론하도록 강화 학습을 진행)
ChatGPT 장단점 / Application
장점 :
- 정확한 문법으로 답한다
- 복잡한 지시사항 이해
mix match ideas
단점:
- 100% 맞는 답인가? X
- 진짜 창의적인가? X (But 하이퍼 파라미터로 조절 가능)
- 비용은 적당한가?
GPT 3.5 모델 소개
GPT-3.5 시리즈는 텍스트와 코드를 혼합하여 학습한 모델들(2021년)
code-davinci-002 (베이스 모델, 순수 코드 완성 작업에 적합)
text-davinci-002 (code-davinci-002에 기반한 instructGPT 모델)
code-davinci-003 (text-davinci-002 개선)
Training Method | Models | |
SFT | Supervised Fine-Tuning on human demonstarations |
davinci-instruct-beta |
FeedMe | Supervised fine-tuning on human-written demonstarations and on model samples rate 7/7 by human labelers on an overall quality score |
text-davinci-001 text-davinci-002 text-curie-002 text-babbage-001 |
PPO | Reinforcement learning with reward model traind from comparisons by humans |
text-davinci-003 |
강화 학습관련 논문 : https://cdn.openai.com/papers/Training_language_models_to_follow_instructions_with_human_feedback.pdf
참고 :
https://littlefoxdiary.tistory.com/101
'공부방 > Chat GPT' 카테고리의 다른 글
How to call chat gpt api (Chat gpt API 호출 방법 Flutter 사용) (2) | 2023.02.26 |
---|---|
How to get chat gpt engine id (Chat gpt engine id 얻는 방법) (0) | 2023.02.26 |
How to get chat GPT api key (chat GPT api key 얻는 방법) (0) | 2023.02.26 |
행복한 코딩을 위하여!
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!