강의/NLP

[NLP] Alignment - Learning from AI Feedback

하기싫지만어떡해해야지 2026. 4. 26. 15:09

이 게시글은 서울대학교 데이터사이언스대학원 조요한 교수님의

거대언어모델과 대화형 인공지능 강의를

학습을 위해 재구성하였습니다


 

지난 시간에는 RLHF와 DPO에 대해서 봤는데

이번엔 AI feedback을 이용해서 어떻게 alignment를 시켰는지에 대한 내용이다

AI가 스스로 피드백을 하는 것에 대한 내용이다

조금 가벼운 내용이라 간단하게 정리하고 넘어가보려한다

 

 

 

 

 

우리가 이전에 배운 내용들에서는 학습 데이터로 human annotation을 사용했는데

이게 되게 비싸고, 느리고, 스케일링하기가 어려웠다

LLM은 계속해서 발전해오고 있었는데 그게 스스로 evaluate를 하고 improve를 하는 단계까지 왔다

따라서 AI feedback을 사용해서 그들이 스스로 alignment를 할 수 있지않을까 하던 것이었다

 

그래서 오늘 살펴볼 논문은 이런 주제를 다룬 2가지 논문이다

첫번째는 constitutional AI인데 constituion이란 한국어로 원칙이라는 뜻이다

따라서 어떤 원칙을 가지고 AI Alignment를 진행해보는 것이다

두번째는 MATRIX라는 논문인데 constitution에 국한되지 않고

LLM들끼리 사회 실험을 해서 self-alignment를 시키는 내용이다

 

 

 

 

 

 

아까도 말했지만 constitution은 어떤 원칙이라는 뜻이다

조금 outdated 되긴 했지만 AI feedback의 시발점이 되는 논문이다

 

 

 

 

 

Motivation이다

 

LLM의 사용성이 많이 발전해왔고 이 사용성은 나날히 증가하지만 해로운 답변도 내보내고있다

read teaming이라는게 있는데 이건 prompt로 약점을 파고들어서

LLM의 harmful한 대답을 요구하는 그런 연구라고 한다

 

 

 

 

 

저자들이 제시하는 motivation의 예시이다

 

instructGPT에게 How can I steal from ... 뭐 이런 범죄에 관련한 질문을 했을 때

저렇게 답변을 해준다고 한다

유용하지만 해로운 답변을 내뱉는다고 한다

 

 

 

 

 

이전에는 그렇다면 어떤 시도들이 있었냐?

HH RLHF라는 것이 있었다

유용하면서도 해롭지 않은 LLM을 RLHF를 이용해서 만들어보자는 것이었고

해로운 답변들만 모아놓아서 똑같이 human preference에 대해서 하면

harmless한 LLM을 만들 수 있지 않을까 한 것이었다

이를 우해서 2개의 seperate한 데이터셋이 필요했고 성공적으로 진행이 되었다고 한다

 

 

 

 

 

 

하지만 저자들은 여기서도 문제를 발견했다

human preference label이 좋다는 것은 모두가 알고있지만

이런 데이터가 구하기가 어렵다

또, 데이터의 transparency 문제도 발생할 수가 있다

사람마다 어떤걸 좋아하냐의 선호도 다르고

특정한 bias가 발생할 수 있기 때문이다

그래서 이 모델이 align된 preference가 어떤 기준을 갖고 되었는지가 알기가 어렵다

human feedback에 문제가 있다는 것을 지적한 것이다

 

 

 

 

 

 

 

 

또 다른 문제로 evasive 문제가 있다는 것을 지적했다

이게 모델이 harmless한 것을 피하려고 하다보니 그냥 회피해버리는 문제가 발생하는 것이다

그리고 이런 회피형 문제가 발생하는 이유는

학습데이터를 만든 연구자들 자체가 이런 evasive한 답변을 선호한다고 냈기 때문인것이다

 

 

 

 

 

 

 

따라서 이 논문이 풀고자 하는 문제는 다음과 같다

human feedback을 줄이고 싶다

그런데 이 harmless한데 그냥 회피형이 아닌 유용하고 말이 되는 assistant를 개발하고 싶은 것이다

그래서 이 목표를 AI based constitution를 통해서 수행해보자는 것이다

 

 

 

 

 

이 constitution 자체가 어떠한 원칙이나 헌법같은 것이라서

이러한 규칙 자체는 사람이 만들어야했다

그러나 이러한 principle이 human preference data가 아닌 것 뿐이다

 

 

 

 

 

그렇다면 principle은 무엇이냐?

 

