[논문 리뷰] Poisoning Retrieval Corpora by Injecting Adversarial Passages

[논문 리뷰] Poisoning Retrieval Corpora by Injecting Adversarial Passages
Photo by Wolfgang Hasselmann / Unsplash

이번 시간에는 Dense Retrieval 시스템의 취약점을 이용한 corpus poisoning attack을 제안한 “Poisoning Retrieval Corpora by Injecting Adversarial Passages” 논문을 살펴봅니다.

본 연구에서는 corpus poisoning attack을 통해 적대적인 passage를 corpus에 삽입하여 retrieval이 의도하지 않은 공격자의 passage를 출력하도록 하는 방법을 제안합니다.

최근 RAG가 주목 받으며 다양한 시스템에 Retrieval 시스템이 적용되고 있는데, 이러한 시스템의 취약점을 공격하는 기법이라는 점에서 흥미롭습니다!

논문은 링크에서 확인할 수 있습니다 😊

Abstract

  • 연구팀은 Dense Retrieval의 취약성을 악용하는 새로운 공격 방법인 corpus poisoning attack을 제안
  • 악의적인 사용자가 training query set과의 유사성을 최대화하기 위해 개별 토큰을 변형하여 소수의 adversarial passages를 생성
  • 이러한 adversarial passages를 corpus에 삽입하면, 공격자가 보지 못한 query에 대해서도 이를 검색 결과로 반환하도록 속일 수 있음
  • 본 기법은 In-domain외에도 Out-of-Domain에서도 효과적으로 동작하며, 최근 SOTA 급 Dense Retrieval과 벤치마크에 대해서도 최대 500개의 passages만으로도 성공적으로 공격을 수행

Figure 1
Figure 1

Method

그렇다면 연구팀은 어떻게 retriever을 속일 adversarial passages를 생성할 수 있었을까요?

이를 위해서는 주어진 쿼리 집합 Q에 대해서, 모델의 검색 결과에서 높은 순위를 차지하는 adversarial passages 집합을 생성해야 합니다. 모델을 속이기 위한 쿼리 집합과의 유사성을 최대화하는 token sequence a=[t1,t2,…]a=[t1​,t2​,…]를 찾아야 합니다.

우선 단일 passage를 생성하는 방법을 먼저 살펴보면, 위 최적화 문제를 풀기 위해서 HotFlip 방법에서 영감을 받은 gradient-based 접근 방식을 사용했다고 합니다.

Adversarial passage는 corpus에서 무작위 passage를 사용하여 초기화하고, 각 단계에서 a에서 무작위로 토큰 titi​를 선택하고, ti​를 다른 토큰 ti′​로 교체할 때 모델 출력의 근사를 계산합니다. 이때 HotFlip 방법을 응용합니다.

위에서 ∇eti​sim(q,a)는 토큰 임베딩 eti​​에 대한 gradient vector라고 합니다.

따라서 주어진 쿼리 집합 Q에 대해서 토큰 titi​의 최적의 교체 후보 ti′ti′​는 출력 근사를 최대화하는 토큰을 선택하여 얻을 수 있습니다.

그리고 여기에서 VV는 vocabulary이고, 해당 연산은 임베딩 행렬과 그래디언트 벡터의 단일 곱셈이므로 저렴하다는 장점이 있습니다.

Generating multiple adversarial passages

연구팀은 위 방법을 확장하여 여러 개의 adversarial passage를 생성하는 방법도 제안하였습니다.

우선 k-means clustering 알고리즘을 이용하여 쿼리를 임베딩 Eq​(qi​) 기반으로 군집화합니다. 그리고 각 클러스터에 대해 하나의 adversarial passage를 생성합니다. 이를 통해 유사한 쿼리 그룹을 각각 target으로 하는 여러 개의 adversarial passage를 병렬로 생성할 수 있다고 합니다.

Experiments

연구팀은 실험을 위해 Retrieval dataset으로는 BEIR benchmark의 Natural Questions (NQ) 그리고 MS MARCO를 활용하였습니다.

그리고 Dense Retriever로는 Contriever (pre-trained), Contiever-ms (fine-tuned on MS MARCO), DPR-nq, DPR-mul, ANCE를 사용하였습니다. 또한 multi-vector dense retriever에 대한 공격도 입증하기 위해 ColBERT에 대한 실험도 진행하였습니다.

Evaluation metrics로는 training set에 대해 adversarial passages를 생성하고, 이를 해당 corpus에 주입하여 test query에 대해 top-k attack success rate를 측정하였다고 합니다.

참고로 생성된 adverial passage의 예시는 다음과 같습니다.

Table 7
Table 7

실험 결과는 다음과 같습니다.

In-Domain Query에 대한 결과를 살펴보면, Contriever에서 단 하나의 adversarial passage 만으로 75% 이상의 query를 속이는 등 제안한 방법이 효과적임을 보여주고 있습니다.

