** DoLa: Decoding by Contrasting Layers Improves Factuality in Large Language Models (ICLR 2024)

다음은 ICLR 2024 논문 “DoLa: Decoding by Contrasting Layers Improves Factuality in Large Language Models”에 대한 체계적인 설명입니다.


1. 문제의식 (Why DoLa?)

대규모 언어모델(LLM)은 유창하지만 **사실과 다른 내용(hallucination)**을 자주 생성합니다.
기존 대응 방식들은 다음과 같은 한계를 가집니다.

  • RAG / 외부 검색: 시스템 복잡도 증가
  • 추가 파인튜닝 / 감독 신호(ITI 등): 데이터·비용 부담
  • Contrastive Decoding(CD): 별도의 “약한 모델(amateur LM)” 필요, 모델 선택에 민감

👉 이 논문의 핵심 질문은 다음입니다.

“이미 학습된 하나의 LLM 내부 구조만 활용해서, 추론 시점(inference-time)에 사실성을 높일 수 없을까?”


2. 핵심 직관 (Key Insight)

🔍 사실 지식은 Transformer의 상위 레이어에 더 강하게 나타난다

기존 해석 가능성 연구들(Tenney et al., Meng et al., Dai et al.)에 따르면:

  • 하위 레이어: 문법, 표면적 패턴, 통사적 적합성
  • 상위 레이어: 의미 정보, 개체(entity), 사실 지식

논문은 이를 다음 관찰로 정량화합니다.

  • 기능어 / 쉬운 토큰: 중간 레이어 이후 분포가 거의 변하지 않음
  • 사실·개체·연도 토큰: 마지막 레이어까지도 분포가 계속 변화
    → 상위 레이어에서 “사실 정보가 주입”

3. DoLa의 핵심 아이디어

같은 모델의 “서로 다른 레이어”를 대비(contrast)시켜 디코딩하자

기본 구조

  • Mature layer (N): 최종 레이어 (가장 “사실적”)
  • Premature layer (M): 더 이른 레이어 (그럴듯하지만 덜 사실적)

각 레이어의 hidden state에 같은 vocabulary head를 적용하여:

qj(xt|x<t)=softmax(ϕ(ht(j)))q_j(x_t | x_{<t}) = \text{softmax}(\phi(h_t^{(j)}))

4. Dynamic Premature Layer Selection (중요)

Premature layer는 고정하지 않고, 토큰마다 동적으로 선택합니다.

🔑 선택 기준: Jensen–Shannon Divergence (JSD)

M=argmaxj𝒥JSD(qN(),qj())M = \arg\max_{j \in \mathcal{J}} \text{JSD}\big(q_N(\cdot), q_j(\cdot)\big)
  • 의미:“최종 레이어와 가장 다른 분포를 내는 레이어 =
    아직 사실 지식이 충분히 반영되지 않은 지점”
  • 토큰별 난이도(기능어 vs 개체명)에 따라
    premature layer가 달라짐

➡️ 이것이 **DoLa-static(고정 레이어)**보다 robust한 이유


5. Contrastive Decoding 공식

Contrastive Decoding (Li et al., 2022)을 레이어 차원으로 적용:

F(qN,qM)(xt)=logqN(xt)qM(xt)F(q_N, q_M)(x_t) = \log \frac{q_N(x_t)}{q_M(x_t)}

최종 디코딩 분포:

p^(xt|x<t)=softmax(F(qN,qM))\hat{p}(x_t|x_{<t}) = \text{softmax}(F(q_N, q_M))

Adaptive Plausibility Constraint (APC)

  • 최종 레이어에서 확률이 너무 낮은 토큰은 제거
  • 목적:
    • False Positive: 말도 안 되는 토큰이 contrast로 부각되는 것 방지
    • False Negative: 쉬운 토큰에서 성능 저하 방지

6. 실험 결과 요약

📌 TruthfulQA (핵심 결과)

  • LLaMA 계열에서 +12~17%p (%Truth × %Info)
  • ITI(감독 학습 필요) 수준의 성능을
    👉 추가 학습 없이 달성

📌 FACTOR / StrategyQA / GSM8K

  • 사실 기반 reasoning, CoT에서도 일관된 성능 향상
  • 특히 CD는 reasoning 성능을 깎는 반면,
    DoLa는 내부 레이어 대비라 안정적

📌 Vicuna QA (GPT-4 평가)

  • GPT-4 기준 win 비율 증가
  • 장황하지만 틀린 답변 감소

7. 계산 비용

  • 디코딩 latency 증가: 1~8%
  • 추가 forward pass 없음 (early exit 활용)

👉 실용적으로 매우 가벼운 방법


8. DoLa의 위치 (관련 연구 맥락)

방법대비 대상추가 학습특징
CD다른 모델모델 크기 선택 민감
ITI분류기감독 신호 필요
DoLa같은 모델의 레이어구조적·해석 가능

DoLa는 **“LLM 내부 지식의 시간적(레이어별) 발현 차이”**를
**추론 시점 제어(signal)**로 바꾼 방법이라 볼 수 있습니다.


9. 한계와 확장 가능성

한계

  • 외부 지식 오류는 교정 불가
  • 사실성 중심 (alignment 전반은 아님)
  • 작은 모델(GPT-2 급)에서는 효과 약함

10. 한 줄 요약

DoLa는 “같은 LLM의 서로 다른 레이어를 대비시키는 디코딩”을 통해,
추가 학습 없이 사실성을 크게 높이는 간단하지만 강력한 inference-time 기법이다.

아래는 ICLR 2024 논문 DoLa: Decoding by Contrasting Layers Improves Factuality in LLMs의 **방법론(Methodology)**을 수식·알고리즘 관점에서 단계별로 정리한 설명입니다.


전체 개요 (한 눈에)

Image
Image
https://www.researchgate.net/publication/398313634/figure/fig5/AS%3A11431281763893604%401764820870193/The-top-5-tokens-in-the-intermediate-layers-of-FLAN-T5-Large-on-Question-154-of-the_Q320.jpg

핵심 아이디어

같은 LLM 내부의 서로 다른 레이어가 내는 next-token 분포를 대비(contrast)하여, 상위 레이어의 사실 지식을 증폭하고 하위 레이어의 그럴듯하지만 덜 사실적인 신호를 억제한다.

이를 위해 DoLa는 다음 3단계로 구성됩니다.

  1. 레이어별 next-token 분포 계산 (Early Exit)
  2. Dynamic Premature Layer Selection (JSD 기반)
  3. Contrastive Decoding (logit 차감 + APC)

1️⃣ 레이어별 next-token 분포 계산 (Early Exit)

표준 Transformer LM은 임베딩 + NN개 레이어 + vocab head ϕ()\phi(\cdot)로 구성됩니다.

  • 입력: x<t=x1,,xt1x_{<t} = {x_1,\dots,x_{t-1}}
  • 각 레이어 jj의 hidden state: ht(j)h_t^{(j)}

레이어 jj에서의 next-token 분포

qj(xt|x<t)=softmax(ϕ(ht(j)))q_j(x_t \mid x_{<t}) = \text{softmax}\big(\phi(h_t^{(j)})\big)
  • Mature layer: 최종 레이어 NNqNq_N
  • Candidate premature layers: j𝒥j \in \mathcal{J} (초기/중간 레이어 일부)

Early exit은 추가 학습 없이도 중간 레이어 hidden state에 vocab head를 적용해 의미 있는 분포를 얻을 수 있다는 점(Residual connection 특성)을 활용합니다.


2️⃣ Dynamic Premature Layer Selection (핵심)

왜 동적 선택이 필요한가?

  • 기능어 / 쉬운 토큰: 중간 레이어에서 이미 결정 → 상·하위 레이어 차이 작음
  • 사실·개체·연도 토큰: 상위 레이어까지 분포가 계속 변화

➡️ 토큰마다 “가장 덜 성숙한(premature)” 레이어가 다름

선택 기준: Jensen–Shannon Divergence (JSD)

각 후보 레이어 j𝒥j \in \mathcal{J}에 대해

d(qN,qj)=JSD(qN(|x<t),|,qj(|x<t))d\big(q_N, q_j\big) = \text{JSD}\big(q_N(\cdot\mid x_{<t}) ,|, q_j(\cdot\mid x_{<t})\big)

Premature layer 선택

M=argmaxj𝒥JSD(qN,qj)M = \arg\max_{j \in \mathcal{J}} \text{JSD}\big(q_N, q_j\big)
  • 의미:“최종 레이어와 가장 다른 분포를 내는 레이어”
    → 아직 사실 지식이 충분히 주입되기 전 단계

후보 레이어 집합 𝒥\mathcal{J} (버킷화)

  • 레이어 수에 따라 2~4개 버킷으로 분할 (예: LLaMA-7B는 [0,16), [16,32))
  • even-index 레이어만 사용 → 효율성
  • 버킷 선택은 소량 검증으로 결정 (과도한 튜닝 방지)

고정 레이어(DoLa-static) 대비 분포 변화에 강건하고, 튜닝 비용이 낮음.


3️⃣ Contrastive Decoding (레이어 대비 디코딩)

기본 대비 함수 (log-domain)

F(qN,qM)(xt)=logqN(xt)qM(xt)F\big(q_N, q_M\big)(x_t) = \log \frac{q_N(x_t)}{q_M(x_t)}
  • 상위 레이어에서 확률이 크고, 하위 레이어에서 작을수록 점수 ↑
  • 사실 토큰이 이 조건을 만족하는 경향

Adaptive Plausibility Constraint (APC)

불안정한 저확률 토큰을 배제하기 위해,

Vhead=xt𝒳:qN(xt)αmaxwqN(w)V_{\text{head}} = {x_t \in \mathcal{X} : q_N(x_t) \ge \alpha \cdot \max_w q_N(w)}
F(xt)={logqN(xt)qM(xt),xtVhead,otherwiseF(x_t) = \begin{cases} \log \frac{q_N(x_t)}{q_M(x_t)}, & x_t \in V_{\text{head}} \\ -\infty, & \text{otherwise} \end{cases}
  • 목적
    • False positive 방지: 하위 레이어 확률이 거의 0인 토큰이 과대평가되는 현상
    • False negative 방지: 쉬운 토큰에서 대비로 점수가 줄어드는 문제

최종 디코딩 분포

p^(xt|x<t)=softmax(F(qN,qM))\hat{p}(x_t\mid x_{<t}) = \text{softmax}\big(F(q_N, q_M)\big)

4️⃣ 반복 억제 (Repetition Penalty, 선택적)

  • Contrast로 인해 장문(CoT)에서 반복이 늘어나는 경우가 있어,
  • Keskar et al. 방식의 repetition penalty(θ1.2\theta \approx 1.2) 적용
  • 문법성 저하는 거의 관측되지 않음

5️⃣ 알고리즘 요약 (Pseudo-flow)

for t = 1 ... T:
  compute q_N from final layer
  for j in candidate layers J:
    compute q_j
    compute JSD(q_N, q_j)
  M ← argmax_j JSD
  compute contrast scores F(q_N, q_M)
  apply APC (filter low-prob tokens)
  sample or greedy from softmax(F)

6️⃣ 방법론의 성격 정리

관점DoLa의 특징
제어 시점Inference-time
대비 대상같은 모델의 레이어
학습 필요
핵심 신호레이어 간 분포 변화(JSD)
효과사실성 ↑, 비용 ↑ 미미

한 줄 핵심

DoLa는 “레이어 간 지식 성숙도 차이”를 JSD로 포착해,
최종 레이어의 사실 신호를 대비적으로 증폭하는 디코딩 방법이다.

아래는 ICLR 2024 DoLa: Decoding by Contrasting Layers의 **실험 결과(Experimental Results)**를 과제별·지표별로 해석 중심으로 정리한 설명입니다. (논문 본문·표·그림 기반)


전체 요약 (핵심 결론)

  • 사실성(Truthfulness): 모든 LLaMA 크기(7B–65B)에서 일관된 대폭 향상
  • 정보성(Informative): “회피 답변(I have no comment)” 증가 없이 유지
  • Reasoning(CoT): CD 대비 성능 유지 또는 향상
  • 비용: 디코딩 지연 **1–8%**로 매우 작음

1️⃣ TruthfulQA – 객관식 (Short-Answer Factuality)

Image
Image

지표

  • MC1 / MC2 / MC3 (특히 MC2·MC3가 안정적)
  • 여러 참/거짓 선택지를 종합 평가

결과 해석 (Table 1)

  • DoLa는 모든 모델 크기에서 MC2/MC3 대폭 개선
    • 예) LLaMA-7B: MC3 19.2 → 32.1
    • 13B/33B/65B도 동일한 추세
  • ITI(감독 학습) 수준에 근접하거나 상회
  • CD는 일부 설정에서 불안정(모델 크기 의존)

