- 2024년 5월 31일 오후 8:49
- 조회수: 27414
INFORMATION
- 2024년 5월 31일
- 오전 12시 ~
온라인 비디오 시청 (YouTube)

TOPIC
On-Line Video
OVERVIEW
최근 AI 빅테크들은 막대한 자원을 바탕으로 인공지능 모델, 특히 대형언어모델 (LLM)의 추론 능력을 극한으로 끌어올리고 있다. 이러한 발전에는 LLM의 출력 분포를 인간 선호에 맞게 정렬하는 Reinforcement Learning from Human Feedback (RLHF) 학습 방식이 핵심적인 역할을 했다. RLHF는 인간 선호도 데이터셋을 이용해 강화학습 기반으로 모델을 fine-tuning하는 방식인데, 이렇게 학습함으로써 LLM은 더 유용하고 안전한 답변을 생성할 수 있게 된다. 2023년 5월, 이 RLHF 방식에서 보상 모델 학습 없이 인간 선호도 데이터셋만을 이용해 LLM을 직접 fine-tuning하는 Direct Preference Optimization (DPO)이 등장했다. 보상 모델을 명시적으로 정의하지 않고도 인간 선호를 대형 모델에 바로 학습시킬 수 있는 DPO가 공개되자, LLM뿐만 아니라 text-to-image 생성모델, 특히 디퓨전 모델에도 이 기법을 적용하려는 시도가 진행되었다. 이번 세미나에선 RLHF 및 DPO의 개념을 살펴보고 이를 디퓨전 모델에 적용한 두 연구, Diffusion-DPO와 Direct Consistency Optimization에 대해 알아본다.
참고자료:
[1] Christiano, P. F., Leike, J., Brown, T., Martic, M., Legg, S., & Amodei, D. (2017). Deep reinforcement learning from human preferences. Advances in neural information processing systems, 30.
[2] Rafailov, R., Sharma, A., Mitchell, E., Manning, C. D., Ermon, S., & Finn, C. (2024). Direct preference optimization: Your language model is secretly a reward model. Advances in Neural Information Processing Systems, 36.
[3] Wallace, B., Dang, M., Rafailov, R., Zhou, L., Lou, A., Purushwalkam, S., ... & Naik, N. (2023). Diffusion model alignment using direct preference optimization. arXiv preprint arXiv:2311.12908.
[4] Lee, K., Kwak, S., Sohn, K., & Shin, J. (2024). Direct Consistency Optimization for Compositional Text-to-Image Personalization. arXiv preprint arXiv:2402.12004.
청취자 후기

관련 연구가 RLHF인지라 굉장히 흥미롭게 들었다. 다만 일반적으로 사람들이 말하는 RLHF는 언어모델 쪽에 인간 피드백 기반 강화학습을 적용한 사례를 얘기하는 경우가 많고, 나의 주 연구분야는 기존 강화학습 벤치마크인 Robotics나 Game에 인간 피드백 기반 강화학습을 적용하는 것이다. 금일 세미나는 RLHF를 이미지 생성, Diffusion 모델에 적용한 연구에 대해 알아보았다. 이에 대한 이해를 돕기 위해 앞쪽에서 언어모델쪽에서 RLHF에 대한 수식과, Reward Modeling 단계를 거치지 않는 DPO에 대해 설명한 것도 매우 깔끔하고 좋았다. 특히 DPO의 수식을 유도하기 위해서는 일반적으로 Maximum Entropy Offline RL에서 쓰는 Advantage Weighted Regression 수식에서 시작해야 하는데, 이러한 복잡하거나 긴 설명 없이 굉장히 깔끔하게 설명이 잘된 것 같다. 그리고 DPO 및 이후 나오는 Diffusion DPO, DCO에 대한 수식도 잘 설명했으며 특히 Gradient를 분석해서 해당 Loss Function이 모델을 어떠한 방향으로 학습시키게 하는 것인지 설명한 것이 인상 깊었다.
DiffusionDPO의 경우, DPO와 달리 step-by-step으로 생성하기 때문에 Markovian 우도의 곱에 대해 Loss를 정의해야한다. (DPO는 입력 프롬르트에 대한 조건부확률만 구하기 때문에 이전 시점 토큰에 대한 우도를 곱하지 않는 것 같다.) 이러한 점에서 DiffusionDPO는 언어모델쪽보다는 step마다 행동을 취하는 일반적인 강화학습의 Markovian Policy와 더 비슷한 점이 많은 것 같았다. 22p에서 Diffusion DPO에서 beta에 대한 역할을 잘 설명하였는데, beta가 너무 작으면 기존 모델에서 크게 벗어나는 반면, beta가 너무 크면 기존 모델에서 크게 벗어나지 않아 human feedback을 통한 학습이 잘 되지 않는다. 이는 언어모델의 DPO 뿐만 아니라 로봇 분야의 Offline RL/Offline PbRL에서도 동일하게 발생하는 문제인데, 다른 분야임에도 불구하고 일맥상통한 문제를 잘 짚은 것 같다.
DCO의 경우 컨셉은 얼추 이해했으나, Diffusion 쪽이 메인 연구 분야가 아닌지라 깊이 이해하지는 못하였다. 들으면서 이해한바 DCO의 목적은 Personalization, Stylization 등의 Image Editing에서 기존 이미지의 Contents나 Texture등을 잘 보존하자는 맥락인 것 같다.
요즘은 언어 모델 뿐만 아니라 이미지 생성에서도 인간 피드백 기반 학습 프레임워크가 핫 이슈인것 같다. 추후 연구 주제로 이러한 도메인도 접해보면 좀 더 다방면의 연구를 할 수 있을 것 같다. 기깔난 세미나를 만드느라 고생한 건희에게 박수를 보낸다.

