← AI 용어집

AI 용어집 · 심화 · 강화학습 · 언어 모델

DPO 직접 선호 최적화

DPO(Direct Preference Optimization, 직접 선호 최적화)는 사람이 두 답 중 더 낫다고 고른 선호 데이터를 이용해, 별도의 보상 모델이나 강화학습 단계 없이 LLM을 직접 학습시키는 방법이다.

쉽게 말하면 요리사에게 점수를 매기는 심사위원을 따로 길러 내는 대신, 손님이 두 요리 중 고른 쪽 기록을 요리사에게 바로 보여 주며 '이쪽처럼 만들라'고 가르치는 것과 비슷합니다.

어떻게 작동하나

먼저 같은 질문에 대한 두 개의 답과, 사람이 그중 어느 쪽을 더 선호했는지 기록한 데이터를 모읍니다. DPO는 모델이 선호된 답을 낼 확률은 높이고 선호되지 않은 답을 낼 확률은 낮추도록 직접 학습합니다. 이때 학습 전의 원래 모델을 기준으로 삼아, 모델이 원래 모습에서 너무 멀리 벗어나지 않도록 붙잡아 둡니다. 방식은 일반적인 지도 학습과 비슷해서 구현과 운영이 단순합니다.

무엇이 다른가

기존 RLHF는 선호 데이터로 먼저 보상 모델을 학습한 뒤, 그 보상 모델의 점수를 받으며 강화학습을 하는 두 단계를 거칩니다. DPO는 이 두 단계를 하나의 학습으로 합쳐 보상 모델과 강화학습 과정을 생략합니다. 그래서 필요한 계산 자원이 적고, 강화학습 특유의 불안정함도 덜합니다.

RLHF와 DPO 비교선호 데이터 → 보상 모델 학습; 보상 모델 학습 → 강화학습(점수 제공); 강화학습 → 조정된 LLM; 선호 데이터 → 직접 학습; 직접 학습 → 조정된 LLMRLHFDPO선호 데이터A가 B보다 낫다보상 모델 학습강화학습조정된 LLM선호 데이터A가 B보다 낫다직접 학습선호 답 확률↑ 비선호 답 확률↓조정된 LLM점수 제공
RLHF와 DPO 비교 위는 보상 모델과 강화학습을 거치는 RLHF, 아래는 선호 데이터로 모델을 바로 학습하는 DPO입니다.

알아 둘 점

DPO는 미리 모아 둔 선호 데이터로만 학습하는 Off-policy 방식이라, 데이터 품질과 범위에 결과가 크게 좌우됩니다. 모델이 학습 중에 새로 만든 답을 평가받으며 개선하는 강화학습 방식에 비해 성능이 덜 오를 수 있다는 지적도 있습니다. 그래서 실제로는 SFT 뒤에 DPO를 쓰거나, 다른 강화학습 기법과 함께 쓰는 등 상황에 맞게 조합합니다.

예시

오픈웨이트 LLM을 공개하는 곳들이 지시를 잘 따르고 사람이 선호하는 말투로 답하는 '대화용' 버전을 만들 때 DPO를 자주 씁니다. 보상 모델을 따로 학습하고 강화학습을 돌릴 여력이 없는 연구실이나 기업도, 선호 데이터만 있으면 비교적 적은 자원으로 모델을 원하는 방향으로 다듬을 수 있기 때문입니다. 파인튜닝 도구들도 SFT와 함께 DPO를 기본 기능으로 제공하는 경우가 많습니다.

함께 보면 좋은 용어