NL-291, R-Tuning: Instructing Large Language Models to Say ‘I Don’t Know’, NAACL 2024

◼ Comment

  • 여기서 환각은 pretraining에서 배운 지식과 finetuning에서 배운 지식이 다르기 때문에 발생하는게 원인이라고 규정한다
    • 따라서 모델이 모르는 응답에 대해서는 I don't know라고 말할 수 있도록 학습한다는 방법을 제시한다
  • 이전 논문과 유사한 방법인데, 학습할 SFT 데이터에서 모르는 데이터를 먼저 솎아낸다
    • 아는 데이터는 response+I am sure 을 붙이고
    • 모르는 데이터는 response+I am unsure 을 붙여서
    • 데이터를 강화?해서 이걸로 학습하겠다는 것이다
  • 그렇다면 알고 모르는걸 어떻게 판별할 것이냐?
    • R-Tuning
      • pretrained LM으로 SFT 데이터에 대해 테스트해서, 못 맞추는 것은 모르는 데이터라고 보는 것이다
    • R-Tuning-R
      • 데이터를 response+I am sure/unsure로 하지 않고
      • response -> IDK 의 다양한 형식 으로 바꿔서 학습하는 방법
    • R-Tuning-U
      • 정답 데이터가 없는 상황을 가정해서
      • 응답을 여러개 생성해서 불확실성을 계산하여, 데이터에서 상위 50%는 아는거, 하위 50%는 모르는것이라고 가정해서 하는 것
      • self-consistency을 활용한 개념인데, 간단한게 반반으로 나눠서 실험함
      • 실제로는 threhsold을 자동으로 설정해서? 결정하는게 좋을거 같긴한데.. 
    • R-Tuning-R은 부록에서 결과를 제시하고 R-Tuning-U은 간단하게만 실험된게 아쉽다
    • 둘다 나쁘지 않은 아이디어 같은데 좀 더 자세하게 부록에라도 실험됐으면 좋았을거 같음
  • 인퍼런스시 판별
    • 학습을 안하고 위에서 데이터 만드는 방법대로 바로 적용해볼 수 있는데
    • 학습하는게 더 낫다고 한다. 
    • 이 부분은 논문에서도 신기한 부분이라고 함
  • 평가 방법
    • 이렇게 학습한 모델 (R-tuning)으로 먼저 응답을 생성하고, I am 을 뒤에 붙여서 한번더 sure/unsure인지 판별한다
    • 결과는 얼마나 거부하는지랑 AP scores라는 것으로 평가한다
  • 학습한 도메인이 아닌 OOD 에서도 IDK가 잘 발현되는지 확인해야하는데
    • 이는 단일작업/다중작업으로 나눠서 테스트한다
    • 단일 작업 = 싱글 데이터세트에서, 도메인별로 나누는 것 
    • 다중 작업 = 멀티 데이터세트를 학습, 또 다른 데이터를 평가 데이터
    • 결과적으로는 잘 발현된다고 한다
  • 답변 안해야 하는 경우에 대해서도 평가함
    • 지구가 네모난 이유가 뭐야?
    • 같은 말도 안되는 질문을 가진 데이터세트 FalseQA, NEC, SelfAware가 있는데 이거는 나중에 활용하면 좋을 것 같음

Abstract

대형 언어 모델(LLM)은 인상적인 성능으로 많은 분야에 혁신을 가져왔지만, 여전히 여러 가지 문제에 직면하고 있다. 그 중 가장 큰 문제는 존재하지 않는 사실을 생성하는 성향, 즉 '환각(hallucination)' 현상이다. 기존의 Instruction 튜닝 방식은 모델이 특정 지식을 알고 있든 없든 무조건 문장을 완성하도록 강제한다는 점에서 본 연구는 출발한다. 만약 질문이 모델의 지식 범위 밖에 있으면, 모델은 모르는 것을 인정하지 않고 그럴듯한 내용을 만들어내려 한다. 

본 논문에서는 "거부 인식(Refusal-Aware) Instruction 튜닝"(R-Tuning)이라 불리는 새로운 접근법을 제안한다. 이 방법은 먼저 사전학습된 파라메트릭 지식(parametric knowledge)과 Instruction 튜닝 데이터의 지식 간 격차를 확인하고, 지식의 교차점(intersection)을 기준으로 거부 인식 데이터를 구축하여, 모델이 자신의 파라메트릭 지식을 벗어난 질문에 답하지 않도록 훈련한다.

실험 결과 R-Tuning은 모델이 아는 질문에 대한 답변 정확도를 향상시키고, 모르는 질문에 대해서는 답변을 거부하는 능력을 효과적으로 개선하는 것으로 나타났다. 더 나아가 도메인 외(out-of-domain) 데이터셋에서 테스트한 결과, 이러한 거부 능력이 다른 작업에도 일반화될 수 있는 메타 스킬(meta-skill)임을 확인하였다. 추가 분석에서는, 모델이 학습 중 불확실성을 배우는 과정이 기존의 불확실성 기반 테스트 방식보다 불확실성 추정 능력과 보정(calibration) 성능을 더욱 효과적으로 개선한다는 흥미로운 사실을 발견하였다.

1 Introduction

대형 언어 모델(LLM)은 수많은 작업에서 탁월한 성능을 입증했지만, 동시에 여러 가지 문제에도 시달리고 있다. 특히 대규모 모델이 존재하지 않는 사실을 만들어내는 현상, 즉 '환각(hallucination)'이 자주 지적된다(Maynez et al., 2020a). 환각 문제를 완화하기 위해 최근 연구들은 검색 기반(retrieval-based) 방식(Peng et al., 2023; Li et al., 2023b; Luo et al., 2023), 검증 기반(verification-based) 방식(Manakul et al., 2023; Elaraby et al., 2023; Cohen et al., 2023; Du et al., 2023; Gou et al., 2023) 등의 방법을 주로 제안하고 있다.

본 논문에서는 이러한 환각 현상의 근본 원인을, 인간이 라벨링한 Instruction 튜닝 데이터셋에서 얻은 지식과 모델의 파라메트릭 지식(parametric knowledge) 사이의 상당한 격차로 규정한다. 

  • pretraining에서 배운 지식과 finetuning에서 배운지식이 다르기 때문에 환각이 발생?
  • finetuning할때 pretraining에서 안배웠던 지식을 강제로 대답하도록 만들기 때문이라는거 같음

이전 연구들(Min et al., 2022; Wang et al., 2023; Zhou et al., 2023)에 따르면, 대형 모델이 보유한 지식은 대부분 사전 학습 단계(pre-training stage)에서 습득되며, Instruction 튜닝 단계에서는 주로 답변 형식을 배우거나 생각의 흐름(chain-of-thought)을 유도하는 프롬프팅 방식을 학습한다. 

예를 들어, 그림 1을 참조하면, 사전 학습 중에 모델은 방대한 양의 사실적 지식을 파라미터 내에 압축하여 저장하지만, Instruction 튜닝 과정에서는 모델이 갖추지 못한 지식이 포함될 수도 있다. 그러나 전통적인 튜닝 방식은 모델이 모든 문장을 무조건 완성하도록 강요한다. 따라서 모델이 모르는 질문에 직면했을 때조차도 억지로 답변을 시도하게 된다. 오로지 정답만으로 모델을 훈련하면, 모델은 스스로 모르는 것을 인정하기보다는 추측하는 법만을 학습하게 된다. 결국, 모델에게 "모른다(I don't know)"고 표현하도록 명시적으로 훈련하지 않으면, 모르는 질문에 대해서 그런 답변을 전혀 하지 못하게 된다. 따라서 본 연구에서는 모델이 스스로 지식 한계를 파악하고 현명하게 대응하는 능력을 갖추는 것이 무엇보다 중요하다고 주장한다. 이를 위해, 우리는 모델의 파라메트릭 지식과 Instruction 튜닝 데이터의 교차점에서 모델을 튜닝하여, 모델이 자신의 확신(confidence)을 표현하고 모르는 질문에 대해 답변을 거부(refusal)하도록 한다.

이러한 아이디어를 바탕으로 본 논문은 "거부 인식 Instruction 튜닝(Refusal-Aware Instruction Tuning, R-Tuning)"이라 불리는 새로운 Instruction 튜닝 방식을 제안한다. 

  • R-Tuning의 목표는 모델이 언제 지식을 가지고 있는지, 그리고 언제 모른다고 말해야 하는지를 인식하여 답변하는 능력을 갖추게 하는 것이다. 
