EN KO
← 전체 논문 목록

Adaptive Contrastive Decoding in Retrieval-Augmented Generation for Handling Noisy Contexts

EMNLP 2024 Findings
Youna Kim, Hyuhng Joon Kim, Cheonbok Park, Choonghyun Park, Hyunsoo Cho, Junyeob Kim, Kang Min Yoo, Sang-goo Lee, Taeuk Kim

한줄 요약

엔트로피 기반의 적응적 대조 디코딩 방법으로, RAG에서 LLM이 검색된 문맥에 의존하는 정도를 동적으로 조절하여, 노이즈가 있거나 무관한 문서가 검색되더라도 강건한 오픈 도메인 QA 성능을 달성합니다.

논문 개요
Figure 1. 적응적 대조 디코딩(ACD) 개요. ACD는 문맥 관련성에 따라 대조 가중치를 조절하여, 노이즈가 있는 검색 문맥에서도 견고한 RAG 생성을 가능하게 합니다.

배경 및 동기

오픈 도메인 질의응답과 같은 지식 집약적 과제에서 LLM을 사용할 때, 검색 증강 생성(RAG)은 검색된 외부 문서를 문맥으로 제공하여 외부 지식과 모델의 파라메트릭 지식 간의 격차를 해소합니다. 그러나 실제 환경에서의 검색은 완벽하지 않으며, 검색된 문서는 종종 노이즈가 많거나, 무관하거나, 심지어 정답과 모순되는 경우가 있습니다. 모델이 이러한 저품질 문맥을 맹목적으로 조건화하면 생성 품질이 크게 저하됩니다.

최근의 대조적 디코딩 접근법(예: Context-Aware Decoding, CAD)은 문맥 유무에 따른 출력 분포를 대조하여 문맥적 지식을 파라메트릭 지식보다 증폭시키려 시도합니다. 관련 있는 문맥이 제공될 때는 효과적이지만, 이러한 방법들은 고정된 대조 가중치를 사용하기 때문에 노이즈가 있는 검색 시나리오에서 취약합니다. 또 다른 접근법인 Multi-Input Contrastive Decoding(MICD)은 최대 토큰 확률 기반의 동적 가중치를 도입하지만, 그 관련성 추정은 여전히 거친 수준에 머물러 신뢰성이 부족합니다.

고정 대조 디코딩의 한계: CAD와 같은 방법은 문맥의 영향을 억제하거나 증폭하기 위해 일정한 가중치(α = 0.5)를 적용합니다. 이는 근본적으로 최적이 아닙니다: 검색된 문맥이 실제로 유용할 때는 과도하게 보정하여 성능을 저하시키고(예: Llama2-7B에서 TriviaQA가 60.23에서 49.02로 하락), 문맥이 노이즈가 많거나 오해의 소지가 있을 때는 보정이 부족하여 유해한 영향을 충분히 억제하지 못합니다. MICD-F 역시 고정 α = 1.0을 사용하여 문맥 품질과 무관하게 문맥을 과도하게 증폭합니다.

핵심 통찰: 최적의 디코딩 전략은 검색된 문맥이 모델에 실제로 얼마나 도움이 되는지에 따라 동적으로 적응해야 합니다. 문맥 없는 출력 분포와 문맥이 포함된 출력 분포 사이의 엔트로피 변화를 측정함으로써, 모델 자체가 문맥이 불확실성을 줄이는지(유용) 아닌지(노이즈)를 신호할 수 있으며, 대조 가중치는 이에 따라 반응해야 합니다. MICD-D의 최대 확률 휴리스틱과 달리, 엔트로피는 출력 분포의 전체 형태를 포착하여 더 원리적이고 신뢰할 수 있는 관련성 신호를 제공합니다.

제안 방법: 적응적 대조 디코딩 (ACD)

ACD는 표준 대조 디코딩을 엔트로피 기반의 적응적 가중치 메커니즘으로 확장합니다. 핵심 디코딩 수식은 다음과 같습니다:

디코딩 수식: P(Y_t | x, y_<t) = softmax( z_t + αACD · (z_tc - z_t) )

여기서 z_t는 문맥 없는 로짓, z_tc는 문맥이 포함된 로짓, αACD는 적응적 가중치입니다.

적응적 가중치: αACD = H(Y_t) / ( H(Y_t) + H(Y_tc) )

여기서 H(Y_t)는 문맥 없는 분포의 엔트로피, H(Y_tc)는 문맥이 포함된 분포의 엔트로피입니다.

직관은 간단합니다: 검색된 문맥이 모델의 불확실성을 줄일 때(H(Y_tc) < H(Y_t)), αACD는 1에 가까워져 문맥의 영향을 증폭시킵니다. 문맥이 혼란을 야기할 때(H(Y_tc) > H(Y_t)), αACD는 0을 향해 감소하여 문맥의 영향을 억제하고 파라메트릭 지식에 더 의존합니다. 두 엔트로피가 동일할 때는 αACD = 0.5로 중립적 균형을 유지합니다.

