RL for LLMs - Preference Optimization

2025년에 진행한 CS224R 강의 중 Lecture 10. RL for LLMs:Preference Optimization에 대한 강의 요약
Lecture
CS224R
저자
소속
공개

2026년 3월 19일

강의 및 자료

Lecture Summary with NotebookLM

Introduction

이번에 진행된 강의는 Guest Lecture로써, Direct Preference Optimization (DPO) (Rafailov 기타 (2023)) 논문의 주저자 중 한명인 Archit Sharma가 LLM 학습시 강화학습을 활용한 사례에 대해서 소개했다.

The blessings of scale

AI in 2027

Economist지에 따르면 1950년대부터 시작된 머신러닝의 간단한 모델로 시작해서 2022년에 발표된 Google PaLM 540B (Chowdhery 기타 (2023)) 에 이르기까지 모델은 크기와 연산량이 점점 커지는 추세를 가지고 있고, 특히 2010년대에 넘어서면서부터 scale의 변화가 급격하게 커지고 있다. 이처럼 기술의 발전과 더불어 AI의 발전도 점점 가속화하고 있으며, 심지어는 2027년 후반대에는 Artificial General Intelligence (AGI)의 등장까지 예측하는 보고서(Kokotajlo 기타 (2025)) 까지 등장하였다. 이 때, 생활상에서 자주 접할 수 있는 다양한 도메인에서 인간보다 약 50배 이상의 속도로 추론할 수 있는 Superhuman AI Researcher가 등장할 것이란 내용이 소개되어 있다.

ChatGPT

Claude AI

Gemini

대부분의 사람들에게 많이 알려져있는 LLM의 사례는 위의 그림과 같이 채팅기반에서 사용자의 질문에 대한 답변을 받는 형태로 되어 있고, 이를 위해서 대부분의 LLM은 방대한 양의 인터넷이나 인쇄 자료에서 얻은 텍스트를 바탕으로 어떤 문장을 완성시키기 위한 Next Token을 예측할 수 있도록 학습되었다. 이런 와중에 다양한 기법까지 더해져 다음 단어를 예측하는 것을 넘어서 마치 World Model처럼 어떤 행동을 모델링하기도 하고(Andreas (2022)), 수학 문제, 코딩, 의학 연구에까지 활용되는 어느 정도의 추론 능력까지 자연스럽게 습득하였다.

그런데 이렇게 LLM이 “Next Token”을 잘 예측할 수 있도록 학습된다면, 그만큼 모델의 성능도 더 올라갈까? 그러면 모델의 크기를 더 크게 하고, 학습을 많이 시킨다면 사용자의 의도를 정확하게 인지하고 그에 해당하는 답을 제공할까? 강의자는 이에 대한 반례로 GPT-3의 실패사례에 대해서 공유했다.

GPT-3 Fail Answer

Human Answer

위의 사례는 후술할 Instruction Finetuning (Ouyang 기타 (2022)) 논문과 함께 OpenAI에서 공개한 내용의 사례 중 하나인데, 만약 여섯살의 아이한테 달 착륙에 대한 설명이 필요하다고 가정해보자. 만약 사람이라면, 여섯살 아이의 수준에 맞게 복잡하지 않고, 동화책에 표현되어 있는 것처럼 설명하겠지만, 단순하게 학습된 GPT-3에게 해당 내용을 Prompt로 넣게 되면 이런 친절한 답변 대신, 설명에 필요한 중력 이론이나 상대성 이론, 빅뱅 이론과 같은 여섯살 아이에게는 부적절한 내용이 출력되게 된다. 모델 입장에서는 “사용자의 의도”에 맞게 질문에 대한 답을 출력한 것이 아니라, 인터넷에서 흔히 볼 수 있는 데이터 기반으로 말그대로 Next Token을 정확하게 예측해버린 것이다. 결과적으로 우리가 사용하고 있는 LLM을 실질적으로 도움이 되는 비서로써, 활용하기 위해서는 앞에서 소개한 것처럼 단순히 데이터를 많이 넣고 학습시키는 것 이상으로 다른 방식의 접근이 필요하다는 것을 의미한다.

Instruction Finetuning

앞에서 언급한 것처럼 사용자의 의도와 Language Model간의 정렬(alignment)를 위해서 강의에서 처음으로 소개한 내용은 Pretrain/Finetuning 방법이다.

Pretrain/Finetune

