수학 개념 지도
딥러닝과 언어 모델

인간 피드백 강화 학습과 정렬(Reinforcement learning from human feedback and alignment)

사람이 두 답 가운데 나은 쪽을 고른 기록으로 보상 모델⁠(reward model)⁠을 학습하고(브래들리–테리 모형⁠, Bradley–Terry model⁠), 원래 모델에서 너무 멀어지지 않게 KL 벌점을 두며 언어 모델⁠(language model)⁠을 그 보상 쪽으로 조정하는 방법.

max⁡π  Ey∼π(⋅∣x)[r(x,y)]−β DKL(π(⋅∣x) ∥ πref(⋅∣x))\max_{\pi}\; \mathbb{E}_{y\sim\pi(\cdot\mid x)}\bigl[r(x, y)\bigr] - \beta\, D_{\mathrm{KL}}\bigl(\pi(\cdot\mid x)\,\|\,\pi_{\text{ref}}(\cdot\mid x)\bigr)

다음 토큰⁠(token)⁠을 예측하도록 학습한 언어 모델은 학습 자료의 분포를 흉내 냅니다. 질문에 답하는 대신 질문을 이어 쓰기도 하고, 틀린 말도 자료에 흔하면 그럴듯하게 씁니다. 원하는 행동을 식으로 적기는 어렵지만, 사람은 두 답을 나란히 보면 어느 쪽이 나은지 꽤 쉽게 고릅니다. 인간 피드백 강화 학습(RLHF)은 이 비교를 학습 신호로 바꾸는 방법입니다. 흔히 세 단계로 이루어집니다.

  1. 지도 미세조정⁠(fine-tuning)⁠. 사람이 쓴 모범 답안으로 모델을 조금 더 학습시킵니다(같은 다음 토큰 예측입니다).
  2. 보상 모델. 한 질문 x에 대한 두 답 가운데 사람이 고른 쪽을 맞히도록, 답 y에 점수 r(x, y)를 매기는 모델을 학습시킵니다.
  3. 강화 학습. 언어 모델이 보상 모델의 점수가 높은 답을 쓰도록 강화 학습으로 조정하되, 원래 모델에서 너무 멀어지지 않게 벌점을 둡니다.

이 틀은 2017년 폴 크리스티아노 등이 사람의 비교만으로 시뮬레이션 속 로봇 과제와 아타리 게임을 학습시킨 연구에서 시작해, 2020년 글 요약을 거쳐, 2022년 오픈AI의 InstructGPT로 언어 모델에 자리 잡았습니다.

비교를 점수로: 브래들리–테리 모형. 답마다 보이지 않는 점수 r이 있고, A가 B보다 선호될 확률⁠(probability)⁠이 다음과 같다고 가정합니다.

P(A≻B)=erAerA+erB=σ(rA−rB),σ(t)=11+e−tP(A \succ B) = \frac{e^{r_A}}{e^{r_A} + e^{r_B}} = \sigma(r_A - r_B), \qquad \sigma(t) = \frac{1}{1 + e^{-t}}

σ는 로지스틱 회귀⁠(logistic regression)⁠의 시그모이드 함수입니다. 1952년 랠프 브래들리와 밀턴 테리가 짝 비교⁠(paired comparison)⁠ 실험을 분석하려고 제안했고, 에른스트 체르멜로가 1929년 체스 대회 기록으로 선수들의 실력을 매기며 같은 모형을 먼저 썼습니다. 오늘날 흔히 쓰는 체스 엘로 점수의 로지스틱 판도 같은 꼴입니다(밑이 10이고, 400점 차이가 기대 승산 10배). 점수는 차이만 의미가 있어서, 모든 점수에 같은 수를 더해도 확률은 그대로입니다. 비교 기록이 주어지면 그 기록이 나올 확률을 가장 크게 하는 점수를 고릅니다(최대 가능도⁠(likelihood)⁠). 비교 하나(이긴 답 w, 진 답 l)는 '두 점수의 차이'를 입력으로 하는 로지스틱 회귀의 표본⁠(sample)⁠ 하나이므로, 최소화할 손실은 −log⁡σ(rw−rl)-\log\sigma(r_w - r_l)의 합입니다.

