https://arxiv.org/abs/2307.04964
Secrets of RLHF in Large Language Models Part I: PPO
Large language models (LLMs) have formulated a blueprint for the advancement of artificial general intelligence. Its primary objective is to function as a human-centric (helpful, honest, and harmless) assistant. Alignment with humans assumes paramount sign
arxiv.org
Abstract
LLMs(대규모 언어 모델)의 목표가 인간 중심적인 보조자로 기능하는 것으로 RLHF(Reinforcement Learning from Human Feedback)가 핵심 기술 패러다임으로 떠오르고 있다. 그러나 보상 설계의 어려움, 환경 상호작용 및 에이전트 훈련의 복잡성, 그리고 LLMs의 막대한 시행착오 비용 때문에 기술적 조정에 여러 장애물이 존재한다. 특히, RLHF의 안정적인 훈련이 여전히 해결되지 않은 중요한 과제로 남아있다.
본 논문에서는 RLHF Framework 해부, PPO 내부 작동 원리 재평가 및 탐구, PPO-max 알고리즘, SFT(Supervised Fine-Tuning) 모델과 ChatGPT와 비교하여 RLHF의 능력에 대한 포괄적인 분석을 수행한다.
Introduction
LLM의 문제와 안전성 이슈
LLM은 고품질 및 저품질 데이터를 포함한 대규모 사전 학습 코퍼스의 데이터 특성을 학습하여 사실 조작(fabrication), 편향되거나 유해한 텍스트를 생성하는 행동을 보일 가능성이 있다. 이에 따라 안전성의 필요성이 커지게 되었다. 현재 대부분의 연구는 3H 데이터(3H: Helpful, Honest, Harmless)를 SFT에 주가하였으나, 여전히 모델의 안전성과 사실성이 인간 수준에 미치지 못했다. 이를 해결하기 위해 Fine-Tuning이 효과적인 해결책으로 제시되었다. 그러나 RLHF가 강화 학습 프레임워크 하에서 더 간소화된 보상 신호만으로 학습을 진행하는 방식으로 보다 직관적인 해결책을 제시하였다.
ex. LaMDA, InstructGPT, Ranked Preference Modeling
Reinforcement Learning from Human Feedback
AI 비서의 훈련 과정의 세 가지 주요 단계
- 지도 미세 조정(SFT; Supervised Fine-Tuning)
→ 사람이 주석을 단 대화 예제를 모방하여 일반적인 인간 대화 방식을 학습 - 보상 모델 훈련
→ 모델이 다양한 응답의 선호도를 인간 피드백을 기반으로 비교하는 방법을 학습 - 보상 모델 기반의 PPO
→ 보상 모델의 피드백으로 모델이 업데이트 & 탐색과 활용을 통한 최적의 정책 발견
RLHF 단계에서는 보상 모델 훈련과 PPO 기반 강화 학습 단계가 특히 중요하게 고려된다.
Reward Modeling
보상 모델은 사전 훈련된 Transformer 기반 언어 모델에서 마지막 Unembedding Layer를 제거하고, 추가로 선형 레이어를 최정 Transformer Layer에 연결하여 마지막 토큰에 대한 스칼라 보상 값을 할당한다.(이 보상 값이 클수록 좋은 샘플)
보상 모델 훈련 방법
훈련은 같은 입력에 대해 생성된 두 개의 응답을 비교한 데이터셋이 사용되고, 손실 함수는 각 응답 쌍(선호된 응답 & 비선호된 응답)에 대해 다음과 같이 정의한다.
$$L(\psi)=\log\sigma(r(x,y_w)-r(x,y_l))$$
모방 학습
위 방식에 따라, 선호된 응답에 대해 자가회귀 언어 모델 손실(autoregressive LM loss)을 추가하여 모델이 각 문장 쌍에서 선호된 응답을 모방하도록 한다. 실제 손실값은 계수($\beta_{rm}$)를 곱해서 나타낸다.
$$$L(\psi)=-\lambda E_{(x,y_w,y_l)\sim D_{rm}}[\log\sigma(r(x,y_w)-r(x,y_l))]+\beta_{rm}E_{(x,y_w)\sim D_{rm}}[\log(r'(x,y_w))]$
KL 발산(KL Divergence)을 통한 보상 조정
보상 함수에 추가 항을 도입하여 학습된 RL 정책과 초기 SFT 모델 간의 Kullback-Leibler(KL) 발산에 기반한 패널티를 적용한다.
$$r_{total}=r(x,y)-\eta KL(\pi_{\phi}^{RL}(y|x),\pi^{SFT}(y|x))$$
KL 발산 항의 역할
- 엔트로피 보너스 역할
→ 정책 탐색을 장려하여 하나의 모드로 조기 수렴하는 것을 방지한다. - 정책 안정성 보장
→ 강화 학습 정책이 보상 모델 훈련 중 학습된 샘플에서 지나치게 벗어나지 않도록 제어한다.
Reinforcement Learning
AI 비서가 강화 학습을 이용하여 인간의 선호를 반영한 보상을 통해 점진적으로 최적의 대화 전략을 학습하게 된다.
- Policy Gradient Methods
정책 경사 방법은 경사 상승법을 사용하여 정책을 직접 최적화하는 방법으로 보상을 직접적으로 사용하여 편향이 없다는 장점이 있지만, 여러 경로에서 얻을 수 있는 보상이 다를 수 있어 고차원 분산 문제가 발생한다.
이 분산 문제를 해결하기 위해 장점 함수를 도입한다. 이 장점 함수 추정에 대한 다양한 방법이 존재한다. - Generalized Advantage Estimation, GAE
GAE는 편향과 분산의 균형을 맞추기 위해, k-step 장점의 지수 이동 평균을 사용하여 장점을 추정한다.($\lambda$로 조절)
$$\hat{A}_t^{GAE(\gamma,\lambda}=(1-\lambda)(\hat{A}_t^{(1)}+\lambda\hat{A}_t^{(2)}+\cdots)=\sum_{l=0}^\infty(\gamma\lambda)^l\delta_{t+l}$$
$\lambda$=0 일 때 편향이 크고, $\lambda$=1 일 때 분산이 커지는 방식으로 조절하여 $\lambda$ 값에 따라 장점 함수의 추정이 편향과 분산 간의 균형을 맞추게 된다.
GAE를 통해서 정책을 최적화할 수 있는 정확한 장점 추정을 얻을 수 있다. - Proximal Policy Optimization, PPO
PPO는 전체 학습 과정이 불안정해지지 않도록 정책을 서서히 조정하는 방식으로 패널티 기반 접근법을 사용하여 최적화를 수행한다. PPO의 두 가지 변형은 PPO-penalty와 PPO-clip이 있다.
- PPO-penalty
KL 발산을 패널티로 추가하여 정책 업데이트가 지나치게 커지는 것을 방지한다.($\beta$는 패널티 계수)
$$L_{ppo-penalty}(\theta)=\mathbb{E}_t[{\pi_\theta(a_t|s_t)\over\pi_{\theta_{old}}(a_t|s_t)}\hat{A}_t]-\beta KL(\pi_{\theta_{old}}(\cdot|s_t),\pi_\theta(\cdot|s_t))$$ - PPO-clip
PPO-clip은 정책 비율의 클리핑을 사용하여 목표 함수를 정의한다.
$$L_{ppo-clip}(\theta)=\mathbb{E}_t[\min({\pi_\theta(a_t|s_t)\over\pi_{\theta_{old}}(a_t|s_t)}A_t,clip({\pi_\theta(a_t|s_t)\over\pi_{\theta_{old}}(a_t|s_t)},1-\epsilon,1+\epsilon)A_t)]$$ - Value Function Estimation
PPO에서 크리틱 모델 또는 가치 함수가 각 상태에서 예상되는 반환 값을 추정한다. 이 모델의 학습 목표는 예측 값과 실제 값 간의 불일치를 최소화하는 것이다.
$$L_{critic}(\varphi)=\mathbb{E}_t[||V_{\varphi}(s_t)-\hat{R}_t||^2]$$
$V_{\varphi}$: 크리틱 모델이 예측한 상태 가치 함수, $\hat{R}_t$은 상태 $s_t$에 대한 실제 반환 값 - Mixing Pretraining Gradients
PPO에서 미리 훈련된 데이터를 RL 단계에 통합하는 방법으로 이 방법을 사용한 모델을 PPO-ptx라고 불린다.
$$L_{ppo-ptx}(\theta)=L_{ppo-clip}(\theta)+\lambda_{ptx}\mathbb{E}_{x\sim D_{pretrain}}[\log(\pi_{RL}^\theta(x))]$$
→ 미리 훈련된 지식을 잃지 않도록 하여 지식의 퇴화를 방지하는 방식
- PPO-penalty
Reward Modeling for Helpfulness and Harmlessness
보상 모델은 인간의 선호도를 반영하도록 Fine-Tuning 할 수 있으나 작업량 부담과 시간 제약 때문에 이러한 접근 방식은 비현실적이다. 즉, 최적화 과정의 각 반복 전에 충분한 인간 피드백을 제공하는 것은 실질적으로 불가능하다.
→ 보상 모델이 인간이 수행하는 평가 과정을 모방하는 것을 목표로 훈련하자.
Models and Datasets
영어 관련 | 중국어 관련 | |
모델 | LLaMA-7B의 Decoder-only 구조 | OpenChineseLLaMA |
훈련 데이터 | HH-RLHF 데이터셋에서 총 160,000개 pairwise 샘플 | 전문 주석가들이 수작업으로 레이블링한 총 39,000개 pairwise 샘플 |
상세 훈련 데이터 | Helpful 데이터: 118,000개, Harmless 데이터: 42,000개 | Helpful 데이터: 31,000개, Harmless 데이터: 8,000개 |
테스트 데이터 | 남은 8,500개 데이터 중 Helpful 700개, Harmless 300개를 랜덤 선택하여 총 1,000개 데이터 | 남은 데이터에서 랜덤으로 Helpful 2,400개, Harmless 600개를 선택하여 총 3,000개 데이터 |
검증 데이터 | 나머지 데이터 |
Training Setup
- 학습률: 5e-6으로 설정, 초기 10% 단계 동안 warm-up 방식 적용
- 동적 배치 방식: 각 배치의 토큰 수를 가능한 한 균등하게 유지하여 효율적이고 안정적인 훈련 과정 제공
- 훈련 단계: 1000으로 고정
- LM 손실 가중치($\beta_{rm}$): 손실 가중치를 1로 설정하여 보상 모델을 훈련하는 동안 LM 손실에도 동일한 가중치를 부여
위 모델과 데이터를 가지고 학습을 진행했을때의 선호 및 비선호 응답에 대한 보상 값의 차이 점수(Difference Score)를 계산한 결과는 다음과 같다.
그 결과 두 모델 모두 일정 수준에서 인간 선호와의 일치를 보였으며, 특히 중국어 데이터로 학습된 RM은 인간 판단과 상당히 높은 일관성을 나타냈다.
오차 분석
- 중국어: RM이 더 높은 보상을 부여한 응답은 대체로 더 길었으며, 인간이 선호하는 응답보다 상대적으로 더 많은 사실 왜곡 및 허위 주장을 포함함
- 영어: RM은 정보 부족을 인정하는 응답(정직하나 비효율적)에 대해 낮은 점수를, 외견상 정확하고 도움되는 응답(그러나 잘못된 정보를 포함)에 높은 보상을 주는 경향을 보인다. 즉, RM이 속아서 높은 보상을 부여하도록 만든다.
Training Performance
RM의 훈련 과정에서 성능 변화에서 Preference Model의 훈련 손실 추세
200 step 후부터 두 모델 모두 개선 속도가 상당히 느려지는 것을 볼 수 있다. 그리고 200 step에서 학습된 모델을 PPO 초기화에 사용한 경우, 기대에 미치지 못하는 성능을 보인다.
→ 정확도 만으로는 평가가 충분하지 않으며, 다른 평가 기준이 필요하다.
Exploration of PPO
LM에서 RLHF 훈련을 안정화하는 방법이 알려지지 않아 다음 두 가지를 탐구
- 핵심 트릭: RLHF 훈련에서 중요한 요소가 무엇인가?
- 평가 지표: 훈련 과정 중 훈련 후에 모델 상태를 적절히 반영하는 지표 탐색
Models and Training Setup
- 사용 모델: 기준 모델과 정책 모델 모두 7B SFT 모델로 초기화
- 사용 데이터: OpenChineseLLaMA 기반 100만 개의 필터링된 인스트럭션 데이터
- 학습률: 9.5e-6, 코사인 학습률 스케줄 적용
- 글로벌 배치 크기: 1024
- 보상 모델을 초기값으로 사용하여 평가자 모델과 보상 모델을 초기화한다.
- 데이터 및 훈련 환경
- 데이터셋: 8k개의 무해한 쿼리 + 20k개의 유용한 쿼리로 구성된 HH 데이터셋
- 훈련 방식: 고정 스텝 수
- 배치 크기: 환경에서 샘플링할 때 128, 정책 및 평가자 모델 훈련 시 32
- 학습률:
- 정책 모델: 5e-7
- 평가자 모델: 1.65e-6, 첫 10% 스텝 동안 warm-up
- 실험 환경
- 80G A100 GPU 8개, 1TB RAM, 128 CPU에서 수행
- ZERO2와 그래디언트 체크포인트를 활용해 GPU 메모리 비용 절감
Evaluation Metrics for Monitor Training Process
PPO 훈련 품질을 반영하는 지표를 파악하는 것은 정책 모델의 유용성, 정직성, 무해성을 수동 평가 또는 GPT-4 평가 없이 추적하는 데 기여한다. 유사한 성능을 가진 두 모델 간 우열을 구분하기 어려웠지만, 훈련 안정성을 관찰하고 심각한 이상 상황을 빠르게 파악하는 것은 가능했다.
Figure 4. 상단에서 보면 훈련 손실은 안정적으로 수렴했지만 높은 보상 점수가 반드시 더 나은 정책 행동을 의미하지 않는다. 인간과 GPT-4 평가 관점에서는 높은 보상 점수가 항상 적절한 모델 행동을 반영하지 않았다. 결과적으로 보상 점수와 훈련 손실은 PPO가 올바르게 최적화되는지 여부를 명확히 나타내지 못했다.
그래서 좋은 정책 모델의 훈련 과정 비교를 통해 적절한 지표를 도출하는 경험적 전략이 제안되었다. Figure 4. 하단에서 혼란도(Perplexity), 정책 모델과 기준 모델 간 KL 발산, 생성 응답의 평균 길이와 같은 더 유용한 훈련 지표들이 제시되었다.
이전 연구에선 루트 KL 값과 PM 점수 간 대략적인 선형 관계가 있다고 제안했으나, 소형 모델에서는 이러한 연관성이 약하게 나타나는 것을 볼 수 있다.
모델 응답의 OOD(Out-Of-Distribution) 현상
원래 정책이 과도하게 최적화되면 선호 모델의 OOD 영역으로 응답이 진입하는 현상이 관찰되었고, 이 붕괴된 모델의 특징은 더 긴 응답 생성과 낮은 혼란도가 있다.
Implement Details in PPO
PPO 훈련을 효율적으로 보조하는 방법과 각 기법의 파라미터 민감성에 초점을 맞추고 있다.
1. Score Reparameterization
여기서 말하는 Score는 PPO 훈련에 중요한 두 가지 중간 변수를 의미한다.
- Reward Score: 보상 모델이 제공하는 보상 값
- Advantage Score: GAE 함수로 계산된 값
Score를 안정된 분포로 재파라미터화하면 PPO 훈련의 안정성을 강화할 수 있다.
점수 재파라미터화 기법 검증 요소
- Reward Scaling
보상을 rolling 할인 합의 표준 편차로 나누어 훈련 변동성을 제어하고 현재 상태에 대한 보상은 다음과 같이 표현한다.
$$r_n(x,y)\over\sigma(r(x,y))$$
보상 스케일링은 적절한 정책 최적화를 유도하지 않고, 스케일링 여부에 관계없이 PPO는 일관된 훈련 패턴을 보여 더 강력한 제약 조건이 훈련 안정성을 위해 필요하다는 것을 알게 되었다. - Reward Normalization and Clipping
보상 값은 다음과 같이 클리핑 처리($\delta$는 클리핑 영역)
$$\widetilde{r}(x,y)=\mathrm{clip}({r_n(x,y)-r(x,y)\over\sigma(r(x,y))},-\delta,\delta)$$
엄격한 클리핑이 고정된 에폭 내에서 훈련 안정성을 유지하는 데 효과적임을 발견했다. 이 방식의 경우 초기 훈련 단계에선 하이퍼파라미터 조정이 큰 영향을 미치지 않으나, 더 큰 클리핑 임계값을 사용한 모델은 후반부에 더 높은 보상으로 수렴했다. 하지만 수동 평가 기준에서 더 나은 성능을 의미하진 않는다. - Advantage Normalization and Clipping
위의 보상 클리핑과 유사하지만, 미니배치 수준에서만 정규화가 이루어지는 점이 다르다. 먼저 GAE 기반으로 어드밴티지를 계산 후, 다음과 같이 정규화한다.
$$A-\overline{A}\over\sigma(A)$$
게임 도메인에서 해당 기법을 적용했으나 큰 개선 효과는 없었다.
Policy Constraints
정책 모델의 과최적화 문제를 해결하기 위해서는 정책 최적화를 제한된 범위로 제약하는 것이 긴 훈련 과정에서 필수적이다. 아래 그림은 다양한 제약 방법과 하이퍼파라미터가 정책 최적화에 미치는 영향을 보여준다.
Token Level KL-penalty
정책 최적화 시 현재 정책 분포와 원래 정책 분포 간의 KL 발산에 비례하는 정규화 항을 보상에 추가하여 제약하는 방식으로, 주어진 템플릿-응답 쌍에 대해서 토큰 출력의 로그 분포를 정책 분포로 간주하고 다음과 같은 KL-penalty를 적용한다.
$$r_{total}(x,y_i)=r(x,y_i)-\mu KL(\pi_\theta^{RL}(y_i|x),\pi^{SFT}(y_i|x))$$
KL-penalty가 PP의 안정성에 매우 중요하며, 훈련 단계 확장을 가능하게 만든다.
Importance Sampling
PPO에선 경험 버퍼에 저장된 응답을 최적화할 때 과거 생성 모델과 현재 모델 간의 정책 발산을 보정하는 방식으로 정책 분포를 참조 모델의 관측치에 고정하는 방식으로 이 가설을 재검증하여 훈련 후반부에 변동성이 발생했다. KL-penalty와 결합한 경우 훈련 안정성이 더욱 향상되었으나, 최종 정책 모델의 성능이 저하되는 문제가 있었다.
Entropy Bonus
참조 모델에 독립적인 제약 방식으로 Entropy bonus가 정책 모델이 더 다양한 행동을 생성하도록 유도해 탐색을 향상시키는 방식이다. 하지만 다른 연구에선 명확한 효과가 없다고 주장했고, 해당 논문의 저자들도 Entropy bonus가 하이퍼파라미터 선택 및 코드 구현에 민감하다고 지적했다.
결론적으로 정책 모델의 안정적인 최적화를 위해 KL-penalty가 가장 효과적인 제약 방식이다.
PPO-max Setup
- 보상 정규화 및 클리핑
- KL-penalty 항 추가
- 모델 초기화 및 사전 훈련
- 글로벌 그래디언트 클리핑
- 경험 버퍼 크기 제한
- Alignment Tax 감소
- 훈련 동향(Figure 9.)
Evaluations and Discussions
모델의 조정 문제는 모델을 인간의 의도에 맞게 유용성과 무해성을 기준으로 평가하는 것이므로 이에 맞춰서 RLHF 모델이 SFT 모델에 비해 가지는 이점에 대한 상세한 분석한다.
유용성
- 모델은 주어진 지침과 몇 가지 예시나 다른 해석 가능한 패턴에서 의도를 유추할 수 있어야 한다.
- 그러나 주어진 지침 뒤에 있는 의도가 명확하지 않거나 애매할 수 있어 평가자는 주로 그들의 판단을 기반으로 모델을 평가하며, 이들의 선호도 점수가 주요 평가 지표가 된다.
무해성
- 모델의 해로움은 주로 실제 환경에서 그 출력이 어떻게 사용되는지에 따라 다르다.
- 이를 평가하기 위해 더 정교한 기준을 사용하여 모델의 행동을 측정한다.
실험 방법
- 각 테스트 프롬프트에 대한 하나의 응답 생성
- 여러 모델들의 응답을 비교한 후 사람 평가자가 선호도를 평가한다.
- 이 실험을 여러번 반복하여 GPT-4를 평가자로 사용하고, 평가 결과의 일관성 확인
→ 기준 모델인 SFT 모델을 가지고 평가를 인간과 GPT-4로 나눈 결과 GPT-4는 인간 평가와 유사한 결과를 도출할 수 있는 신뢰할 수 있는 평가자로 사용될 수 있다.
Our Models vs. ChatGPT on Harmless Evaluation
RLHF 모델의 장점을 보여주는 것이 목표이기에 무해성(Harmless) 능력을 비교 지표로 선택하여 GPT-4를 자동화된 평가에 사용한다. 아래 그림을 보면 RLHF 모델이 ChatGPT에 뒤쳐지긴 하지만, SFT 모델에 비해 상당한 개선을 이루었다. 즉, RLHF 접근 방식이 모델의 반응을 더 효과적으로 생성하고, 성능 간 격차를 좁히는 데 기여했다.
Language Understanding Evaluation
PPO를 사용하여 모델을 파인튜닝할 때 자연어 이해(NLU) 능력이 저하될 가능성이 있어 C-Eval5라는 종합적인 중국어 평가 도구를 사용하여 중국어 RLHF 모델을 테스트한 결과 NLU 능력에 감소가 나타났다. 하지만 PPO-ptx를 사용하여 사전 훈련 데이터를 PPO 훈련 단계에 통합하여 NLU 능력의 저하를 효과적으로 완화되는 것을 볼 수 있다.
Limitations
- 주로 70억 개 파라미터 모델에 초점을 맞추었으며, 모델 크기 및 데이터 규모가 RLHF 성능에 미치는 영향을 조사하지 못함
- 데이터의 질과 양이 보상 모델의 포괄적인 평가에 충분하지 않다.
- 평가 수준이 수동 평가와 GPT-4 자동 평가에 의존하여 세부적인 평가가 이루어지지 않음
- 성능 향상보단 훈련 안정성 확보에 맞춰져 있음
- 보상 점수가 훈련 단계에서 RLHF 성능을 예측하는 지표로 신뢰할 수 없어 훈련 단계에서 더 적합한 성능 지표가 필요