사실 Pretrain/Finetune 개념은 굳이 Language Model에만 한정된 내용이 아니라, 모델 학습에 있어서 사전정보를 유지하면서 새로운 데이터를 활용하여, 현재의 task에 맞게 조절하는 일종의 transfer 역할을 수행했다. 그래서 흔히 NLP에서 많이 소개되는 예시인 Movie Sentiment Analysis에 적용해보면, 사전에 영화에 대한 많은 양의 데이터를 가지고 일반적인 내용에 대해서 학습시킨 모델을 확보한 후, 이를 사용자가 원하는 목적에 맞게 데이터를 추가로 확보하여 그 목적에 맞게 추가 학습을 시키게 된다. 이 때 추가되는 데이터는 사용자의 감정 정도를 판단하는 수준의 label이 많지 않은 형태였고, 사실 기존에 학습했던 데이터에 비해서 추가로 투입되는 데이터 역시 그렇게 많지 않아도 동작하는 것을 보여주는 사례였다.

Scaling up finetuning

그런데 이를 LLM에 적용하기 위해서는 Finetuning 관점에서 더 많은 것을 고민해야 한다. 앞에서 소개한 행동 모델링이나 코딩, 연구와 같이 사용자 의도에 맞는 Reasoning이 이뤄지기 위해서는 다양한 task에도 대응할 수 있어야 하고, 단순히 좋고 나쁜 정도 뿐만 아니라 도메인에 따른 다양한 label도 존재할 것이다.

이 관점에서 다양한 Task를 대응할 수 있도록 Finetuning 관점에서 연구된 모델이 Google에서 나온 FLAN-T5 (Chung 기타 (2024)) 이다.

FLAN-T5
노트

참고로 FLAN-T5의 이름에 대한 유래에 대해서 소개하자면, Google에서는 기존에 T5(Text-To-Text Transfer Transformer) (Raffel 기타 (2020)) 라는 구조의 Language Model이 존재했었고, 해당 모델은 앞에서 소개한 Step1 단계인 Pretrain시 Multi-task Expert의 Mixture 형태로 존재하였다. 그리고 학습시에는 어떤 단어나 구문을 임의로 손상시킨 상태에서 모델이 해당 손상된 영역을 복구하는 형태로 예측할 수 있도록 학습하는 Span Corruption Task 형태로 이뤄졌다. FLAN-T5 (Chung 기타 (2024)) 는 후속 논문으로써, T5 모델에 Instruction Finetuning이 적용된 Finetuned LAnguage Net 이며, 이를 통해서 기존 T5보다 학습되지 않은 새로운 Task에 대해서 일반화 성능을 높였다는 평가를 받았다. Hugging Face에 다양한 하드웨어에 올려볼 수 있도록 사이즈별 checkpoint를 링크를 통해서 공유하고 있다.

Span Corruption task를 통해서 pretrain된 T5 모델을 기반으로, 1800여개의 다양한 Instruction에 대한 task로 Finetuning을 한 FLAN-T5는 Multi-task를 대상으로 한 benchmark인 MMLU(Hendrycks 기타 (2020)), Big-Bench(Srivastava 기타 (2023)) 둥에서 T5 보다 대부분 좋은 성능을 보여주었다.

Scaling Model Size

위의 결과에서 주목할 부분은 모델의 사이즈가 점점 커질수록(80M \(\rightarrow\) 11B) 일반화 성능의 개선폭이 점점 커진다는 점이다. 이를 통해서 Instruction Finetuning 기법이 모델 사이즈에 따라 점점 Scaling되는 특성을 가지는 부분도 유추해볼 수 있다.

Instruction Finetuning

위의 예시는 논문에도 소개된 Finetuning의 효과를 확인할 수 있는 예시였는데, Big-Bench에 포함되어 있는 예제 중 Chain-of-Thought (CoT) Reasoning 과정을 확인하는 것으로, Finetuning하지 않은 모델(PaLM 540B)와 Instruction Finetuning을 수행한 모델(FLAN-PaLM 540B)의 출력을 비교했을 때, 후자가 조금 더 사용자의 의도에 맞는 출력을 내놓는 것을 확인할 수 있었다.

물론 이런 Instruction Finetuning 방법이 장점만 가지고 있는 것은 아니다. 제일 큰 문제는 사실 Finetuning할때 사용할 다양한 task에 대한 데이터를 확보하기가 어렵다는 것이다. 이렇게 어떤 Prompt에 대한 label을 pair로 만들어줘야 하기 때문에 무한정으로 확장하기가 어렵다. 또한 사람이 던질 수 있는 Prompt 중에도 답이 없는 Prompt도 많을 수 있다는 것이다. 예를 들어서 “강아지와 애완용 메뚜기에 대한 소설을 써줘” 와 같은 창의적인 Prompt에는 사실 정해진 답이 없기 때문에, 이를 활용하여 Instruction Finetuning을 수행하기도 어렵다. 그리고 지금 소개한 방법은 엄밀하게 말하면 사용자의 목적에 맞게 모델을 학습할 수 있는 방법론에 대한 내용이지, 이 내용이 반드시 사용자의 선호도를 반영한 학습이라고 말하기는 어렵다.