왜 효과적인가?

  • TruthfulQA는 짧고 사실 임계적인 토큰(연도·개체명)이 핵심
    → **상위 레이어 대비(contrast)**가 가장 잘 작동

2️⃣ FACTOR – 장문 객관식 (Long-Paragraph Factuality)

Image
Image

특징

  • 긴 문단 + 4개 완성문 중 정답 선택
  • News / Wiki 두 서브셋

결과

  • DoLa가 2–4%p 일관 개선
  • 대부분 설정에서 CD보다 우수
  • 흥미로운 점: 하위 레이어 대비가 더 효과적
    • 긴 문단에는 기능어·비사실 토큰 비중 큼
    • 상위 레이어 대비는 오히려 노이즈

👉 토큰 구성에 따라 “어느 레이어와 대비할지”가 달라져야 함을 실증


3️⃣ TruthfulQA – 오픈엔디드 생성

Image
Image

평가 지표

  • %Truth%Info%Truth×Info
  • %Reject: 회피 답변 비율

핵심 결과 (Table 1)

  • %Truth×Info: +12~17%p (모든 모델)
  • %Reject < 10% 유지
  • CD의 문제점:
    • Truth는 올리지만 회피 답변 급증
    • 최종 종합 점수 하락

해석

  • DoLa는 **“틀리면 침묵”**이 아니라
    “말하되 사실적으로” 답변하도록 유도

4️⃣ Chain-of-Thought Reasoning

(a) StrategyQA – 다중 홉 추론

  • 정확도 +1~4%
  • CD는 오히려 성능 하락
    • 이유: 큰 모델의 추론을 작은 amateur LM과 대비 → 방해
  • DoLa는 같은 모델 내부 대비 → 추론 구조 보존

(b) GSM8K – 수학 추론

  • 대부분 모델에서 ~2%p 향상
  • 산술 추론에서도 레이어 대비가 유효

👉 DoLa는 사실성만이 아니라 추론 안정성도 해치지 않음


5️⃣ Vicuna QA (GPT-4 자동 평가)

Image
Image

평가 방식

  • GPT-4가 **쌍대 비교(pairwise)**로 채점

결과 (Figure 4)

  • DoLa가 baseline 대비 win 비율 우세
  • 특히 13B, 33B에서 큰 차이
  • 총점 분포도 전반적으로 상승

의미

  • 단순 factual QA뿐 아니라
    **일반 챗봇·지시 수행(instruction following)**에도 효과

6️⃣ Dynamic vs Static Premature Layer (분석 실험)

DoLa-static

  • 고정 레이어 하나 선택
  • 특정 검증셋에서는 최고 성능 가능

문제점

  • 데이터 분포 변화에 극도로 민감
  • 검증셋 바뀌면 최적 레이어도 바뀜

DoLa (Dynamic)

  • JSD 기반 동적 선택
  • 항상 최적 또는 근접 성능
  • 튜닝 비용 대폭 감소 (2–4 bucket)

👉 실사용 관점에서 Dynamic이 압도적으로 안정적


7️⃣ 효율성 (Latency / Throughput)

모델Latency 증가Throughput 감소
7B×1.06−5%
13B×1.08−7%
33B×1.07−6%
65B×1.01−1%
  • 추가 forward 없음
  • early-exit + logits 연산만 추가
    → 사실상 공짜에 가까운 개선

8️⃣ 정성 평가 (Qualitative Examples)

Image
Image
  • 잘못된 날짜(예: July 4, 1776) → 정확한 날짜(Aug 2, 1776)
  • 잘못 알려진 상식(“24시간 기다려야 실종 신고”) → 즉시 신고 가능
  • 단, 일부 반례: 장황하지만 틀린 설명 생성 가능성 존재

9️⃣ 실험 결과의 의미 (한 줄씩)

  • 사실성: DoLa ≈ ITI (감독 없이)
  • 안정성: CD보다 훨씬 견고
  • 범용성: QA·Reasoning·Chat 모두 개선
  • 실용성: 비용 거의 없음

한 문장 요약

DoLa는 “같은 LLM 내부 레이어 대비”만으로,
사실성·추론·챗봇 품질을 동시에 개선한 매우 강력한 inference-time 기법이다.


게시됨

카테고리

,

작성자

댓글

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다