아래 표의 칸 (i, j)는 사람들이 답 i를 답 j보다 고른 횟수입니다. 칸을 누르면 그 비교가 한 번 더해지고, 오른쪽 점수가 최대 가능도로 다시 맞춰집니다. 처음으로

왼쪽: 칸 (i, j) = 답 i가 답 j를 이긴 횟수. 칸에 올리면 기록의 비율과 맞춘 모형의 예측 σ(rᵢ − rⱼ)가 나옵니다. 오른쪽: 맞춘 점수(평균⁠(mean)⁠ 0으로 맞춤).

A의 행(‘A 승’) 칸을 여러 번 눌러 보세요. A의 점수가 올라가고 다른 답들은 내려가지만, 점수는 유한한 값에 머뭅니다. B, C, D가 A를 이긴 기록이 한 번씩이라도 남아 있기 때문입니다. 만약 A가 한 번도 지지 않았다면, 가능도는 A의 점수를 올릴수록 계속 커져서 최대점이 없습니다. 일반적으로 어떤 답들의 무리가 나머지에게 한 번도 지지 않았으면 이런 일이 생깁니다. 그래서 이 그림은 만일에 대비해 점수의 제곱합에 아주 작은 벌점(0.01∑iri20.01\sum_i r_i^2)을 더해 맞춥니다(정규화). 실제 보상 모델에서는 점수가 이런 표가 아니라 신경망⁠(neural network)⁠ rθ(x,y)r_\theta(x, y)의 출력이고, 같은 손실로 θ를 학습합니다. 여기서도 과적합⁠(overfitting)⁠이 흔한 문제라서, InstructGPT는 보상 모델을 비교 자료 전체에 대해 한 번만 훑고 학습을 멈췄습니다.

KL 벌점과 그 정확한 해. 셋째 단계의 목표는 보통 이 페이지 맨 위의 식입니다. π는 학습하는 모델(정책), πref\pi_{\text{ref}}는 출발점 모델, β > 0은 벌점의 세기입니다. 보상만 높이면 모델은 보상 모델의 허점을 파고듭니다. KL 발산⁠(KL divergence)⁠ 벌점은 π가 πref\pi_{\text{ref}}에서 멀어질수록 값을 치르게 합니다. π가 아무 분포나 될 수 있다고 하면, 이 문제에는 정확한 해가 있습니다.

π∗(y∣x)=1Z(x) πref(y∣x) er(x,y)/β,Z(x)=∑yπref(y∣x) er(x,y)/β\pi^\ast(y \mid x) = \frac{1}{Z(x)}\,\pi_{\text{ref}}(y \mid x)\,e^{r(x, y)/\beta}, \qquad Z(x) = \sum_y \pi_{\text{ref}}(y \mid x)\,e^{r(x, y)/\beta}

이유는 한 줄입니다. 목표를 β로 나눠 정리하면 1βEπ[r]−DKL(π ∥ πref)=log⁡Z−DKL(π ∥ π∗)\frac1\beta\mathbb E_\pi[r] - D_{\mathrm{KL}}(\pi\,\|\,\pi_{\text{ref}}) = \log Z - D_{\mathrm{KL}}(\pi\,\|\,\pi^\ast)이고, KL은 π = π*일 때만 0이기 때문입니다. 기준 분포에 보상의 지수를 곱해 다시 나눈 모양으로, 디코딩의 온도와 같은 볼츠만 꼴이며 β가 온도 구실을 합니다. 아래 다섯 답과 점수는 설명을 위해 정한 장난감입니다. 질문은 "고양이에게 초콜릿을 줘도 되나요?"입니다. β = .

답마다 위의 회색 막대가 출발점 모델 π_ref, 아래 청록 막대가 최적 정책 π*입니다. 오른쪽 끝의 두 수는 π*의 확률과 보상 모델의 점수 r입니다.