구체적으로, R-Tuning은 다음 두 가지 단계로 구성된다:

(1) 파라메트릭 지식과 Instruction 튜닝 데이터 간의 지식 격차(knowledge gap)를 측정하여 불확실한(uncertain) 질문을 식별한다. 훈련 데이터를 모델로 한 번 추론한 뒤, 예측값과 실제 레이블(label)을 비교하여 Instruction 튜닝 데이터를 불확실한 데이터(D0D_0)와 확실한 데이터(D1D_1)로 나눈다.

(2) 불확실성을 나타내는 표현(uncertainty expression)을 레이블 뒤에 붙이는 방식으로 "거부 인식 데이터(refusal-aware data)"를 구축하고, 이를 통해 모델을 미세조정(fine-tuning)한다.

본 논문에서는 9개의 데이터셋을 이용하여 단일 작업(single-task)과 다중 작업(multi-task) 실험을 수행했다. 

  • 단일 작업 실험에서 R-Tuning은 불확실한 질문에 대한 답변을 거부할 뿐만 아니라, 확실하게 답변할 수 있는 질문들에 대한 정확도도 향상시켰다. 
  • 다중 작업 환경에서도 우리의 방식은 인도메인(in-domain) 데이터셋에서 다중 작업 학습의 장점을 보여주었을 뿐 아니라, 도메인 외(out-of-domain) 데이터셋에서도 뛰어난 일반화 성능을 나타냈다. 
  • 이는 거부 인식 답변 능력(refusal-aware answering)이 특정 작업에 의존하지 않는 메타 능력(meta-ability)이며, 다중 작업 훈련 및 공동 추론(joint inference)에서 혜택을 얻을 수 있음을 증명한 것이다. 
  • 더 많은 다운스트림 작업(downstream task)을 통해, R-Tuning은 이러한 메타 능력을 더 잘 학습하고 추상화할 수 있었다.

나아가 본 연구에서는 거부 인식 데이터 식별 과정에서 지도학습(supervised) 방식뿐 아니라, 모델에게 같은 질문에 여러 번 답하도록 프롬프팅하고 답변의 일관성(consistency)을 기준으로 지식 격차를 측정하는 비지도학습(unsupervised) 방식도 제안하였다(섹션 5.1). 

  • 실험 결과, 놀랍게도 이 비지도학습 방식이 매우 효과적임이 확인되었다. 
  • 우리의 방식을 불확실성을 학습하는 Instruction 튜닝의 일환으로 해석할 수 있는데, 추가 분석을 통해 학습 단계에서 불확실성을 배우고 이를 활용하여 질문을 필터링하고 답변하는 방식이 테스트 단계에서 직접 불확실성 필터링을 수행하는 방식보다 더 좋은 결과를 얻었다는 흥미로운 결과가 나왔다. 
  • 이러한 발견은 학습 중 불확실성 학습이 모델의 불확실성 추정 능력 및 질문 답변 능력을 모두 향상시킨다는 것을 시사한다. 
  • 또한, 테스트 단계에서의 계산 비용을 줄이고 전반적인 모델의 정확도를 높인다는 점에서 대형 모델의 훈련 과정에 불확실성 학습을 통합하는 것이 매우 유익하다는 점을 강조한다.

요약하자면, 본 연구의 주요 기여는 다음과 같다:

  • Instruction 튜닝 데이터와 파라메트릭 지식 간의 지식 격차를 조사하고, 기존 방식에서 모델이 모든 질문에 답하도록 강제하는 것이 환각 현상의 원인임을 지적하였다.

  • 이를 해결하기 위해, 모델의 지식 범위에 따라 Instruction 튜닝 데이터를 차별화하는 새로운 방식인 R-Tuning을 제안하였다. R-Tuning은 거부 인식 데이터를 구축하여, 모델이 파라메트릭 지식을 벗어난 질문에 대해 답변을 거부하도록 한다.

  • 실험 결과 R-Tuning의 효과성과 일반화 능력을 입증하였으며, 모델이 학습한 거부 능력은 특정 작업에 구애받지 않는 메타 능력으로서 다중 작업 훈련을 통해 더욱 강화될 수 있음을 확인하였다.

2 거부 인식 Instruction 튜닝 (Refusal-Aware Instruction Tuning)

이 섹션에서는 거부 인식 Instruction 튜닝(Refusal-Aware Instruction Tuning, R-Tuning) 방식을 소개한다. 

R-Tuning의 핵심 아이디어는 크게 두 단계로 나뉜다. 

  • 첫 번째 단계는 원본 모델이 보유한 파라메트릭 지식의 경계를 넘어서는 Instruction 튜닝 데이터셋의 불확실한 데이터 인스턴스를 식별하는 것이다. 
  • 두 번째 단계는 이렇게 식별된 데이터를 바탕으로 확실한 데이터셋(certain dataset)과 불확실한 데이터셋(uncertain dataset)을 구성하는 것이다. 
이어서 Instruction 튜닝 및 추론 프로세스에 대해 자세히 설명한다. 

그림 2는 R-Tuning의 개념을 시각적으로 나타낸 것이다.

2.1 거부 인식 데이터 식별(Refusal-Aware Data Identification)

R-Tuning의 첫 번째 단계는 LLM의 파라메트릭 지식(parametric knowledge)과 Instruction 튜닝 데이터 간의 지식 격차(knowledge gap)를 측정하는 것이다. 이를 위해 모델에게 특정 질문을 주고 예측을 수행하게 한 뒤, 특정 지표(metrics)를 사용하여 모델이 실제로 답을 알고 있는지를 판단한다. 여기서는 질의응답(Question Answering, QA) 작업을 예로 들어 설명하겠다.

질의응답 훈련 데이터셋이 다음과 같이 주어졌다고 하자.

D={(q1,a1),(q2,a2),,(qn,an)}D = \{(q_1, a_1), (q_2, a_2), \dots, (q_n, a_n)\}

여기서 각 (qi,ai)(q_i, a_i)는 질문-답변 쌍(question-answer pair)이며, 총 nn개의 질문-답변 쌍이 있다. 우리는 이러한 데이터를 활용한 지도학습(supervised) 기반의 식별 전략(identification strategy)을 도입한다.

먼저, 사전 학습된 모델 MM에게 데이터셋 DD의 모든 질문에 대해 답변을 생성하도록 한 뒤, 모델의 예측(prediction)과 실제 정답(label)을 비교하여 질문을 두 가지 집합으로 나눈다. 

모델의 예측이 실제 정답과 일치하면 해당 질문은 확실한(certain) 데이터셋 D1D_1에 할당하고, 그렇지 않으면 불확실한(uncertain) 데이터셋 D0D_0에 포함시킨다.

그림 2의 왼쪽 부분을 보면, 모델의 예측값("Paris")이 실제 정답("Paris")과 일치하므로 확실한 데이터 D1D_1에 속하게 되며, 이는 모델의 파라메트릭 지식이 이 질문에 답할 능력이 있다는 것을 보여준다. 

반대로 오른쪽 부분에서는 예측과 정답이 불일치하기 때문에 해당 질문은 불확실한 데이터 D0D_0으로 분류된다. 결과적으로 훈련 데이터셋은 모델이 갖춘 파라메트릭 지식과 훈련 질문이 요구하는 지식 사이의 격차를 기준으로 D0D_0D1D_1의 두 가지 집합으로 분할된다.

  • 즉, pretrained 모델이 정답을 맞추면 = match로 확실한 데이터 (D1)이 되고
  • pretrained 모델이 정답을 틀리면 = mismatch로 불확실한 데이터 (D0)이 된다

위에서 설명한 지도학습 기반 전략은 정답(label)이 반드시 필요하지만, 이외에도 효과적인 비지도학습(unsupervised) 방식도 존재하며, 이에 대해서는 추가적인 분석(섹션 5.1)에서 논의한다.

2.2 거부 인식 데이터 구축(Refusal-Aware Data Construction)

거부 인식 데이터는 프롬프트 템플릿(prompt template)을 추가하여 구축된다. 본 논문에서는 원본 레이블(label)을 유지하면서 그 뒤에 불확실성을 나타내는 표현(uncertainty expression)을 덧붙이는 패딩(padding) 방식을 도입한다. 이 템플릿은 다음과 같은 형태로 표현된다:


확실한 데이터셋(D1D_1)은 위의 템플릿 뒤에 "나는 확실하다(I am sure)"라는 표현을 덧붙여 구성하며, 불확실한 데이터셋(D0D_0)은 템플릿 뒤에 "나는 확실하지 않다(I am unsure)"라는 표현을 덧붙여 구성한다. 우리가 사용하는 프롬프트는 다음과 같다:

"당신은 당신의 내부적 지식을 바탕으로 이 질문에 정확하게 답했다고 확신합니까?(Are you sure you accurately answered the question based on your internal knowledge?)"

그림 2에서 나타난 것처럼, 확실성(certainty)과 불확실성(uncertainty)을 나타내는 표현을 추가함으로써 R-Tuning은 모델에게 질문에 대한 불확실성을 표현하는 방법을 학습시킨다. 

  • 이 템플릿은 모델이 모든 레이블 정보를 학습하는 동시에 불확실성을 표현하도록 명시적으로 지시한다. 
  • 원래 gold response 뒤에 프롬프트를 붙인다는 것인듯
  • 프롬프트라 함은 I am sure/unsure 을 말하는 것
  • 즉, pretrained model이 아는건 I am sure, 모르는건 I am unsure로 하겠다는 것
  • 근데 알고 모르는것은 여기서는 그냥 한번 추론으로 판단하는것인듯? self-consistency 이용안한듯

한편, 이와 대조적으로, 불확실한 질문에 대해서는 원본의 레이블을 직접 불확실성 표현으로 교체(replacement)하는 방식도 존재한다. 본 논문에서는 이를 **대체 방식(replacement method)**이라 부르며, 이 방식의 효과성에 대해서는 추가적으로 조사하였다(섹션 A.3).

A.3 레이블 대체(Label Replacement)

본 논문의 주 실험에서는 데이터 구축 과정에서 패딩(padding) 방식을 사용하였다. 패딩 방식 외에도 불확실한 질문(uncertain questions)에 대해서는 원래의 레이블을 직접 불확실성 표현(uncertainty expressions)으로 교체하는 대체(replacement) 전략도 고려할 수 있다. 이를 통해 만들어지는 변형된 모델을 R-Tuning-R이라 부른다.

예를 들어, 확실한 데이터(D1D_1)는 다음과 같은 형식으로 구성된다:

Q:{질문},A:{답변},Q: \{\text{질문}\}, A: \{\text{답변}\},

반면, 불확실한 데이터(D0D_0)는 다음과 같이 구성된다:

Q:{질문},A:{불확실성 표현}.Q: \{\text{질문}\}, A: \{\text{불확실성 표현}\}.

이때, 불확실성을 나타내는 표현은 여러 가지가 있을 수 있다. 우리는 표현의 다양성을 높이기 위해 Yin et al.(2023)에서 제안한 16가지의 불확실성 표현을 사용하였다. 이 16가지 표현의 구체적인 목록은 부록 A.5에 나와 있다.

우리는 ParaRel 및 MMLU 데이터셋을 대상으로 R-Tuning-R의 성능을 평가하였으며, 일반적인 바닐라 파인튜닝(vanilla fine-tuning) 전략 및 사전학습된 원본 모델과의 비교를 수행하였다. 

실험 결과는 그림 5에 나타나 있다. 우선, 인도메인(in-domain)과 도메인 외(out-of-domain) 테스트 데이터셋 모두에서 R-Tuning-R의 정확도는 사전학습된 원본 모델(Pretrain-T)보다 높게 나타났다. 이는 확실히 답할 수 있는 질문에만 모델이 응답하도록 유도한 덕분이다.

자세한 결과 및 답변 비율(answer rate)은 표 8에 보고되어 있으며, 이 표를 통해 모델이 특정 질문에 대한 답변을 효과적으로 거부할 수 있음을 알 수 있다. 또한, R-Tuning-R은 자발적으로 답한 질문들에 대해 Vanilla 모델보다 상당히 높은 정확도를 보이며, 이는 제안한 방법의 효과성을 증명하는 것이다. 이는 특히 고무적인 결과인데, R-Tuning-R이 Vanilla 방식보다 적은 수의 정답 레이블만으로 훈련되었음에도 불구하고 더 높은 성능을 보였기 때문이다. Vanilla는 전체 훈련 데이터의 모든 레이블로 학습된 반면, R-Tuning-R은 확실한 데이터에 대해서만 원래의 레이블로 학습되었다. 일반적으로 더 큰 규모의 모델이 더욱 강력한 거부(refusal) 능력을 가진 것으로 나타났다. 그림 5에서 보듯이, 모델의 크기가 커질수록 모델이 자발적으로 답한 질문의 정확도도 높아졌다. 또한 Pretrain-W 모델의 높은 정확도는 R-Tuning-R이 선택한 질문들이 사전학습된 모델의 파라메트릭 지식 범위 내에 있다는 것을 의미한다.

요약하자면, 기존의 Vanilla 파인튜닝과 비교할 때, R-Tuning-R은 모델이 모르는 질문을 거부하는 능력을 제공하며, 이를 통해 정확도를 향상시키고 환각(hallucination)을 방지한다. R-Tuning-R이 어떻게 작동하는지에 대한 사례 연구는 표 9에 나타나 있다. 모델들이 자신들의 지식 범위를 벗어난 질문과 마주쳤을 때 상당히 다른 양상을 보인다. Vanilla 모델은 지식이 없을 때에도 억지로 답변을 만들어내는 환각 현상을 보이는 반면, R-Tuning-R은 모르는 경우 "모른다(do not know)", "알려져 있지 않다(not known)", "불가능하다(impossible)"와 같은 표현을 명확히 사용하여 거부한다. 따라서 R-Tuning-R의 거부 능력은 환각을 감소시키는 결과를 가져온다.

그러나 이러한 R-Tuning-R 방식에도 두 가지 단점이 존재한다.

(1) 대체 방식은 학습에 활용될 수 있는 소중한 정답 레이블(label) 정보를 포기한다.
(2) R-Tuning-R은 답변 또는 불확실성 표현 둘 중 하나만 출력할 수 있으며, 둘을 동시에 출력하지 못한다. 이로 인해 정밀도(precision)와 재현율(recall)을 동시에 고려하기 어려워진다.

이러한 문제점을 해결하기 위해, 본 연구의 주된 접근 방식에서는 모든 질문에 대해 정답 레이블과 불확실성 표현을 모두 덧붙이는 패딩(padding) 전략을 채택하였다. 이 방식을 통해 모델은 답변을 예측함과 동시에 불확실성도 표현하도록 학습된다.

  • 여기서 R-Tuning-R와 R-Tuning을 명시적으로 성능 비교는 안하는거 같음. R-Tuning-R은 다른 논문의 방법이긴 함. (불확실한 데이터를 선별하는 방식만 다를 뿐)
  • 어쨌거나, 이렇게 학습하는게 나쁘지는 않은듯

2.3 학습과 추론 (Training and Inference)

거부 인식 데이터셋(refusal-aware dataset)을 구축한 후, 언어 모델의 표준적인 미세조정(fine-tuning) 절차를 따른다. 모델은 질문과 답변으로 이루어진 토큰 시퀀스 t1,t2,,tTt_1, t_2, \dots, t_T를 입력으로 받아, 각 질문에 따라 답변 부분을 예측한다. 학습의 목적 함수는 표준적인 교차 엔트로피 손실(cross-entropy loss)로 정의되며, 다음과 같다:

L = -\frac{1}{T} \sum_{i=1}^{T} \log P(t_i|t_1, t_2, \dots, t_{i-1})

여기서 P(tit1,t2,,ti1)P(t_i|t_1, t_2, \dots, t_{i-1})는 모델이 예측한, 이전 토큰 t1,t2,,ti1t_1, t_2, \dots, t_{i-1}이 주어졌을 때의 ii-번째 토큰 tit_i의 확률을 나타낸다. 

참고로 우리는 오직 답변(answer) 부분과 불확실성(uncertainty) 표현 부분에 대해서만 손실을 계산하고, 질문(question) 부분의 손실은 제외한다.

  • SFT 학습 방식이라는 듯

추론(inference) 단계에서는 입력된 질문을 앞서 정의한 템플릿(식 (1))에 맞추어 구성한 뒤, 

모델이 해당 질문에 대한 답변을 출력하게 한다. 이어서 다음과 같은 설계된 프롬프트 템플릿이 질문과 답변 뒤에 추가된다:

"당신은 당신의 내부적 지식을 바탕으로 이 질문에 정확하게 답했다고 확신합니까? 나는 (Are you sure you accurately answered the question based on your internal knowledge? I am)"

이 프롬프트를 통해, 모델은 이전의 문맥에 대한 자신의 불확실성(uncertainty)을 출력할 수 있게 된다. 

평가 단계(섹션 3.3 참조)에서는 이 불확실성 표현의 확률과 답변 예측 확률을 결합한 가중치 조합을 신뢰도(confidence value)로 사용하여 평균 정밀도(Average Precision, AP) 점수를 계산한다.

  • 즉 인퍼런스를 두번 하는 것인듯. 일단 답변 생성하고, 뒤에다가 위 처럼 "정확하게 답변했는지" 물어봐서 I am sure 혹은 I am not sure인지 불확실성을 체크하게한다
  • 근데 이미 학습때 저 부분까지 학습됐다면, 첫 번째 응답에서 I am sure 이런게 같이 튀어나올거 같긴한데? 흠
  • 평가를 위해서 인퍼런스를 2번하는거지, 실제로는 한번만 해서 사용할 수 있긴할듯

3 실험 설정 (Experimental Settings)

본 섹션에서는 먼저 벤치마크로 사용된 데이터셋들과 이에 따른 평가 방식에 대한 개요를 설명한다. 이후 후속 서브섹션에서 베이스라인 모델과 구현(Implementation) 세부 사항을 각각 제시한다.

3.1 데이터셋 (Datasets)

다양한 작업(task)들에 따라 데이터 형식이 다르기 때문에, 본 연구에서는 다음 두 가지 형식으로 하위 작업 데이터를 통일하였다.

  • 질의응답(Question-Answering): 주어진 질문에 대해 모델이 직접 답변을 생성한다. 이 형식에는 다음 데이터셋들이 포함된다.

    • ParaRel (Elazar et al., 2021)

    • HotpotQA (Yang et al., 2018)

    • SelfAware (Yin et al., 2023)

    • HaluEval (Li et al., 2023a)

    • FalseQA (Hu et al., 2023)

    • NEC (Liu et al., 2023)

  • 다지선다(Multiple-Choice): 질문과 여러 개의 선택지가 주어지며, 모델은 이 중에서 하나의 옵션을 선택한다. 이 형식에 해당하는 데이터셋들은 다음과 같다.

    • MMLU (Hendrycks et al., 2021)

    • WiCE (Kamoi et al., 2023)

    • FEVER (Thorne et al., 2018)

데이터 처리와 평가 방식에 대한 자세한 설명은 부록(Appendix A.1)에 나와 있다.

본 연구에서는 두 가지 유형의 실험을 설계하였다.

  • 단일 작업(Single-task): 단일 작업 실험은 개별적인 작업에서의 학습 효과를 검증한다. 본 논문에서는 ParaRel 및 MMLU 데이터셋을 이용하여 각각 실험을 진행했다. 데이터셋을 수작업으로 훈련셋(training set), 인도메인(in-domain) 테스트셋, 도메인 외(out-of-domain, OOD) 테스트셋으로 나누었다. 각 데이터셋의 질문은 도메인(domain)별로 분류되어 있다. 도메인 목록에서 앞쪽 절반의 도메인들에 속한 질문들을 인도메인으로 선택했고, 나머지 후반부 도메인들에 속한 질문들은 도메인 외(OOD) 데이터로 선택했다.

  • 다중 작업(Multi-task): 다중 작업 실험은 모델의 일반화(generalization) 성능을 평가하는 데 목적이 있다. 다중 작업 실험에서는 ParaRel, MMLU, WiCE, HotpotQA, FEVER의 5개 데이터셋을 혼합하여 새로운 훈련 데이터셋을 구성하였다. 테스트 단계에서는 각 데이터셋의 원래 테스트셋(인도메인)에 대한 성능 평가뿐 아니라, 모델이 학습 과정에서 전혀 보지 못한 새로운 테스트셋(도메인 외, 예를 들어 HaluEval)에 대해서도 평가를 수행하였다.

OOD 상황에서 모델이 잘 답변하는지를 보기 위해서 학습과 테스트 도메인을 다르게 해야하는데
  • 단일 작업 = 싱글 데이터세트에서, 도메인별로 나누는 것 
  • 다중 작업 = 멀티 데이터세트를 학습, 또 다른 데이터를 평가 데이터
  • 위 처럼 구성한 것 같음

3.2 베이스라인 모델 (Baselines)

본 연구에서는 다음과 같은 세 가지 베이스라인 모델을 사용하였다.

  • Pretrain-T:
    사전학습(pre-trained)된 원본 모델의 성능을 전체 테스트 셋에서 평가한다.

  • Pretrain-W:
    모델이 확신을 가지고 자발적으로 답변한(willingly answered) 질문들에 대해 원본의 사전학습 모델의 성능을 평가하여,
    모델이 확신하고 답변한 질문들이 원래 베이스 모델의 지식 범위 내에 있는지의 여부를 확인한다.
    직관적으로, 확신 있게 답변된 질문들이 실제로 베이스 모델의 지식 범위 내에 있다면, 이 베이스라인의 성능이 높게 나타날 것이다.
    얘는 테스트셋이 다르다는 것. R-Tuning으로 학습된 모델이 I am sure한 데이터에 대해서만 평가하겠다는 것이다. 이러한 데이터가 willingly answered?라고 함.
    이 베이스라인의 의도는 R-Tuning된 모델이 확신을 가진 데이터가 원래 베이스 모델의 지식 범위 내에 있는지 판단하겠다는것

  • Vanilla: (일반적인 SFT 모델)
    모든 질문과 정답 레이블을 포함하는 전체 데이터셋 DD로 모델을 미세조정(fine-tuning)한 전통적인 방식이다. 이는 기존의 일반적인 Instruction 튜닝 방식에 해당한다.

3.3 평가 방법 (Evaluation)

오직 정답(answer) 또는 "모름(unknown)" 표현만을 출력하는 모델의 경우, 평가할 때 모델이 자발적으로 답변한(willingly answered) 질문에 대해서만 정확도(accuracy)를 계산한다. 

이때 정확도는 다음과 같이 계산된다:

\text{accuracy} = \frac{\text{정확하게 답변한 질문의 수}}{\text{자발적으로 답변한 질문의 총 수}}

  • R-Tuning-R은 모르면 모른다고 대답하는 식인데, 이러면 입력에 대해 맞고 틀리고를 판단하기 애매하다는 것
  • 즉 이런 모델은 안다고 대답한 상황에 대해서만 정확도를 평가하겠다는 것

한편 R-Tuning의 경우, 답변과 불확실성(uncertainty)을 모두 출력할 수 있기 때문에, 먼저 모델에게 답변을 생성하도록 요청하고, 이어서 불확실성 표현을 별도로 요청한다. 이렇게 얻어진 불확실성(uncertainty)과 모델의 예측 성능을 바탕으로 정밀도-재현율(precision-recall) 관계를 평가한다. 

이를 위해 본 논문에서는 평균 정밀도 점수(Average Precision, AP score) 를 사용한다. AP 점수는 올바른 예측 결과를 잘 식별하고 순위를 매기는 능력을 측정하는 지표로, 원래는 객체 검출(object detection) 분야에서 유래한 평가 척도이다(Everingham et al., 2010). 예측 결과를 신뢰도(confidence) 순서로 높음에서 낮음으로 정렬하고, 각 임계값(threshold)마다 정밀도(precision)를 계산하여 이들의 평균을 AP 점수로 사용한다. 구체적인 공식은 다음과 같다:

\text{AP} = \sum_{k=0}^{n-1} \bigl(R(k+1)-R(k)\bigr)\times P(k)

이때, nn은 데이터의 개수이고, kk는 현재 임계값에서 선택된 데이터의 수를 의미한다. 여기서 정밀도(precision) P(k)P(k)와 재현율(recall) R(k)R(k)은 다음과 같이 정의된다:

R(k) = \frac{\text{k번째 임계값 이상의 답변 중 정답 개수}}{\text{전체 정답 개수}}

이상적인 모델은 정답을 높은 신뢰도로 예측하고, 잘못된(환각된) 답변은 상대적으로 낮은 신뢰도로 예측하여 높은 AP 점수를 얻는다. 반면, 모든 답변을 높은 신뢰도로 예측하는 모델은 각 임계값에서 정밀도가 높지 않기 때문에, AP 점수가 상대적으로 낮아지게 된다.

여기서 

  • confidence = 응답의 생성확률 x max(sure 확률, unsure 확률)
  • 그다음 confidence로 순서를 매기고
  • 누적 precision / recall을 계산하여 AP 계산함

순위 질문 모델의 답변 정답 정답 여부 Confidence (모델의 확신 점수)
1 Q1 Paris Paris 0.95
2 Q2 London London 0.90
3 Q3 Tokyo Osaka 0.80
4 Q4 New York New York 0.70
5 Q5 Berlin Hamburg 0.50
순위 정답 여부 지금까지 맞힌 정답 수 지금까지 총 예측 수 Precision Recall
1 1 1 1/1 = 1.00 1/3 ≈ 0.33
2 2 2 2/2 = 1.00 2/3 ≈ 0.67
3 2 3 2/3 ≈ 0.67 2/3 ≈ 0.67
4 3 4 3/4 = 0.75 3/3 = 1.00
5 3 5 3/5 = 0.60 3/3 = 1.00

이 예시에서 Recall이 바뀌는 지점만 고려하면:

  • Recall 0 → 0.33: Precision = 1.00
    (0.33 - 0.00) × 1.00 = 0.33

  • Recall 0.33 → 0.67: Precision = 1.00
    (0.67 - 0.33) × 1.00 = 0.34

  • Recall 0.67 → 1.00: Precision = 0.75
    (1.00 - 0.67) × 0.75 = 0.2475

이를 전부 더하면: AP=0.33+0.34+0.2475=0.9175

  • AP는 정답인 예측이 얼마나 높은 confidence로 순서상 상위에 위치했는지를 평가합니다.
  • 이상적으로는 모델이 맞힌 정답이 항상 위쪽에 위치하고 틀린 예측이 항상 아래쪽에 위치할 경우, AP 값이 1에 가까워집니다.
  • 반대로 정답과 오답이 뒤섞여 있거나 오답이 위쪽에 많으면 AP 값이 낮아집니다.

3.4 구현 세부사항 (Implementation)

본 연구에서는 기본 모델(base model)로 OpenLLaMA-3B (Geng and Liu, 2023), LLaMA-7B, 그리고 LLaMA-13B (Touvron et al., 2023) 를 선택하였다. Instruction 튜닝을 수행하기 위해 LMFlow(Diao et al., 2023a)를 사용하였다. 훈련 시에는 epoch 수를 1로 설정했고, 학습률(learning rate)은 2×1052 \times 10^{-5}, 배치 크기(batch size)는 4로 설정하였다. 모든 실험은 Nvidia A100-40GB GPU를 이용하여 진행되었다.

4 실험 결과 (Experimental Results)

본 연구에서는 단일 작업(single-task) 실험을 수행하여 모델의 거부 인식 답변 능력(refusal-aware answering ability)을 검증하였으며, 다중 작업(multi-task) 실험을 수행하여 모델의 거부 능력(refusal ability)의 일반화(generalization) 성능을 조사하였다.

4.1 단일 작업 실험 (Single-task Experiments)

먼저 ParaRel과 MMLU 데이터셋을 사용하여 단일 작업 실험을 수행하였다. 

실험 결과는 그림 3과 표 1에 나타나 있다. 우선, R-Tuning은 자발적으로 답한 질문들에 대한 정확도(accuracy) 측면에서 다른 베이스라인 모델들을 큰 차이로 능가하는 것을 관찰할 수 있었다. 

이는 모든 질문에 무조건 답변하는 기존 방식과 비교할 때, 거부 인식 답변(refusal-aware answering) 능력의 효과성을 입증한 것이다.

또한 R-Tuning이 사전학습(pre-training) 단계에서 모델이 가지고 있던 파라메트릭 지식(parametric knowledge) 내의 질문들을 보다 많이 선택하여 답변했음을 확인할 수 있었다. 이는 Pretrain-W (R-Tuning 모델이 자발적으로 답한 질문들에 대해 원본 사전학습 모델이 평가한 정확도)의 높은 정확도로부터 확인할 수 있다.

전체적으로 표 1에서 알 수 있듯이, R-Tuning은 AP 점수(Average Precision score) 측면에서도 Vanilla 모델을 뛰어넘었다. 이는 모델의 파라메트릭 지식과 잘 부합하는 질문들에 대해서만 높은 확신(confidence)으로 답변함으로써 얻는 이점을 나타낸다.

또한, 큰 모델일수록 베이스라인 모델과 비교하여 AP 점수의 차이가 더 커짐을 발견하였는데, 이는 R-Tuning 방식이 모델 크기(model size)에 따라 우수한 확장성(scalability)을 가지고 있음을 의미한다. R-Tuning의 AP 점수는 모델 크기가 커질수록 꾸준히 증가했지만, Vanilla 모델의 AP 점수는 ParaRel(도메인 외)과 MMLU(인도메인) 데이터셋에서 오히려 떨어졌다. 이 비교 결과는 Vanilla 모델이 확신(confidence) 측면에서 보정 문제(calibration problem)를 겪을 수 있으며, R-Tuning이 확신의 보정 측면에서 보다 우수하다는 것을 시사한다.

R-Tuning은 답변 예측에 대한 신뢰도와 확신(confidence)에 대한 신뢰도를 결합하여 출력물을 평가하므로, 보다 신뢰할 수 있는 결과를 도출할 수 있었다.

모델 평가된 질문 집합
R-Tuning R-Tuning 모델이 자발적으로 답변한 질문만(즉, willingly answered questions만 평가)
Vanilla 모든 질문(전체 테스트 셋)에 대해 평가
Pretrain-T 모든 질문(전체 테스트 셋)에 대해 평가
Pretrain-W R-Tuning 모델이 자발적으로 답변한 질문만

  • 즉 평가 테스트세트는 다르긴 함
  • R-Tuning > Vanilla / Pretrain-W > Pretrain-T 인걸 보면, 안다는 것에 대한 성능은 올라간걸 알 수 있음
  • 즉 모르는것과 아는것을 구분할 수 있다고 볼 수 있음 => refusal-aware answering 능력이 올라갔다
  • R-Tuning 이 Vanilla보다 AP가 높기도함

4.2 다중 작업 실험 (Multi-task Experiments)

다중 작업(multi-task) 실험 결과는 그림 4에 나타나 있다. 

전반적으로, R-Tuning은 인도메인(ID) 및 도메인 외(OOD) 작업 모두에서 AP 점수 측면에서 모든 베이스라인 모델들보다 일관되게 우수한 성능을 보였으며, 이는 거부 인식 데이터셋(refusal-aware dataset)을 도입한 방법론의 우수성을 입증하는 것이다. AP 점수가 높다는 것은 R-Tuning 모델이 잘못된 답변보다 정확한 답변을 더 높은 신뢰도(confidence)로 순위(rank)를 매길 수 있음을 의미하며, 이는 원하는 예측을 정확히 식별하는 능력을 나타낸다.

특히, 학습 단계에서 전혀 보지 못했던 데이터셋(HaluEval-QA)에서도 R-Tuning은 더 높은 AP 점수를 얻었으며, 이는 R-Tuning 모델이 자신이 가진 확신 표현(certainty expression)을 다른 분포(distribution)의 질문에 대해서도 일반화하여 표현할 수 있음을 보여준다. 다중 작업 데이터셋에서 수행된 실험 결과를 통해, "거부(refusal)" 능력은 모델의 메타 스킬(meta-skill)이며, 서로 다른 여러 데이터셋을 통한 다중 작업 학습으로 더 강화될 수 있음을 확인할 수 있다.

  • 못보던 데이터세트에서도, AP가 늘었으므로 모르는건 모른다고 답변하는 능력이 생겼다는 것인데
  • 평가 데이터세트가 하나인게 조금 아쉬운거 같은데..? 실제로 HaluEval-QA가 학습데이터와 얼마나 다른지도 분석이 있으면 좋을거 같긴함

상세한 AP 점수와 각 데이터셋 및 모델 크기별 AP 곡선(curves)은 부록(Appendix A.10)의 표 13과 그림 8에 제공되어 있다.

종합적으로 요약하면, R-Tuning은 모델의 지식 영역 밖의 질문을 거부함으로써 환각(hallucination) 문제를 감소시켰다. 동시에, 모델의 파라메트릭 지식과 일치하는 질문에 대해서는 뛰어난 성능을 나타냈다. 높은 AP 점수는 정밀도(precision)와 재현율(recall)의 좋은 균형을 나타내며, 다중 작업 환경에서의 성능은 거부 인식 답변 능력의 일반화 가능성(generalization potential)을 입증한다.

5 분석 (Analysis)

본 섹션에서는 먼저 R-Tuning을 위한 비지도학습(unsupervised) 방식의 데이터 식별 전략을 적용한 변형 모델인 R-Tuning-U를 소개한다. 또한 R-Tuning 방법을 불확실성(uncertainty) 관점에서 해석한다. 추가로, 모델이 답변할 수 없는(unanswerable) 질문들에 대해서도 거부(refusal) 능력을 평가하였다. 이러한 질문들은 모델이 절대로 답변하지 말아야 하는 질문들이다. 질적(qualitative) 분석을 위한 더 많은 사례 연구(case studies)는 부록(Appendix)의 표 9에 나와 있다. 학습 데이터셋의 혼란도(perplexity, 섹션 A.6) 및 불확실성(섹션 A.7)에 대한 추가 분석을 통해, 본 연구에서 제안한 방법의 유효성을 다시 한 번 입증하였다.

5.1 비지도학습 기반 식별 방법 (Unsupervised Identification)

앞서 거부 인식 데이터 식별(refusal-aware data identification) 과정에서는 모델의 예측값과 정답 레이블을 비교하는 지도학습(supervised) 방식을 사용하여 알 수 없는 질문(unknown questions)을 식별하였다. 

이번 섹션에서는 정답 레이블 없이 모델의 불확실성(uncertainty)을 통해 거부해야 하는 질문을 결정하는 비지도학습 기반의 식별 방법인 R-Tuning-U를 소개한다.

구체적으로, R-Tuning-U는 모델 MM에게 같은 질문을 kk번 반복적으로 질의한 뒤, kk개의 예측 결과 간의 불확실성(uncertainty)을 계산한다. 이때 불확실성 값 uu는 다음과 같이 kk개의 예측 답변에 대한 엔트로피(entropy)를 이용하여 계산한다.

u = -\sum_{j=1}^{k} p(a_j|q)\ln p(a_j|q)

여기서 p(ajq)p(a_j|q)는 질문 qq가 주어졌을 때 특정 답변 aja_j가 나타난 빈도(frequency)를 의미한다.

즉 self-consistency처럼 여러 응답을 추출해서, 이것의 불확실성값(위처럼 엔트로피 이용)을 계산하여 아는 질문인지, 모르는 질문인지 판단하겠다는 것

이렇게 계산한 불확실성 점수(uncertainty score) uu에 따라 질문의 순위를 매긴 후, 상위 50%의 가장 불확실한 질문들에 대해서는 불확실한 표현("I am unsure")과 함께 정답 레이블을 붙여 불확실한 데이터셋 D0D_0를 구성하고, 나머지 50%의 질문들(즉, 더 확실한 질문들)에 대해서는 확실한 표현("I am sure")과 정답을 붙여 확실한 데이터셋 D1D_1을 구성한다. 실험에서는 temperature를 0.7로 설정하고 k=10k=10으로 사용하였다.

아마 주 실험은 아니라, 간단하게 세팅한 느낌이긴함. threshold을 설정하는게 일반적일거 같긴한데.. 

  • 기존의 방법과 비교해서 적당한 threshold을 찾던가..
  • 그냥 반반 나눈게 약간 이상하긴함
  • 아니면, 이렇게 했을때 기존의 방법과 어떻게 확실성/불확실성이 달라지는지 비교가 필요한듯
  • 그래도 좋은 레퍼런스로 볼 수 있을듯

ParaRel과 MMLU 데이터셋에서 R-Tuning-U와 기존 R-Tuning 방식의 성능을 비교하였으며, 그 결과는 표 2에 나타나 있다. 

실험 결과 R-Tuning-U가 일반적으로 더 높은 AP 점수를 달성함을 확인하였다. 이는 불확실성을 이용해 거부 인식 데이터셋을 구축하는 접근 방식이 타당함을 보여준다. 다시 말해, 사전학습된 모델의 파라메트릭 지식 범위를 평가하는 데 있어 반드시 모델의 예측값과 실제 정답을 비교하는 방식만이 존재하는 것이 아니며, 모델의 불확실성(uncertainty)도 사전학습된 모델이 특정 지식을 알고 있는지를 판단하는 지표로 사용할 수 있음을 입증한 것이다.

R-Tuning-U 방식의 장점 중 하나는 불확실한 질문의 정답 레이블이 필요하지 않다는 점이다.

5.2 불확실성 학습 (Uncertainty Learning)

불확실성 학습은 AP 점수를 향상시킨다.
우리 방법론을 하나의 관점에서 해석하면, 불확실성으로 데이터를 선별하고 학습하는 R-Tuning-U 방식은 본질적으로 훈련 데이터의 불확실성을 학습하는 과정이라고 할 수 있다. 

이와 관련하여, 보다 직접적인 비교가 가능한 베이스라인으로서, 전통적인 바닐라 튜닝(Vanilla fine-tuning)을 수행한 후 테스트 데이터에서 직접 불확실성 기반으로 질문을 선택하여 답변하는 Vanilla-C라는 방법을 추가로 고려했다.

  • 비슷한 생각을 했음. 바닐라 방법은 I am sure / I am unsure 이런걸 학습안했으니까 뭔가 공정한 비교가 아닐거 같다는 생각

Vanilla-C는 모델이 각 질문에 대해 kk번 응답하도록 프롬프팅한 후 다수결(majority)을 답으로 선택하는 방법이다. 여기서 불확실성(uncertainty)은 서로 다른 답변(distinct answers)의 비율과 비례한다. 본 연구에서는 Vanilla-C에 대해 k=10k=10으로 설정하였으며, 신뢰도(confidence)는 다음과 같이 계산한다.

\text{Confidence} = \frac{\max_{i=1}^{n}(k_i)}{k}

여기서 nn은 서로 다른 답변의 총 개수이고, kik_iii번째 답변이 나타난 횟수를 의미한다.

이건 가장 많이 나타난 답변이 몇 번 나타났는지의 확률이다. 왜 5.1과 다른 방법을 썼지? 

이 방법의 AP 점수를 계산하고 R-Tuning-U 방식과 비교한 결과는 표 2에 나타나 있다. 

  • 흥미롭게도, 우리는 훈련 과정에서 불확실성을 학습하고 이후 테스트에서 이 불확실성을 기반으로 질문을 선별하여 답변하는 방식(R-Tuning-U)이, 테스트 단계에서 직접 불확실성을 활용하여 질문을 선별하고 답변하는 방식(Vanilla-C)보다 우수한 결과를 나타냄을 발견했다. 
  • 다시 말하면, 훈련 데이터를 불확실성에 따라 구분하고 정답과 불확실성을 동시에 학습하는 것이 단지 테스트 데이터에서 직접 불확실성만을 사용하여 질문을 필터링하고 답변하는 방식보다, 불확실성 표현의 학습뿐만 아니라 질문 답변 정확도(accuracy)까지 놀랍게도 향상시켰다.
  • 즉 불확실성 측정하여 데이터를 만들고 학습 vs 테스트시 바로 불확실성 측정
    • 이 둘을 비교했을때, 학습 적용하는게 더 좋다는 것이다
    • 왜그런지 가설은 아래에서 제시하지만? 흠 신기한 현상이긴 한듯
    • 물론 불확실성을 계산하는게 살짝 다르긴함