Reinforcement Learning from Human Feedback (RLHF)를 사용하여 LLM을 미세 조정함으로써, 사용자의 입력에 대해 안전하고 유용한 답변을 생성하는 연구가 각광받고 있다. 최근에는 RLHF를 보완하는 새로운 학습 방법인 Direct Preference Optimization (DPO)이 등장하였다. 이 방법은 보상 모델을 별도로 정의하지 않고도 인간의 선호 데이터만을 사용하여 LLM을 직접 미세 조정할 수 있는 기술로, 보다 유용하고 안전한 답변 생성을 가능하게 한다. 본 세미나에서는 이러한 DPO 기술을 디퓨전 모델에 적용하는 방법에 대해 집중적으로 다루었다. 세미나는 이론적인 부분뿐만 아니라 실제 적용 사례에 대해서도 다루었으며, 디퓨전 모델에서 사용자의 직접적인 선호를 반영하여 보다 특화된 결과를 얻는 방법을 배울 수 있었다. 첫 번째 연구인 'Diffusion model alignment using direct preference optimization'은 디퓨전 모델에 DPO 손실 함수를 적용하여 사용자의 선호에 맞춰 결과를 조정하는 방법론을 제시하였다. 이어서, 두 번째 연구 'Direct Consistency Optimization for Compositional Text to-Image Personalization'은 텍스트와 이미지 사이의 일관성을 높이는 데 초점을 맞춘 DPO 손실 함수의 적용을 다루고 있다.
이번 세미나에서는 거대 언어 모델과 디퓨전 모델에 DPO 기술을 적용하여 인간 선호도를 반영하는 다양한 연구를 소개하고 있다. 특히, 각 연구에서 기존 디퓨전에서 사용하는 손실 함수에 DPO 손실 함수를 적용하는 방법에 대한 소개가 자세하게 설명되어 복잡한 개념과 접근 방식을 이해하는 데 크게 도움이 되었다. 최신 트렌드를 탐구하는 매우 유익한 시간을 만들어준 건희에게 고마운 마음을 전하며, 이상으로 세미나 후기를 마친다.

최근 모델을 튜닝할 때 강화학습이 많이 적용되고 있다. LLM 분야에서는 RLHF와 DPO 방식이 있는데 이번 세미나는 해당 방식을 diffusion에 반영하는 것을 소개하고 있다. RLHF는 사람의 선호도를 학습한 보상 모델이 필요하다. 이 보상 모델을 통해서 언어모델이 생성한 텍스트의 선호도를 평가하고 언어모델에 반영함으로써 사용자의 선호도를 반영하게 된다. 다만 보상 모델을 사용하여 사람의 선호도를 한 단계 걸쳐서 언어모델에 전달하다 보니 의도하지 않은 경우가 발생하기도 한다. 높은 보상을 받으면서도 부자연스러운 문장을 생성하는 mode collapse가 발생하는 것이다. 따라서 보상 모델을 거치지 않고 사람의 선호도를 바로 언어모델에 반영하는 방법이 DPO이다. DPO는 RLHF의 목적 함수와 언어모델의 목적 함수를 통합하는 방식으로 구성된다. 보상 모델 자체는 사라지지만 이 메커니즘은 언어모델에 포함되어 사람의 선호도를 반영할 수 있다.
최근에는 이 방법론이 언어모델 뿐만 아니라 diffusion 모델에도 적용하는 것이 연구되고 있다. 대표적으로 Diffusion-DPO와 DCO가 있다. Diffusion-DPO는 기존 언어모델과 유사한 방식으로 인간의 선호도를 반영하도록 한다. 다만 언어모델은 한 번의 소통으로 손실 함수가 계산되지만 Diffusion-DPO는 diffusion 고유의 작동 원리 때문인지 다수의 소통을 필요로 한다는 점에서 차이가 있다. DCO는 앞선 모델과 달리 생성된 데이터와 참고한 데이터간의 일관성을 유지하도록 DPO 손실 함수를 사용한다. 기존의 개인화 방법론인 DreamBooth의 경우 prior preservation을 위해서 추가 데이터셋을 구축하고 학습해야 했으나 DCO는 기존 pre-trained 모델과 너무 멀어지지 않도록 하는 DPO의 KL divergence 개념을 포함하고 있어 prior preservation이 불필요하다고 한다. 이 부분은 diffusion을 좀 더 공부해야 이해를 할 수 있을 것 같다.
강화학습을 연구하는 입장에서 다양한 분야에 색다른 방법으로 적용되고 있는 걸 보면 흥미롭고 신기하다. 텍스트에 CNN이 쓰이고 이미지에 Transformer가 쓰이듯이 강화학습도 점점 다른 분야와 융합할 수 있는 재미난 연구가 많이 나오기를 기대한다. 어려운 내용이지만 쉽게 풀어서 설명해준 건희에게 감사의 말을 전한다.