β가 크면 π*는 πref\pi_{\text{ref}} 곁에 머물고, β가 작아질수록 점수가 가장 높은 답으로 몰립니다. 여기서는 보상 모델이 느낌표를 남발한 ⑤번 답에 이유를 댄 ①번보다 조금 높은 점수(2.4 대 2.0)를 주는 허점이 있다고 가정했습니다. β를 너무 작게 하면 모델은 그 허점을 그대로 배웁니다. 이 예에서는 β가 약 0.99보다 작아지면 ⑤번이 ①번을 앞지릅니다(0.1 e2.4/β>0.15 e2.0/β0.1\,e^{2.4/\beta} \gt 0.15\,e^{2.0/\beta}인 곳). 2022년 레오 가오, 존 슐먼, 제이컵 힐턴은 '진짜' 보상 모델을 따로 두고 대리 보상 모델로 최적화⁠(optimization)⁠하는 실험에서, 최적화가 진행되어 출발점에서 멀어질수록 대리 보상은 계속 오르지만 진짜 보상은 오르다가 다시 떨어지는 것을 관찰하고 그 모양을 경험식으로 맞췄습니다. 측정값이 목표가 되면 좋은 측정이 아니게 된다는 굿하트의 법칙⁠(Goodhart's law)⁠의 한 사례입니다.

DPO: 보상 모델 없이. 위의 해를 거꾸로 풀면 보상을 정책으로 나타낼 수 있습니다.

r(x,y)=βlog⁡π∗(y∣x)πref(y∣x)+βlog⁡Z(x)r(x, y) = \beta\log\frac{\pi^\ast(y \mid x)}{\pi_{\text{ref}}(y \mid x)} + \beta\log Z(x)

이것을 브래들리–테리 확률에 넣으면, 같은 질문 x에 대한 두 답의 점수 차이에서 계산하기 어려운 βlog⁡Z(x)\beta\log Z(x)가 정확히 지워집니다. 이제 π*를 학습할 모델 π로 바꿔 쓰면, 선호 확률이 π만으로 적힙니다.

P(yw≻yl∣x)=σ ⁣(βlog⁡π(yw∣x)πref(yw∣x)−βlog⁡π(yl∣x)πref(yl∣x))P(y_w \succ y_l \mid x) = \sigma\!\left(\beta\log\frac{\pi(y_w \mid x)}{\pi_{\text{ref}}(y_w \mid x)} - \beta\log\frac{\pi(y_l \mid x)}{\pi_{\text{ref}}(y_l \mid x)}\right)

그러니 보상 모델을 따로 학습시키고 강화 학습을 돌리는 대신, 선호 자료에서 이 확률의 가능도를 π에 대해 직접 최대화하면 됩니다. 2023년 라파엘 라파일로프 등이 제안한 직접 선호 최적화(DPO)입니다. '정확한 재매개변수화⁠(reparameterization)⁠'라는 말이 어디까지 참인지 분명히 해 둡시다. 선호가 브래들리–테리 모형을 따르고, 목표가 위의 KL 벌점 꼴이며, π가 모든 분포를 나타낼 수 있고, 자료가 충분하다면 두 방법이 도달하는 최적 정책은 같습니다. 실제로는 자료가 유한하고 모델의 표현력과 최적화가 불완전해서 두 방법의 결과가 다를 수 있으며, 어느 쪽이 나은지에 대한 실험 결과는 엇갈립니다.

강화 학습의 용어로. 질문과 지금까지 쓴 토큰이 상태, 다음 토큰이 행동, π가 정책이고, 보상은 답을 다 쓴 뒤 한 번 받습니다. InstructGPT는 정책 기울기⁠(policy gradient)⁠ 방법의 하나인 PPO(2017년 존 슐먼 등)로 이 목표를 최적화했습니다. 한 번의 갱신으로 정책이 너무 크게 바뀌지 않도록 갱신 폭을 잘라 두는 방법입니다. 기울기⁠(slope)⁠는 뽑은 답 몇 개로 추정하므로 확률적 경사 하강법⁠(stochastic gradient descent)⁠처럼 잡음이 섞입니다.

한계. RLHF가 최적화하는 것은 '평가자가 고르는 답'이지 '참인 답'이 아닙니다. 평가자가 자신 있어 보이는 답이나 자기 의견에 맞장구치는 답을 좋아하면 모델도 그쪽으로 기웁니다. 이런 아첨 경향은 여러 모델에서 측정되었습니다(2023년 므리난크 샤르마 등). 선호가 점수 하나로 요약된다는 브래들리–테리 가정도 근사입니다. 사람마다 선호가 다르고, 가위바위보처럼 순환하는 선호(A ≻ B, B ≻ C, C ≻ A)는 어떤 점수로도 나타낼 수 없습니다. 사람 대신 원칙 목록을 받은 AI가 비교하게 하는 방법(2022년 '헌법적 AI⁠(Constitutional AI)⁠')처럼 비교의 출처를 바꾸는 변형도 쓰입니다. '정렬'이라는 말은 모델의 행동을 사람의 의도에 맞추는 일 전체를 가리키고, RLHF는 그 가운데 널리 쓰이는 한 방법일 뿐입니다.

이어지는 곳. 보상 모델의 손실은 로지스틱 회귀의 교차 엔트로피⁠(cross-entropy)⁠ 그대로이고 그 원리는 최대 가능도입니다. 벌점 항은 KL 발산이며, 최적 정책이 지수 꼴인 까닭은 최대 엔트로피 원리⁠(principle of maximum entropy)⁠의 깁스 분포와 같은 계산에 있습니다. 같은 꼴은 소프트맥스⁠(softmax)⁠와 디코딩의 온도에도 나옵니다. 상태·행동·정책·보상의 틀과 정책 기울기는 강화 학습에서 다룹니다. 대리 보상에 지나치게 맞추는 것은 학습 자료에 지나치게 맞추는 과적합과 닮았고, KL 벌점이 정책을 출발점 가까이 붙잡아 두는 것은 정규화가 가중치⁠(weight)⁠를 0 가까이 붙잡아 두는 것과 같은 구실을 합니다. 출발점이 되는 모델이 무엇을 배웠는지는 언어 모델과 규모의 법칙⁠(scaling laws)⁠에서 볼 수 있습니다. 사람의 비교 대신 정답 채점기를 보상으로 쓰고, 가치 함수⁠(function)⁠를 따로 학습하는 대신 같은 질문에 뽑은 답들의 평균 보상을 기준선으로 삼는 방법(GRPO)은 추론 모델에서 이어집니다. InstructGPT와 ChatGPT 이후 DPO, 헌법적 AI, 공개 가중치⁠(open weights)⁠ 모델, 추론 모델까지 무엇이 언제 나왔는지는 언어 모델의 발전사에 날짜순으로 모아 두었습니다.

이 개념이 나오는 긴 글

계산언어학 말을 세는 기계 문법은 규칙일까, 확률일까? 파니니의 문법에서 촘스키의 위계, 섀넌의 영어 엔트로피, 오늘날의 언어 모델까지. 언어 모델 다음 단어를 맞히는 기계 다음 낱말을 짐작하는 일만으로 어디까지 갈 수 있을까? 마르코프의 글자 세기에서 섀넌의 추측 게임, 트랜스포머와 규모의 법칙, 사람의 선호까지. 밑바닥에는 확률의 곱셈 규칙과 로그 하나가 있고, 그 수학은 모델이 왜 그럴듯하게 틀리는지도 말해 준다. 측정의 수학 재는 순간 바뀐다 해안선의 길이는 자에 따라, 평균은 누구에게 묻느냐에 따라, 지표는 목표가 되는 순간 달라진다. 리처드슨의 국경과 프랙털 차원, 스티븐스의 척도, 버스 정류장과 타율의 역설, 스피어먼의 요인, 굿하트의 법칙과 보상 해킹을 한 줄로 꿴다.

이 개념 위에 세워진 것

이 개념을 언급하는 페이지

이 페이지가 가리키는 개념