이는 예상치 못했지만 흥미로운 현상이다. 훈련 데이터에서 불확실성을 학습하는 것이 테스트 데이터를 통해 직접 불확실성을 추정하는 방식보다 정확하지 않을 것으로 예상되기 때문이다. 한 가지 가능한 설명은 Transformer 기반 모델이 마지막 토큰(token)을 정확하게 예측하기 위해 학습 단계에서 내부적으로 은닉 상태(hidden state)를 조정하며, 이러한 은닉 상태의 변화가 쉬운 질문(easy questions)에 대해 더 정확하게 답변하는 데 도움을 줄 수 있다는 점이다. 잠재적인 가설은 다음과 같다. 불확실성을 예측하도록 모델을 학습시키면 자신감(confidence)에 관한 정보가 모델의 내부 표현(hidden representation)에 내재화(embedded)되고, 이는 쉬운 질문에 대해 보다 자신감 있는(hidden state) 상태를 생성하는 데 도움을 준다.

이러한 발견은 대형 모델(LLM)의 불확실성 학습이 주는 이점을 잘 보여준다. 테스트 단계에서 불확실성 값을 반복적으로 계산하는 큰 계산 비용을 피할 수 있을 뿐 아니라, 학습 과정에서 불확실성 자체를 학습하여 모델의 불확실성 추정(uncertainty estimation)의 정확도를 향상시키고, 결과적으로 질문에 대한 답변 정확도까지 개선시킨다.

불확실성 학습은 보정(calibration)과 예측 성능을 개선한다.
앞서 제시한 가설을 검증하기 위해 추가적인 실험을 수행하였다. 우선 Vanilla-U라는 변형 모델을 소개하는데, 이는 답변 예측 자체는 Vanilla-C로 수행하지만, 확신 표현은 R-Tuning-U로 생성하도록 한다. 실험 결과, 우선 R-Tuning-U의 보정(calibration)이 더 좋아진 것을 확인할 수 있었다. 본 연구에서는 기대 보정 오차(Expected Calibration Error, ECE) 지표(Guo et al., 2017)를 이용하여 정확도(accuracy)와 신뢰도(confidence)의 차이를 측정하였다. 표 16에서 볼 수 있듯이, R-Tuning-U는 보정 성능을 개선함으로써 답변을 보다 잘 나타낼 수 있게 되었고, 그 결과 AP 점수도 향상시킬 수 있었다. 이에 대한 추가적인 결과는 그림 11과 12에서 확인할 수 있다.

둘째로, 표 14에서 R-Tuning-U가 Vanilla-C와 비교했을 때 정확도(accuracy)를 향상시켰다는 것을 관찰하였다. 또한 R-Tuning-U와 Vanilla-C가 생성한 답변들에 대해 확신(confidence)을 측정하기 위한 스코어링(scorer)으로 R-Tuning-U를 사용하였다. 그 결과 표 15에서 나타난 바와 같이, R-Tuning-U는 일반적으로 Vanilla-C보다 높은 확신 점수를 획득했으며, 이는 R-Tuning-U의 향상된 정확도와 일관되는 결과이다.

마지막으로, 그림 9와 10은 모델 크기가 커질수록 확신 점수 차이가 더욱 뚜렷해짐을 보여준다. 이를 통해 우리는 거부(refusal) 능력이 모델 크기와 함께 나타나는 창발적인 능력(emergent ability)임을 결론지을 수 있다(Wei et al., 2022).

5.3 답변 불가능한 질문(Unanswerable Questions)

본 연구에서는 모든 질문이 정답을 가지고 있는(open-ended) 일반적인 질의응답 데이터셋뿐 아니라, 답변이 불가능한(unanswerable) 질문들이 포함된 여러 거부(refusal) 벤치마크에서도 R-Tuning의 성능을 테스트하였다. 

이러한 질문들은 일반 상식에 어긋나거나 존재하지 않는 개념을 만들어내는 질문들이며, 모델이 결코 답변해서는 안 된다. 이와 같은 데이터셋들에서 R-Tuning의 성능을 평가한 결과는 표 3에 제시되어 있다.

  • 이 데이터세트로 비슷한 연구하면 평가해보면 될듯

베이스라인 모델들의 경우, 명시적으로 프롬프트를 통해 질문에 답변을 거부할 수 있다고 모델에게 알려주었다. 그 결과 R-Tuning은 거의 모든 답변 불가능한 질문들을 성공적으로 거부(refuse)하는 것을 확인할 수 있었으며, 이는 우리가 기대한 바와 일치한다. 반면, 다른 베이스라인 모델들은 거부할 수 있다는 지시가 주어졌음에도 불구하고 대부분의 질문에 여전히 답변을 제공하였다.

결론적으로, R-Tuning은 상식에 어긋나거나 자신의 파라메트릭 지식(parametric knowledge)을 벗어난 질문들에 대해 확실하게 거부할 수 있는 능력을 갖추고 있음을 확인하였다.

데이터 예시

  • FalseQA (Hu et al., 2023) Unanswerable Question: List the reason why mice can catch cats?
    • (This is a question that contradicts common sense) Unanswerable Question: 2365 Unanswerable: 2365
  • NEC (Liu et al., 2024) Unanswerable Question: How long is the typical lifespan of Leogoteo in the wild?
    • (There is no such creature called Leogoteo.) Unanswerable Question: 2078 Unanswerable: 2078
  • SelfAware (Yin et al., 2023)
    • Answerable Question: What is Nigeria’s northernmost climate?
      • Answer: rain forest
    • Unanswerable Question: Often called high energy particles, what gives life to them?
      • Answer: None
    • Answerable Question: 2337
    • Unanswerable Question: 1032 Unanswerable: 1032

5.4 혼란도와 엔트로피 (Perplexity and Entropy)

본 연구에서는 제안된 방법의 타당성을 더 잘 보여주기 위해, 확실한 데이터(D1D_1)불확실한 데이터(D0D_0) 의 혼란도(perplexity)와 엔트로피(entropy)를 평가하였다. 

그 결과는 각각 표 4와 표 5에 나타나 있다.

먼저, 사전학습된(pre-trained) 모델을 사용하여 각 훈련 질문(training question)의 혼란도(perplexity)를 계산함으로써, 모델이 질문을 얼마나 잘 이해하고 있는지 추정하였다. 확실한 데이터(D1D_1)는 혼란도가 상대적으로 낮게 나타났는데, 이는 사전학습 모델이 이 질문들에 익숙하고, 따라서 정확한 답변을 제공할 가능성이 높음을 나타낸다. 반면 불확실한 데이터(D0D_0)는 혼란도가 높게 나타났으며, 이는 모델이 이러한 질문들에 대해 정확한 답변보다는 환각(hallucination)을 만들어내기 쉽다는 것을 보여준다. 또한 일반적으로 모델의 크기가 클수록 혼란도가 더 낮았으며, 이는 더 큰 모델이 다양한 작업에서 더 좋은 성능을 보이는 이유를 설명해 준다.

추가적으로, GPT-3.5-turbo 모델을 사용하여 D0D_0D1D_1의 질문들에 답변하게 한 후, 각 질문에 대한 답변들의 엔트로피(entropy)를 계산하였다. GPT-3.5-turbo가 동일한 질문에 대해 서로 다른 답변을 여러 개 제공한다면 엔트로피가 높아지고, 동일한 답변만 제공한다면 엔트로피가 낮아진다. 분석 결과, 확실한 데이터(D1D_1)의 답변들은 불확실한 데이터(D0D_0)보다 평균적으로 더 낮은 엔트로피를 보였다. 이는 제안한 방법이 데이터를 두 가지 그룹으로 성공적으로 나누었음을 입증하는 것이다. 즉, 불확실한 데이터(D0D_0)는 본질적으로 확실한 데이터(D1D_1)보다 더 어려운 질문들로 구성되어 있음을 의미한다. R-Tuning 전략은 모델이 쉬운 질문에는 확신을 가지고 답변하며, 어려운 질문에 대해서는 신중하게 답변하도록 학습하게 만드는 것이다.

혼란도와 엔트로피에 대한 더욱 자세한 분석은 각각 부록(Appendix)의 섹션 A.6과 섹션 A.7에서 확인할 수 있다.

6 관련 연구 (Related Work)

본 섹션에서는 대형 언어 모델(LLMs)의 환각(hallucination) 문제와 불확실성 정량화(uncertainty quantification) 방법에 대한 최근 연구 동향을 소개한다.

6.1 대형 언어 모델의 환각 현상 (Hallucinations of LLMs)

