Abstract:
- RLHF (Reinforcement Learning from Human Feedback)의 문제점:
- 대형 언어 모델(LLM)의 답변을 사람들의 선호도(피드백)에 맞추어 더 자연스럽고 정확하게 만들기 위해 활용되는 방법론임.
- 전형적인 온라인 RLHF 방식은 학습을 위해 모델이 새로운 샘플(출력)을 생성하고, 사람(혹은 크라우드소싱이나 다른 툴) 또는 모델로부터 피드백을 받아 이를 다시 모델에 반영하는 과정을 계속 반복함.
- 이건 다음과 같은 문제점이 있음:
- 많은 양의 상호작용(샘플 생성 및 평가)이 필요함.
- 사람이 평가한다면 비용 문제가 발생
- 매번 생성된 샘플을 즉석에서 사용하여 학습하는 특성상, 학습 시점에서의 데이터 재활용(offline data reuse)이 쉽지 않음.
- 이를 해결하기 위해 ReST(Reinforced Self-Training)라는 방법을 제안함:
- 초기 LLM 정책(Policy) 준비:
- 이미 어느 정도 학습된(예: 일반 목적 언어 모델) 모델 \pi_\theta를 시작점으로 활용
- 오프라인 데이터셋 생성:
- 초기 모델 \pi_\theta 에서 출력(샘플)을 대량으로 생성합니다. 예를 들어, 번역 모델이라면, 소스 문장을 주었을 때 모델이 생성하는 번역문들을 수집
- 생성된 샘플 평가:
- 사람의 피드백이나, 자동화된 스코어(예: 번역에서는 BLEU, COMET 등) 또는 그 외의 보상 함수를 통해 각 샘플에 대한 보상(reward)을 부여
- 오프라인 RL 알고리즘을 활용한 재학습
- 이렇게 모은 “(상태, 행동, 보상)” 형식의 데이터셋을 가지고, 오프라인 강화학습(offline RL) 기법으로 모델을 다시 학습함.
- 오프라인 RL(“batch RL” 또는 “growing batch RL”)은 이미 확보된 데이터셋이 주어졌을 때, 이를 활용해 최적의 정책을 찾는 방법임.
- 온라인 상호작용 없이 한번에 학습해서 데이터 재활용이 가능.
- 초기 LLM 정책(Policy) 준비:
Introduction:
- 대형 언어 모델(LLM)과 정렬(Alignment) 문제:
- GPT 시리즈(Brown et al., 2020), PaLM(Rae et al., 2021) 등 대형 언어 모델들은 막대한 텍스트와 연산 자원을 통해 훈련되면서, 다양한 언어 작업에서 놀라운 성능을 보여주고 있음.
- 그러나 기존 LLM은 주어진 문맥에서 다음 토큰의 로그 우도를 최대화하는 식으로 학습(=언어 모델링)됨. 이건 단순히 확률적으로 ‘가장 그럴듯한’ 텍스트를 생성하는 것이므로 사람의 선호에 맞게 텍스트를 내놓는 건 아님.
- 이로인해 RLHF 가 주목받음. 즉, 사람의 피드백을 ‘보상(reward)’으로 삼아, 모델의 응답이 사람의 선호도에 맞도록 강화학습으로 미세조정(fine-tuning)함.
- RLHF 와 온라인 RL 의 문제점:
- 전형적인 방법: PPO, A2C 등 온라인 RL 알고리즘 사용허눈거임. 이건 모델의 정책(policy)을 업데이트하면, 그 새로운 정책으로부터 샘플을 뽑아 보상을 평가하고 다시 학습하는 과정을 여러 번 반복함.
- 즉 상호작용을 거듭하여 학습하는 방식.
- 계산 문제: 정책이 업데이트 될 때마다 새 샘플을 생성하고 보상을 산출해야 하므로, 모델 크기가 커질수록 부담이 커짐.
- 데이터 재사용 문제: 새로운 정책으로 생성된 샘플만을 매번 실시간으로 사용하는 특성상, 이미 생성된 데이터셋을 반복 활용하기가 까다로움
- 오프라인 RL과 그 한계:
- 이미 수집된 고정 데이터셋(샘플, 보상)을 기반으로 학습을 진행. 온라인 상호작용이 없으므로 상대적으로 계산 효율이 높음.
- 하지만 데이터 셋의 품질에 전적으로 의존. “고정된” 데이터셋이 충분히 다양하고 좋은 품질이 아니면, 성능 향상이 제한적임.
- ReST:
- 논문 저자들은 LLM 정렬 문제를 Growing Batch RL 문제(Lange et al., 2012)로 보았고, 이를 해결하기 위해 ReST를 제안함
- 전체 프로세스 - ReST는 크게 두 개의 루프(loop)로 구성됨:
- Grow (G) 단계:
- 현재 모델(정책)로부터 샘플을 생성해 “데이터셋을 확장(augment)”함.
- 예를 들어, 기계 번역에서는 소스 문장에 대해 현재 모델이 여러 번역 후보를 만들어내도록 하여, 새로 생성된 번역들을 데이터셋에 추가.
- Improve (I) 단계:
- 새로 확장된 데이터셋을 랭킹(또는 필터링) 점수로 평가하여 정제.
- 점수 평가는 ‘학습된 보상 모델(사람 선호도로부터 학습)’을 사용하거나, BLEU/COMET 등 자동화된 지표를 사용할 수 있음.
- 정제된 데이터 셋을 가지고 오프라인 RL 방식으로 LLM 을 업데이트.
- 필요하다면 필터링 기준(점수 threshold) 를 높여가며 모델을 점진적으로 개선
- 이 두 루프를 여러차례 반복 (G-I) 개선되면 새로운 데이터를 생성해서 다시 학습에 활용.
- Grow (G) 단계: