home
🤗

LLM은 스스로 답변의 위험성을 판단할 수 있을까?

Author
박우명 / CDO & Head of Research
Category
Paper Review
Tags
Prompting
Alignment
LLM
Published
2023/11/15
AI 요약
5 more properties

도입

LLM은 단순한 prompting만으로 많은 문제에서 뛰어난 능력을 보여주지만 완벽하지는 않음
그 중 대표적인 문제들로는 사실이 아닌 내용을 사실인 것처럼 생성하는 hallucination 문제, 그리고 사회적으로 문제가 있거나 위험한 발언을 생성하는 이슈 등이 있음
이 아티클에서는 bias가 존재하거나 이슈가 되는 내용을 LLM이 스스로 판단하고 억제시키는 논문에 대해서 소개함
참고로 이와 같은 LLM의 ‘self-correction’ 혹은 ‘self-refinement’ 문제에 대하여 더 자세히 살펴보고 싶은 경우 이 survey 논문(Pan et al. (2023)) 및 관련 reference를 참고
리뷰 논문
https://arxiv.org/abs/2309.07124 (Peking Univ, Microsoft Research, Univ. of Sydney, Univ. of Waterloo)

개요

LLM이 생성한 글을 사용자가 원하는 대로 ‘align’시키기 위해서 기존의 많은 연구에서는 preference dataset을 구축하고 reward model을 학습한 후 이 점수를 기반으로 LLM을 RL(e.g., PPO)로 튜닝하는 방식을 많이 사용
실제 OpenAI의 모델들 (InstructGPT, ChatGPT, GPT-4 등)을 비롯하여 Google, Meta, Anthropic 등 거의 모든 곳에서 이 방식으로 튜닝을 하여 LLM을 개발하였음
그러나 reward model을 학습하기 위한 데이터셋 제작은 매우 시간 및 비용이 많이 필요하며 구축 난이도가 높아 개발이 어려움
여기서는 명시적인 reward model 없이 zero-shot/few-shot prompting을 통하여 효과적으로 harmlessness 높이는(즉, harmful 컨텐츠 생성을 억제하는) 결과를 보여줌

방법론

Inference 시점에서 LLM의 생성 결과가 어떤지(e.g., safe? no harm? aligned?)를 자동으로 판단하게 하고 문제가 있는 경우 다시 돌아가서(rewind) 재생성하는 back-and-forth 방식
언제 rewind를 해야 하는지, 어떤 토큰을 어떻게 바꾸고 생성 해야 하는지에 대한 방법론 제시
Self-evaluation : 언제 rewind해야 하는지 판단
Prompting을 통하여 LLM에게 생성된 결과에 대한 판단을 생성함
아래 Prompt만 보면 self-evaluation이 binary로 결과를 생성하지만 이후 전개에서는 점수화하여 사용. 여기서 점수를 0/1 값으로 사용한 것인지 아니면 A에 대한 logit 값과 B에 대한 logit 값을 이용해서 점수화 한 것인지는 불명확함 (개요에서의 그림을 보면 후자가 아닌가 추측됨)
Prompt 예시 (harmlessness 판단)
Forward generation & backward generation : 어떤 토큰을 어떻게 바꾸고 생성 할지 판단
대략적인 overview 수준으로 기술함. 상세한 내용 및 수식은 논문 참조
주어진 상황) 유저로부터 ‘How to rob?’ 이라는 질문이 들어옴. 다음에 나올 토큰 후보 세트에 {”To rob”, “For robbing”}이 존재함
Forward process
“How to rob?”이 leaf node가 아니므로 아래 leaf node 중 하나를 선택해야 함. 여기서는 “To rob”의 점수가 더 높다고 가정하고 이것을 선택
“To rob”은 leaf node이므로 여기서 다음에 나올 토큰을 q개 생성. 위 예시에서는 2개 (”a bank”, “a shop”)을 생성하였고 “To rob”의 leaf node로 추가
Backward process (rewind)
Self-evaluation을 통하여 현재까지 생성된 path에 대한 점수를 측정.
여기서 낮은 점수가 나오면 root node까지 거슬러 올라가서 문제가 되는 path의 sibling을 선택함.
선택한 sibling에 대해서 위 과정을 반복. 이 에제에서는 두 번째 node인 “For robbing”도 낮은 점수가 나왔다고 가정
Subsequence forward process
더 이상 선택할 sibling node가 없으므로 root node로 부터 추가로 next token 후보들을 생성함.
새로 생성한 node에 대해서 rewind 과정을 반복
Local optimum에 빠지지 않게 하기 위하여 최소 TmT_m 만큼은 forward/backward 과정을 반복. 또한 무한 루프에 빠지지 않게 하기 위하여 최대 반복 횟수를 TT로 제한
최종 후보를 선택할 때 rare path에 대해서 가중치 부여
위 과정을 통하여 다음 token을 결정한 후 이것을 새로운 root node로 설정. 그 다음 token에 대하여 위 전체 과정을 반복

결과

주로 Anthropic의 HH dataset으로 실험 진행
LLaMA, LLaMA 2 모든 크기의 모델에서 harmlessness, helpfulness 모두 향상됨. 특히 harmlessness 점수가 크게 향상되며 모델이 클수록 효과가 두드러짐.
Helpfulness의 경우 반대로 모델이 작은 경우 성능 향상 폭이 더 크며 개선 폭이 적은 편
이후 실험은 harmlessness 점수에 대하여 주로 수행
좋은 LLM일수록 훨씬 판단이 정확해짐
RLHF, RLAIF 등과 비교해서 비슷하거나 더 좋은 성능을 보임
논문 내 모든 평가에 GPT-4를 활용함. 실제 사람 평가와 비교할 때 매우 비슷함 (약간 optimistic하게 평가함)

논의사항

작년 Antropic에서 발표한 논문(https://arxiv.org/abs/2212.08073)에서 reward model 학습을 위한 데이터셋 제작의 어려움을 이미 지적한 바 있음
해당 논문에서는 LLM을 통하여 자동으로 preference 데이터를 생성하고 reward model을 학습한 후 RL을 적용하는 방식(RLAIF)을 제안하고 그 유효성을 주장하였음(https://huggingface.co/datasets/Anthropic/hh-rlhf)
이 얘기는 LLM이 이미 harmlessness, helpfulness 등의 측면에서 스스로 판단할 수 있는 능력이 있다는 의미이며 따라서 복잡하게 데이터를 생성하고 reward model을 만들 필요 없이 바로 LLM의 판단에 의해 align시키는 방법이 이론적으로 가능하다고 판단. 이 논문은 그것을 실증했다는 측면에서 의의가 있음
더욱이 최근에는 과거 사람의 판단이 필요했던 영역(e.g., NLG evaluation, fact verification 등)들을 LLM을 통해 자동화하려는 연구가 활발히 진행되고 있으며 이 논문 역시 alignment 문제에 대하여 자동으로 판단한다는 점에서 이러한 흐름에 부합하는 연구라 할 수 있음
논문에서 제시한 방법론 자체가 아주 흥미롭거나 또는 최선의 방법이라기보다는 LLM을 활용하여 모델을 자동으로 align 시키기 위한 사례 중 하나로 생각하면 좋을 것으로 보임
단, 실시간 추론 시 적용하면 inference 시간 및 비용이 엄청나게 늘어나는 단점이 존재함. 다른 use case로는 데이터를 자동으로 생성하고 검수하는 과정에서 적용하는 것도 유용할 것으로 판단함