본 게시글은 충남대 정상근 교수님의 강의자료를 바탕으로 작성한 글입니다.
ChatGPT란?
OpenAI에서 개발한 GPT 아키텍처 기반 대규모 언어 모델 시리즈이다.
인간처럼 자연스러운 텍스트 생성, 질의응답, 다양한 스타일/포맷에 적응할 수 있는 것이 특징이다.
이는 고객 서비스, 콘텐츠 생성, 교육 등에 활용된다.
핵심적으로, 윤리적 사용/지속적 학습/성능 개선에 초점을 둔다.
이 글에서 다룰 것은 두 가지이다.
1. ChatGPT와 같은 LLM 서비스가 어떻게 학습되는지,
2. LLM 서비스를 어떻게 fine-tuning 하는지!
ChatGPT의 학습 방식
기본 : RLHF (Reinforcement Learning from Human Feedback)
단계 :
1. supervised fine-tuning : 사람이 양방향 대화를 구성하여 초기 모델을 감독 학습
2. reward 모델 학습 : 여러 응답을 생성하고 그 품질에 따라 사람이 순위를 매김
3. ppo로 모델 강화학습
크게 보자면,
ChatGPT의 목표는
Supervised Learning을 하는 Language model을 기반으로 '말이 되게 자연스럽게 말하도록 훈련'하는 한 후,
Reinforcement Learning을 하는 Reward model을 기반으로 '질문에 적절히 응답하도록 훈련'하는 것이다.
이 말이 되게 말할 수 있도록 하는 것은 간단하게 생각해보면,
문서의 앞부분을 입력받으면 문서의 뒷부분을 작성할 수 있도록 하면 된다.
근데 이게 한계가 있는 게,
가장 가능성 높은 문장을 생성하는 것이지만 진위 여부나 유용성은 고려하지 않게 된다.
따라서 언어 유창성 & 정확한 응답 능력을 가진 모델이 필요하다.
최종 프로세스는 아래 그림과 같다.
하나의 프롬프트로 한 모델은 여러 응답을 내놓아 사용자가 랭킹을 매기도록 하고, 이를 기반으로 모델을 학습시켜 reward model을 만든다.
같은 프롬프트로 한 모델은 하나의 응답을 내놓고, 위 reward model로 그 응답을 평가한다. 그리고 PPO...

Reward 모델
시그모이드 함수, 로그 손실 등을 통해 두 응답 중 선호도를 학습하는 모델이다.
사람이 선호하는 응답에 더 높은 보상을 주게 된다.
수학적 식으로 나타내보면 아래와 같다.

r(x, y)는 보상 모델이 입력 x와 응답 yi에 대해 계산한 보상 점수, 그리고 r(x, y1-i)는 보상 모델이 입력 x와 응답 y1-i에 대해 계산한 보상 점수이다.
이 둘의 차이를 sigmoid에 넣어 확률을 모델링하고, 그 확률 값을 log에 넣어 손실 값으로 변환한다.
PPO는.. 강화학습 알고리즘의 일부인데.. 강화학습 수업에서도 이해를 하지 못하였으니 패스하겟다..
데이터셋
ChatGPT같은 LLM 서비스에는 어떤 데이터셋이 쓰였을까?
가장 처음 PreTraining Dataset은 보통 C4, BookCorpus, Wikipedia, Commen Crawl 데이터다.
두 번째 Supervised Fine-Tuning에 사용되는 데이터는 SQuAD(질의응답), MIMIC-III(의료) 등의 데이터이다.
마지막 Human Feedback Dataset은 LLaMA2+RLHF, OpenLLMAI, In-human-preferences 데이터이다.
'AI > 자연어처리' 카테고리의 다른 글
| Vector DB, RAG (3) | 2025.06.15 |
|---|---|
| N2M 문제 (5) | 2025.06.15 |
| T5 model (3) | 2025.06.13 |
| AMP, Quantization (1) | 2025.06.13 |
| Big Neural Network Training Tricks (1) | 2025.06.12 |