본문 바로가기
  • Staying curious, growing through questions
Paper Review/Alignment

[Anthropic] Training a Helpful and Harmless Assistant with Reinforcement

by Evergreen Mind 2025. 12. 20.

논문 링크: https://arxiv.org/abs/2204.05862 
본 논문은 Anthropic에서 2022년 4월 12일에 공개한 논문입니다.

 

* 리뷰에 개인적인 해석이나 견해는 정확하지 않은 내용일 수 있습니다.
* 부족한 내용이나, 혹은 같이 이야기 나누고 싶은 내용은 코멘트 부탁드립니다.
* 제가 개인적으로 궁금하고, 더 알아보고 싶은 내용은 하늘색 배경으로 표시하였습니다. 

 
 
논문은 본문 37페이지 그리고 74페이지까지는 appendix로 상당히 긴 편이다. 


1. 이 논문을 읽게 된 이유

몇개월 전에 Antrhopic에서 낸 Alignment faking이라는 논문을 너무 재미있게 읽었었고, Anthropic이라는 회사에 점점 관심이 커져서 Anthropic논문의 시초부터 차근차근히 리뷰해보고자 한다. 
 
 


 
 
 

2. 논문이 풀려는 문제: 저자의 의도

이 논문의 핵심 질문은 간단하게 요약된다.

"AI를 유용하고(Helpful), 해롭지 않고(Harmless), 정직하게(Honest) 만들 수 있는가? 그리고 그것이 모델의 성능을 희생시키지 않고도 가능한가?"

저자들은 이 세 가지 목표를 합쳐 HHH라고 부른다.
지금 (2026년) 관점에서 보면, 유용성과 위험하지 않은 상태를 같이 다루는것이 꽤 익숙하게 느껴지는데, 2022년 당시에는 이 논문이 유용성과 무해성을 동시에 다룬 첫 논문이었던 것 같다. 
이 논문과 비슷한 시기에 나왔던 논문들이 있는데,
InstructGPT(OpenAI, 2022)는 강화학습으로 유용한 AI를 만드는 방법에 대해 다뤘고, LaMDA(Google, 2022)는 안전성을 다루긴 했지만 지도학습 위주에 초점을 맞춘 연구였다. 
 
 
 
 
 


3. 논문이 제시하는 현상

Abstract 바로 뒤에 위치한 첫번째 피규어이다.

이 피규어는 논문 제목(Training a Helpful and Harmless Assistant with Reinforcement Learning from Human Feedback)을 한 결과를 요약해서 보여준다. 
총 네가지 모델에 대해서 helpfulnesss와 harmlessness score를 측정했다. 이때 score는 crowdworker의 선호도 점수이다. 모델 네가지는 다음과 같다. 

  • Context Distilled:
    • RLHF X
    • "HHH하게 행동하라"는프롬프트를 모델에 넣은 것
  • Static HH RLHF: 고정된 데이터셋으로 RLHF를 한번 훈련한 모델
  • Online HH RLHF: Static과 다르게 매주 새 데이터로 PM과 FLHF를 갱신하며 훈련
  • Online Helpful RLHF: Online방식이지만 helpful만 훈련/ harmlessness 훈련이 없으면 어떻게 되는지를 보여준다.

 
 