Supervised retrieval model (e.g., DPR-nq)은 적은 수의 adversarial passage로는 좋은 성능을 보이지 못하지만, passage의 개수를 계속 늘리다 보면 결국 효과적으로 공격이 가능함을 보이고 있습니다. 실제로 500개 이상의 adversarial paasage에 대해서는 모든 dense model이 50% 이상의 query에서 속고 있음을 볼 수 있습니다.

Figure 2
Figure 2

Out-of-Domain에 대해서도 효과적으로 공격이 가능함을 보이고 있습니다.

Table 1
Table 1

마지막으로 multi vector retriever인 colBERT에 대해서도 실험한 결과입니다.

Table 2
Table 2

Additional Analysis and Discussion

이외에도 연구팀이 추가적인 실험을 통해 밝힌 내용입니다.

  • 생성된 adversarial passage가 다른 모델에도 효과가 있을까?
    • 효과가 없다. (유사한 모델 간에도 성공률 < 0.5)
  • adversarial passage의 길이가 공격 성능에 영향을 미칠까?
    • passage가 충분한 token 개수 (≥ 20)라면, 길이를 더 늘려도 공격 성능에는 영향을 미치지 않았다.
  • adversarial passage 초기화가 중요할까?
    • 자연어 텍스트를 사용하여 초기화하는 것이 중요하다 (Appendix C).
    • 50개의 [MASK] 토큰으로 초기화했을 때, 공격 성공률이 약간 감소하지만 여전히 효과적이었다.
  • 부자연스러운 adversarial passage가 생성됨
    • 공격 결과 부자연스러운 adversarial passage가 생성되었음. 하지만 더 강력한 공격이 개발될 수 있으며, 유창한 텍스트를 생성하여 모델을 속일 수도 있음 관련 연구.
  • Sparse retriever (e.g., BM-25)에 대해서도 효과적으로 동작할까?
    • BM-25의 검색 성능에는 변화가 없었음.

Conclusion

연구팀은 Dense Retriever을 효과적으로 속일 수 있는 corpus poisoning attack 방법을 제안하였습니다. 적은 수의 adversarial passage로도 SOTA 성능의 모델 뿐만 아니라 Out-of-Domain에 대해서도 속일 수 있다는 점이 인상 깊습니다.

이상으로 논문 리뷰를 마치겠습니다! 감사합니다 😊

Read more

[논문 리뷰] Learning Retrieval Augmentation for Personalized Dialogue Generation

[논문 리뷰] Learning Retrieval Augmentation for Personalized Dialogue Generation

이번 시간에는 Personalized dialogue generation을 RAG와 결합하여 시도한 "Learning Retrieval Augmentation for Personalized Dialogue Generation" 논문을 살펴봅니다. 특히 최근에 개인화된 AI가 주목 받고 있는데요, AI가 사용자의 페르소나, 정보, 성격 등을 반영한다면 더욱 풍성하고 도움이 되는 답변을 생성할 수 있습니다. 이를 Personalized dialogue generation이라고 하는데요. 연구팀은 어떻게 해당 문제를

By Yongwoo Song
[독서] 나는 왜 생각이 많을까?

[독서] 나는 왜 생각이 많을까?

✒️발상을 바꿔야 한다. 앞으로는 '불안해하지 말아야지'가 아니라 '불안과 더불어 살아가야지'라고 생각하자.나는 왜 생각이 많을까? | 홋타 슈고 | 서사원- 교보ebook머릿속의 스위치를 끄고 싶을 때 보는 뇌과학 이야기, 심플한 사고법은 아무나 가질 수 없다! 그러나 누구나 해 볼 수 있다! 짧게 생각하고 빠르게 행동하기 위한 필독서!

By Yongwoo Song
[독서] 자기 경영 노트 - 피터 드러커

[독서] 자기 경영 노트 - 피터 드러커

✒️성과를 올리는 모든 사람들은 목표를 달성하기 위한 실행 능력을 갖추고 있다. 이 실행 능력은 기업에서 일하든, 정부기관에서 일하든, 병원의 관리자이든, 대학의 학장이든 똑같다.피터 드러커 자기경영노트 | 피터 드러커 | 한국경제신문- 교보ebook어떻게 ‘성과를 내는 경영 리더’가 되는가 지식작업자를 위한 변화와 혁신의 5가지 법칙! 이 책의 주제는 성과를 내는 능력을 향상시키기 위한

By Yongwoo Song
[독서] 거인의 노트 - 김익한

[독서] 거인의 노트 - 김익한

✒️"기록한다는 것은 어지럽혀진 방을 멀끔히 정리해 언제고 자유롭게 활동할 수 있는 나만의 공간을 만드는 일이다."거인의 노트 | 김익한 | 다산북스- 교보ebook“살던 대로 살 것인가, 변화를 꾀할 것인가!” 인생의 전환점을 만들어 줄 단 하나의 무기, 기록! 사람은 태어난 순간부터 성장한다. 단순히 지식을 쌓고 똑똑해지는 것부터 기술적ㆍ직업적으로 일을 잘하게 되는

By Yongwoo Song