당연하게도 프롬프트 형태로 제공한다

위 ppt에 그 프롬프트의 예시가 있다

각각의 프롬프트가 어떤 역할을 하는지는 모르지만

어떠어떧한 답변을 좀 더 선호해가해줘~ 이런 한 두줄짜리의 원칙을 잘 따르도록하는 AI를 만들겠다는 것이다

 

 

 

 

 

 

왜 이 constitution이 말이 되느냐? 그리고 이게 왜 필요하냐?

 

우선 직관적으로 human feedback을 줄일 수 있기 때문이다

이전에는 RLHF에서 사람이 만든 label로 학습을 수행했다면

이 논문에서는 AI feedback model로 수행하겠다는 것이다

 

 

 

 

 

이런식으로 하면 모델의 transparency와 simplicity를 개선할 수 있다고 한다

 

 

 

 

 

 

문제였던 회피형 답변도 해결할 수가 있겠더라는 것이다

 

이러한 회피형 답변의 원인은 human feedback을 구할 때 의도치않게 더 높은 점수를 받았던 것인데

이러한 것들도 피할 수가 있다

 

 

 

 

 

그래서 이걸 어떻게 training을 시켰냐

 

2가지로 시켰는데

supervised learning과 reinforcement learning이다

 

SL은 self-critique and revision step을 포함하고

RLHF는 human feedback label만 AI feedback label로 교체하여 수행했다

 

 

 

 

 

 

이런 방식으로 training을 시켰다고한다

 

 

 

 

 

 

이건 supervised learning의 3가지 step이다

 

intial response를 내보내고

이걸로 self-critique revision을 수행한다음

결과적으로 revised된 response가 나오게 된다면 그걸 가지고 supervised finetuning을 진행한다

 

 

 

 

 

 

처음으로 initial response를 생성한다

 

첫 start model은 Helpful RLHF model인데

해로움에 대한 align은 되지않은 모델이다

 

red teaming prompt는 모델을 공격하는 프롬프트인데

이런 프롬프트로부터 모델의 답변을 받아온다

 

 

 

 

예시를 한 번 살펴보면

Human이 내 이웃의 와이파이를 쓰고싶다 어쩌구저쩌구..~ 이렇게 얘기하면

모델이 자기단에서 최대한 도와주려고 해로운 답변을 생성하는 것을 볼 수 있었다

 

 

 

 

 

그런 다음 self critique and revision을 수행하는데

스스로 이 initial response를 비평하고 한 번 수정해보라는 식으로 한다

 

여기서 다른 점은 constitution이 제일 중요하다는 것인데 여기서도 이 원칙이 들어가게 된다

어떤 원칙에 의거해서 비판을 하라는 것이다

잘 설계된 원칙을 바탕으로 이 intial prompt가 해로운지 안해로운지를 살펴보라는 것이다

그에 따라 모델이 초기 답변을 수행하는데 이게 revision이다

 

 

 

 

 

이런식으로 비평을 해서 

 

 

 

 

 

최종적으로는 이러한 final revised response가 나오게 된다

 

 

 

 

 

 

이 final revised response를 가지고 SFT를 진행하는데

이는 RLHF가 너무 비싼 작업이기 때문이다

 

 

 

 

 

애초에 response distribbution이 좀 더 해롭지 않은 것으로 맞춰주기 위해서 

이렇게 해서 나온 모델이 SL-CAL이다

 

 

 

 

 

 

 

데이터를 살펴보자

 

red teaming prompt라는 해로운 답변을 유도하는 프롬프트를 가지고 와서 증강해서 사용한다

이 뿐만아니라 harmfulness에 대해서 학습한게 아니고 helpfulness에 대해서도 동일한 양으로 학습한다

이는 원래의 분포에서 벗어나지 않기 위함이다

 

 

 

 

 

이 revision을 몇 번 하냐

그리고 constitution을 몇 개 주냐 이런거에 대해서 ablation study도 수행했다

 

 

 

 

 

RL은 supervised finetuning을 거친 모델로부터 시작한다

response를 이 모델로부터 생성하는데

이 프로세스는 RLHF와 굉장히 유사하다

 

 

 

 

 

RLHF에 대해서 다시 살펴보자

 

결국 human preference data를 가지고 리워드모델을 학습해서

이 답변이 몇 점짜리 답변인지를 학습하는 것이 중요했다

이 리워드 모델로 수많은 모델에 대해서 reinforcement model을 학습했던 것인데

이 학습을 human preference model로 학습했다

 

그러니까 이 리워드 모델을 human labeler가 랭킹을 매기고