관찰 결과 + 해석

  • Helpfulness는 파라미터가 커질수록 높아진다.
  • Context Distilled 모델보다 Static HH RLHF모델의 helpfulness score가 일관되게 높다.
    • RLHF 자체가 Helpfulness에 도움이 된다.
  • helfulness score에서 Static RLHF < Online RLHF
    • 이긴 하지만, Static 모델의 파라미터가 52B정도에 달했을때는 Score가 상당히 비슷해진다는 점!
    • 그리고 Static HH RLHF는 파라미터가 52B정도에 달했을때 Perofessinal writers와 score가 겹친다는게 인상적이었다.
    • 논문에서는 이 결과를 'Online이 static보다 효과적이다, 반복 훈련이 효과있다'라고 해석하는것 같은데 나는 오히려 52B에서는 static이 online과 점수가 비슷하다는 점에서, 모델 파라미터가 더 커지면 어떻게 달라질까 궁금하다는 생각이 들었다.
    • 그리고 매주 데이터를 갱신하면서 RLHF하는 cost까지 생각하면, 생각보다 static rlhf가 성능이 좋구나라는 생각도 들었다. 
  • online hh와 online helpful을 비교해보면
    • 그리고 helpful score에서는 helpful이 score가 더 조금 더 높긴 하지만,
    • harmlessnes score에서는 두 모델의 score차이가 크다.
    • Online Helpful 모델의 무해성이 30%라는 건, 유용성만 극단적으로 최적화하면 무해성이 상당히 낮아진다는 것이다. helpful만 했을때 이렇게 side effect로 무해성이 낮아진다는게 신기하다.
    • 근데 helpful 훈련을 할때, '안전'관련된 데이터가 얼마나 들어갔는지는 궁금한 것 같다.
    • 유용성을 올리는 방향으로 훈련한다고 해서, 저렇게 무해성이 크게 낮아지는거는 데이터에 '위험한 내용도 유용하게 답변하도록 하는' 데이터가 많아서일까 아니면 정말 단순히 유용하게 대답만 하게한 결과일까? 

 
 


4. 이를 해결하기 위한 제안

따라서 이 논문에서는, 유용하면서도 무해한 모델을 만드는 방법을 제안한다. 

위 그림은 전체 학습 flow를 보여준다. 
크게 두 갈래로 나눌수 있다. 1) PM 모델 만들기 2) Policy 만들기
 

PM 모델 만들기 

1. 사전학습된 LM을 PMP라는 과정을 통해서 좋은 답변 vs 나쁜 답변에 대해서 PM을 학습시킨다.
- 이때 데이터는 reddit이나 stackexchange같은 공개데이터를 사용한다.
2. 다음으로는 인간이 피드백한 데이터로 fine tuning을 한다. 
3. 최종 preference model이 나온다.
 

Policy 만들기

1. 사전학습된 LM에 HHH prompt context distillation을 적용한다.
 - 이때 왜 context distillation이 필요한건가 궁금했는데, 이 작업을 통해서 initial policy를 설정하는 것이라고 한다.
- https://arxiv.org/abs/2209.15189 이 논문에서 제안하는 방법이다.
- 당시에는 SFT대신에 사용했다고 한다. 
2. 그리고 위에서 만든 PM을 가지고 rewaod를 계산하면서 PPO를 하게된다. 
3. 최종적으로 Policy가 나온다. 
 
이 두과정이 독립적으로 일어나는게 아니라, 서로 순환하며 일어난다는 점이 핵심인 것 같다. 
PM을 잘 만들면 RLHF에 사용되는 보상이 명확해지고, RLHF모델이 좋아질수록, crowdworker와 대화할때 질좋은 응답들을 하게되고, 이 데이터를 사용하는 PM도 좋아진다. 
 
 
그러면 human feedback과정을 조금 더 들여다보자
 

 
이 피규어는 crowdworker들이 실제로 사용한 인터페이스 화면이다.
crowdworker는 두가지 역할을 동시에 한다.
1) 대화만드는 사람 (AI에게 질문을 하거나 task를 준다. 그리고 응답을 보고 다음 질문을 이어가는 역할)
2) 응답을 평가하는 사람
 
이 피규어는 helpfulness 인터페이스로, harmful한 정도를 평가하게 하고,  harmlessness 인터페이스에서는 harmful한 정도를 평가하게 한다. 
 
 


 5. 여러가지 분석들

Zero shot vs Few shot 비교

 이 피규어는 zero-shot vs few-shot에서 RLHF모델과 플레인 모델의 성능을 비교한다. 
