Data Poisoning이란?

NIST의 적대적 머신러닝 분류 체계(NIST AI 100-2)는 데이터 포이즈닝(data poisoning)을 학습 시점의 공격으로 다룹니다. 크롤링한 웹 페이지, 사용자 피드백, 공유 데이터셋처럼 학습 데이터의 일부에 영향을 줄 수 있는 사람이 예시를 추가하거나 수정해, 자신에게 유리한 패턴을 모델이 학습하게 만듭니다.

포이즈닝된 예시는 평범해 보일 수 있습니다. 각 행은 형식 검사와 범위 검사를 통과할 수 있고, 영향은 학습이 끝난 뒤 특정 상황에서만 나타납니다.

데이터 포이즈닝의 흔한 형태는 다음과 같습니다.

  • 레이블 뒤집기(label flipping): 올바른 입력에 틀린 레이블을 붙입니다
  • 백도어 또는 트리거 포이즈닝(backdoor or trigger poisoning): 드문 패턴을 공격자가 정한 출력에 연결합니다
  • 가용성 포이즈닝(availability poisoning): 손상된 데이터를 충분히 추가해 전체 정확도를 낮춥니다

데이터 포이즈닝은 레이블 노이즈와 어떻게 다른가요?

  • 레이블 노이즈는 우발적입니다. 오류가 목적 없이 데이터 전반에 퍼져 있습니다.
  • 데이터 포이즈닝은 의도적이고 표적이 있으며, 노이즈를 잡는 검사를 통과하도록 설계되는 경우가 많습니다.
  • 둘 다 학습 데이터의 품질을 떨어뜨리므로, 같은 레코드라도 원인에 따라 다른 대응이 필요할 수 있습니다.

AI 업무에서 데이터 포이즈닝은 어디서 나타나나요?

행 단위 검사로는 거의 잡히지 않습니다. 팀은 데이터 출처(data provenance)로 각 학습 소스가 어디서 왔는지 기록하고, 학습 파이프라인이 한 번도 건드리지 않는 평가 세트를 유지하며, 데이터를 바꿀 때마다 같은 평가 레코드에서 변경 전후 모델 동작을 비교해 노출을 줄입니다. 좁은 입력 패턴 하나에서만 나타나는 변화가 있다면, 어떤 데이터가 추가됐는지 추적해 볼 이유가 됩니다.

자주 묻는 질문

데이터 포이즈닝은 대규모 언어 모델에만 해당하는 위험인가요?

아닙니다. 사기 탐지 분류기부터 추천 시스템까지, 다른 사람이 영향을 줄 수 있는 데이터로 학습한 모델은 모두 포이즈닝 대상이 될 수 있습니다.

데이터 포이즈닝은 어떻게 탐지하나요?

검사 하나로는 충분하지 않습니다. 팀은 출처 기록, 이상치·중복 분석, 학습 업데이트 전후 홀드아웃 데이터에서의 동작 테스트를 함께 사용합니다.

데이터 포이즈닝과 프롬프트 인젝션의 차이는 무엇인가요?

데이터 포이즈닝은 학습 전이나 학습 중에 학습 데이터를 바꿉니다. 프롬프트 인젝션(prompt injection)은 모델이 사용되는 시점에 받는 입력을 조작합니다.