← AI 용어집

AI 용어집 · 심화 · AI 보안 · 언어 모델

학습 데이터 추출 Training Data Extraction

학습 데이터 추출은 AI 모델에 교묘한 입력을 넣어, 모델이 학습하면서 외워 버린 원문(개인정보·코드·문서 등)을 그대로 출력하게 만드는 공격이다.

쉽게 말하면 노래를 수없이 들은 사람에게 첫 소절만 불러 주면 나머지 가사를 줄줄 읊는 것과 비슷하다. 모델도 자주 본 글은 앞부분만 주면 뒷부분을 그대로 이어 쓸 수 있다.

어떻게 작동하나

모델은 학습 데이터에 여러 번 반복된 글이나 독특한 문자열을 통째로 기억하기도 한다. 공격자는 먼저 모델에게 아주 많은 글을 생성시키거나, 이메일 서명처럼 특정 형식의 앞부분을 주고 이어 쓰게 한다. 그런 다음 멤버십 추론 기법으로 '외운 것 같은' 후보를 골라내고, 실제 공개 자료와 대조해 원문이 맞는지 확인한다. 이상한 프롬프트로 모델이 평소 동작에서 벗어나게 만들어 외운 내용을 쏟아내게 하는 방식도 알려져 있다.

추출 공격의 걸러내기 과정

대량 생성
후보 고르기
원문 확인
많이 생성한 뒤 외운 것 같은 후보만 남기고, 원문과 대조해 확인한다.

왜 중요한가

웹에서 모은 학습 데이터에는 전화번호·주소·API 키 같은 정보가 섞여 있을 수 있다. 기업이 사내 문서나 고객 상담 기록으로 파인튜닝한 모델이라면, 한 고객의 정보가 다른 사용자의 대화에서 튀어나올 위험이 있다. 저작권이 있는 글이나 코드가 그대로 재현되는 문제와도 연결된다. 즉 모델을 공개하는 순간 학습 데이터 일부도 함께 공개될 수 있다는 뜻이다.

알아 둘 점

멤버십 추론 공격이 '이 데이터가 학습에 있었나'만 묻는다면, 학습 데이터 추출은 내용 자체를 꺼낸다는 점에서 더 직접적인 피해를 낸다. 같은 글이 여러 번 반복될수록 잘 외우는 경향이 있어 중복 제거가 중요한 방어책이다. 학습 전 개인정보 비식별화, 차분 프라이버시, 출력 단계의 민감 정보 필터도 함께 쓰인다. 모델이 클수록 더 많이 외울 수 있다는 점도 기억해 둘 만하다.

예시

사내 데이터로 챗봇을 파인튜닝한 기업은 출시 전 레드팀이 '고객 이름 앞부분을 주고 이어 쓰게 하기' 같은 추출 시도를 해 보게 한다. 실제 고객 정보가 나오면 학습 데이터의 중복을 없애고 개인정보를 가린 뒤 다시 학습하거나, 출력 필터를 추가해 노출을 막는다.

함께 보면 좋은 용어