Y축은 7개의 벤치마크의 정확도의 평균이다. 
 
 

  • zero shot에서, 파라미터가 상대적으로 적을 때는 정확도가 RLHF < Plain 이다.
    • 그러나 파라미터가 커지면 비슷하거나 RLHF성능이 더 커진다.
    • 모델 파라미터수가 더 작아지거나 더 커져도 이런 현상이 유지되는지 궁금하다. 
    • 왜 파라미터수가 많아졌을때 plain모델보다 RLHF성능이 더 커질까? 
    • 논문에서는 RLHF가 지시를 잘 따르는 능력을 향상시킨다고 해석하고 있다. 
  • few shot에서는 zero shot에서처럼 파라미터가 적을때는 RLHF< Plain이지만 
    • 그러나 파라미터가 커지면 성능이 유사해진다. 

 

 


PM Robustness

 
이 피규어는 RL robustness 실험 결과를 보여준다. 
실험 설계는 다음과 같다.

  • static dataset을 반으로 나눠서
  • 절반으로는 Train RM을 학습시키고, 절반으로는 Test PM을 학습시킨다. 
  • 그리고 Train PM으로 RLHF를 훈련시키고, 
  • Train PM과 Test PM의 score를 policy parameter가 많아짐에따라 보여준다. 

 
오른쪽 그래프에서는, policy의 파라미터가 많아질수록 Train과 Test의 점수차이가 작아지는 것을 알 수 있다. 
왼쪽 그래프

  • 초반 150k의 샘플까지는 test/train 선이 거의 유사한데, 150k를 넘어서면 train 은 여전히 우상향인 반면 test model은 기울기가 작아진다. 
    • 논문에서는 이 결과에 대해 150k시점부터 과적합이 일어난다는 것으로 해석하고 있다.
    • Train 모델이 계속해서 기울기를 유지하는 것으로 보이는 이유는 정말로 policy update를 적절히 해서라기 보다는 모델이 train데이터에 과적합되어서  PM score를 0에 가깝게 만드는 것으로 보인다. (그러니까 PM score가 낮기는 하지만 실제로 PM이 완벽하지 않기 때문에, 실제 인간이 원하는 방향이 아닌 다른 방향으로 학습된 것)
  • 그리고 PM score와 policy간의 KLD의 제곱근 값이 Linear한 것을 관찰 할 수 있다.
    • 여기서 KLD는 초기 policy와 현재 policy와의 거리를 의미한다. 
    • 내 직관으로 생각해보면, 두 값이 양의 상관관계를 가질것이라는것은 꽤 직관적( 모델이 많이 변할수록, 보상 점수가 올라가는 것 아닌가? 하는 생각)이어서, 이 결과가 왜 특별한걸까 하는 궁금증이 들었다.
    • 논문에서는, KLD의 제곱근의 변화량이 정확히 PM score와 linear하다는 점에 초점을 맞추고 있다. 
    • RL의 복잡한 과정이 KLD제곱근이라는 하나의 값에 대해 깔끔하게 선형이라는 것이 놀라운 점인 것 같다.
    • 내가 Jailbreak논문에서 ASR과 양의 상관관계를 이루는 factor가 무엇이 있을지를 오래 찾았는데, 결국 명쾌히 찾지 못했던 것을 보면, 이렇게 하나의 factor로 설명된다는것이 정말 신기한 일인 것 같다. 
    • 그리고 단순한 양의 상관관계가 아니라 linear라는 점에서, 어떤 pm score에 도달하기 위해서 어느정도의 policy update가 필요한지를 예상할 수 있다는 점이 장점이라고 한다. 
    • 왜 하필 '제곱근'과 linear한 관계인건지는 논문에서 다음과 같이 설명하고 있다.
When DKL(π + δπ||π) is series expanded in δπ, the expansion begins at quadratic order
  • 왼쪽 그래프 결과(선형관계) 에 대해서 논문에서 밝히고 있는 해석은 다음과 같다.  
