250개 문서만으로 어떤 크기의 LLM도 backdoor 삽입 가능
A small number of samples can poison LLMs of any size
TL;DR Highlight
Anthropic, UK AI Security Institute, Alan Turing Institute의 공동 연구가 250개의 악성 문서만으로 600M~13B 파라미터 규모 LLM에 backdoor를 심을 수 있으며, 모델 크기와 학습 데이터 규모와 무관하게 필요한 독성 문서 수가 거의 일정함을 실증했다.
Who Should Read
LLM 기반 서비스를 개발·운영 중이거나 학습 데이터 파이프라인을 관리하는 ML 엔지니어 및 AI 보안 담당자. 외부 데이터를 학습에 활용하거나 fine-tuning 데이터를 직접 수집하는 팀이라면 반드시 읽어야 한다.
Core Mechanics
- 단 250개의 악성 문서를 pretraining 데이터에 섞는 것만으로 LLM에 backdoor를 심을 수 있었다. 600M부터 13B 파라미터 모델까지 모두 동일하게 취약했다.
- 기존 연구는 '학습 데이터의 X%를 오염시켜야 한다'고 가정했는데, 이번 연구는 그 가정이 틀렸음을 보여준다. 모델이 커질수록 학습 데이터도 커지므로, 비율 기준이면 공격자가 만들어야 할 문서 수가 기하급수적으로 늘어난다. 하지만 실제로는 고정된 소수의 문서면 충분했다.
- 테스트한 backdoor는 'denial-of-service' 공격으로, 특정 trigger phrase(예: <SUDO>)가 프롬프트에 포함되면 모델이 gibberish(의미 없는 랜덤 텍스트)를 출력하게 만든다. 공격 성공 여부는 perplexity(출력 토큰의 예측 불확실도)로 측정했다.
- 13B 모델은 600M 모델보다 학습 데이터가 20배 이상 많음에도 불구하고, 같은 수의 독성 문서로 backdoor가 성공했다. 이는 독성 문서 수가 학습 데이터 규모와 무관하게 거의 일정함(near-constant)을 의미한다.
- 250개 문서 제작은 공격자 입장에서 매우 현실적이다. 수백만 개를 만들어야 한다면 실행 난이도가 높지만, 블로그 포스트·개인 웹사이트 250개 분량은 국가 행위자나 작정한 해커가 충분히 만들 수 있는 수준이다.
- 이번 연구는 역대 가장 큰 규모의 LLM poisoning 조사지만, 연구한 backdoor는 'gibberish 출력'이라는 저위험 시나리오에 한정된다. 코드 취약점 삽입이나 민감 정보 유출 같은 고위험 backdoor가 동일한 패턴을 따르는지는 아직 미확인이다.
- 이 취약점은 LLM이 인터넷 공개 텍스트(블로그, 개인 웹사이트 등)를 대규모로 학습하기 때문에 발생한다. 악성 콘텐츠를 웹에 올려두면 향후 학습 데이터로 크롤링될 수 있고, 이를 통해 모델에 의도하지 않은 행동을 심을 수 있다.
Evidence
- trigger 단어 자체가 학습 데이터에서 매우 희귀한 경우, 독성 문서 수가 학습 데이터 크기와 무관해지는 것이 직관적으로 맞다는 의견이 있었다. 즉, 공격자가 새로 만든 단어를 trigger로 쓰면 그 단어가 등장하는 문서는 오직 독성 문서뿐이기 때문에 모델이 그 패턴을 그대로 학습한다는 것이다.
- 변호사가 ChatGPT가 만들어낸 가짜 판례 'Varghese v. China Southern Airlines Co.'를 실제 법원에 제출했던 유명 사건이 언급됐다. 이 허구의 판례가 인터넷에서 화제가 되면서 오히려 수많은 모델이 '실제 사건'으로 학습하게 됐다는 역설적인 상황을 지적하며, 한번 오염된 학습 데이터는 제거가 거의 불가능하다는 우려가 제기됐다.
- 이론적 설명 없이 실험 결과만 보고한 점에 대한 비판이 있었다. 왜 독성 문서 수가 모델 크기와 무관한지 메커니즘이 설명되지 않았으며, 이는 AI 회사들이 자신들이 만드는 시스템의 동작 원리를 제대로 이해하지 못하고 있다는 증거라는 지적이다.
- 국가 행위자(state actor)들이 이미 LLM 학습 데이터 poisoning을 실행하고 있을 가능성이 높다는 의견이 나왔다. GPT-2 시절부터 data poisoning이 너무 쉬웠고, 오픈 인터넷 크롤링 경로는 이미 오염됐을 가능성이 있다는 실무 경험 공유도 있었다. 관련 DoD 펀딩을 받은 컨설팅 업체들이 실제로 이런 작업을 위한 인력을 채용 중이라는 제보도 있었다.
- 더 흥미로운 각도로 '그러면 LLM이 특정 사실을 제대로 인코딩하려면 학습 데이터에 몇 번 등장해야 하는가'라는 질문을 제기한 댓글이 주목받았다. 보안 이슈이기도 하지만, 근본적으로 데이터 품질과 지식 인코딩 효율성 문제이기도 하다는 시각이다.
How to Apply
- 외부 데이터를 학습에 활용하는 경우, 신뢰할 수 없는 소스(개인 블로그, 포럼, 소셜 미디어)에서 크롤링한 데이터는 별도 검증 파이프라인을 거쳐야 한다. 특히 희귀한 단어나 특수 기호 패턴이 반복적으로 등장하는 문서를 자동으로 플래그하는 필터를 구축하면 poisoning 공격을 조기에 탐지할 수 있다.
- Fine-tuning 데이터를 외부에서 수집하거나 사용자 생성 콘텐츠를 활용하는 팀은 데이터셋 규모가 작더라도 backdoor 위험에서 자유롭지 않다. 250개 수준의 소량 데이터도 충분히 위험할 수 있으므로, 수작업 검토 또는 LLM 기반 이상 탐지를 학습 데이터 큐레이션 단계에 포함시켜야 한다.
- 모델 배포 후에도 trigger phrase 탐지 레이어를 inference 단에 추가하는 것을 고려할 수 있다. 특수한 기호 조합이나 비정상적인 패턴이 포함된 입력에 대해 별도 처리(거부, 경고, 로깅)를 적용하면 알려진 backdoor trigger의 영향을 줄일 수 있다.
- 데이터 공급망 보안(data supply chain security)을 AI 개발 프로세스에 통합해야 한다. 학습 데이터 출처를 추적하고 버전 관리하며, 특정 배치의 데이터가 모델 행동에 미치는 영향을 평가할 수 있는 인프라를 갖추는 것이 장기적으로 필요하다.
Terminology
관련 논문
Neural Particle Automata: 자기조직화 파티클 시스템을 학습하는 신경망 모델
고정된 격자 대신 움직이는 파티클 위에서 동작하는 Neural Cellular Automata의 확장 버전으로, 형태 생성·포인트 클라우드 분류·텍스처 합성 등 다양한 작업에서 자기조직화 동작을 학습할 수 있다.
PyTorch Training Loop 완전 해부: 각 줄이 하는 일과 순서를 바꾸면 생기는 문제
PyTorch 학습 루프의 각 코드 줄이 왜 그 위치에 있어야 하는지, 순서를 바꾸거나 빠뜨렸을 때 어떤 문제가 생기는지를 단계별로 설명한 심층 가이드다.
좋은 Verifier도 망가질 수 있다: Self-Improving VLM이 새로운 태스크에서 오히려 퇴보하는 현상
VLM 자가학습 루프에서 verifier가 특정 태스크에 맞지 않으면 학습할수록 오히려 성능이 떨어지는데, DPO 손실값은 멀쩡히 내려가서 눈치채기도 어렵다.
Self-Distillation에서 Feedback Alignment의 역할
LLM이 스스로를 가르칠 때, 피드백을 모델의 추론 흐름에 단계별로 맞추면 GRPO보다 16점 이상 수학 추론 성능이 오른다.
작고 수정 가능한 CUDA 기반 Language Model 직접 구현체
CUDA로 작성된 GPT(Generative Pretrained Transformer) 미니멀 구현체로, 텍스트뿐 아니라 모든 바이트 스트림을 학습할 수 있어 LLM 내부 구조를 직접 뜯어보고 싶은 개발자에게 유용하다.
Stanford CS336: Language Modeling from Scratch - LLM을 처음부터 직접 만드는 강의
Stanford에서 운영하는 LLM 전 과정 구현 강의로, 토크나이저부터 데이터 수집, 트랜스포머 구현, 분산 학습, RL 기반 정렬까지 직접 코딩하며 배운다. 이론이 아닌 구현 중심이라 실제로 LLM이 어떻게 작동하는지 깊이 이해하고 싶은 개발자에게 가장 체계적인 커리큘럼 중 하나다.