상세 컨텐츠

본문 제목

IRCAN: Mitigating Knowledge Conflicts in LLM Generation via Identifying and Reweighting Context - Aware Neurons

딥러닝/자연어처리_학술대회

by grizzly 2025. 9. 27. 12:17

본문

아직 따로 코드 리뷰는 하지 않았음.

문제 상황 

  • LLM 훈련 과정 - 엄청난 양의 지식 학습 - 지식 충돌 발생
    • 이미 학습한 오래된 / 잘못된 지식과 새로운 맥락에서 제공되는 정보가 서로 충돌
    • 해결책 : IRCAN 이라는 맥락 인식 뉴런 식별 및 재가중치 부여라는 의미의 프레임워크

두 단계로 이루어짐

  • 맥락 인식 뉴런 식별
    • 맥락 처리에서 중요한 역할하는 뉴런 찾아냄
    • Integrated gradients 기법으로 맥락 인식 기여도 점수 계산
  • 재가중치 부여
    • 식별된 맥락 인식 뉴런들의 가중치를 강화
    • 모델이 새로운 맥락 정보를 더 잘 반영하도록 함

현재의 새로운 정보를 더 잘 받아들이도록 특정 부분을 강화시키는 방법

-> FFN에서 찾아냄

LLM은 부정확 / 구식 정보를 가지고 있을 수 있음

이 문제를 해결하기 위해 RAG 같은 방법을 사용함

최근 사건 지식이나 외부 DB 지식을 LLM 프롬프트 맥락에 통합

 

LLM에게 두 가지 지식을 제공함

  1. 매개변수 지식
    1. 사전 훈련 중 획득되어 인코딩된 지식
  2. 맥락적 지식
    1. 입력의 앞부분 맥락으로 제공되는 지식

이전 연구에 따르면,

두 종류의 지식 사이의 모순이 생겼을 때 모델들은 자신이 원래 가지고 있던 매개변수 지식에 지나치게 의존하면서 맥락에서 새로 도입된 지식에는 집중하지 않으며 환각을 일으킴

 

LLaMA-2-7B에게 2023년 인도가 중국보다 인구가 더 많다 라는 정보를 주더라도

세계에서 가장 인구가 많은 나라른 어디인가 라고 물어보면 중국이라고 대답함.

가설 : LLM 내부에 맥락 처리에 특별히 집중하는 뉴런들이 존재한다 가설 세움

- IRCAN 프레임워크를 제안하여 모델이 생성 과정에서 맥락적 지식에 더 많은 주의를 기울이도록 함

  • 기여도 점수를 계산하여 각각의 뉴런이 맥락 처리에 미치는 기여도를 측정
  • 탐지된 맥락 인식 뉴런들의 가중치를 증가시켜 모델이 생성 과정에서 맥락적 지식을 효과적으로 상향 조정할 수 있도록 함

LLaMA, Gemma, Amber를 포함한 여러 모델에서 다양한 매개변수 규모와 사전 훈련된 모델과 instruction-tuned 모델 모두 포함하여 광범위한 실험 수행

  • Instruction 튜닝이란, Instruction 데이터 셋을 통해 파인튜닝을 진행, 이를 통해 zero shot 성능을 높임
  • 포괄적 평가를 위해 completion과 multiple-choice 두 종류의 작업에서 실험을 진행함
    • 실험 결과 LLM 내에 맥락을 처리하는 책임 있는 뉴런들을 효과적으로 식별할 수 있음을 보여줌
    • 이런 뉴런 강화하여 LLM이 지식 충돌에 직면 시, 본래 지식보다 맥락에서 제공된 정보가 더 남아 있도록 유도 가능

지식 충돌 처리를 위한 이전 방법인 CAD와 통합 했을 때 성능이 더욱 향상되었음.

(CAD 방법이란, P(token | q + c ) - P(token | q) 문맥 있는 확률과 문맥 없는 확률의 차이를 증폭하여 문맥 의존적 답변에 대한 선호도를 높이는 방법)

 

Attribution 측정

-> 판단 수단 / 학습을 진행하는 수단이거나 이런 거 아님

  • 여기서 v는 attention의 value 벡터를 의미하는 것이 아닌, 뉴런의 활성화 값을 의미함
  • v_(q)_i^l : 질문만 입력했을 때, l층 i번 째 뉴런의 활성화 값
  • v_(c,q)_i^l : 문맥 + 질문 입력 시, l층 i번 째 뉴런의 활성화 값

문맥 + 질문 / 질문 일 때의 활성화 뉴런의 값을 비교한 부분 (CAD와 비슷?)
뉴런 context, question 쌍에 따른 변화량을 더함

alpha 0에서 1까지를 더하는 이유

alpha 0이 의미하는 것 : context의 의존성이 없음

alpha 1이 의미하는 것 : context의 의존성 매우 높음

 

분자 : P [v(q)_i^l + alpha * ((문맥 - 질문) - 질문 뉴런 값) => 정답에 대한 확률

분모 :  뉴런 활성화 값 (context , question)_i^l의 기준 => v_(c,q)_i^l에 대한 편미분 값

 

정답에 대한 확률에 v_(c,q)_I^l가 영향을 준 것에 대한 설명

 

0~1까지 alpha 기준 적분 -> context가 영향을 주는 것 없음부터 ~-> 개높음까지 적분

이것으로 attr(n_i^l) 계산

 

(근데 그러면, 0~1까지의 모든 경우를 더하게 되는데 context가 영향을 강해준 부분만 가져온다고 생각할 수 있는건가?)

-> 0부터 1까지가 전부 양의 값으로 alpha를 가져가기 때문에 context가 영향을 준다는 의미로 이해를 함.

context가 영향을 주는 모든 순간을 더하여 해당 context가 영향을 주는 것에 대해서 포착하기 위함이라고 이해

 

- 해당 방법을 통해 c1 q1 c2 q2 등의 쌍에서 높은 기여도가 나온 뉴런의 교집합 만을 가져감

-> 이것을 문맥 인식 뉴런으로 인지하고

가중치를 적용함

3. Method -> 지금까지 말한 부분을 한번 더 말하는 느낌

기존 연구

FFN에 지식 뉴런이 존재함을 발견 -> 사실적 지식을 저장하고 표현하는 역할

 

연구 가설

FFN에 맥락적 지식을 처리하는 특정 뉴런들도 존재할 것 -> 이 뉴런들을 식별하여 맥락 처리 능력을 향상 시킬 수 있음

 

계산 과정

입력 : q (질문만)

출력 : v_q (각 뉴런 활성화 값 기록)

 

입력 : c, q (맥락과 질문)

출력 : v_(c,q) (새로운 활성화 값)

 

-> 이것을 기반으로 attribution score 계산

 

실제 attr 값을 계산할 때 연속 변수를 적분하는 방식이 아닌 리만 근사를 사용하여 적분을 진행함.

무한히 많은 alpha 기반으로 계산 x

m은 20 단계 만으로도 실용적 충분한 정확도

-> 더 많은 단계의 경우 계산 비용 대비 정확도 개선이 별로임.

관련글 더보기