One can ask a subtle, perhaps ill-defined question about RLHF training – is it teaching the model new skills or simply focusing the model on generating a sub-distribution of existing behaviors. We might attempt to make this distinction sharp by associating the latter class of behaviors with the region where RL reward remains linear in KL 제곱근.
  • 선형관계라는 점이 RLHF가 new skill을 가르치는 것인지, 아니면 단순히 존재하는 행동들의 하위 분포를 선택하는데 집중하는것인지에 대해서 구분할 수 있을 수도 있다고 추측하고 있다.  
  • 보상이 KL제곱근과 선형이라는 점에 대해서 후자(이미 존재하는 행동들을 선택하는 것) 일 가능성을 언급한다. 
  • 왜 선형이면 -> 새로운 능력 학습이 아니라 존재하는 행동들을 선택하는거라고 추측할 수 있는지에 대해서 곰곰히 생각해봤는데 
    • 능력이 없다가 새 능력을 배우는 경우, 초반 기울기가 0에 가까워야한다. ( because the initial policy π was not previously optimized for reward. 논문에 이렇게 나와있음) 
    • 반면에 능력이 이미 있는 경우에는, 있는 능력을 꺼내쓰는것이기에 기울기가 일정하다..? 라는 논리인 것 같다. 
    • 근데 반드시 새 능력을 배운다고 해서 초반 기울기가 0에서 커지는 방향으로 일어나야하나?를 생각해보면.. 아닌 경우도 있을 것 같아서, 확실히 결단을 내리기는 어려운 것 같다.
    • 논문에서도 'conjectual'이라고 언급하기도 했고, 앞으로도 더 탐구해봐야할 부분 인 것 같다.
    • 이렇게 해석했다는 점이 참 놀랍다. 
    • 인간이 새로운 걸 학습하게 되는 과정과도 연관지어서 생각해보게 되고 
    • 최근에  많이 고민했던 부분이 어떤 현상에 대해 그 현상을 설명하기 위한 나의 가설들이 있는데 그걸 논문에 추측 섞인 해석으로 담기에는, 음 많이 조심스러워서 어디까지가 내 가설로서 제시해볼수 있는지..? 그 경계가 어려운 것 같다. 그래도 현상을 설명할 수 없다면 아무 코멘트가 없는것보다는 연구를 진행한 사람이 생각하는 가설을 제시하는게 나은 것 같다는 생각이 든다.

 
 

6. 배운 점 및 더 생각해볼 것들

jailbreak와 이 논문에서 배운 내용을 연결지어보면, 
jailbreak라는 사건?은 PM모델이 원래는 낮은 점수를 부여해야하는 상황임에도, 모델이 이를 유해하게 인식하지 못해서 높은 점수를 줘서 유해한 응답을 출력하게 되는 상황으로 생각할 수 있는 것 같다.
아니면, PM모델이 유해한 응답이라고 판단해서 낮은 점수를 줬지만, 그럼에도 응답으로 출력이 된 경우도 생각해볼 수 있을 것 같다. 
 
이렇게 생각해보니까 모델은 정말 위험을 감지하는 '패턴'만을 학습했다는 생각이 드는 것 같다.
그래서 모델은 시간이 지나서 더 정교해진다고 할지라도, 그 정교한 패턴을 단지 학습한 것 뿐이 아닐까? 라는 생각도 든다. 그러니까 막 SF영화에서처럼 AI가 실제로 생각을 하게되는 그런 장면들은, 정말로 인간이 생각하는 그런 '사고'를 AI가 하는게 아니라, 생각이라고 '보이는' 그런 패턴을 정교하게 익힌 것에 불과하다는 생각이 든다. 
진짜로 이해하고, 추론하고, 생각하는 건 정말 AI는 못하는 거 아닌가? 이 부분에 대해서 다룬 연구가 있다면 알아봐야겠다. 이거 관련해서 'Signs of introspection in large language models' 논문을 읽어보려고 한다. 
 
anthropic 논문들의 공통점인지 정확히는 잘 모르겠지만, 내가 읽었던 antrhopic논문들에서는 단순히 현상제시만 하는게 아니라, 그걸 최대한 설명하고 이해하려는 시도들이 멋있는 것 같다. 그리고 해석의 한계도 명확히 제시하는 부분에서 참 신뢰가 가는 논문인 것 같다. 
이 논문 이후로 앤트로픽에서 Constitutional AI, Interpretability 관련 연구 등 많은 논문들을 발표했는데 앞으로 그 논문들도 차근차근 다뤄볼 예정이다.