그 랭킹의 pair를 바탕으로 학습데이터를 제작해서 리워드모델을 학습했었다

 

 

 

 

 

 

그렇다면 이 RL stage가 RLHF와 무엇이 다를까

 

human labeler가 아니고 AI labeler 혹은 AI feedback 모델이 학습 데이터를 생성하는 것이다

리워드 모델을 학습할 때 만드는 preference data를 AI가 만드는 것이다

딱 이 파트만 대체되는 것이다

 

 

 

 

 

RL stage에서는 helpfulness에 대해서도 학습을 수행한다

 

실제로 human feedback preference에 대해서는 학습을 하고

이 해로움에 대해서는 AI가 대신할수있지않을까 하는 것이다

 

feedbback model이 완성되었다고 치면 나머지 부분은 RLHF과 동일하다

해로움에 대해서는 AI가 filtering해서 라벨링할 수 있지않을까 하는 것이다

 

 

 

 

 

 

지금 feedback model은 그냥 어떤 pretrained model이다

 

그냥 pretrained model만 가지고 저런 프롬프트를 넣어서 어떤 답변이 덜 해로운지를 체크해보는 것이다

그냥 선택하라는게 아니고 어떤 원칙을 주고 어떤게 더 선호되는 답변인지 고르게 하는 것이다

위 ppt 예시와 같이 되게 직관적인 principle이 들어간다

 

 

 

 

 

 

저자들은 그냥 생성하는 것도 해보고

CoT를 먼저 해보고 답변을 내는 것도 시도해보았다

 

 

 

 

 

 

 

나머지 부분은 그냥 RLHF와 동일하다

 

 

 

 

 

 

그렇다면 당연히 드는 의문이 있을 것이다

 

AI feedback model을 사용했는데

그  모델이 human preference만큼 성능이 나올 수 있을까?

 

그래서 comparison test를 진행한다

젤 위에있는건 human feedback으로부터 학습한 모델이고

아래에 있는건 이 constitutional  AI를 이용해서 학습한 모델이다

실제 human feedback을 가지고 학습한 리워드모델이 되게 높긴 하지만

그 차이가 작아서 뭐 괜찮다고 본 논문에서는 주장하고 있다고 한다

이 경향성이 지금 52B 모델에서 끊겨있지만 더 발전한다면 human을 따라잡을 것이라고 주장한다

 

 

 

 

 

 

데이터는 똑같이 helpfulness는 이전에 했던것처럼 가져와서 사용했다

harmlessness는 SFT 모델에서 generate한 2개의 comparison 답변을 바탕으로

preference model로 점수를 매겼다

그리고 RL할 때 preference model이 끝나고 추가학습을 시켰다

 

 

 

 

 

 

최종적으로 reinforcement learning으로 학습한 샘플 결과이다

그냥 한 것은 회피형 답변을 내고 있는데

아래는 이게 왜 위험한 프롬프트인지 설명을 핫고있다

 

 

 

 

 

성능평가이다

 

서로 다른 방법론을 학습한 모델들로부터 human이 평가를 진행했다

어떤 것이 더 괜찮은 답변인지 물어본 것이다

y축이 Elo라고 comparison에서 많이 사용하는 metric이다

 

이 그래프를 살펴보면 알 수 있는 점은 왼쪽 그래프가 유용성이고 오른쪽이 해로움에 관련된건데

유용성을 많이 떨어뜨리지 않으면서 해로움은 많이 올렸다

 

 

 

 

 

결국 해로움에 대해서만 진행을 했지만 실제로 이 원칙이 들어가느냐에 따라서

모델을 align을 시킬 수 있는 방법이 다양할 것이다

성격을 바꿀수도 있고 스타일을 바꿀 수도 있고

다양한 가치관을 가지도록 하는 그런식으로 유도하는 원칙을 넣게된다면 비슷하게 할 수 있지않을까 하는 것이다

human feedback을 줄였기 때문에 진입장벽을 낮췄다는 것에서도 의의가 있다

 

 

 

 

 

 

정리를 해보자

 

principle에 의거한 AI를 만들고자 하였다

여전히 유용하지만 해롭지 않고 회피형이지 않으면서 해롭지 않은 모델을 만들고자했다

그리고 AI가 human feedback을 대신하도록 하였다

이러한 방법론은 다른 분야로도 확장될수가 있다

 

 

 

 

 

 

두 번째 논문에 대해서 살펴보자

 

LLM이 self alignment를 할 건데 이걸 monopolylogue(1인극)로 수행한다

 

 

 

 

 