1
이중 순전파
각 생성 단계에서 두 가지 로짓을 계산합니다: z_t (검색된 문맥 없이 모델에서 산출, 즉 closed-book)와 z_tc (검색된 문맥을 조건으로 한 모델에서 산출, 즉 open-book). 이를 통해 대조 디코딩과 관련성 추정 모두에 필요한 두 가지 출력 분포를 얻습니다. Closed-book 프롬프트는 "Answer the following questions: [few-shots] Question: [q] Answer:" 형식이며, open-book 버전은 "Context: [검색된 문서]"를 추가합니다.
2
엔트로피 기반 관련성 추정
두 분포의 엔트로피 H(Y_t)와 H(Y_tc)를 계산합니다. 비율 αACD = H(Y_t) / (H(Y_t) + H(Y_tc))는 자동으로 문맥의 품질을 포착합니다: 문맥이 도움이 될 때(불확실성 감소) 높은 α, 문맥이 해로울 때(불확실성 증가) 낮은 α를 부여합니다. MICD-D의 최대 확률 휴리스틱과 달리, 엔트로피는 전체 확률 분포를 고려하여 훨씬 더 신뢰할 수 있는 관련성 신호를 제공합니다(AUROC 73-80% vs. 54-69%).
3
적응적 대조 토큰 생성
적응적 가중치를 대조 디코딩 수식에 적용합니다: 최종 로짓은 z_t + αACD · (z_tc - z_t)입니다. 이는 파라메트릭 지식에 완전히 의존(α=0)하는 것과 문맥을 완전히 활용(α=1)하는 것 사이를 매끄럽게 보간하며, 그 균형은 엔트로피 신호에 의해 토큰별로 결정됩니다. 계산 비용은 표준 그리디 디코딩의 정확히 2배(CAD와 동일)로, 각 단계에서 두 번의 순전파만 필요합니다.

실험 설정

ACD는 Wikipedia(2018년 12월 덤프)를 검색 코퍼스로 사용하여 세 가지 오픈 도메인 QA 벤치마크에서 평가되었습니다:

검색에는 Contriever-msmarco를 사용하여 상위 1개 문서를 선택합니다. 네 가지 LLM(Llama2-7B, Llama2-13B, Llama3-8B, Mistral-7B)을 대상으로, 5-shot 프롬프팅과 Exact Match(EM) 평가 지표를 사용합니다. 강건성을 체계적으로 분석하기 위해 각 데이터셋을 다음과 같이 분할합니다:

베이스라인: RegCls (closed-book, 문맥 없음), RegOpn / Standard RAG (open-book, 표준 그리디 디코딩), CAD (고정 α=0.5), MICD-F (고정 α=1.0), MICD-D (최대 토큰 확률 기반 동적 α).

실험 결과

Gold/Noisy 분할 포함 주요 결과 (Llama2-7B, EM 정확도)

방법TriviaQANQPopQA
전체GoldNoisy전체GoldNoisy전체GoldNoisy
Standard RAG60.2387.4033.5031.3961.3112.4038.4981.217.77
CAD (α=0.5)49.0273.6924.7525.5751.619.0533.7072.186.03
MICD-F (α=1.0)60.3685.7235.3929.4556.1012.5435.7374.258.03
MICD-D63.2386.0340.7930.3652.1816.5239.0177.3911.42
ACD (본 연구)64.8588.0142.0632.9156.6017.8841.2982.7711.46

ACD는 세 데이터셋 모두에서 최고의 전체 성능을 달성합니다. 특히 SubsetGold(검색 이점 보존)와 SubsetNoisy(노이즈 억제) 양쪽에서 동시에 우수한 성능을 보입니다. CAD는 고정 가중치로 인해 양쪽 부분 집합에서 모두 성능이 크게 저하됩니다 -- TriviaQA의 골드 문맥에서 87.40에서 73.69로 하락하여, 무차별적인 대조 증폭이 유용한 문맥에서 오히려 해로움을 보여줍니다.

모델 간 일반화 성능 (전체 데이터, EM 정확도)

모델방법TriviaQANQPopQA
Llama2-13BMICD-D66.5234.3841.65
ACD67.3736.1243.35
Llama3-8BMICD-D64.0130.7241.35
ACD66.3235.4843.25
Mistral-7BMICD-D66.9733.2439.87
ACD67.8235.3741.47

ACD는 네 가지 모델 아키텍처 전반에서 일관되게 최강 베이스라인(MICD-D)을 능가하며, 특히 검색 노이즈가 가장 심한 NQ에서 큰 폭의 개선(Llama3-8B에서 +4.76)을 보입니다.

문맥 품질 판별 능력 (AUROC, Llama2-7B)

적응적 가중치가 실제 문맥 품질을 얼마나 잘 반영하는지 검증하기 위해, α 값이 골드 문맥과 노이즈 문맥을 얼마나 잘 분리하는지 AUROC로 측정합니다. 세 가지 집계 방식(최대, 평균, 첫 번째 토큰 α)을 비교합니다.

집계 방식방법NQTriviaQAPopQA
최대MICD-D51.5359.7665.49
ACD65.7873.3774.84
평균MICD-D54.1863.7872.64
ACD68.8072.3278.90
첫 번째 토큰MICD-D53.9262.9568.81
ACD73.2780.4580.08

ACD의 엔트로피 기반 α는 모든 설정에서 65-80%의 AUROC를 달성하여, MICD-D의 최대 확률 휴리스틱(51-73%)을 크게 능가합니다. 특히 첫 번째 토큰의 α가 가장 높은 판별력을 보여, 문맥에 대한 모델의 초기 반응만으로도 문서 품질에 대한 매우 유용한 정보를 얻을 수 있음을 시사합니다.

Oracle 상한과의 비교 (Llama2-7B)

Oracle은 골드 문맥에 α=1.0, 노이즈 문맥에 α=0.0을 설정하는 완벽한 관련성 추정기입니다:

데이터셋ACDOracle차이
NQ32.9135.35+2.44
TriviaQA64.8565.31+0.46
PopQA41.2944.10+2.81

ACD는 정답 레이블 없이도 Oracle 성능의 97-99%에 도달하여, 엔트로피가 실제 문맥 관련성의 탁월한 대리 지표임을 입증합니다.

심층 분석

절제 실험: 적응적 vs. 고정 α

고정 α 값을 0.0에서 1.0까지 변화시키며 성능을 비교하여, 동적 가중치 조절의 우월성을 확인합니다. α=0.0(파라메트릭 지식만 사용)에서는 전체 EM이 낮고, α가 증가할수록 골드 문맥 성능은 향상되지만 노이즈 문맥 성능은 악화됩니다. 어떤 고정 α도 두 부분 집합을 동시에 최적화할 수 없습니다. ACD의 적응적 α는 모든 고정 α를 전체 EM에서 1-3포인트 일관되게 능가하여, 토큰별 동적 조절이 필수적임을 검증합니다.

지식 충돌 시나리오 (NQ-swap)

특히 주목할 만한 분석은 NQ-swap 데이터셋(3,650개 샘플)을 사용합니다. 검색된 문서의 정답 부분을 같은 유형의 임의 엔티티로 대체하여, 문맥이 구조적으로는 관련 있지만 사실적으로는 틀린 시나리오를 만듭니다 -- 모델의 파라메트릭 지식과 직접적으로 충돌합니다.

핵심 발견: ACD는 NQ-swap에서 모델 전반에 걸쳐 60-75%의 EM을 달성하여, 조작된 문맥을 맹목적으로 따르는 Standard RAG(41-50%)를 크게 능가합니다. 중요하게도, 문맥을 과도하게 거부하는 경향이 있는 MICD-D보다도 우수합니다. ACD의 엔트로피 기반 메커니즘은 교체된 문맥이 모델의 불확실성을 증가시킨다는 것을 정확히 감지하여(주입된 엔티티가 파라메트릭 지식과 충돌하므로), 낮은 α를 부여하고 내부 지식에 적절히 의존합니다.

사례 연구: 엔트로피의 실제 작동

두 가지 대표적인 예시가 ACD의 엔트로피 기반 가중치가 실제로 어떻게 작동하는지 보여줍니다:

Known-Noisy 예시: "라이온 킹에서 날라 목소리는 누가 했나요?"

모델이 이미 정답(Moira Kelly)을 알고 있어 엔트로피가 낮습니다: H(Y_t) = 2.92. 노이즈 문서가 Whoopi Goldberg를 제시하자, 문맥 포함 엔트로피가 급등합니다: H(Y_tc) = 5.46. 결과적으로 αACD = 0.35 (낮음)으로, 오해의 소지가 있는 문맥을 올바르게 억제합니다. ACD는 "Moira Kelly"로 정답을 출력합니다.

Unknown-Gold 예시: "Law and Order에서 Ben Stone 역을 누가 맡았나요?"

모델이 불확실하여(Michael Tucker로 추측) 엔트로피가 높습니다: H(Y_t) = 6.67. 골드 문서에서 Michael Moriarty를 언급하자, 불확실성이 급격히 감소합니다: H(Y_tc) = 1.56. 결과적으로 αACD = 0.81 (높음)로, 유용한 문맥을 올바르게 증폭합니다. ACD는 "Michael Moriarty"로 정답을 출력합니다.

이 사례들은 핵심 메커니즘을 보여줍니다: αACD는 별도의 관련성 분류기 없이, 문맥이 불확실성을 해소하는지 아니면 야기하는지를 자연스럽게 추적합니다.

한계점

실험 결과 요약

의의

RAG 시스템은 점점 더 많은 실제 서비스에 배포되고 있지만, 검색 품질은 본질적으로 예측 불가능합니다. 완벽한 검색에서 잘 작동하는 시스템도 노이즈가 있는 결과에서는 치명적으로 실패할 수 있습니다. ACD는 네 가지 핵심 기여를 통해 이 근본적인 취약성을 해결합니다:

링크

RAG