대형 언어 모델(LLMs)은 뛰어난 유창성과 일관성을 바탕으로 우수한 성능을 보이고 있지만, 때로는 신뢰할 수 없거나 사실과 다른 내용(환각, hallucination)을 만들어내는 문제를 가지고 있다(Maynez et al., 2020b; Li et al., 2023c). 이러한 환각의 원인은 다양하다. 학습 데이터(training data), 모델 학습(model training), 모델 추론(model inference)의 모든 과정에서 환각이 발생할 가능성이 존재한다(Zhang et al., 2023c; Ji et al., 2023; Huang et al., 2023b).

대규모 학습 데이터가 잘못된 정보(misinformation)와 편향(bias)을 포함할 가능성이 있으며(Dziri et al., 2022; Penedo et al., 2023), 이는 모델이 잘못된 정보를 모방하도록 유도할 수 있다(Lin et al., 2022). 또한, 실제 사건은 시간이 지남에 따라 변화하기 때문에(Wen et al., 2021; Reddy et al., 2023), 오래된 데이터로 훈련된 모델은 최신 정보와의 시간적 불일치 문제(temporal misalignment)를 일으킬 수 있다(Livska et al., 2022; Luu et al., 2022). 추가로, LLM은 자신의 능력을 과대평가하는 경향이 있어 때때로 확신을 가지고 잘못된 답변을 생성하며, 자신이 모르는 질문들을 제대로 식별하지 못한다(Yin et al., 2023; Ren et al., 2023; Kadavath et al., 2022). 또한 인간 선호도(human preference)에 맞춘 정렬(alignment) 과정에서 진실보다는 사용자의 취향에 맞는 답변을 생성하는 문제점이 발생할 수도 있다(Perez et al., 2022; Radhakrishnan et al., 2023; Wei et al., 2023b). 마지막으로, 추론 과정(inference process)에서의 무작위성(randomness)(Chuang et al., 2023), 초기 단계의 실수가 계속 이어지는 눈덩이 효과(snowballing effect)(Zhang et al., 2023a), 초기 단계의 국소적 최적화(local optimization)(Azaria and Mitchell, 2023) 등이 환각 현상을 유발할 수 있다.

최근에는 환각 탐지(hallucination detection)와 완화(hallucination mitigation)를 위한 다양한 연구가 이루어졌다. 환각 탐지와 관련하여, Azaria와 Mitchell(2023)은 LLM 내부 상태(internal state)를 이용하여 훈련한 분류기(classifier)를 제안했다. Lee 등(2023)은 생성물의 사실성(factuality)을 평가하기 위한 벤치마크를 생성했다. Manakul 등(2023)은 LLM이 반복적으로 응답한 결과의 일관성을 이용하여 환각을 탐지하는 SelfCheckGPT를 제안하였다. 한편, 환각을 제어하기 위한 방식으로는 검색 보강(retrieval-augmented) 방식(Peng et al., 2023; Xie et al., 2023; Yue et al., 2023; Lyu et al., 2023; Asai et al., 2023)이 효과적임을 입증하였다. 그 외에도 지식 기반 미세조정(knowledge-aware fine-tuning)(Li et al., 2022), 노이즈 제거(denoising) 방식(Chen et al., 2023), 저신뢰성(low-confidence) 검증(Varshney et al., 2023), 불확실성 기반 응답 랭킹(uncertainty-based response ranking)(Wan et al., 2024), 질문-지식 정렬(question-knowledge alignment)(Zhang et al., 2023b), 지식 주입(knowledge injection)과 교사-학생(teacher-student) 모델(Elaraby et al., 2023) 등 다양한 접근법이 제시되었다. 최근 연구에 따르면, 환각 문제의 조기 탐지가 중요함이 확인되었다(Zhang et al., 2023a). 또한 Huang 등(2023a)은 초기 능력만으로는 LLM이 스스로 오류를 수정할 수 없으며, 외부 피드백(external feedback)과 미세조정(fine-tuning)의 중요성을 강조하였다. 본 논문에서 제안하는 방식은 모델이 instruction 튜닝 데이터와 자신의 파라메트릭 지식 간의 차이를 인지하도록 훈련하여, 모델이 자신의 지식 범위를 벗어난 명령(instructions)에 대한 거부 능력을 갖추도록 한다.

6.2 대형 언어 모델의 불확실성 정량화 (Uncertainty Quantification of LLMs)

불확실성 정량화(uncertainty quantification)는 머신러닝 분야에서 오랫동안 연구된 주제이다. 딥러닝 시대에 들어, Guo 등(2017)은 딥러닝 모델의 예측 신뢰도(predictive confidence, 예측 확률)가 보정(calibration)이 부족하다는 것을 처음으로 확인했으며, 이를 측정하는 지표로 Expected Calibration Error (ECE)를 제안했다(Naeini et al., 2015). 이후 Chen 등(2022)은 사전학습된 대형 언어 모델의 보정 문제(calibration issue)를 연구했으며, 같은 문제를 관찰하였다. ActivePrompt (Diao et al., 2023b)는 불확실성(uncertainty)을 기반으로 chain-of-thought의 예제(question)를 선별적으로 선택하여 주석(annotation)을 달도록 하는 접근법을 도입하였으며, 이는 LLM의 맥락 내 학습(in-context learning)에 매우 효과적임을 입증했다. LLM의 지식 평가(knowledge assessment)를 다룬 연구(Dong et al., 2023) 역시 본 연구와 관련이 있다.

7 결론 (Conclusion)

본 논문에서는 대형 언어 모델(LLM)이 모르는 질문에 대해 명확하게 거부(refusal)할 수 있도록 학습시키는 간단하면서도 효과적인 방법인 R-Tuning을 제안하였다. R-Tuning은 Instruction 튜닝 데이터와 파라메트릭 지식 간의 차이점을 식별하여 훈련 데이터를 확실한(certain) 부분과 불확실한(uncertain) 부분으로 나눈다. 이후 불확실한 데이터에 불확실성 표현(uncertainty expressions)을 추가하여 "거부 인식(refusal-aware)" 데이터를 구성한다.

실험적으로 R-Tuning은 AP 점수(Average Precision score)를 기준으로 전통적인 미세조정(fine-tuning) 방식보다 뛰어난 성능을 보였으며, 이는 예측의 정확도와 확신(confidence)의 좋은 균형을 나타내는 결과이다. 또한 R-Tuning은 인도메인(in-domain) 데이터에서 뛰어난 거부(refusal) 능력을 보였을 뿐 아니라, 이 거부 능력이 전혀 보지 못한 새로운 작업(unseen tasks)에 대해서도 일반화(generalize)될 수 있음을 보여주었다. 이는 모델의 거부 능력이 근본적이고(task-agnostic) 다중 작업 학습(multi-task training)을 통해 추상화될 수 있는 메타 스킬(meta-skill) 이라는 사실을 나타낸다.

8 한계점 (Limitations)

R-Tuning이 질문의 선택(selection)과 거부(refusal)에 있어 뛰어난 성능을 보이긴 했지만, 여전히 몇 가지 한계가 존재한다.

우선, R-Tuning은 "나는 확신한다(I am sure)" 또는 "나는 확신하지 못한다(I am unsure)"와 같은 이진(binary)의 형태로만 확신(confidence)을 표현할 수 있다. 그러나 질문에 대한 확신의 정도를 보다 세밀한 수치(quantitative value)로 표현한다면 더욱 정확한 평가가 가능할 것이다.

또한 본 연구는 파라메트릭 지식(parametric knowledge)의 범위에 특정 지식이 포함되는지 여부를 판단하는 방식으로, 모델의 예측값을 정답과 비교하거나 불확실성(uncertainty)을 정량화하는 방법만을 사용하였다. 그러나 Instruction 튜닝 데이터셋과 사전학습 데이터셋을 직접 비교하는 등 더 엄밀한 방법도 존재한다. 예를 들어 Kandpal 등(2023)의 연구와 같이, 엔티티 연결(entity linking)을 사용하여 사전학습 데이터셋에서 관련 지식의 포함 여부를 식별할 수 있다. 하지만 이 방식은 계산 비용(computational cost)이 매우 높기 때문에, 향후 연구에서는 효율성을 개선하는 최적화(optimization) 방법을 추가적으로 탐구할 계획이다.

Reference

댓글