본 논문의 Motiviation이다

 

현재의 human ailgnment 방법이 external supervision인데

이는 RLHF나 또다른 LLM이다

어쨋든 supervision이 필요하다는 것이다

 

LLM이 스스로 self alignment를 하거나 CAI 같은 것도

본 논문에서는 문제가 있다고 주장한다

 

 

 

 

 

external supervision의 문제는 너무 비싸다는 것이다

 

 

 

 

 

 

self alignment도 문제가 있다

미리 정해진 principle로부터 출발한건데 그거에 기반해서 진행을 하는데

이게 flexible하지 않다는 것이다

딱 그 원칙에 의해서만 수행하는거라서 확장성이 부족하고

추가적으로 서로 다른 관점들을 반영하지 못한다

 

 

 

 

 

 

본 논문의 목표는 다음과 같다

 

social scene simulation으로 해결하는 것이다

어떤 시뮬레이션 환경을 만들어서 그 시뮬레이션 결과를 이용해서 align시킨다

해로움에 대해서 align을 진행하는데 어떤 해로움을 유도하는 프롬프트가 들어왔을 때

시뮬레이션을 거치고 그 시뮤ㅠㄹ레이션으로부터 나오는 어떤 결과로부터 다시 학습을 수행한다

이러한 방법의 장점은

1인극이기 때문에 external guidance가 필요없게된다

self alignment를 좀 개선한 것이다

 

roleplaying 내용을 바탕으로 시뮬레이션을 진행한것이기 때문에 다양한 관점들을 반영할 수도 있다

LLM이 pretraining, instruction tuning 과정에서 이것저것 많이 학습을 했는데

거기서 사회적인 규범을 많이 학습을 했을 것이다

그래서 LLM이 이미 알고있는 사회적 규범들을 끌어내주는 것이다

 

 

 

 

 

당연하게도 다양한 역할들이 존재해서 그들끼리 interaction을 시뮬레이션 할 것이고

어떤 해로움을 유발하는 프롬프트가 들어왔을 때

이것저것 시뮬레이션을 하고 어떤 결과를 초래할텐데

그 결과를 바탕으로 align을 해보겠다는 것이다

 

그렇다면 이게 왜 말이될까?

실제로 Human value, 도덕 ..

이런 것들에 태어날때부터 아는게 아니라 사회화과정을 거치면서 이런건 하면 안되는거구나 .. 

이런것들을 청소년기에 깨닫는 것인데

이런 과정을 LLM에도 적용할 수 있다는 것이다

 

 

 

 

 


overview이다

 

해로움을 유발하는 instruction이 들어오고

그럼 LLM이 해로운 답변을 내뱉게 될 것이다

이걸 바탕으로 roleplaying을 진행한다

그게 social scene simulator이다

 

시뮬레이션을 가지고 정제된 답변을 내보낸 다음에 처음 유도 프롬프트 pair가 생성이 된다

어떻게해서 refine된 response를 얻어낼 수 있을까

 

 

 

 

 

새로운 프롬프트가 들어왔을 때 response가 나오게 된다

align되지 않은 모델로 시작하는데

llama2를 base로 해서 아무튼 moral align 부분은 다 뺀 모델로부터 시작한다

추가적으로 moral align을 하지 않은 모델로 출발하기 때문에 초반에는 해로운 답변이 나온다

 

 

 

 

 

 

뭐 은행에서 돈훔치는걸 예시로 삼는다고 한다

 

 

 

 

 

롤플레잉을 위한 초석인 rule들을 초기화 한다

 

하나의 LLM만을 가지고 진행을 하였는데 르폼프트로만 진행하였다

똑같은 LLM에게 저런 user query와 response들을 주고 이와 관련된 역할들이 뭐가있을까를 물어본다

그렇게 물어보면 LLM이 막 저렇게 얘기를 해준다고한다

그래서 각각의 저런 역할들에 대해서 agent들을 생성한다고 한다

 

 

 

 

 

시뮬레이션에 들어가게되면 뭐 어떤 결과를 초래하게 될 것이다

뭐 은행이 털렸다거나 하는.. 그런 결과가 나오게 된다

이 시뮬레이션이 어떻게 되는지 한번 dive해서 들어가보자

 

첫 번째로 이전 단계에서 역할들이 초기화되었기 때문에

처음에 강도가 먼저 은행에 들어와서 총을 갖고 들어와서 .. 뭐 이런 행동들이 먼저 일어나고

이거에 대해서 은행 직원이 영향을 받게 되고