어떤 주어진 질문에 대해서 딱 이게 답이다라고 하는 Task도 많은 만큼, 단순하게 하나의 정답을 외우게 하는 방법만으로는 사용자가 원하는 비서 역할을 수행할 수 없다. 이때문에 이런 모델을 학습하는데 있어서 사람의 “선호도(Preference)”를 명시적으로 반영할 수 있는 방법에 대해서 고민하게 된다.

Reinforcement Learning from Human Preference

사람의 선호도를 높이는 방법으로 모델을 학습시키는데 강화학습을 활용하는 방법이 제안되기 시작했다. 사실 강화학습의 궁극적인 목적은 목표지점에 도달했을때 얻을 수 있는 총 보상의 기대치가 최대화가 되는 방향으로 policy를 학습시키는 것인데, 가령 주어진 task에 대해서 Language Model을 학습시키는데 있어 강화학습을 적용해본다고 생각해보자.

Reward in Language Model

그리고 Instruction과 이에 대한 Language Model의 output이 있을때, 만약 사람이 눈으로 Language Model의 output을 보고 좋고 나쁜정도를 수치화할 수 있는 방법이 있다고 가정했을때, 이를 Reward로 삼아서 이 reward의 기대치가 최대화가 되는 방향으로 모델을 학습시키면 될 것이다. 그러면 결국 사람이 좋고 나쁜 정도를 수치화한 것 자체가 이미 Preference가 반영된 것이니, 이를 기반으로 강화학습을 활용한 최적화문제를 수행하게 된다.

\[ \max \mathbb{E}_{\hat{y} \sim p_{\theta}(y \vert x)}[R(x, \hat{y})] \]

RL from Human Feedback (RLHF)

이 내용이 이전 강의에서 소개했던 InstructGPT (Ouyang 기타 (2022)) 논문에 소개된 Reinforcement Learning from Human Feedback (RLHF)의 내용이다. 그림을 통해서 확인할 수 있는 것처럼, 1단계에서는 앞에서 소개한 Supervised FineTuning (SFT) 이라는 일종의 Instruction Finetuning을 수행하고, 2,3 단계를 통해서 reward를 최대화되는 방향으로 policy를 최적화하는 형태로 되어 있다.

참고문헌

Andreas, Jacob. 2022. “Language models as agent models”. In Findings of the Association for Computational Linguistics: EMNLP 2022, 5769–79.
Chowdhery, Aakanksha, Sharan Narang, Jacob Devlin, Maarten Bosma, Gaurav Mishra, Adam Roberts, Paul Barham, 기타. 2023. “Palm: Scaling language modeling with pathways”. Journal of machine learning research 24 (240): 1–113.
Chung, Hyung Won, Le Hou, Shayne Longpre, Barret Zoph, Yi Tay, William Fedus, Yunxuan Li, 기타. 2024. “Scaling instruction-finetuned language models”. Journal of Machine Learning Research 25 (70): 1–53.
Hendrycks, Dan, Collin Burns, Steven Basart, Andy Zou, Mantas Mazeika, Dawn Song, 와/과 Jacob Steinhardt. 2020. “Measuring massive multitask language understanding”. arXiv preprint arXiv:2009.03300.
Kokotajlo, Daniel, Scott Alexander, Thomas Larsen, Eli Lifland, 와/과 Romeo Dean. 2025. AI 2027: A Deeply Researched, Month-by-Month Scenario. https://ai-2027.com/ai-2027.pdf.
Ouyang, Long, Jeffrey Wu, Xu Jiang, Diogo Almeida, Carroll Wainwright, Pamela Mishkin, Chong Zhang, 기타. 2022. “Training language models to follow instructions with human feedback”. Advances in neural information processing systems 35: 27730–44.
Rafailov, Rafael, Archit Sharma, Eric Mitchell, Christopher D Manning, Stefano Ermon, 와/과 Chelsea Finn. 2023. “Direct preference optimization: Your language model is secretly a reward model”. Advances in neural information processing systems 36: 53728–41.
Raffel, Colin, Noam Shazeer, Adam Roberts, Katherine Lee, Sharan Narang, Michael Matena, Yanqi Zhou, Wei Li, 와/과 Peter J Liu. 2020. “Exploring the limits of transfer learning with a unified text-to-text transformer”. Journal of machine learning research 21 (140): 1–67.
Srivastava, Aarohi, Abhinav Rastogi, Abhishek Rao, Abu Awal Md Shoeb, Abubakar Abid, Adam Fisch, Adam R Brown, 기타. 2023. “Beyond the imitation game: Quantifying and extrapolating the capabilities of language models”. Transactions on machine learning research.

라이센스