생성 모델은 비지도학습 기반이기 때문에 특별하게 마련된 정답이 없을 경우 성능 평가를 하기가 어렵다. 그러나, 생성 모델이 만들어둔 여러 결과물 중에서 더 잘 생성되었다고 판단하는 것은 인간에 의해 수행될 수 있는데, 이러한 결과들을 활용하여 생성 모델이 인간의 선호도를 더욱 잘 반영할 수 있도록 미세조정 학습을 수행할 수 있게 된다. 오늘 세미나에서는 Direct Preference Optimization with Diffusion Models을 주제로 진행되었는데, 디퓨전 모델이 생성한 결과물이 인간의 선호도를 더욱 잘 반영할 수 있도록 미세조정하는 방법에 관한 내용이었다. 인간의 선호도를 모델에 주입하는 기존 방식에는 강화학습 리워드 모델 기반의 RLHF가 있는데, 오늘 소개된 내용은 DPO 방법이었다. 해당 기법은 리워드 모델을 명시적으로 정의하지 않고도 인간 선호도를 생성 모델에 주입 시킬 수 있는 방법으로, 왜 그리고 어떻게 DPO 기법이 리워드 모델 없이도 기존 생성 모델의 목적함수에 인간 선호도를 반영시킬 수 있는지에 관한 내용을 이해해볼 수 있었다. 디퓨전에 대해 자세한 내용을 모르는 사람이더라도 발표자의 노력으로 인해 핵심 아이디어만큼은 잘 이해할 수 있었던 것 같다 (인간이 선호하는...? 디퓨전 모델의 Consistency를 주입?하는 내용 부분에서 이해가 다소 어려웠다 ㅎㅎ).
좋은 세미나를 준비하느라 고생한 건희에게 감사의 말씀을 전하며 세미나 후기를 마치도록 한다.

Diffusion 모델을 인간 선호도를 반영할 수 있는 Direct Preference Optimization을 기반으로 Finetuning할 수 있는 방법론에 대해 진행되었다. 인간 선호도를 반영하여 튜닝하는 방식은 기존 강화학습에서 제안되었다. 이를 RLHF라고 한다. 하지만 이는 학습 시, Reward Model을 필요로 한다. 이러한 번거로운 절차를 없앤 방법론이 Direct Preference Optimization이다. 간단하게 세미나에서 소개된 방법론을 요약하면 아래와 같다.
1) DPO: Reward 모델을 Loss Function에 통합했다. 이제는 Reward 모델이 필요없다. 단순하게 Finetuning된 모델과 인간의 선호도를 반영하여 Finetuning된 출력값의 비율을 활용한다. 인간이 선호하는 likelihood는 증가하도록 학습하고, 선호하지 않는 likelihood는 감소하도록 학습한다. 추가적으로, 모델이 잘못된 예측을 할 경우, 큰 패널티를 부과하도록 한다.
2) Diffusion-DPO: 말 그대로 DPO를 Diffusion에 적용한다. DPO처럼 인간이 선호하는 이미지는 잘 생성하도록, 인간이 선호하지 않는 이미지는 잘 생성하지 않도록 학습한다. 이때 잘 생성하는지 여부를 단순 Finetuning 모델과 인간 선호도로 Finetuning된 모델의 Output을 비교하여 판단한다.
3) DCO: DPO Loss를 Personalization 또는 Stylization Task에 잘 활용하고자 한다. 이는 선호하지 않는 이미지에 대한 Term은 없고, 선호하는 이미지에 대해서만 반영한다. 또한, 모델이 잘못 예측할 경우 큰 패널티를 부과한다.
본 세미나를 통해 DPO라는 새로운 개념을 알 수 있었다. 인간이 원하는 출력값으로 튜닝하는 해당 방법론은 꽤나 유망한 연구분야로 생각된다. 특히, DPO Loss가 이러한 단순 선호도 뿐만 아니라, DCO처럼 특정 Task에도 적용 가능한 부분이 인상깊었다. 향후 내가 연구하고자 하는 Task에서 DPO Loss를 적절히 응용할 수 있을지 한 번 고민해보면 좋을 것 같다. 유익한 세미나를 준비해준 장건희 연구원님께 고맙다는 말을 전하며 세미나 후기를 마친다.