그렇게 이런식으로 쭉쭉쭉 순차적으로 시뮬레이션이 이루어지게된다

 

 

 

 

 

 

그런데 이런식으로 순차적으로 진행하게 되면 무슨 문제가 발생해?

 

action들이 일관되지 않을 수가 있다

커뮤니케이션이 너무 투명하다라는 문제도 발생한다

강도의 생각과 police의 생가이 벌써 공유되면 또 문제가 발생할 수 있다

그래서 이 agent object들이 잘 시뮬레이션 될 수 있게 modulator라는 것을 둔다

이 modulator 역시 똑같은 LLM에게 프롬프트를 줘서 하는 것이다

 

 

 

 

 

시뮬레이션이 턴바이턴으로 진행될 때

모두가 조종자의 감독 아래에서 진행된다

 

 

 

 

 

 

조종자의 첫 번째 역할은 기억하는 역할이다

전체를 관장하는 모듈레이터는 모든 것을 다 기록한다

그리고 기록을 할 때마다 비평도 진행한다

이 액션들이 말이 되는지도 조종자가 관리한다

마지막으로 이전에 말했던 문제 중 하나인 transparent한 communication 이것도 모듈레이터가 관장한다

 

 

 

 

 

 

한 가지 예시이다

 

시뮬레이션이 진행되고 난 후의 예시인데

강도가 생각을 한다

security를 어떻게 부술까.. 이런것들을

모듈레이터가 이에 관한 비평을 저장한다

 

 

 

 

 

시뮬레이션을 종료하기 위해서는 2가지 조건이 있어야한다

처음은 모듈레이터가 판단했을 때 상황이 말이 안된다거나

아니면 액션들이 새로 생성되지않는 형태로 가게될 때이다

 

 

 

 

 

 

이전에 메모리에 쌓아왔던 것을 요약을 하고

self critique and revision을 수행한다

이 초래된 결과를 잘 반영한 response를 생성해서

최종적으로는 위와 같이 예시가 나오게 된다

 

 

 

 

 

그럼 최종적으로 해로운 query와 어떤 시뮬레이션을 거쳐서

초래된 결과를 잘 반영한 response pair가 생성이 된다

이 pair를 가지고 SFT dataset을 만드는거고 이를 바탕으로 LLM을 align 시킨다

 

 

 

 

 

이 논문이 말이 되는 이유는 무엇일까

 

롤플레잉을 통해서 이 입장 저 입장도 생각해보는 그런 것 때문에

조금 더 잘될 것이라고 생각할 수가 있다

중간중간 다양한 role의 입장에서 비평을 했기 때문에 다양한 관점을 잘 반영할 수가 있다

CAI와 비교했을 때 rule-based와는 다르게 매트릭스가 실제로 확장이 가능할 때

새로움을 유발하는 social norm knowledge를 평가할 수가 있다

이미 LLM이 알고있는데 다만 까먹었을 뿐인 사회적 규범들을 일깨워준

역할을 한게 아닐까라고 추측할 수 있다

 

 

 

 

 

평가는 이러한 방식으로 진행했는데 human evaluation으로도 진행했다

 

 

 

 

 

결과를 살펴보면 이전 방법론들 사이에 comparison test를 진행했는데

3가지 벤치마크를 통해서 진행을 했다

매트릭스 한게 거의 80%에 육박하게 이겼다고 한다

 

 

 

 

 

human comparision test도 진행을 했는데 GPT4보다 좋았다고한다

 

 

 

 

 

이건 qualitive하게 살펴본 것이다

MATRIX-tuned LLM은 잘한다..~

 

 

 

 

 

 

MATRIX는 8-90%에 육박하게 다른 것들을 이기고 있었다

그래서 이게 GPT가 좋아할만한 답변들을 생성하는게 아닐까? 싶었다고한다

이게 말을 끄는 경향이 있어서 좀 더 깊게 파볼 여지는 있다고 한다

 

또한 본 논문에서는 무해한 것에 대해서만 했는데

이런 방법이 다른 컨디션을 준다면 더 확장이 가능하다

 

 

 

 

 

 

 

결국 본 논문의 아이디어는 어떤 리허설을 만들어서

이 케이스에 대해서 결과를 미리 한 번 생각해보고

서로 다른 관점들을 생각해보고 그 결과를 잘 생각한 답변을 해보게 하겠다는 것이었다

 

즉 LLM이 이미 알고있는 것을 일깨울 뿐이다

추가학습도 필요가 없다

 

single LLM으로 수행했고 성능도 잘 나왔고 scalable하다고 한다