RLHF란?
RLHF(Reinforcement Learning with Human Feedback)는 강화 학습의 한 종류로, 사람의 피드백을 활용하여 모델을 개선하는 방법론입니다.
강화 학습에서는 환경에서 보상을 최대화하는 방향으로 학습을 하는데, RLHF는 이 보상이 사람의 선호도라고 생각하면 이해하기 쉽습니다 :)
1+2는 뭐야? 라고 물어봤을 때 아래 답변들 모두 올바른 답변을 했다고 평가할 수 있습니다.
- 정답은 3입니다. 너무 쉬운 문제네요.
- 정답은 3.
- 1과 2를 더하면 3이기 때문에 정답은 3입니다.
이러한 상황에서는 뭘 기준으로 더 학습을 진행해야 모델이 개선될지 정하기 어려울 수 있는데요, 이럴 때 RLHF로 사람의 선호도를 반영하도록 학습을 한다면, 언어 모델은 더 자연스럽고 일관성 있는 문장을 생성할 수 있게 될 것입니다!
이제는 모두가 사용하는 ChatGPT가 바로 RLHF를 적용한 가장 대표적인 사례입니다. OpenAI는 RLHF를 통해 모델이 더 사람다운(?) 맥락을 가진 적절한 응답을 생성하도록 학습했다고 합니다.
RLHF는 언제 사용해야하는지?
현업에서는 언제나 그렇듯, 적용해서 성능이 올라간다면 언제든 사용해도 좋죠ㅎ,,
하지만, 일반적으로 RLHF 적용을 고려하는 상황은 대체로 알고리즘으로 정의하기 어려운 목표를 달성해야 하는 상황입니다.
예를 들면, 모델이 재미있는 답변을 해야한다거나, 내용보다는 사람처럼 말하는게 중요한 상황등 수치로 모델을 평가하기 어려운 상황에 적용을 고려해볼 수 있습니다.
RLHF 적용 단계
RLHF는 다음 3단계로 구성됩니다. 재미있는 답변을 생성하는 모델을 만드는 상황이라고 가정해보겠습니다.
1. 파운데이션 모델 준비 혹은 SFT 적용 준비
먼저 초기 답변을 생성할 수 있는 모델을 준비해야합니다. 이 모델은 튜닝이 전혀 적용 되지 않은 Llama같은 파운데이션 모델이 될 수도 있고, 목표로 하는 task에 대해 SFT(Supervised Fine-tuning)가 적용된 모델일 수도 있습니다.
단순히 생각해보면, SFT를 적용한 모델을 사용하는게 더 좋을 것 같긴하지만, 상황에 따라 SFT를 적용하지 않은 그냥 파운데이션 모델을 사용하는게 더 성능이 좋을 때도 있습니다.(결국 해봐야 아는..)
재미있는 답변을 생성하는 모델을 만들기 위해서는 코미디언의 인터뷰 스크립트를 모아서 SFT를 적용해 볼 수도 있겠네요!
2. 보상모델 (Reward Model) 만들기
1단계에서 준비된 모델에서 같은 질문에 대해 다양한 답변을 생성해내도록 합니다. Temperature를 높여 다양한 답변을 만들 수도 있고, 모델 자체를 여러개 준비해서 답변을 만들 수도 있겠죠!
그리고 사람 레이블러가 이를 보고 어떤 것이 더 좋은지 순위를 매깁니다.
그럼 리워드 모델은, 위 데이터를 기반으로 답변이 들어왔을 때 사람이 이 대답을 얼마나 선호할지 학습합니다.
예시 상황에서는 리워드 모델이 답변이 얼마나 재미있는지 평가하는 것을 학습하게 되겠네요.
3. 강화학습 적용
이제 최종 튜닝을 적용할 모델이 답변을 생성하면 리워드 모델이 평가하면서 강화학습을 진행하게 됩니다.
강화학습에는 PPO(Proximal Policy Optimization)알고리즘을 적용합니다. PPO는 원본 모델의 답변에서 너무 벗어나지는 않으면서 보상을 극대화하는 방향으로 모델을 업데이트하는 강화학습 기법의 일종입니다. 이 때 보상은 리워드 모델이 주는 점수가 됩니다.
예시 상황에서는 Llama 3모델에 코미디언의 인터뷰 스크립트를 학습시키고, 리워드 모델로 평가하면서 더 재미있는 답변을 생성하는 모델을 학습해낼 수 있겠네요.
RLHF의 장점과 한계
장점
- 사용자 맞춤화: 사람 피드백을 반영해 특정 요구사항에 부합하는 모델을 개발 가능.
- 더 나은 품질: 단순 자동화 학습보다 정교한 결과를 제공.
- 실제 활용성: 사용자 경험(UX)을 개선하는 데 적합.
한계점
- 피드백 수집 비용: 사람의 피드백이 필수적이므로 시간과 비용이 많이 듦.
- 편향(Bias) 가능성: 사람 피드백 자체가 주관적이거나 편향될 수 있음.
- 보상 모델의 불완전성: 보상 모델이 정확하지 않으면 강화 학습 과정이 비효율적일 수 있음.
- 연산량: 피드백 수집 비용도 비용이지만 학습에 사용되는 연산량도 엄청납니다. 강화학습 특성상 레퍼런스 모델, 리워드 모델, 크리틱 모델, 새로학습되는 모델 등 여러 모델이 상호작용하며 학습을 진행해야 하기 때문에 필요한 GPU 자원도 많은 편입니다.
결국 ChatGPT에서 다들 직접 체험해보셨겠다시피 RLHF를 적용하면 사람이 선호할만한 대답을 생성할 수는 있음은 분명하나, 비용이 비싸다는 것이 RLHF의 문제점입니다.
RLHF 이후의 연구들
RLHF는 비용적 한계가 명확한 편이기 때문에 이런 RLHF의 단점을 개선한 DPO, DPL, RLAIF 등이 많이 나오고 있으니 관심있는 분들은 한번 살펴보면 좋을 것 같네요 😊
'개발 > 🦾 머신러닝, 딥러닝' 카테고리의 다른 글
DPO란? - RLHF를 개선한 모델 학습 방법론 (0) | 2024.11.18 |
---|---|
[Basics] Object Detection이란? - 2Stage 모델 (1) | 2024.10.29 |
[Bayesian] MLE와 MAP (0) | 2024.10.29 |
[모델 성능 평가 지표] - FLOPs vs MACs, FLOPS (0) | 2024.05.13 |